diff --git a/app/components/log-content.js b/app/components/log-content.js
index 14110bc4..0fd30781 100644
--- a/app/components/log-content.js
+++ b/app/components/log-content.js
@@ -60,6 +60,7 @@ Object.defineProperty(Log.Limit.prototype, 'limited', {
 
 export default Ember.Component.extend({
   popup: Ember.inject.service(),
+  logIsVisible: false,
   currentUserBinding: 'auth.currentUser',
 
   didInsertElement() {
@@ -220,6 +221,10 @@ export default Ember.Component.extend({
         this.get('popup').open('remove-log-popup');
         return false;
       }
+    },
+
+    toggleLog() {
+      this.toggleProperty('logIsVisible');
     }
   },
 
diff --git a/app/styles/app.scss b/app/styles/app.scss
index 68e88824..dd07d913 100644
--- a/app/styles/app.scss
+++ b/app/styles/app.scss
@@ -14,7 +14,6 @@
 
 @import "app/userlike";
 
-@import "app/main/log";
 @import "app/misc";
 @import "app/popup";
 
@@ -57,6 +56,7 @@
 @import "app/layouts/repo";
 @import "app/layouts/jobs";
 @import "app/layouts/pull-requests";
+@import "app/main/log";
 
 @import "app/layouts/requests";
 @import "app/layouts/caches";
diff --git a/app/styles/app/layouts/repo.sass b/app/styles/app/layouts/repo.sass
index a8ccb4e8..566521ae 100644
--- a/app/styles/app/layouts/repo.sass
+++ b/app/styles/app/layouts/repo.sass
@@ -50,19 +50,13 @@ $dropdown-button-margin: -9px
 .settings-button
   display: block
   height: $dropdown-button-height
-  padding: 0 0.7em 0 2.3em
-  background:
-    color: white
-    repeat: no-repeat
-    size: auto 14px
-    position: 11px 7px
+  padding: 0 0.7em
   border: 1px solid #f1f1f1
   color: $grey-light
   border-radius: 2px
   text-align: center
   line-height: 2
   font-size: 14px
-  @extend %icon-line-cog
   &:after
     content: ""
     display: inline-block
@@ -73,13 +67,17 @@ $dropdown-button-margin: -9px
       size: 100%
       repeat: no-repeat
     @extend %icon-line-dropdown
+  .icon-settings
+    width: .9em
+    margin-right: .3em
   &:hover,
   &:active,
   // .display &,
   .settings-menu:hover &
     color: $teal
     border-color: $teal
-    @extend %icon-line-cog-teal
+    .icon-settings
+      @extend %icon-line-cog-teal
     &:after
       @extend %icon-line-dropdown-teal
   @media #{$medium-up}
diff --git a/app/styles/app/main/log.sass b/app/styles/app/main/log.sass
index 890dff13..f20172ab 100644
--- a/app/styles/app/main/log.sass
+++ b/app/styles/app/main/log.sass
@@ -1,4 +1,3 @@
-
 .log
   position: relative
   margin-top: 35px
@@ -41,18 +40,18 @@
     .tail-status
       position: relative
       display: inline-block
-      height: 20px;
-      width: 20px;
+      height: 20px
+      width: 20px
       vertical-align: middle
       background-color: $grey-light
-      border-radius: 50%;
+      border-radius: 50%
       &:after
         content: ""
         display: block
-        height: 10px;
-        width: 10px;
-        background: #f1f1f1;
-        border-radius: 50%;
+        height: 10px
+        width: 10px
+        background: #f1f1f1
+        border-radius: 50%
         @extend %absolute-center
 
     &.active .tail-status
@@ -78,16 +77,70 @@
   text-align: right
   background-color: $log-header-bg
   @extend %border-top-4px
+
+  @media #{$small-only}
+    display: flex
   a
     margin-left: .4em
+    @media #{$small-only}
+      flex-grow: 1
+
+.log-main
+  display: none
+  &.is-visible
+    display: block
+  @media #{$medium-up}
+    display: block
+
+[class^="toggle-log-button"]
+  .icon-eye
+    vertical-align: middle
+    display: inline-block
+  @media #{$medium-up}
+    display: none !important
+
+.toggle-log-button
+  border: 1px solid #f1f1f1
+  padding: .3em 1em
+  border-radius: 2px
+  display: block
+  color: #8d8d8d
+  text-align: center
+  .icon-eye
+    height: 1.8em
+    path
+      fill: #949899
+    circle
+      stroke: #949899
+      fill: #fff
+  &.hidden
+    display: none
+  &:hover,
+  &:active
+    border-color: $teal
+    color: $teal
+    .icon-eye
+      path
+        fill: $teal
+      circle
+        stroke: $teal
+        fill: transparent
+
+.toggle-log-button--dark
+  @extend %log-button
+  .icon-eye
+    margin-right: .3em
+    path
+      fill: #f1f1f1
+    circle
+      stroke: #f1f1f1
+      fill: #f1f1f1
+  &:hover,
+  &:active
+    background-color: #999a98
 
 .log-body
   position: relative
-  max-height: 20vh
-  overflow: scroll
-  @media #{$medium-up}
-    max-height: none
-    overflow: auto
 
   pre
     clear: left
diff --git a/app/styles/app/modules/buttons.sass b/app/styles/app/modules/buttons.sass
index 9b51f96b..c71199fe 100644
--- a/app/styles/app/modules/buttons.sass
+++ b/app/styles/app/modules/buttons.sass
@@ -176,30 +176,29 @@ $button-border-color: #d4d4d4
 %log-button
   display: inline-block
   height: 28px
-  padding: 0 0.8em 0 2.3em
+  padding: 0 0.8em
   border: 1px solid #f1f1f1
   color: #f1f1f1
   border-radius: 2px
   text-align: center
-  line-height: 1.9
+  line-height: 1.8
   font-size: 14px
   font-weight: 300
-  background:
-    repeat: no-repeat
-    size: auto 14px
-    position: 7px 6px
+  [class^="icon"]
+    margin-right: .3em
 
 // log buttons
 .remove-log-button
   @extend %log-button
-  @extend %icon-remove-log
   &:hover,
   &:active
     background-color: #d94341
+  display: none
+  @media #{$medium-up}
+    display: inline-block
 
 .download-log-button
   @extend %log-button
-  @extend %icon-download-log
   &:hover,
   &:active
     background-color: #999a98
diff --git a/app/styles/app/modules/icons.sass b/app/styles/app/modules/icons.sass
index 573f9071..2f93e8fd 100644
--- a/app/styles/app/modules/icons.sass
+++ b/app/styles/app/modules/icons.sass
@@ -11,9 +11,24 @@
   @extend %icon
 
 %icon-download-log
-  background-image: inline-image('line-icons/icon-downloadlog.svg')
+  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 12.4"><style>.st0{fill:%23f1f1f1;}</style><g id="downloadlog"><path class="st0" d="M5.1 11.3c-.4 0-.7-.3-.7-.7V.6c0-.3.3-.6.7-.6.4 0 .7.3.7.7v10c-.1.4-.4.6-.7.6z"/><path class="st0" d="M5.1 12.4c-.2 0-.3-.1-.5-.2L.2 7.8c-.3-.3-.3-.7 0-.9s.7-.3.9 0L5 10.8l4-3.9c.3-.3.7-.3.9 0s.3.7 0 .9l-4.4 4.4c-.1.1-.3.2-.4.2zM14.1 2.1H7.9c-.4 0-.7-.3-.7-.7s.3-.7.7-.7h6.2c.4 0 .7.3.7.7s-.3.7-.7.7zM14.3 5.3H7.9c-.4 0-.6-.3-.6-.7 0-.4.2-.6.6-.6h6.4c.4 0 .7.2.7.6 0 .4-.3.7-.7.7zM14.3 8.5h-2.4c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7h2.4c.4 0 .7.3.7.7 0 .4-.3.7-.7.7zM13 11.6H9.2c-.4 0-.7-.3-.7-.7s.3-.7.7-.7H13c.4 0 .7.3.7.7s-.4.7-.7.7z"/></g></svg>')
+.icon-download-log
+  @extend %icon
+  @extend %icon-download-log
+  width: 1.5em
+  height: 1.1em
+  vertical-align: middle
+  background-size: auto 14px
 %icon-remove-log
-  background-image: inline-image('line-icons/icon-removelog.svg')
+  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 10.9"><style>.st0{fill:%23f1f1f1;}</style><g id="removelog"><path class="st0" d="M12.3 1.8h1.9c.3 0 .6-.3.6-.6s-.3-.6-.6-.6h-1.9c-.3 0-.6.3-.6.6 0 .4.3.6.6.6zM9.7 3.5c-.3 0-.6.3-.6.6s.3.6.6.6h4.8c.3 0 .6-.3.6-.6s-.3-.6-.6-.6H9.7zM14.4 6.3H9.7c-.3 0-.6.3-.6.6s.3.6.6.6h4.7c.3 0 .6-.3.6-.6 0-.4-.3-.6-.6-.6zM13.2 9.1h-.7c-.3 0-.6.3-.6.6s.3.6.6.6h.7c.3 0 .6-.3.6-.6 0-.4-.3-.6-.6-.6z"/><path class="st0" d="M6.3 5.4L10.7 1c.2-.2.2-.6 0-.9-.2-.2-.6-.2-.9 0L5.4 4.5 1.1.2C.9 0 .5 0 .2.2s-.2.6 0 .9l4.4 4.4L.2 9.8c-.2.2-.2.6 0 .9.1.1.3.2.4.2s.3-.1.4-.2l4.4-4.4 4.4 4.4c.1.1.3.2.4.2.2 0 .3-.1.4-.2.2-.2.2-.6 0-.9L6.3 5.4z"/></g></svg>')
+.icon-remove-log
+  @extend %icon
+  @extend %icon-remove-log
+  width: 1.5em
+  height: 1.1em
+  vertical-align: middle
+  background-size: auto 14px
+
 %icon-arrow-down
   background-image: inline-image('line-icons/icon-arrow-down.svg')
 
@@ -126,7 +141,7 @@
 .icon-question
   width: 1em
   height: 1em
-  background: 
+  background:
     repeat: no-repeat
     position: 4px 2px
     size: auto 10px
@@ -158,6 +173,8 @@
   @extend %icon-line-cog
   width: 1em
   height: 1em
+  vertical-align: middle
+  display: inline-block
   background:
     repeat: no-repeat
     position: 0 0
@@ -261,4 +278,3 @@
 
   40%
     transform: scale(1.0)
-
diff --git a/app/templates/components/log-content.hbs b/app/templates/components/log-content.hbs
index a71c5d2e..002aaf62 100644
--- a/app/templates/components/log-content.hbs
+++ b/app/templates/components/log-content.hbs
@@ -26,40 +26,47 @@
 
   {{#if job.notStarted}}
     <div class="log-notice">Hang tight, the log cannot be shown until the build has started.</div>
-  {{/if}}
+  {{else}}
+    <a class="toggle-log-button {{if logIsVisible 'hidden'}}" title="Display the log" {{action "toggleLog"}}>
+      {{eye-icon}}
+      <span class="label-align">View log</span></a>
 
-  <div class="{{if job.notStarted 'hidden'}}">
-    <menu class="log-header">
-      {{#if canRemoveLog}}
-        <a class="remove-log-button open-popup" {{action "removeLogPopup"}}>Remove log</a>
-      {{/if}}
-      <a class="download-log-button" href={{plainTextLogUrl}}>Download log</a>
-    </menu>
-    <div class="log-body">
-      {{#if showTailing}}
-        <a href="#" id="tail" class="log-tail" {{action "toggleTailing"}}>
-          <span class="tail-status"></span>
-          <span class="tail-label">
-            {{#if job.isFinished}}
-              Scroll to End of Log
-            {{else}}
-              Follow Log
-            {{/if}}
-          </span>
-        </a>
-      {{/if}}
+    <div class="log-main {{if logIsVisible 'is-visible'}} {{if job.notStarted 'hidden'}}">
+      <div class="log-header">
+        <a class="toggle-log-button--dark {{unless logIsVisible 'hidden'}}" title="Display the log" {{action "toggleLog"}}>{{eye-icon}}Hide log</a>
+        {{#if canRemoveLog}}
+          <a class="remove-log-button open-popup" {{action "removeLogPopup"}} title="Remove the log">
+            <span class="icon-remove-log" aria-hidden="true"></span>Remove log</a>
+        {{/if}}
+        <a class="download-log-button" href={{plainTextLogUrl}} title="Display the log in plaintext">
+          <span class="icon-download-log" aria-hiden="true"></span>Raw log</a>
+      </div>
+      <div class="log-body">
+        {{#if showTailing}}
+          <a href="#" id="tail" class="log-tail" {{action "toggleTailing"}}>
+            <span class="tail-status"></span>
+            <span class="tail-label">
+              {{#if job.isFinished}}
+                Scroll to End of Log
+              {{else}}
+                Follow Log
+              {{/if}}
+            </span>
+          </a>
+        {{/if}}
 
-      <pre id="log" class="ansi"></pre>
+        <pre id="log" class="ansi"></pre>
 
-      {{#if showToTop}}
-        <a href='#' class="to-top" {{action "toTop"}}>Top</a>
-      {{/if}}
+        {{#if showToTop}}
+          <a href='#' class="to-top" {{action "toTop"}}>Top</a>
+        {{/if}}
+      </div>
     </div>
-  </div>
-  {{#if limited}}
-    <p class="warning">
-      This log is too long to be displayed. Please reduce the verbosity of your
-      build or download the <a href={{plainTextLogUrl}}>raw log</a>.
-    </p>
+    {{#if limited}}
+      <p class="warning">
+        This log is too long to be displayed. Please reduce the verbosity of your
+        build or download the <a href={{plainTextLogUrl}}>raw log</a>.
+      </p>
+    {{/if}}
   {{/if}}
 </section>
diff --git a/app/templates/components/repo-show-tools.hbs b/app/templates/components/repo-show-tools.hbs
index 8e74c33d..77c44247 100644
--- a/app/templates/components/repo-show-tools.hbs
+++ b/app/templates/components/repo-show-tools.hbs
@@ -1,4 +1,6 @@
-<a {{action "menu"}} class="settings-button" type="" title="Open settings menu">Settings</a>
+<a {{action "menu"}} class="settings-button" type="" title="Open settings menu">
+  <span class="icon-settings" aria-hidden="true"></span>
+  <span class="label-align">Settings</span></a>
 <ul class="settings-dropdown">
   {{#if displaySettingsLink}}
     <li>