From c747bb5a6399f25b9a5ee1ee980675784b3b1b22 Mon Sep 17 00:00:00 2001
From: Lisa Passing <mail@lislis.de>
Date: Wed, 11 Feb 2015 17:24:14 +0100
Subject: [PATCH 01/26] add 500 page and styles and refactor

---
 app/router.coffee                             |   5 +-
 app/styles/app/_mixins/vars.sass              |   7 +-
 app/styles/app/layouts/error.sass             | 165 +++++++++---------
 app/styles/app/maximize.sass                  |  29 +--
 app/templates/error404.hbs                    |   4 +-
 app/templates/error500.hbs                    |  11 ++
 app/views/error404.coffee                     |   2 +-
 app/views/error500.coffee                     |   7 +
 public/images/error/500-hills-left.svg        |  22 +++
 public/images/error/500-hills-right.svg       |  41 +++++
 public/images/error/500-hills-shade-left.svg  |   8 +
 public/images/error/500-hills-shade-right.svg |   8 +
 public/images/error/500-road.svg              |  97 ++++++++++
 13 files changed, 298 insertions(+), 108 deletions(-)
 create mode 100644 app/templates/error500.hbs
 create mode 100644 app/views/error500.coffee
 create mode 100644 public/images/error/500-hills-left.svg
 create mode 100644 public/images/error/500-hills-right.svg
 create mode 100644 public/images/error/500-hills-shade-left.svg
 create mode 100644 public/images/error/500-hills-shade-right.svg
 create mode 100644 public/images/error/500-road.svg

diff --git a/app/router.coffee b/app/router.coffee
index e57388a1..e161fc11 100644
--- a/app/router.coffee
+++ b/app/router.coffee
@@ -52,7 +52,8 @@ Router.map ->
       @resource 'account', path: '/:login'
       @route 'info', path: '/info'
 
-  @route 'maintenance', path: "/maintenance"
-  @route 'error404', path: "/*path"
+  @route 'maintenance', path: '/maintenance'
+  @route 'error500', path: '/500'
+  @route 'error404', path: '/*path'
 
 `export default Router`
diff --git a/app/styles/app/_mixins/vars.sass b/app/styles/app/_mixins/vars.sass
index 77d019eb..8a49e900 100644
--- a/app/styles/app/_mixins/vars.sass
+++ b/app/styles/app/_mixins/vars.sass
@@ -36,14 +36,15 @@ $footer-h3-color: #8f9ba2
 $footer-h3-corder-color: #ccd0d5
 
 // error pages
-// 404
-$error-hill-grey: #bbcac6
 $error-heading-color: #357389
 $error-copy-color: $dashboard-text-color
 $error-bg-gradient: rgba(204,235,247,1)
 // maintenance
 $maintenance-grass: #8cad7d
-
+// 404
+$error-hill-grey: #bbcac6
+//500
+$error-sand: #dcc682
 
 // tabs
 $tab-nav-inactive-bg: #f8f8f8
diff --git a/app/styles/app/layouts/error.sass b/app/styles/app/layouts/error.sass
index 5ea61f29..b55169ad 100644
--- a/app/styles/app/layouts/error.sass
+++ b/app/styles/app/layouts/error.sass
@@ -1,7 +1,14 @@
 /*
- * Error Pages
+ * Error Pages + Maintenance
  */
 
+@mixin error-bg-gradient($color)
+  background: linear-gradient(0deg, $color, $color 38.9%, $error-bg-gradient 39%, $white 60%, $white)
+
+@mixin error-position-img($size:inherit, $pos:inherit)
+  background:
+    size: $size
+    position: $pos
 
 .error,
 .maintenance
@@ -14,8 +21,7 @@
     height: 100%
     width: 100%
     overflow: hidden
-    background:
-      repeat: no-repeat
+    background-repeat: no-repeat
 
 .main--error
   min-height: 100%
@@ -52,98 +58,85 @@
   display: inline-block
   width: 1.1em
   height: 1.1em
-  background:
-    image: url(../images/error/twitter.svg)
-    size: 100% auto
-    repeat: no-repeat
-    position: 0 .2em
-
-
-/*
- * Maintenance
- */
-.maintenance-bg
-  background: linear-gradient(0deg, $maintenance-grass, $maintenance-grass 34.9%, $error-bg-gradient 35%, $white 60%, $white)
+  background-image: url(../images/error/twitter.svg)
+  background-repeat: no-repeat
+  @include error-position-img(100% auto, 0 .2em)
 
+.error500
+  .error-bg
+    @include error-bg-gradient($error-sand)
   .hill-left
-    background:
-      image: url(../images/error/maintenance-hills-left.svg)
-      size: 80vw auto
-      position: 0 62%
-    @media #{$medium-up}
-      background-size: 58vw auto
-      background-position: 0 62%
-    @media #{$large-up}
-      background-size: 50vw auto
-      background-position: 0 61%
+    background-image: url(../images/error/500-hills-left.svg)
+    @include error-position-img(38vw auto, 0 62%)
   .hill-right
+    background-image: url(../images/error/500-hills-right.svg)
+    @include error-position-img(38vw auto, 99% 63%)
     display: none
-    background:
-      image: url(../images/error/maintenance-hills-right.svg)
-      size: 38vw auto
-      position: 99% 63%
     @media #{$medium-up}
       display: block
   .shadow-left
-    background:
-      image: url(../images/error/maintenance-grass-shade-left.svg)
-      size: 24vw auto
-      position: 6% 82%
+    background-image: url(../images/error/500-hills-shade-left.svg)
+    @include error-position-img(24vw auto, 6% 82%)
   .shadow-right
-    background:
-      image: url(../images/error/maintenance-grass-shade-right.svg)
-      size: 17vw auto
-      position: 95% 89%
+    background-image: url(../images/error/500-hills-shade-right.svg)
+    @include error-position-img(17vw auto, 95% 89%)
+  .road
+    background-image: url(../images/error/500-road.svg)
+    @include error-position-img(auto 40vh, 30% 91.3%)
 
-.maintenance-tractor
-  background:
-    image: url(../images/error/maintenance-tractor.svg)
-    size: 87vw auto
-    position: 63% 87%
-  @media #{$medium-up}
-    background-size: auto 40vh
-  @media #{$large-up}
-    background-size: auto 40vh
+.error404
+  .error-bg
+    @include error-bg-gradient($error-hill-grey)
+  .hill-left
+    display: none
+    background-image: url(../images/error/404-hills-left.svg)
+    @include error-position-img(30vw auto, 0 (100% - 37%))
+    @media #{$medium-up}
+      display: block
+  .hill-right
+    background-image: url(../images/error/404-hills-right.svg)
+    @include error-position-img(auto 20vw, 99% 63%)
+    @media #{$medium-up}
+      @include error-position-img(50vw auto, 99% 63%)
+    @media #{$large-up}
+      @include error-position-img(50vw auto, 99% 61%)
+  .error-excavator
+    background-image: url(../images/error/excavator.svg)
+    @include error-position-img(auto 25vh, 71% 83%)
+  .error-travis
+    background-image: url(../images/error/pensive-travis.svg)
+    @include error-position-img(auto 60vh, 34% 92%)
+    @media #{$medium-up}
+      background-size: auto 50vh
+    @media #{$large-up}
+      background-size: auto 60vh
 
-/*
- * 404
- */
-.error-bg
-  background: linear-gradient(0deg, $error-hill-grey, $error-hill-grey 34.9%, $error-bg-gradient 35%, $white 60%, $white)
 
-.error-hill-left
-  display: none
-  background:
-    image: url(../images/error/404-hills-left.svg)
-    size: 30vw auto
-    position: 0 (100% - 37%)
-  @media #{$medium-up}
-    display: block
-
-.error-hill-right
-  background:
-    image: url(../images/error/404-hills-right.svg)
-    size: auto 20vw
-    position: 99% 63%
-  @media #{$medium-up}
-    background-size: 50vw auto
-    background-position: 99% 63%
-  @media #{$large-up}
-    background-position: 99% 61%
-
-.error-excavator
-  background:
-    image: url(../images/error/excavator.svg)
-    size: auto 25vh
-    position: 71% 83%
-
-.error-travis
-  background:
-    image: url(../images/error/pensive-travis.svg)
-    size: auto 60vh
-    position: 34% 92%
-  @media #{$medium-up}
-    background-size: auto 50vh
-  @media #{$large-up}
-    background-size: auto 60vh
+.maintenance
+  .maintenance-bg
+    @include error-bg-gradient($maintenance-grass)
+  .hill-left
+    background-image: url(../images/error/maintenance-hills-left.svg)
+    @include error-position-img(80vw auto, 0 62%)
+    @media #{$medium-up}
+      @include error-position-img(58vw auto, 0 62%)
+    @media #{$large-up}
+      @include error-position-img(50vw auto, 0 61%)
+  .hill-right
+    background-image: url(../images/error/maintenance-hills-right.svg)
+    @include error-position-img(38vw auto, 99% 63%)
+    display: none
+    @media #{$medium-up}
+      display: block
+  .shadow-left
+    background-image: url(../images/error/maintenance-grass-shade-left.svg)
+    @include error-position-img(24vw auto, 6% 82%)
+  .shadow-right
+    background-image: url(../images/error/maintenance-grass-shade-right.svg)
+    @include error-position-img(17vw auto, 95% 89%)
+  .maintenance-tractor
+    background-image: url(../images/error/maintenance-tractor.svg)
+    @include error-position-img(87vw auto, 63% 87%)
+    @media #{$medium-up}
+      @include error-position-img(auto 40vh, 63% 87%)
 
diff --git a/app/styles/app/maximize.sass b/app/styles/app/maximize.sass
index fefd80e5..4e36174b 100644
--- a/app/styles/app/maximize.sass
+++ b/app/styles/app/maximize.sass
@@ -5,21 +5,22 @@
   #right
     display: none
 
-  #global_slider
-    position: absolute
-    background-color: $color-bg-slider
-    cursor: pointer
-    background: transparent inline-image('ui/slider-open.svg') no-repeat 6px 5px
-    border-top-left-radius: 4px
-    top: 85px
-    right: 0
-    width: 20px
-    height: 20px
-    border-bottom-left-radius: 4px
-    display: block
+  .application:not(> .error)
+    #global_slider
+      position: absolute
+      background-color: $color-bg-slider
+      cursor: pointer
+      background: transparent inline-image('ui/slider-open.svg') no-repeat 6px 5px
+      border-top-left-radius: 4px
+      top: 85px
+      right: 0
+      width: 20px
+      height: 20px
+      border-bottom-left-radius: 4px
+      display: block
 
-    &:hover
-      background-color: $color-border-slider-hover
+      &:hover
+        background-color: $color-border-slider-hover
 
 #top .profile
   margin-right: 15px
diff --git a/app/templates/error404.hbs b/app/templates/error404.hbs
index d408249b..cc397661 100644
--- a/app/templates/error404.hbs
+++ b/app/templates/error404.hbs
@@ -1,6 +1,6 @@
 <div class="error-bg full-size">
-  <div class="error-hill-left full-size"></div>
-  <div class="error-hill-right full-size"></div>
+  <div class="hill-left full-size"></div>
+  <div class="hill-right full-size"></div>
 </div>
 <div class="error-excavator full-size"></div>
 <div class="error-travis full-size"></div>
diff --git a/app/templates/error500.hbs b/app/templates/error500.hbs
new file mode 100644
index 00000000..de15327b
--- /dev/null
+++ b/app/templates/error500.hbs
@@ -0,0 +1,11 @@
+<div class="error-bg full-size">
+  <div class="hill-left full-size"></div>
+  <div class="hill-right full-size"></div>
+  <div class="shadow-left full-size"></div>
+  <div class="shadow-right full-size"></div>
+  <div class="road full-size"></div>
+</div>
+<div class="error-text">
+  <h1>Something went wrong</h1>
+  <p>It looks like something went wrong with your request.<br>Please try again later.</p>
+</div>
diff --git a/app/views/error404.coffee b/app/views/error404.coffee
index 8066dc8c..03b81829 100644
--- a/app/views/error404.coffee
+++ b/app/views/error404.coffee
@@ -2,6 +2,6 @@
 
 View = BasicView.extend
   layoutName: 'layouts/error'
-  classNames: ['error']
+  classNames: ['error error404']
 
 `export default View`
diff --git a/app/views/error500.coffee b/app/views/error500.coffee
new file mode 100644
index 00000000..c6b7dfb2
--- /dev/null
+++ b/app/views/error500.coffee
@@ -0,0 +1,7 @@
+`import BasicView from 'travis/views/basic'`
+
+View = BasicView.extend
+  layoutName: 'layouts/error'
+  classNames: ['error error500']
+
+`export default View`
diff --git a/public/images/error/500-hills-left.svg b/public/images/error/500-hills-left.svg
new file mode 100644
index 00000000..a01274e0
--- /dev/null
+++ b/public/images/error/500-hills-left.svg
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="331.68px" height="128.235px" viewBox="0 0 331.68 128.235" enable-background="new 0 0 331.68 128.235"
+	 xml:space="preserve">
+<g>
+	<g>
+		
+			<image overflow="visible" opacity="0.1" width="1382" height="561" xlink:href="6AB008E8BA7227E6.png"  transform="matrix(0.24 0 0 0.24 0 0)">
+		</image>
+		<g>
+			<polygon fill="#DDC782" points="325.052,117.99 275.16,64.12 241.545,64.12 185.894,6.48 96.599,6.48 73.956,41.12 46.645,41.12 
+				6.48,118.112 6.48,128.12 325.052,128.12 			"/>
+		</g>
+	</g>
+</g>
+<polygon fill="#E2D5A8" points="95.996,6.48 88.886,17.594 178.145,17.594 234.905,76.345 267.272,76.345 307.058,118.301 
+	325.052,117.99 275.16,64.12 241.545,64.12 185.894,6.48 "/>
+<polygon fill="#D6BA6B" points="90.997,34.783 80.208,53.964 52.821,53.964 17.847,117.112 94.667,117.112 114.246,68.347 
+	93.186,68.347 108.974,34.78 "/>
+</svg>
diff --git a/public/images/error/500-hills-right.svg b/public/images/error/500-hills-right.svg
new file mode 100644
index 00000000..1ceb1100
--- /dev/null
+++ b/public/images/error/500-hills-right.svg
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="364.08px" height="99.524px" viewBox="0 0 364.08 99.524" enable-background="new 0 0 364.08 99.524" xml:space="preserve">
+<g>
+	<g>
+		<g>
+			
+				<image overflow="visible" opacity="0.1" width="973" height="390" xlink:href="423B8197D66693F1.png"  transform="matrix(0.24 0 0 0.24 127.1021 0)">
+			</image>
+			<g>
+				<polygon fill="#DDC782" points="357.594,90.549 274.083,3 210.635,3 182.937,36.624 164.445,36.624 130.102,90.549 				"/>
+			</g>
+		</g>
+		<polygon fill="#D6BA6B" points="231.917,22.801 206.431,22.801 187.94,47.95 171.654,47.206 145.282,88.371 168.425,88.371 
+			182.449,63.548 199.237,63.572 		"/>
+		<g>
+			<polygon fill="#E2D5A8" points="274.083,3 210.654,3 204.371,10.625 267.201,10.625 344.072,90.549 357.594,90.549 			"/>
+		</g>
+	</g>
+	<g>
+		
+			<image overflow="visible" opacity="0.1" width="1517" height="309" xlink:href="423B8197D66693F3.png"  transform="matrix(0.24 0 0 0.24 0 32.2876)">
+		</image>
+		<g>
+			<polygon fill="#DDC782" points="189.581,89.523 163.601,68.745 149.612,68.745 125.631,38.768 80.667,38.768 6.48,89.779 
+				6.48,99.787 357.594,99.787 357.594,89.523 			"/>
+		</g>
+	</g>
+	<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="270.4526" y1="86.5244" x2="270.4526" y2="89.5244">
+		<stop  offset="0" style="stop-color:#B5A339;stop-opacity:0"/>
+		<stop  offset="0.4085" style="stop-color:#C2AC4D;stop-opacity:0.1"/>
+		<stop  offset="1" style="stop-color:#D6BA6B"/>
+	</linearGradient>
+	<polygon fill="url(#SVGID_1_)" points="352.266,86.524 183.286,86.524 183.286,89.524 357.62,89.524 	"/>
+	<polygon fill="#E2D5A8" points="122.253,44.537 145.63,74.507 161.814,74.507 180.395,89.492 189.541,89.492 163.601,68.745 
+		149.612,68.745 125.631,38.768 80.667,38.768 72.039,44.537 	"/>
+	<polygon fill="#D6BA6B" points="42.167,89.492 18.97,89.492 69.507,52.929 92.704,52.929 	"/>
+</g>
+</svg>
diff --git a/public/images/error/500-hills-shade-left.svg b/public/images/error/500-hills-shade-left.svg
new file mode 100644
index 00000000..904c64bd
--- /dev/null
+++ b/public/images/error/500-hills-shade-left.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="202.271px" height="25.842px" viewBox="0 0 202.271 25.842" enable-background="new 0 0 202.271 25.842"
+	 xml:space="preserve">
+<polygon fill="#D6BA6B" points="176.225,0 51.492,0 21.469,11.69 6.005,11.69 -0.001,25.842 202.271,25.842 "/>
+</svg>
diff --git a/public/images/error/500-hills-shade-right.svg b/public/images/error/500-hills-shade-right.svg
new file mode 100644
index 00000000..5cfedaeb
--- /dev/null
+++ b/public/images/error/500-hills-shade-right.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="202.271px" height="25.842px" viewBox="0 0 202.271 25.842" enable-background="new 0 0 202.271 25.842"
+	 xml:space="preserve">
+<polygon fill="#D6BA6B" points="186.234,11.69 176.226,0 51.494,0 0,25.842 202.272,25.842 202.272,11.69 "/>
+</svg>
diff --git a/public/images/error/500-road.svg b/public/images/error/500-road.svg
new file mode 100644
index 00000000..3d5a5b1d
--- /dev/null
+++ b/public/images/error/500-road.svg
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="432.973px" height="305.408px" viewBox="0 0 432.973 305.408" enable-background="new 0 0 432.973 305.408"
+	 xml:space="preserve">
+<g>
+	<polygon fill="#56524F" points="362.724,165.068 404.552,48.501 250.935,48.501 107.346,105.933 49.844,231.263 114.297,268.895 
+		389.082,268.895 407.378,232.175 	"/>
+</g>
+<g>
+	<g>
+		<polygon fill="#FFFFFF" points="308.927,60.146 304.964,59.876 314.111,52.344 318.259,52.311 		"/>
+	</g>
+	<g>
+		<path fill="#FFFFFF" d="M269.763,257.904l-23.545-42.796l7.771-0.163l24.545,43.797L269.763,257.904z M239.668,200.162
+			L223,166.075l7.982,0.34l16.457,33.584L239.668,200.162z M228.845,154.631l-6.869-0.887l10.46-27.177l5.869,0.887L228.845,154.631
+			z M243.781,117.623l-5.965-0.27l14.85-11.64l5.963,0.271L243.781,117.623z M267.365,97.261l-5.965-0.27l17.854-13.642l4.963,0.27
+			L267.365,97.261z M289.949,76.897l-3.963-0.27l13.729-10.752l3.963,0.27L289.949,76.897z"/>
+	</g>
+</g>
+<g>
+	<g>
+		<path fill="#FFFFFF" d="M111.666,304.173c-4.279,1.647-11.282,1.647-15.562,0L3.111,268.366c-4.279-1.647-4.125-3.842,0.343-4.875
+			l92.308-21.353c4.468-1.033,11.778-1.033,16.246,0l92.306,21.353c4.468,1.033,4.622,3.228,0.342,4.875L111.666,304.173z"/>
+	</g>
+	<polygon fill="#D25031" points="179.687,74.322 106.597,85.136 106.597,17.599 179.687,29.491 160.061,51.613 	"/>
+	<path fill="#FFFFFF" d="M110.097,12.992c-0.011-3.069-2.511-5.549-5.581-5.538c-3.069,0.013-5.548,2.511-5.537,5.578
+		c0.007,1.555,1.485,2.956,2.518,3.962v135.272l6.112-0.03V16.993C108.633,15.981,110.101,14.548,110.097,12.992z"/>
+	<g>
+		<path fill="#CD6632" d="M175.843,261.758c-2.501-5.839-63.367-143.689-63.367-143.689s-1.186-3.058-3.056-3.058
+			c-2.189,0-7.214,0-9.402,0c-1.964,0-3.057,3.058-3.057,3.058S36.096,255.919,33.594,261.758c-2.502,5.835,1.111,6.112,1.111,6.112
+			c42.475,19.179,104.313,15.982,140.027,0C174.732,267.87,178.343,267.593,175.843,261.758z"/>
+		<path fill="#FFFFFF" d="M165.442,238.104c-3.729-8.463-8.184-18.562-12.902-29.261c-16.927,3.859-35.25,6.054-49.863,6.121
+			c-19.318,0.091-35.643-2.262-46.023-5.569c-4.623,10.482-8.985,20.371-12.649,28.681c8.834,2.624,29.308,10.009,58.882,9.849
+			C120.642,247.83,141.678,243.415,165.442,238.104z"/>
+		<path fill="#FFFFFF" d="M82.841,150.052c-3.585,8.122-7.609,17.241-11.774,26.674c8.936,1.415,19.597,2.471,31.82,2.413
+			c10.549-0.048,22.264-1.415,35.013-3.473c-4.11-9.316-8.075-18.298-11.602-26.285c-8.365,0.867-16.44,1.339-23.621,1.369
+			C95.615,150.779,88.959,150.522,82.841,150.052z"/>
+	</g>
+</g>
+<g>
+	<g>
+		<path fill="#FFFFFF" d="M384.685,177.18c-2.205,0.688-5.812,0.688-8.018,0l-46.656-14.549c-2.205-0.688-2.168-1.676,0.082-2.196
+			l46.492-10.754c2.25-0.521,5.932-0.521,8.184,0l46.492,10.754c2.25,0.521,2.287,1.509,0.082,2.196L384.685,177.18z"/>
+	</g>
+	<polygon fill="#D25031" points="418.652,65.256 382.044,70.603 382.044,36.587 418.652,41.933 409.099,53.174 	"/>
+	<path fill="#FFFFFF" d="M383.806,34.267c-0.006-1.546-1.266-2.795-2.809-2.789c-1.549,0.006-2.797,1.264-2.789,2.81
+		c0.002,0.783,0.746,1.488,1.266,1.994v68.134l3.078-0.016l0.002-68.118C383.07,35.772,383.808,35.05,383.806,34.267z"/>
+	<g>
+		<path fill="#CD6632" d="M416.921,159.56c-1.262-2.938-31.918-72.368-31.918-72.368s-0.596-1.541-1.539-1.541
+			c-1.102,0-3.633,0-4.736,0c-0.986,0-1.537,1.541-1.537,1.541s-30.656,69.431-31.916,72.368c-1.26,2.94,0.559,3.08,0.559,3.08
+			c21.393,9.659,52.539,8.05,70.527,0C416.361,162.64,418.181,162.5,416.921,159.56z"/>
+		<path fill="#FFFFFF" d="M411.681,147.648c-1.877-4.262-4.121-9.351-6.498-14.737c-8.525,1.943-17.754,3.049-25.113,3.083
+			c-9.73,0.045-17.951-1.14-23.182-2.807c-2.328,5.281-4.525,10.261-6.369,14.448c4.449,1.318,14.762,5.039,29.656,4.958
+			C389.119,152.546,399.712,150.322,411.681,147.648z"/>
+		<path fill="#FFFFFF" d="M370.078,103.299c-1.805,4.092-3.832,8.684-5.93,13.435c4.5,0.713,9.871,1.244,16.027,1.216
+			c5.314-0.023,11.213-0.714,17.633-1.749c-2.068-4.692-4.064-9.216-5.842-13.238c-4.213,0.435-8.281,0.673-11.896,0.689
+			C376.513,103.665,373.162,103.536,370.078,103.299z"/>
+	</g>
+</g>
+<g>
+	<g>
+		<path fill="#FFFFFF" d="M248.083,59.489c-0.941,0.197-2.481,0.197-3.423,0l-19.341-4.045c-0.941-0.197-0.945-0.536-0.008-0.752
+			l19.356-4.478c0.937-0.216,2.47-0.216,3.407,0l19.357,4.478c0.937,0.216,0.934,0.555-0.008,0.752L248.083,59.489z"/>
+	</g>
+	<polygon fill="#D25031" points="262.183,14.063 246.941,16.29 246.941,2.127 262.183,4.353 258.206,9.033 	"/>
+	<path fill="#FFFFFF" d="M247.675,1.161c-0.003-0.644-0.527-1.163-1.17-1.161c-0.645,0.002-1.164,0.526-1.162,1.17
+		c0.002,0.326,0.312,0.619,0.528,0.831v28.366l1.282-0.006V2.001C247.369,1.788,247.676,1.487,247.675,1.161z"/>
+	<g>
+		<path fill="#CD6632" d="M261.462,53.327c-0.525-1.224-13.289-30.131-13.289-30.131s-0.248-0.641-0.641-0.641
+			c-0.459,0-1.513,0-1.973,0c-0.41,0-0.64,0.641-0.64,0.641s-12.764,28.907-13.288,30.131c-0.524,1.225,0.232,1.282,0.232,1.282
+			c8.907,4.021,21.875,3.351,29.364,0C261.229,54.609,261.987,54.552,261.462,53.327z"/>
+		<path fill="#FFFFFF" d="M259.281,48.368c-0.781-1.775-1.716-3.894-2.705-6.136c-3.55,0.808-7.393,1.269-10.456,1.283
+			c-4.052,0.019-7.476-0.476-9.651-1.169c-0.971,2.198-1.885,4.272-2.652,6.016c1.852,0.55,6.146,2.099,12.347,2.064
+			C249.886,50.407,254.297,49.481,259.281,48.368z"/>
+		<path fill="#FFFFFF" d="M241.959,29.903c-0.752,1.703-1.597,3.615-2.47,5.594c1.874,0.296,4.11,0.517,6.673,0.505
+			c2.213-0.01,4.669-0.297,7.343-0.728c-0.862-1.954-1.693-3.837-2.433-5.512c-1.755,0.181-3.448,0.28-4.953,0.287
+			C244.638,30.055,243.243,30.002,241.959,29.903z"/>
+	</g>
+</g>
+<g opacity="0.6">
+	<path fill="#FFFFFF" d="M135.408,57.719c2.591,0.164,4.419,2.344,4.36,4.94c-0.06,2.599-1.98,4.538-4.571,4.374
+		c-2.59-0.164-4.418-2.342-4.359-4.94C130.896,59.496,132.818,57.555,135.408,57.719z M131.922,42.896l-0.123-7.646l8.543,0.978
+		l-0.979,7.121l-1.41,11.379l-5.209-0.316L131.922,42.896z"/>
+</g>
+<g>
+	<path opacity="0.6" fill="#FFFFFF" d="M395.474,56.781c1.379,0.088,2.352,1.247,2.32,2.628c-0.031,1.382-1.055,2.413-2.432,2.325
+		c-1.377-0.087-2.348-1.245-2.318-2.627C393.076,57.728,394.097,56.694,395.474,56.781z M393.621,48.899l-0.064-4.065l4.287,0.394
+		l-0.266,3.913l-0.748,6.051l-2.77-0.168L393.621,48.899z"/>
+</g>
+<g>
+	<path opacity="0.6" fill="#FFFFFF" d="M252.903,10.373c0.533,0.034,0.909,0.482,0.897,1.017c-0.012,0.535-0.408,0.934-0.941,0.9
+		c-0.532-0.034-0.908-0.482-0.896-1.017S252.371,10.339,252.903,10.373z M252.185,7.322l-0.025-1.573l1.646,0.307l-0.09,1.36
+		l-0.289,2.342l-1.072-0.065L252.185,7.322z"/>
+</g>
+</svg>

From 01c973cac959518046eb56d91058669a29733869 Mon Sep 17 00:00:00 2001
From: Lisa Passing <mail@lislis.de>
Date: Fri, 13 Feb 2015 11:58:53 +0100
Subject: [PATCH 02/26] push hills around

---
 app/styles/app/layouts/error.sass | 34 ++++++++++++++++---------------
 1 file changed, 18 insertions(+), 16 deletions(-)

diff --git a/app/styles/app/layouts/error.sass b/app/styles/app/layouts/error.sass
index b55169ad..d6f4b108 100644
--- a/app/styles/app/layouts/error.sass
+++ b/app/styles/app/layouts/error.sass
@@ -67,22 +67,24 @@
     @include error-bg-gradient($error-sand)
   .hill-left
     background-image: url(../images/error/500-hills-left.svg)
-    @include error-position-img(38vw auto, 0 62%)
+    @include error-position-img(38vw auto, 0 58%)
+    @media #{$medium-up}
+      @include error-position-img(38vw auto, 0 54%)
   .hill-right
     background-image: url(../images/error/500-hills-right.svg)
-    @include error-position-img(38vw auto, 99% 63%)
+    @include error-position-img(38vw auto, 99% 58%)
     display: none
     @media #{$medium-up}
       display: block
   .shadow-left
     background-image: url(../images/error/500-hills-shade-left.svg)
-    @include error-position-img(24vw auto, 6% 82%)
+    @include error-position-img(24vw auto, 6% 72%)
   .shadow-right
     background-image: url(../images/error/500-hills-shade-right.svg)
-    @include error-position-img(17vw auto, 95% 89%)
+    @include error-position-img(17vw auto, 95% 79%)
   .road
     background-image: url(../images/error/500-road.svg)
-    @include error-position-img(auto 40vh, 30% 91.3%)
+    @include error-position-img(auto 40vh, 42% 91.3%)
 
 .error404
   .error-bg
@@ -90,16 +92,16 @@
   .hill-left
     display: none
     background-image: url(../images/error/404-hills-left.svg)
-    @include error-position-img(30vw auto, 0 (100% - 37%))
+    @include error-position-img(30vw auto, 0 58%)
     @media #{$medium-up}
       display: block
   .hill-right
     background-image: url(../images/error/404-hills-right.svg)
-    @include error-position-img(auto 20vw, 99% 63%)
+    @include error-position-img(auto 20vw, 99% 58%)
     @media #{$medium-up}
-      @include error-position-img(50vw auto, 99% 63%)
+      @include error-position-img(50vw auto, 99% 58%)
     @media #{$large-up}
-      @include error-position-img(50vw auto, 99% 61%)
+      @include error-position-img(50vw auto, 99% 54%)
   .error-excavator
     background-image: url(../images/error/excavator.svg)
     @include error-position-img(auto 25vh, 71% 83%)
@@ -117,26 +119,26 @@
     @include error-bg-gradient($maintenance-grass)
   .hill-left
     background-image: url(../images/error/maintenance-hills-left.svg)
-    @include error-position-img(80vw auto, 0 62%)
+    @include error-position-img(80vw auto, 0 56%)
     @media #{$medium-up}
-      @include error-position-img(58vw auto, 0 62%)
+      @include error-position-img(58vw auto, 0 58%)
     @media #{$large-up}
-      @include error-position-img(50vw auto, 0 61%)
+      @include error-position-img(50vw auto, 0 52%)
   .hill-right
     background-image: url(../images/error/maintenance-hills-right.svg)
-    @include error-position-img(38vw auto, 99% 63%)
+    @include error-position-img(38vw auto, 99% 59%)
     display: none
     @media #{$medium-up}
       display: block
   .shadow-left
     background-image: url(../images/error/maintenance-grass-shade-left.svg)
-    @include error-position-img(24vw auto, 6% 82%)
+    @include error-position-img(24vw auto, 6% 72%)
   .shadow-right
     background-image: url(../images/error/maintenance-grass-shade-right.svg)
-    @include error-position-img(17vw auto, 95% 89%)
+    @include error-position-img(17vw auto, 95% 79%)
   .maintenance-tractor
     background-image: url(../images/error/maintenance-tractor.svg)
     @include error-position-img(87vw auto, 63% 87%)
     @media #{$medium-up}
-      @include error-position-img(auto 40vh, 63% 87%)
+      @include error-position-img(auto 44vh, 63% 83%)
 

From 2c61304a5d3505c3a1e02b893f7111848cd0d6a3 Mon Sep 17 00:00:00 2001
From: Lisa Passing <mail@lislis.de>
Date: Fri, 13 Feb 2015 12:00:46 +0100
Subject: [PATCH 03/26] add burger markup to error pages

---
 app/templates/layouts/error.hbs | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/app/templates/layouts/error.hbs b/app/templates/layouts/error.hbs
index d4401b49..89952183 100644
--- a/app/templates/layouts/error.hbs
+++ b/app/templates/layouts/error.hbs
@@ -4,9 +4,9 @@
       <h1>{{#link-to "main"}}Home{{/link-to}}</h1>
     </div>
     <div class="nav-burger">
-      <button type="button" id="burger">&equiv;</button>
+      <button type="button" id="burger" {{action 'toggleBurgerMenu'}}>&equiv;</button>
     </div>
-    <ul>
+    <ul id="navigation" {{bind-attr class="is-open"}}>
       <li><a href="#">Blog</a></li>
       <li><a href="#">Status</a></li>
     <!-- <div class="small-4 medium-3 columns" id="status">

From b9c58fae46428d442c8f09a95f10e703ec6e9ac7 Mon Sep 17 00:00:00 2001
From: Lisa Passing <mail@lislis.de>
Date: Mon, 16 Feb 2015 14:33:28 +0100
Subject: [PATCH 04/26] push some hills around

---
 app/styles/app/layouts/error.sass | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/app/styles/app/layouts/error.sass b/app/styles/app/layouts/error.sass
index d6f4b108..565c890e 100644
--- a/app/styles/app/layouts/error.sass
+++ b/app/styles/app/layouts/error.sass
@@ -67,12 +67,12 @@
     @include error-bg-gradient($error-sand)
   .hill-left
     background-image: url(../images/error/500-hills-left.svg)
-    @include error-position-img(38vw auto, 0 58%)
+    @include error-position-img(auto 10vh, 0 58%)
     @media #{$medium-up}
-      @include error-position-img(38vw auto, 0 54%)
+      @include error-position-img(38vw auto, 0 58%)
   .hill-right
     background-image: url(../images/error/500-hills-right.svg)
-    @include error-position-img(38vw auto, 99% 58%)
+    @include error-position-img(38vw auto, 99% 59%)
     display: none
     @media #{$medium-up}
       display: block
@@ -84,7 +84,9 @@
     @include error-position-img(17vw auto, 95% 79%)
   .road
     background-image: url(../images/error/500-road.svg)
-    @include error-position-img(auto 40vh, 42% 91.3%)
+    @include error-position-img(auto 27vh, 42% 78%)
+    @media #{$medium-up}
+      @include error-position-img(auto 40vh, 42% 91.3%)
 
 .error404
   .error-bg
@@ -119,11 +121,11 @@
     @include error-bg-gradient($maintenance-grass)
   .hill-left
     background-image: url(../images/error/maintenance-hills-left.svg)
-    @include error-position-img(80vw auto, 0 56%)
+    @include error-position-img(80vw auto, 0 58%)
     @media #{$medium-up}
       @include error-position-img(58vw auto, 0 58%)
     @media #{$large-up}
-      @include error-position-img(50vw auto, 0 52%)
+      @include error-position-img(50vw auto, 0 56%)
   .hill-right
     background-image: url(../images/error/maintenance-hills-right.svg)
     @include error-position-img(38vw auto, 99% 59%)

From 090c645ea6a9f63dddbc745392cb35e627f09ada Mon Sep 17 00:00:00 2001
From: Lisa Passing <mail@lislis.de>
Date: Mon, 16 Feb 2015 15:37:49 +0100
Subject: [PATCH 05/26] add maintenance.html

---
 public/maintenance.html | 1317 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 1317 insertions(+)
 create mode 100644 public/maintenance.html

diff --git a/public/maintenance.html b/public/maintenance.html
new file mode 100644
index 00000000..66bfa596
--- /dev/null
+++ b/public/maintenance.html
@@ -0,0 +1,1317 @@
+<!DOCTYPE html>
+<html lang="en"><head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Travis CI - Maintenance</title>
+    <meta name="description" content="">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+
+    <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,800" rel="stylesheet" type="text/css">
+
+    <style>
+    html, body {
+      height: 100%; }
+
+    *, *:before, *:after {
+      box-sizing: border-box; }
+
+    html, body {
+      font-size: 13px; }
+
+    body {
+      background: #fff;
+      color: #666;
+      padding: 0;
+      margin: 0;
+      font-family: 'Source Sans Pro', Helvetica, sans-serif;
+      font-weight: normal;
+      font-style: normal;
+      line-height: 22px;
+      position: relative;
+      cursor: auto; }
+
+
+      .row {
+        width: 100%;
+        margin-left: auto;
+        margin-right: auto;
+        margin-top: 0;
+        margin-bottom: 0;
+        max-width: 100%; }
+        .row:before, .row:after {
+          content: " ";
+          display: table; }
+        .row:after {
+          clear: both; }
+        .row.collapse > .column, .row.collapse > .columns {
+          padding-left: 0;
+          padding-right: 0; }
+        .row.collapse .row {
+          margin-left: 0;
+          margin-right: 0; }
+        .row .row {
+          width: auto;
+          margin-left: -0.9375rem;
+          margin-right: -0.9375rem;
+          margin-top: 0;
+          margin-bottom: 0;
+          max-width: none; }
+          .row .row:before, .row .row:after {
+            content: " ";
+            display: table; }
+          .row .row:after {
+            clear: both; }
+          .row .row.collapse {
+            width: auto;
+            margin: 0;
+            max-width: none; }
+            .row .row.collapse:before, .row .row.collapse:after {
+              content: " ";
+              display: table; }
+            .row .row.collapse:after {
+              clear: both; }
+
+      .column, .columns {
+        padding-left: 0.9375rem;
+        padding-right: 0.9375rem;
+        width: 100%;
+        float: left; }
+
+      [class*="column"] + [class*="column"]:last-child {
+        float: right; }
+
+      [class*="column"] + [class*="column"].end {
+        float: left; }
+
+      @media only screen {
+        .small-push-0 {
+          position: relative;
+          left: 0%;
+          right: auto; }
+
+        .small-pull-0 {
+          position: relative;
+          right: 0%;
+          left: auto; }
+
+        .small-push-1 {
+          position: relative;
+          left: 8.33333%;
+          right: auto; }
+
+        .small-pull-1 {
+          position: relative;
+          right: 8.33333%;
+          left: auto; }
+
+        .small-push-2 {
+          position: relative;
+          left: 16.66667%;
+          right: auto; }
+
+        .small-pull-2 {
+          position: relative;
+          right: 16.66667%;
+          left: auto; }
+
+        .small-push-3 {
+          position: relative;
+          left: 25%;
+          right: auto; }
+
+        .small-pull-3 {
+          position: relative;
+          right: 25%;
+          left: auto; }
+
+        .small-push-4 {
+          position: relative;
+          left: 33.33333%;
+          right: auto; }
+
+        .small-pull-4 {
+          position: relative;
+          right: 33.33333%;
+          left: auto; }
+
+        .small-push-5 {
+          position: relative;
+          left: 41.66667%;
+          right: auto; }
+
+        .small-pull-5 {
+          position: relative;
+          right: 41.66667%;
+          left: auto; }
+
+        .small-push-6 {
+          position: relative;
+          left: 50%;
+          right: auto; }
+
+        .small-pull-6 {
+          position: relative;
+          right: 50%;
+          left: auto; }
+
+        .small-push-7 {
+          position: relative;
+          left: 58.33333%;
+          right: auto; }
+
+        .small-pull-7 {
+          position: relative;
+          right: 58.33333%;
+          left: auto; }
+
+        .small-push-8 {
+          position: relative;
+          left: 66.66667%;
+          right: auto; }
+
+        .small-pull-8 {
+          position: relative;
+          right: 66.66667%;
+          left: auto; }
+
+        .small-push-9 {
+          position: relative;
+          left: 75%;
+          right: auto; }
+
+        .small-pull-9 {
+          position: relative;
+          right: 75%;
+          left: auto; }
+
+        .small-push-10 {
+          position: relative;
+          left: 83.33333%;
+          right: auto; }
+
+        .small-pull-10 {
+          position: relative;
+          right: 83.33333%;
+          left: auto; }
+
+        .small-push-11 {
+          position: relative;
+          left: 91.66667%;
+          right: auto; }
+
+        .small-pull-11 {
+          position: relative;
+          right: 91.66667%;
+          left: auto; }
+
+        .column, .columns {
+          position: relative;
+          padding-left: 0.9375rem;
+          padding-right: 0.9375rem;
+          float: left; }
+
+        .small-1 {
+          width: 8.33333%; }
+
+        .small-2 {
+          width: 16.66667%; }
+
+        .small-3 {
+          width: 25%; }
+
+        .small-4 {
+          width: 33.33333%; }
+
+        .small-5 {
+          width: 41.66667%; }
+
+        .small-6 {
+          width: 50%; }
+
+        .small-7 {
+          width: 58.33333%; }
+
+        .small-8 {
+          width: 66.66667%; }
+
+        .small-9 {
+          width: 75%; }
+
+        .small-10 {
+          width: 83.33333%; }
+
+        .small-11 {
+          width: 91.66667%; }
+
+        .small-12 {
+          width: 100%; }
+
+        .small-offset-0 {
+          margin-left: 0% !important; }
+
+        .small-offset-1 {
+          margin-left: 8.33333% !important; }
+
+        .small-offset-2 {
+          margin-left: 16.66667% !important; }
+
+        .small-offset-3 {
+          margin-left: 25% !important; }
+
+        .small-offset-4 {
+          margin-left: 33.33333% !important; }
+
+        .small-offset-5 {
+          margin-left: 41.66667% !important; }
+
+        .small-offset-6 {
+          margin-left: 50% !important; }
+
+        .small-offset-7 {
+          margin-left: 58.33333% !important; }
+
+        .small-offset-8 {
+          margin-left: 66.66667% !important; }
+
+        .small-offset-9 {
+          margin-left: 75% !important; }
+
+        .small-offset-10 {
+          margin-left: 83.33333% !important; }
+
+        .small-offset-11 {
+          margin-left: 91.66667% !important; }
+
+        .small-reset-order {
+          margin-left: 0;
+          margin-right: 0;
+          left: auto;
+          right: auto;
+          float: left; }
+
+        .column.small-centered, .columns.small-centered {
+          margin-left: auto;
+          margin-right: auto;
+          float: none; }
+
+        .column.small-uncentered, .columns.small-uncentered {
+          margin-left: 0;
+          margin-right: 0;
+          float: left; }
+
+        .column.small-centered:last-child, .columns.small-centered:last-child {
+          float: none; }
+
+        .column.small-uncentered:last-child, .columns.small-uncentered:last-child {
+          float: left; }
+
+        .column.small-uncentered.opposite, .columns.small-uncentered.opposite {
+          float: right; }
+
+        .row.small-collapse > .column, .row.small-collapse > .columns {
+          padding-left: 0;
+          padding-right: 0; }
+        .row.small-collapse .row {
+          margin-left: 0;
+          margin-right: 0; }
+        .row.small-uncollapse > .column, .row.small-uncollapse > .columns {
+          padding-left: 0.9375rem;
+          padding-right: 0.9375rem;
+          float: left; }
+       }
+
+      @media only screen and (min-width:40.063em) {
+        .medium-push-0 {
+          position: relative;
+          left: 0%;
+          right: auto; }
+
+        .medium-pull-0 {
+          position: relative;
+          right: 0%;
+          left: auto; }
+
+        .medium-push-1 {
+          position: relative;
+          left: 8.33333%;
+          right: auto; }
+
+        .medium-pull-1 {
+          position: relative;
+          right: 8.33333%;
+          left: auto; }
+
+        .medium-push-2 {
+          position: relative;
+          left: 16.66667%;
+          right: auto; }
+
+        .medium-pull-2 {
+          position: relative;
+          right: 16.66667%;
+          left: auto; }
+
+        .medium-push-3 {
+          position: relative;
+          left: 25%;
+          right: auto; }
+
+        .medium-pull-3 {
+          position: relative;
+          right: 25%;
+          left: auto; }
+
+        .medium-push-4 {
+          position: relative;
+          left: 33.33333%;
+          right: auto; }
+
+        .medium-pull-4 {
+          position: relative;
+          right: 33.33333%;
+          left: auto; }
+
+        .medium-push-5 {
+          position: relative;
+          left: 41.66667%;
+          right: auto; }
+
+        .medium-pull-5 {
+          position: relative;
+          right: 41.66667%;
+          left: auto; }
+
+        .medium-push-6 {
+          position: relative;
+          left: 50%;
+          right: auto; }
+
+        .medium-pull-6 {
+          position: relative;
+          right: 50%;
+          left: auto; }
+
+        .medium-push-7 {
+          position: relative;
+          left: 58.33333%;
+          right: auto; }
+
+        .medium-pull-7 {
+          position: relative;
+          right: 58.33333%;
+          left: auto; }
+
+        .medium-push-8 {
+          position: relative;
+          left: 66.66667%;
+          right: auto; }
+
+        .medium-pull-8 {
+          position: relative;
+          right: 66.66667%;
+          left: auto; }
+
+        .medium-push-9 {
+          position: relative;
+          left: 75%;
+          right: auto; }
+
+        .medium-pull-9 {
+          position: relative;
+          right: 75%;
+          left: auto; }
+
+        .medium-push-10 {
+          position: relative;
+          left: 83.33333%;
+          right: auto; }
+
+        .medium-pull-10 {
+          position: relative;
+          right: 83.33333%;
+          left: auto; }
+
+        .medium-push-11 {
+          position: relative;
+          left: 91.66667%;
+          right: auto; }
+
+        .medium-pull-11 {
+          position: relative;
+          right: 91.66667%;
+          left: auto; }
+
+        .column, .columns {
+          position: relative;
+          padding-left: 0.9375rem;
+          padding-right: 0.9375rem;
+          float: left; }
+
+        .medium-1 {
+          width: 8.33333%; }
+
+        .medium-2 {
+          width: 16.66667%; }
+
+        .medium-3 {
+          width: 25%; }
+
+        .medium-4 {
+          width: 33.33333%; }
+
+        .medium-5 {
+          width: 41.66667%; }
+
+        .medium-6 {
+          width: 50%; }
+
+        .medium-7 {
+          width: 58.33333%; }
+
+        .medium-8 {
+          width: 66.66667%; }
+
+        .medium-9 {
+          width: 75%; }
+
+        .medium-10 {
+          width: 83.33333%; }
+
+        .medium-11 {
+          width: 91.66667%; }
+
+        .medium-12 {
+          width: 100%; }
+
+        .medium-offset-0 {
+          margin-left: 0% !important; }
+
+        .medium-offset-1 {
+          margin-left: 8.33333% !important; }
+
+        .medium-offset-2 {
+          margin-left: 16.66667% !important; }
+
+        .medium-offset-3 {
+          margin-left: 25% !important; }
+
+        .medium-offset-4 {
+          margin-left: 33.33333% !important; }
+
+        .medium-offset-5 {
+          margin-left: 41.66667% !important; }
+
+        .medium-offset-6 {
+          margin-left: 50% !important; }
+
+        .medium-offset-7 {
+          margin-left: 58.33333% !important; }
+
+        .medium-offset-8 {
+          margin-left: 66.66667% !important; }
+
+        .medium-offset-9 {
+          margin-left: 75% !important; }
+
+        .medium-offset-10 {
+          margin-left: 83.33333% !important; }
+
+        .medium-offset-11 {
+          margin-left: 91.66667% !important; }
+
+        .medium-reset-order {
+          margin-left: 0;
+          margin-right: 0;
+          left: auto;
+          right: auto;
+          float: left; }
+
+        .column.medium-centered, .columns.medium-centered {
+          margin-left: auto;
+          margin-right: auto;
+          float: none; }
+
+        .column.medium-uncentered, .columns.medium-uncentered {
+          margin-left: 0;
+          margin-right: 0;
+          float: left; }
+
+        .column.medium-centered:last-child, .columns.medium-centered:last-child {
+          float: none; }
+
+        .column.medium-uncentered:last-child, .columns.medium-uncentered:last-child {
+          float: left; }
+
+        .column.medium-uncentered.opposite, .columns.medium-uncentered.opposite {
+          float: right; }
+
+        .row.medium-collapse > .column, .row.medium-collapse > .columns {
+          padding-left: 0;
+          padding-right: 0; }
+        .row.medium-collapse .row {
+          margin-left: 0;
+          margin-right: 0; }
+        .row.medium-uncollapse > .column, .row.medium-uncollapse > .columns {
+          padding-left: 0.9375rem;
+          padding-right: 0.9375rem;
+          float: left; }
+
+        .push-0 {
+          position: relative;
+          left: 0%;
+          right: auto; }
+
+        .pull-0 {
+          position: relative;
+          right: 0%;
+          left: auto; }
+
+        .push-1 {
+          position: relative;
+          left: 8.33333%;
+          right: auto; }
+
+        .pull-1 {
+          position: relative;
+          right: 8.33333%;
+          left: auto; }
+
+        .push-2 {
+          position: relative;
+          left: 16.66667%;
+          right: auto; }
+
+        .pull-2 {
+          position: relative;
+          right: 16.66667%;
+          left: auto; }
+
+        .push-3 {
+          position: relative;
+          left: 25%;
+          right: auto; }
+
+        .pull-3 {
+          position: relative;
+          right: 25%;
+          left: auto; }
+
+        .push-4 {
+          position: relative;
+          left: 33.33333%;
+          right: auto; }
+
+        .pull-4 {
+          position: relative;
+          right: 33.33333%;
+          left: auto; }
+
+        .push-5 {
+          position: relative;
+          left: 41.66667%;
+          right: auto; }
+
+        .pull-5 {
+          position: relative;
+          right: 41.66667%;
+          left: auto; }
+
+        .push-6 {
+          position: relative;
+          left: 50%;
+          right: auto; }
+
+        .pull-6 {
+          position: relative;
+          right: 50%;
+          left: auto; }
+
+        .push-7 {
+          position: relative;
+          left: 58.33333%;
+          right: auto; }
+
+        .pull-7 {
+          position: relative;
+          right: 58.33333%;
+          left: auto; }
+
+        .push-8 {
+          position: relative;
+          left: 66.66667%;
+          right: auto; }
+
+        .pull-8 {
+          position: relative;
+          right: 66.66667%;
+          left: auto; }
+
+        .push-9 {
+          position: relative;
+          left: 75%;
+          right: auto; }
+
+        .pull-9 {
+          position: relative;
+          right: 75%;
+          left: auto; }
+
+        .push-10 {
+          position: relative;
+          left: 83.33333%;
+          right: auto; }
+
+        .pull-10 {
+          position: relative;
+          right: 83.33333%;
+          left: auto; }
+
+        .push-11 {
+          position: relative;
+          left: 91.66667%;
+          right: auto; }
+
+        .pull-11 {
+          position: relative;
+          right: 91.66667%;
+          left: auto; }
+       }
+
+      @media only screen and (min-width:64.063em) {
+        .large-push-0 {
+          position: relative;
+          left: 0%;
+          right: auto; }
+
+        .large-pull-0 {
+          position: relative;
+          right: 0%;
+          left: auto; }
+
+        .large-push-1 {
+          position: relative;
+          left: 8.33333%;
+          right: auto; }
+
+        .large-pull-1 {
+          position: relative;
+          right: 8.33333%;
+          left: auto; }
+
+        .large-push-2 {
+          position: relative;
+          left: 16.66667%;
+          right: auto; }
+
+        .large-pull-2 {
+          position: relative;
+          right: 16.66667%;
+          left: auto; }
+
+        .large-push-3 {
+          position: relative;
+          left: 25%;
+          right: auto; }
+
+        .large-pull-3 {
+          position: relative;
+          right: 25%;
+          left: auto; }
+
+        .large-push-4 {
+          position: relative;
+          left: 33.33333%;
+          right: auto; }
+
+        .large-pull-4 {
+          position: relative;
+          right: 33.33333%;
+          left: auto; }
+
+        .large-push-5 {
+          position: relative;
+          left: 41.66667%;
+          right: auto; }
+
+        .large-pull-5 {
+          position: relative;
+          right: 41.66667%;
+          left: auto; }
+
+        .large-push-6 {
+          position: relative;
+          left: 50%;
+          right: auto; }
+
+        .large-pull-6 {
+          position: relative;
+          right: 50%;
+          left: auto; }
+
+        .large-push-7 {
+          position: relative;
+          left: 58.33333%;
+          right: auto; }
+
+        .large-pull-7 {
+          position: relative;
+          right: 58.33333%;
+          left: auto; }
+
+        .large-push-8 {
+          position: relative;
+          left: 66.66667%;
+          right: auto; }
+
+        .large-pull-8 {
+          position: relative;
+          right: 66.66667%;
+          left: auto; }
+
+        .large-push-9 {
+          position: relative;
+          left: 75%;
+          right: auto; }
+
+        .large-pull-9 {
+          position: relative;
+          right: 75%;
+          left: auto; }
+
+        .large-push-10 {
+          position: relative;
+          left: 83.33333%;
+          right: auto; }
+
+        .large-pull-10 {
+          position: relative;
+          right: 83.33333%;
+          left: auto; }
+
+        .large-push-11 {
+          position: relative;
+          left: 91.66667%;
+          right: auto; }
+
+        .large-pull-11 {
+          position: relative;
+          right: 91.66667%;
+          left: auto; }
+
+        .column, .columns {
+          position: relative;
+          padding-left: 0.9375rem;
+          padding-right: 0.9375rem;
+          float: left; }
+
+        .large-1 {
+          width: 8.33333%; }
+
+        .large-2 {
+          width: 16.66667%; }
+
+        .large-3 {
+          width: 25%; }
+
+        .large-4 {
+          width: 33.33333%; }
+
+        .large-5 {
+          width: 41.66667%; }
+
+        .large-6 {
+          width: 50%; }
+
+        .large-7 {
+          width: 58.33333%; }
+
+        .large-8 {
+          width: 66.66667%; }
+
+        .large-9 {
+          width: 75%; }
+
+        .large-10 {
+          width: 83.33333%; }
+
+        .large-11 {
+          width: 91.66667%; }
+
+        .large-12 {
+          width: 100%; }
+
+        .large-offset-0 {
+          margin-left: 0% !important; }
+
+        .large-offset-1 {
+          margin-left: 8.33333% !important; }
+
+        .large-offset-2 {
+          margin-left: 16.66667% !important; }
+
+        .large-offset-3 {
+          margin-left: 25% !important; }
+
+        .large-offset-4 {
+          margin-left: 33.33333% !important; }
+
+        .large-offset-5 {
+          margin-left: 41.66667% !important; }
+
+        .large-offset-6 {
+          margin-left: 50% !important; }
+
+        .large-offset-7 {
+          margin-left: 58.33333% !important; }
+
+        .large-offset-8 {
+          margin-left: 66.66667% !important; }
+
+        .large-offset-9 {
+          margin-left: 75% !important; }
+
+        .large-offset-10 {
+          margin-left: 83.33333% !important; }
+
+        .large-offset-11 {
+          margin-left: 91.66667% !important; }
+
+        .large-reset-order {
+          margin-left: 0;
+          margin-right: 0;
+          left: auto;
+          right: auto;
+          float: left; }
+
+        .column.large-centered, .columns.large-centered {
+          margin-left: auto;
+          margin-right: auto;
+          float: none; }
+
+        .column.large-uncentered, .columns.large-uncentered {
+          margin-left: 0;
+          margin-right: 0;
+          float: left; }
+
+        .column.large-centered:last-child, .columns.large-centered:last-child {
+          float: none; }
+
+        .column.large-uncentered:last-child, .columns.large-uncentered:last-child {
+          float: left; }
+
+        .column.large-uncentered.opposite, .columns.large-uncentered.opposite {
+          float: right; }
+
+        .row.large-collapse > .column, .row.large-collapse > .columns {
+          padding-left: 0;
+          padding-right: 0; }
+        .row.large-collapse .row {
+          margin-left: 0;
+          margin-right: 0; }
+        .row.large-uncollapse > .column, .row.large-uncollapse > .columns {
+          padding-left: 0.9375rem;
+          padding-right: 0.9375rem;
+          float: left; }
+
+        .push-0 {
+          position: relative;
+          left: 0%;
+          right: auto; }
+
+        .pull-0 {
+          position: relative;
+          right: 0%;
+          left: auto; }
+
+        .push-1 {
+          position: relative;
+          left: 8.33333%;
+          right: auto; }
+
+        .pull-1 {
+          position: relative;
+          right: 8.33333%;
+          left: auto; }
+
+        .push-2 {
+          position: relative;
+          left: 16.66667%;
+          right: auto; }
+
+        .pull-2 {
+          position: relative;
+          right: 16.66667%;
+          left: auto; }
+
+        .push-3 {
+          position: relative;
+          left: 25%;
+          right: auto; }
+
+        .pull-3 {
+          position: relative;
+          right: 25%;
+          left: auto; }
+
+        .push-4 {
+          position: relative;
+          left: 33.33333%;
+          right: auto; }
+
+        .pull-4 {
+          position: relative;
+          right: 33.33333%;
+          left: auto; }
+
+        .push-5 {
+          position: relative;
+          left: 41.66667%;
+          right: auto; }
+
+        .pull-5 {
+          position: relative;
+          right: 41.66667%;
+          left: auto; }
+
+        .push-6 {
+          position: relative;
+          left: 50%;
+          right: auto; }
+
+        .pull-6 {
+          position: relative;
+          right: 50%;
+          left: auto; }
+
+        .push-7 {
+          position: relative;
+          left: 58.33333%;
+          right: auto; }
+
+        .pull-7 {
+          position: relative;
+          right: 58.33333%;
+          left: auto; }
+
+        .push-8 {
+          position: relative;
+          left: 66.66667%;
+          right: auto; }
+
+        .pull-8 {
+          position: relative;
+          right: 66.66667%;
+          left: auto; }
+
+        .push-9 {
+          position: relative;
+          left: 75%;
+          right: auto; }
+
+        .pull-9 {
+          position: relative;
+          right: 75%;
+          left: auto; }
+
+        .push-10 {
+          position: relative;
+          left: 83.33333%;
+          right: auto; }
+
+        .pull-10 {
+          position: relative;
+          right: 83.33333%;
+          left: auto; }
+
+        .push-11 {
+          position: relative;
+          left: 91.66667%;
+          right: auto; }
+
+        .pull-11 {
+          position: relative;
+          right: 91.66667%;
+          left: auto; }
+       }
+    #top {
+      font-size: 14px;
+      background: #404650; }
+      #top #logo {
+        position: relative;
+        float: left;
+        width: 123px;
+        height: 55px;
+        margin-right: 14px;
+        z-index: 999;
+        text-indent: -9999px;
+        background: #dc4136 url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE2LjAuNCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHdpZHRoPSI3NXB4IiBoZWlnaHQ9IjE4cHgiIHZpZXdCb3g9IjAgMCA3NSAxOCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNzUgMTgiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8Zz4KCTxwYXRoIGZpbGw9IiNFOUU5RTkiIGQ9Ik01LjQ4Miw0LjQxM0gxLjMxM1YyLjI1MWgxMC44NzN2Mi4xNjFIOC4wNDF2MTIuMjYzSDUuNDgyVjQuNDEzeiIvPgoJPHBhdGggZmlsbD0iI0U5RTlFOSIgZD0iTTExLjk1OCw1Ljg0NmgyLjA5NWwwLjE3NywxLjkxOGgwLjA4OWMwLjc3MS0xLjQxLDEuOTE4LTIuMTgzLDMuMDY1LTIuMTgzYzAuNTUxLDAsMC45MDMsMC4wNjYsMS4yMzQsMC4yMgoJCWwtMC40NDEsMi4yMDZjLTAuMzc1LTAuMTEtMC42NjEtMC4xNzYtMS4xMjUtMC4xNzZjLTAuODU5LDAtMS44OTYsMC41OTUtMi41NTgsMi4yMjh2Ni42MTZoLTIuNTM2VjUuODQ2eiIvPgoJPHBhdGggZmlsbD0iI0U5RTlFOSIgZD0iTTI1LjU0NCw5Ljc1Yy0wLjAyMy0xLjE0Ni0wLjUwOC0yLjExNy0xLjk2NC0yLjExN2MtMS4wOCwwLTIuMDk1LDAuNDg0LTMuMDQzLDEuMDU4bC0wLjkyNy0xLjY5OAoJCWMxLjE5LTAuNzUsMi43MTMtMS40MTEsNC40MzMtMS40MTFjMi43MTQsMCw0LjAzOCwxLjY1NCw0LjAzOCw0LjY3NXY2LjQxOWgtMi4wNzRsLTAuMTk4LTEuMTloLTAuMDY2CgkJYy0wLjk3MSwwLjgxNi0yLjA3MywxLjQ1NS0zLjM1MywxLjQ1NWMtMS44OTcsMC0zLjIyLTEuMjc5LTMuMjItMy4xNzZDMTkuMTcsMTEuNDQ4LDIxLjExMSwxMC4yMzUsMjUuNTQ0LDkuNzV6IE0yMy4xODQsMTQuOTU2CgkJYzAuODgyLDAsMS41NjYtMC40NDEsMi4zNi0xLjE5MXYtMi40MjdjLTIuOTM0LDAuMzc2LTMuOTA0LDEuMTQ3LTMuOTA0LDIuMjI5QzIxLjY0LDE0LjUzNiwyMi4yOCwxNC45NTYsMjMuMTg0LDE0Ljk1NnoiLz4KCTxwYXRoIGZpbGw9IiNFOUU5RTkiIGQ9Ik0yOC44MDYsNS44NDZoMi41ODFsMS43Miw1LjYyNGMwLjI4NywxLjA1OSwwLjYxOCwyLjE2MSwwLjkwNCwzLjI2NWgwLjA4OAoJCWMwLjMxLTEuMTA0LDAuNjE4LTIuMjA2LDAuOTI3LTMuMjY1bDEuNzItNS42MjRoMi40NDhsLTMuNjgzLDEwLjgyOWgtMi45MzRMMjguODA2LDUuODQ2eiIvPgoJPHBhdGggZmlsbD0iI0U5RTlFOSIgZD0iTTQwLjE0NSwyLjUxNmMwLTAuODYsMC42NjEtMS40NTYsMS41NjUtMS40NTZzMS41NjYsMC41OTYsMS41NjYsMS40NTZjMCwwLjgzOC0wLjY2MiwxLjQzNC0xLjU2NiwxLjQzNAoJCVM0MC4xNDUsMy4zNTQsNDAuMTQ1LDIuNTE2eiBNNDAuNDMxLDUuODQ2aDIuNTM3djEwLjgyOWgtMi41MzdWNS44NDZ6Ii8+Cgk8cGF0aCBmaWxsPSIjRTlFOUU5IiBkPSJNNDUuNjEzLDEzLjgwOWMwLjk3LDAuNzQ5LDEuODk2LDEuMjEzLDIuOTk5LDEuMjEzYzEuMTcsMCwxLjcyMS0wLjU1MiwxLjcyMS0xLjMwMQoJCWMwLTAuOTA2LTEuMTY5LTEuMzAzLTIuMzE2LTEuNzQ0Yy0xLjQzNC0wLjUyOS0zLjA0My0xLjM0NC0zLjA0My0zLjE1MmMwLTEuODk4LDEuNTIxLTMuMjQzLDMuOTQ4LTMuMjQzCgkJYzEuNDk5LDAsMi43MTMsMC42MTgsMy41OTQsMS4zMDJsLTEuMTY4LDEuNTQzQzUwLjU5Nyw3Ljg3NSw0OS44MjYsNy41LDQ4Ljk2NSw3LjVjLTEuMDgyLDAtMS41ODgsMC41MDctMS41ODgsMS4xOQoJCWMwLDAuODM5LDEuMDgsMS4xOTEsMi4yNDksMS42MWMxLjQ3OSwwLjU1MiwzLjEwOSwxLjI1OCwzLjEwOSwzLjI4N2MwLDEuODUyLTEuNDc4LDMuMzUyLTQuMjEyLDMuMzUyCgkJYy0xLjQ3OCwwLTMuMDQ0LTAuNjM5LTQuMTAyLTEuNUw0NS42MTMsMTMuODA5eiIvPgoJPHBhdGggZmlsbD0iI0U5RTlFOSIgZD0iTTY1LjE3NiwxLjk4N2MxLjc2NCwwLDMuMTk4LDAuODU5LDQuMTAyLDEuODNsLTEuNDExLDEuNTg4Yy0wLjc1LTAuNzI5LTEuNTY1LTEuMTktMi42NjktMS4xOQoJCWMtMi4zNiwwLTQuMDU4LDEuOTg1LTQuMDU4LDUuMjI4YzAsMy4yODYsMS41NjUsNS4yNywzLjk2OSw1LjI3YzEuMjgsMCwyLjIyOC0wLjUyOCwzLjA0NS0xLjQzMmwxLjQxMSwxLjU2NQoJCWMtMS4xNjksMS4zNDUtMi42NjgsMi4wOTUtNC40OTksMi4wOTVjLTMuNjYxLDAtNi41NTEtMi42NDYtNi41NTEtNy40MzNDNTguNTE1LDQuNzg4LDYxLjQ3LDEuOTg3LDY1LjE3NiwxLjk4N3oiLz4KCTxwYXRoIGZpbGw9IiNFOUU5RTkiIGQ9Ik03MS4xMjgsMi4yNTFoMi41NTl2MTQuNDI0aC0yLjU1OVYyLjI1MXoiLz4KPC9nPgo8L3N2Zz4K') no-repeat 20px 18px; }
+        #top #logo a {
+          display: block; }
+      #top ul {
+        margin: 0;
+        padding: 0;
+        list-style: none;
+        line-height: 30px; }
+      #top #navigation {
+        height: 0;
+        overflow: hidden; }
+        #top #navigation.is-open {
+          height: auto; }
+      #top a, #top span {
+        color: #fff;
+        text-decoration: none; }
+      #top li {
+        border-top: 1px solid #31363d; }
+        #top li a, #top li span {
+          display: block;
+          padding: 0 12px; }
+          #top li a:hover, #top li span:hover {
+            color: #ADC7D0; }
+      #top a.werehiring {
+        background-color: #31363d;
+        border-radius: 4px;
+        padding: 8px 16px;
+        line-height: 20px;
+        margin-right: 80px;
+        display: inline; }
+      #top li.traviscicom a {
+        padding-left: 0px; }
+      @media only screen and (min-width:40.063em) {
+        #top {
+          overflow: visible;
+          height: 55px; }
+          #top #navigation {
+            height: auto;
+            overflow: visible; }
+          #top ul {
+            line-height: 55px;
+            position: relative;
+            top: 3px; }
+          #top li {
+            display: inline-block;
+            border: none; } }
+      @media only screen and (min-width:40.063em) and (max-width:64em) {
+        #top li.traviscicom {
+          display: none; }
+     }
+      #top .nav-burger {
+        overflow: auto; }
+        @media only screen and (min-width:40.063em) {
+          #top .nav-burger {
+            display: none; } }
+      #top #burger {
+        float: right;
+        font-size: 50px;
+        background: none;
+        border: none;
+        line-height: 1;
+        color: #fff;
+        outline: none !important; }
+        #top #burger:before, #top #burger:after {
+          content: "";
+          display: table; }
+        #top #burger:after {
+          clear: both; }
+        #top #burger:hover {
+          cursor: pointer; }
+      #top .menu {
+        position: relative; }
+        #top .menu.signed-out ul {
+          display: none; }
+        #top .menu .handle {
+          margin: 0; }
+        #top .menu:hover > ul {
+          display: block; }
+        #top .menu ul li a {
+          padding-left: 3em; }
+        @media only screen and (min-width:40.063em) {
+          #top .menu ul {
+            display: none;
+            position: absolute;
+            z-index: 300;
+            right: 0px;
+            top: 52px;
+            width: 100%;
+            background-color: #40454f; }
+            #top .menu ul li {
+              display: block; }
+            #top .menu ul li a {
+              display: block;
+              line-height: 24px;
+              white-space: nowrap;
+              padding: 5px 20px; }
+              #top .menu ul li a:hover {
+                background-color: #30343b; }
+     }
+      #top .menu.community {
+        min-width: 120px; }
+      #top .user {
+        text-align: right; }
+      #top .menu.profile .signing-in {
+        background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSI4Ij4KPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOCwgNCkiPgogIDxyZWN0IHg9Ii04IiB5PSItNCIgd2lkdGg9IjUiIGhlaWdodD0iOCI+CiAgICA8YW5pbWF0ZVRyYW5zZm9ybSBpZD0iYSIgYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiB0eXBlPSJzY2FsZSIgZnJvbT0iMSwwLjUiIHRvPSIxIiBkdXI9IjAuNHMiIGJlZ2luPSIwO2IuZW5kIi8+CiAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJmaWxsIiBmcm9tPSIjZWVlIiB0bz0iIzg4OCIgZHVyPSIwLjRzIiBiZWdpbj0iMDtiLmVuZCIvPgogICAgPGFuaW1hdGVUcmFuc2Zvcm0gaWQ9ImIiIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0ic2NhbGUiIGZyb209IjEiIHRvPSIxLDAuNSIgZHVyPSIwLjRzIiBiZWdpbj0iYS5lbmQiLz4KICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImZpbGwiIGZyb209IiM4ODgiIHRvPSIjZWVlIiBkdXI9IjAuNHMiIGJlZ2luPSJhLmVuZCIvPgogIDwvcmVjdD4KICA8cmVjdCB4PSItMiIgeT0iLTQiIHdpZHRoPSI0IiBoZWlnaHQ9IjgiPgogICAgPGFuaW1hdGVUcmFuc2Zvcm0gaWQ9ImMiIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0ic2NhbGUiIGZyb209IjEsMC41IiB0bz0iMSIgZHVyPSIwLjRzIiBiZWdpbj0iMC4xcztkLmVuZCIvPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iZmlsbCIgZnJvbT0iI2VlZSIgdG89IiM4ODgiIGR1cj0iMC40cyIgYmVnaW49IjAuMXM7ZC5lbmQiLz4KICAgIDxhbmltYXRlVHJhbnNmb3JtIGlkPSJkIiBiZWdpbj0iYy5lbmQiIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0ic2NhbGUiIHRvPSIxLDAuNSIgZnJvbT0iMSIgZHVyPSIwLjRzIi8+CiAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJmaWxsIiBmcm9tPSIjODg4IiB0bz0iI2VlZSIgZHVyPSIwLjRzIiBiZWdpbj0iYy5lbmQiLz4KICA8L3JlY3Q+CiAgPHJlY3QgeD0iMyIgeT0iLTQiIHdpZHRoPSI1IiBoZWlnaHQ9IjgiPgogICAgPGFuaW1hdGVUcmFuc2Zvcm0gaWQ9ImUiIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0ic2NhbGUiIGZyb209IjEsMC41IiB0bz0iMSIgZHVyPSIwLjRzIiBiZWdpbj0iMC4ycztmLmVuZCIvPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iZmlsbCIgZnJvbT0iI2VlZSIgdG89IiM4ODgiIGR1cj0iMC40cyIgYmVnaW49IjAuMnM7Zi5lbmQiLz4KICAgIDxhbmltYXRlVHJhbnNmb3JtIGlkPSJmIiBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIHR5cGU9InNjYWxlIiBmcm9tPSIxIiB0bz0iMSwwLjUiIGR1cj0iMC40cyIgYmVnaW49ImUuZW5kIi8+CiAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJmaWxsIiBmcm9tPSIjODg4IiB0bz0iI2VlZSIgZHVyPSIwLjRzIiBiZWdpbj0iZS5lbmQiLz4KICA8L3JlY3Q+CjwvZz4KPC9zdmc+Cgo=') no-repeat 110px 22px; }
+      #top .menu.profile img {
+        width: 30px;
+        height: 30px;
+        border-radius: 100px; }
+      #top .menu.profile ul {
+        min-width: 145px; }
+        #top .menu.profile ul a {
+          padding: 5px 25px 5px 45px; }
+      @media only screen and (min-width:40.063em) {
+        #top .menu.profile {
+          float: right; }
+          #top .menu.profile .handle > * {
+            display: none;
+            padding: 0 15px 0 45px; }
+          #top .menu.profile .signed-out, #top .menu.profile .signing-in {
+            min-width: 110px; }
+          #top .menu.profile.signed-out .signed-out {
+            display: block; }
+          #top .menu.profile.signing-in .signing-in {
+            display: inline-block; }
+          #top .menu.profile.signed-in .signed-in {
+            display: block; } }
+      #top .menu.profile:not(.signed-in):hover ul {
+        display: none; }
+
+    #home #navigation .home, #stats #navigation .stats, #profile #navigation .profile {
+      background-color: transparent; }
+      #home #navigation .home a, #stats #navigation .stats a, #profile #navigation .profile a {
+        color: #ffffff; }
+      #home #navigation .home a:hover, #stats #navigation .stats a:hover, #profile #navigation .profile a:hover {
+        color: #ADC7D0; }
+
+    #top img {
+      margin: 10px 10px 7px 10px;
+      width: 30px;
+      height: 30px;
+      border-radius: 100px; }
+      @media only screen and (min-width:40.063em) {
+        #top img {
+          float: right;
+          margin: 10px 0 0 10px; } }
+
+    .maintenance {
+      height: 100%;
+      overflow: hidden; }
+      .maintenance .full-size {
+        position: absolute;
+        top: 0;
+        height: 100%;
+        width: 100%;
+        overflow: hidden;
+        background-repeat: no-repeat; }
+
+    .main--error {
+      min-height: 100%; }
+
+    .maintenance-text {
+      position: absolute;
+      left: 0;
+      right: 0;
+      z-index: 10; }
+      .maintenance-text h1 {
+        margin: 1em 0 0.4em;
+        font-weight: 600;
+        color: #357389;
+        font-size: 40px;
+        line-height: 1;
+        text-align: center; }
+        @media only screen and (min-width:40.063em) {
+          .maintenance-text h1 {
+            margin: 1.5em 0 0.4em;
+            font-size: 70px; } }
+      .maintenance-text p {
+        padding: 0 1em;
+        color: #9d9fa1;
+        font-size: 18px;
+        text-align: center; }
+      .maintenance-text a {
+        color: #9d9fa1; }
+        .maintenance-text a:hover, .maintenance-text a:focus {
+          color: #9d9fa1;
+          text-decoration: underline; }
+
+    .icon-twitter {
+      display: inline-block;
+      width: 1.1em;
+      height: 1.1em;
+      background-image: url(../images/error/twitter.svg);
+      background-repeat: no-repeat;
+      background-size: 100% auto;
+      background-position: 0 0.2em; }
+
+    .maintenance .maintenance-bg {
+      background: -webkit-linear-gradient(90deg, #8cad7d, #8cad7d 38.9%, #ccebf7 39%, #fff 60%, #fff);
+      background: linear-gradient(0deg, #8cad7d, #8cad7d 38.9%, #ccebf7 39%, #fff 60%, #fff); }
+    .maintenance .hill-left {
+      background-image: url(../images/error/maintenance-hills-left.svg);
+      background-size: 80vw auto;
+      background-position: 0 58%; }
+      @media only screen and (min-width:40.063em) {
+        .maintenance .hill-left {
+          background-size: 58vw auto;
+          background-position: 0 58%; } }
+      @media only screen and (min-width:64.063em) {
+        .maintenance .hill-left {
+          background-size: 50vw auto;
+          background-position: 0 56%; } }
+    .maintenance .hill-right {
+      background-image: url(../images/error/maintenance-hills-right.svg);
+      background-size: 38vw auto;
+      background-position: 99% 59%;
+      display: none; }
+      @media only screen and (min-width:40.063em) {
+        .maintenance .hill-right {
+          display: block; } }
+    .maintenance .shadow-left {
+      background-image: url(../images/error/maintenance-grass-shade-left.svg);
+      background-size: 24vw auto;
+      background-position: 6% 72%; }
+    .maintenance .shadow-right {
+      background-image: url(../images/error/maintenance-grass-shade-right.svg);
+      background-size: 17vw auto;
+      background-position: 95% 79%; }
+    .maintenance .maintenance-tractor {
+      background-image: url(../images/error/maintenance-tractor.svg);
+      background-size: 87vw auto;
+      background-position: 63% 87%; }
+      @media only screen and (min-width:40.063em) {
+        .maintenance .maintenance-tractor {
+          background-size: auto 44vh;
+          background-position: 63% 83%; } }
+    </style>
+
+
+  </head>
+  <body>
+    <div class="application">
+      <div class="ember-view error maintenance">
+        <div id="top">
+          <div class="row">
+            <div class="small-2 medium-2 columns" id="logo">
+              <h1><a href="/" class="ember-view">Home</a></h1>
+            </div>
+            <ul id="navigation">
+              <li><a href="http://blog.travis-ci.com/">Blog</a></li>
+              <li><a href="http://www.traviscistatus.com/">Status</a></li>
+            </ul>
+          </div>
+        </div>
+        <main class="main main--error" role="main">
+          <div class="maintenance-bg full-size">
+            <div class="hill-left full-size"></div>
+            <div class="hill-right full-size"></div>
+            <div class="shadow-left full-size"></div>
+            <div class="shadow-right full-size"></div>
+          </div>
+          <div class="maintenance-tractor full-size"></div>
+          <div class="maintenance-text">
+            <h1>Under Maintenance</h1>
+            <p>Stay up to date with Travis CI by <a href="https://twitter.com/travisci" title="Travis CI on Twitter">following us <span class="icon-twitter"></span></a></p>
+          </div>
+        </main>
+      </div>
+    </div>
+  </body>
+</html>

From faa3f73c7ac4c3608c55baafe0aced61330a9a5f Mon Sep 17 00:00:00 2001
From: Lisa Passing <mail@lislis.de>
Date: Mon, 16 Feb 2015 16:27:52 +0100
Subject: [PATCH 06/26] use external css

---
 public/maintenance.html | 1276 +--------------------------------------
 1 file changed, 1 insertion(+), 1275 deletions(-)

diff --git a/public/maintenance.html b/public/maintenance.html
index 66bfa596..b449ebfe 100644
--- a/public/maintenance.html
+++ b/public/maintenance.html
@@ -7,1281 +7,7 @@
     <meta name="viewport" content="width=device-width, initial-scale=1">
 
     <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,800" rel="stylesheet" type="text/css">
-
-    <style>
-    html, body {
-      height: 100%; }
-
-    *, *:before, *:after {
-      box-sizing: border-box; }
-
-    html, body {
-      font-size: 13px; }
-
-    body {
-      background: #fff;
-      color: #666;
-      padding: 0;
-      margin: 0;
-      font-family: 'Source Sans Pro', Helvetica, sans-serif;
-      font-weight: normal;
-      font-style: normal;
-      line-height: 22px;
-      position: relative;
-      cursor: auto; }
-
-
-      .row {
-        width: 100%;
-        margin-left: auto;
-        margin-right: auto;
-        margin-top: 0;
-        margin-bottom: 0;
-        max-width: 100%; }
-        .row:before, .row:after {
-          content: " ";
-          display: table; }
-        .row:after {
-          clear: both; }
-        .row.collapse > .column, .row.collapse > .columns {
-          padding-left: 0;
-          padding-right: 0; }
-        .row.collapse .row {
-          margin-left: 0;
-          margin-right: 0; }
-        .row .row {
-          width: auto;
-          margin-left: -0.9375rem;
-          margin-right: -0.9375rem;
-          margin-top: 0;
-          margin-bottom: 0;
-          max-width: none; }
-          .row .row:before, .row .row:after {
-            content: " ";
-            display: table; }
-          .row .row:after {
-            clear: both; }
-          .row .row.collapse {
-            width: auto;
-            margin: 0;
-            max-width: none; }
-            .row .row.collapse:before, .row .row.collapse:after {
-              content: " ";
-              display: table; }
-            .row .row.collapse:after {
-              clear: both; }
-
-      .column, .columns {
-        padding-left: 0.9375rem;
-        padding-right: 0.9375rem;
-        width: 100%;
-        float: left; }
-
-      [class*="column"] + [class*="column"]:last-child {
-        float: right; }
-
-      [class*="column"] + [class*="column"].end {
-        float: left; }
-
-      @media only screen {
-        .small-push-0 {
-          position: relative;
-          left: 0%;
-          right: auto; }
-
-        .small-pull-0 {
-          position: relative;
-          right: 0%;
-          left: auto; }
-
-        .small-push-1 {
-          position: relative;
-          left: 8.33333%;
-          right: auto; }
-
-        .small-pull-1 {
-          position: relative;
-          right: 8.33333%;
-          left: auto; }
-
-        .small-push-2 {
-          position: relative;
-          left: 16.66667%;
-          right: auto; }
-
-        .small-pull-2 {
-          position: relative;
-          right: 16.66667%;
-          left: auto; }
-
-        .small-push-3 {
-          position: relative;
-          left: 25%;
-          right: auto; }
-
-        .small-pull-3 {
-          position: relative;
-          right: 25%;
-          left: auto; }
-
-        .small-push-4 {
-          position: relative;
-          left: 33.33333%;
-          right: auto; }
-
-        .small-pull-4 {
-          position: relative;
-          right: 33.33333%;
-          left: auto; }
-
-        .small-push-5 {
-          position: relative;
-          left: 41.66667%;
-          right: auto; }
-
-        .small-pull-5 {
-          position: relative;
-          right: 41.66667%;
-          left: auto; }
-
-        .small-push-6 {
-          position: relative;
-          left: 50%;
-          right: auto; }
-
-        .small-pull-6 {
-          position: relative;
-          right: 50%;
-          left: auto; }
-
-        .small-push-7 {
-          position: relative;
-          left: 58.33333%;
-          right: auto; }
-
-        .small-pull-7 {
-          position: relative;
-          right: 58.33333%;
-          left: auto; }
-
-        .small-push-8 {
-          position: relative;
-          left: 66.66667%;
-          right: auto; }
-
-        .small-pull-8 {
-          position: relative;
-          right: 66.66667%;
-          left: auto; }
-
-        .small-push-9 {
-          position: relative;
-          left: 75%;
-          right: auto; }
-
-        .small-pull-9 {
-          position: relative;
-          right: 75%;
-          left: auto; }
-
-        .small-push-10 {
-          position: relative;
-          left: 83.33333%;
-          right: auto; }
-
-        .small-pull-10 {
-          position: relative;
-          right: 83.33333%;
-          left: auto; }
-
-        .small-push-11 {
-          position: relative;
-          left: 91.66667%;
-          right: auto; }
-
-        .small-pull-11 {
-          position: relative;
-          right: 91.66667%;
-          left: auto; }
-
-        .column, .columns {
-          position: relative;
-          padding-left: 0.9375rem;
-          padding-right: 0.9375rem;
-          float: left; }
-
-        .small-1 {
-          width: 8.33333%; }
-
-        .small-2 {
-          width: 16.66667%; }
-
-        .small-3 {
-          width: 25%; }
-
-        .small-4 {
-          width: 33.33333%; }
-
-        .small-5 {
-          width: 41.66667%; }
-
-        .small-6 {
-          width: 50%; }
-
-        .small-7 {
-          width: 58.33333%; }
-
-        .small-8 {
-          width: 66.66667%; }
-
-        .small-9 {
-          width: 75%; }
-
-        .small-10 {
-          width: 83.33333%; }
-
-        .small-11 {
-          width: 91.66667%; }
-
-        .small-12 {
-          width: 100%; }
-
-        .small-offset-0 {
-          margin-left: 0% !important; }
-
-        .small-offset-1 {
-          margin-left: 8.33333% !important; }
-
-        .small-offset-2 {
-          margin-left: 16.66667% !important; }
-
-        .small-offset-3 {
-          margin-left: 25% !important; }
-
-        .small-offset-4 {
-          margin-left: 33.33333% !important; }
-
-        .small-offset-5 {
-          margin-left: 41.66667% !important; }
-
-        .small-offset-6 {
-          margin-left: 50% !important; }
-
-        .small-offset-7 {
-          margin-left: 58.33333% !important; }
-
-        .small-offset-8 {
-          margin-left: 66.66667% !important; }
-
-        .small-offset-9 {
-          margin-left: 75% !important; }
-
-        .small-offset-10 {
-          margin-left: 83.33333% !important; }
-
-        .small-offset-11 {
-          margin-left: 91.66667% !important; }
-
-        .small-reset-order {
-          margin-left: 0;
-          margin-right: 0;
-          left: auto;
-          right: auto;
-          float: left; }
-
-        .column.small-centered, .columns.small-centered {
-          margin-left: auto;
-          margin-right: auto;
-          float: none; }
-
-        .column.small-uncentered, .columns.small-uncentered {
-          margin-left: 0;
-          margin-right: 0;
-          float: left; }
-
-        .column.small-centered:last-child, .columns.small-centered:last-child {
-          float: none; }
-
-        .column.small-uncentered:last-child, .columns.small-uncentered:last-child {
-          float: left; }
-
-        .column.small-uncentered.opposite, .columns.small-uncentered.opposite {
-          float: right; }
-
-        .row.small-collapse > .column, .row.small-collapse > .columns {
-          padding-left: 0;
-          padding-right: 0; }
-        .row.small-collapse .row {
-          margin-left: 0;
-          margin-right: 0; }
-        .row.small-uncollapse > .column, .row.small-uncollapse > .columns {
-          padding-left: 0.9375rem;
-          padding-right: 0.9375rem;
-          float: left; }
-       }
-
-      @media only screen and (min-width:40.063em) {
-        .medium-push-0 {
-          position: relative;
-          left: 0%;
-          right: auto; }
-
-        .medium-pull-0 {
-          position: relative;
-          right: 0%;
-          left: auto; }
-
-        .medium-push-1 {
-          position: relative;
-          left: 8.33333%;
-          right: auto; }
-
-        .medium-pull-1 {
-          position: relative;
-          right: 8.33333%;
-          left: auto; }
-
-        .medium-push-2 {
-          position: relative;
-          left: 16.66667%;
-          right: auto; }
-
-        .medium-pull-2 {
-          position: relative;
-          right: 16.66667%;
-          left: auto; }
-
-        .medium-push-3 {
-          position: relative;
-          left: 25%;
-          right: auto; }
-
-        .medium-pull-3 {
-          position: relative;
-          right: 25%;
-          left: auto; }
-
-        .medium-push-4 {
-          position: relative;
-          left: 33.33333%;
-          right: auto; }
-
-        .medium-pull-4 {
-          position: relative;
-          right: 33.33333%;
-          left: auto; }
-
-        .medium-push-5 {
-          position: relative;
-          left: 41.66667%;
-          right: auto; }
-
-        .medium-pull-5 {
-          position: relative;
-          right: 41.66667%;
-          left: auto; }
-
-        .medium-push-6 {
-          position: relative;
-          left: 50%;
-          right: auto; }
-
-        .medium-pull-6 {
-          position: relative;
-          right: 50%;
-          left: auto; }
-
-        .medium-push-7 {
-          position: relative;
-          left: 58.33333%;
-          right: auto; }
-
-        .medium-pull-7 {
-          position: relative;
-          right: 58.33333%;
-          left: auto; }
-
-        .medium-push-8 {
-          position: relative;
-          left: 66.66667%;
-          right: auto; }
-
-        .medium-pull-8 {
-          position: relative;
-          right: 66.66667%;
-          left: auto; }
-
-        .medium-push-9 {
-          position: relative;
-          left: 75%;
-          right: auto; }
-
-        .medium-pull-9 {
-          position: relative;
-          right: 75%;
-          left: auto; }
-
-        .medium-push-10 {
-          position: relative;
-          left: 83.33333%;
-          right: auto; }
-
-        .medium-pull-10 {
-          position: relative;
-          right: 83.33333%;
-          left: auto; }
-
-        .medium-push-11 {
-          position: relative;
-          left: 91.66667%;
-          right: auto; }
-
-        .medium-pull-11 {
-          position: relative;
-          right: 91.66667%;
-          left: auto; }
-
-        .column, .columns {
-          position: relative;
-          padding-left: 0.9375rem;
-          padding-right: 0.9375rem;
-          float: left; }
-
-        .medium-1 {
-          width: 8.33333%; }
-
-        .medium-2 {
-          width: 16.66667%; }
-
-        .medium-3 {
-          width: 25%; }
-
-        .medium-4 {
-          width: 33.33333%; }
-
-        .medium-5 {
-          width: 41.66667%; }
-
-        .medium-6 {
-          width: 50%; }
-
-        .medium-7 {
-          width: 58.33333%; }
-
-        .medium-8 {
-          width: 66.66667%; }
-
-        .medium-9 {
-          width: 75%; }
-
-        .medium-10 {
-          width: 83.33333%; }
-
-        .medium-11 {
-          width: 91.66667%; }
-
-        .medium-12 {
-          width: 100%; }
-
-        .medium-offset-0 {
-          margin-left: 0% !important; }
-
-        .medium-offset-1 {
-          margin-left: 8.33333% !important; }
-
-        .medium-offset-2 {
-          margin-left: 16.66667% !important; }
-
-        .medium-offset-3 {
-          margin-left: 25% !important; }
-
-        .medium-offset-4 {
-          margin-left: 33.33333% !important; }
-
-        .medium-offset-5 {
-          margin-left: 41.66667% !important; }
-
-        .medium-offset-6 {
-          margin-left: 50% !important; }
-
-        .medium-offset-7 {
-          margin-left: 58.33333% !important; }
-
-        .medium-offset-8 {
-          margin-left: 66.66667% !important; }
-
-        .medium-offset-9 {
-          margin-left: 75% !important; }
-
-        .medium-offset-10 {
-          margin-left: 83.33333% !important; }
-
-        .medium-offset-11 {
-          margin-left: 91.66667% !important; }
-
-        .medium-reset-order {
-          margin-left: 0;
-          margin-right: 0;
-          left: auto;
-          right: auto;
-          float: left; }
-
-        .column.medium-centered, .columns.medium-centered {
-          margin-left: auto;
-          margin-right: auto;
-          float: none; }
-
-        .column.medium-uncentered, .columns.medium-uncentered {
-          margin-left: 0;
-          margin-right: 0;
-          float: left; }
-
-        .column.medium-centered:last-child, .columns.medium-centered:last-child {
-          float: none; }
-
-        .column.medium-uncentered:last-child, .columns.medium-uncentered:last-child {
-          float: left; }
-
-        .column.medium-uncentered.opposite, .columns.medium-uncentered.opposite {
-          float: right; }
-
-        .row.medium-collapse > .column, .row.medium-collapse > .columns {
-          padding-left: 0;
-          padding-right: 0; }
-        .row.medium-collapse .row {
-          margin-left: 0;
-          margin-right: 0; }
-        .row.medium-uncollapse > .column, .row.medium-uncollapse > .columns {
-          padding-left: 0.9375rem;
-          padding-right: 0.9375rem;
-          float: left; }
-
-        .push-0 {
-          position: relative;
-          left: 0%;
-          right: auto; }
-
-        .pull-0 {
-          position: relative;
-          right: 0%;
-          left: auto; }
-
-        .push-1 {
-          position: relative;
-          left: 8.33333%;
-          right: auto; }
-
-        .pull-1 {
-          position: relative;
-          right: 8.33333%;
-          left: auto; }
-
-        .push-2 {
-          position: relative;
-          left: 16.66667%;
-          right: auto; }
-
-        .pull-2 {
-          position: relative;
-          right: 16.66667%;
-          left: auto; }
-
-        .push-3 {
-          position: relative;
-          left: 25%;
-          right: auto; }
-
-        .pull-3 {
-          position: relative;
-          right: 25%;
-          left: auto; }
-
-        .push-4 {
-          position: relative;
-          left: 33.33333%;
-          right: auto; }
-
-        .pull-4 {
-          position: relative;
-          right: 33.33333%;
-          left: auto; }
-
-        .push-5 {
-          position: relative;
-          left: 41.66667%;
-          right: auto; }
-
-        .pull-5 {
-          position: relative;
-          right: 41.66667%;
-          left: auto; }
-
-        .push-6 {
-          position: relative;
-          left: 50%;
-          right: auto; }
-
-        .pull-6 {
-          position: relative;
-          right: 50%;
-          left: auto; }
-
-        .push-7 {
-          position: relative;
-          left: 58.33333%;
-          right: auto; }
-
-        .pull-7 {
-          position: relative;
-          right: 58.33333%;
-          left: auto; }
-
-        .push-8 {
-          position: relative;
-          left: 66.66667%;
-          right: auto; }
-
-        .pull-8 {
-          position: relative;
-          right: 66.66667%;
-          left: auto; }
-
-        .push-9 {
-          position: relative;
-          left: 75%;
-          right: auto; }
-
-        .pull-9 {
-          position: relative;
-          right: 75%;
-          left: auto; }
-
-        .push-10 {
-          position: relative;
-          left: 83.33333%;
-          right: auto; }
-
-        .pull-10 {
-          position: relative;
-          right: 83.33333%;
-          left: auto; }
-
-        .push-11 {
-          position: relative;
-          left: 91.66667%;
-          right: auto; }
-
-        .pull-11 {
-          position: relative;
-          right: 91.66667%;
-          left: auto; }
-       }
-
-      @media only screen and (min-width:64.063em) {
-        .large-push-0 {
-          position: relative;
-          left: 0%;
-          right: auto; }
-
-        .large-pull-0 {
-          position: relative;
-          right: 0%;
-          left: auto; }
-
-        .large-push-1 {
-          position: relative;
-          left: 8.33333%;
-          right: auto; }
-
-        .large-pull-1 {
-          position: relative;
-          right: 8.33333%;
-          left: auto; }
-
-        .large-push-2 {
-          position: relative;
-          left: 16.66667%;
-          right: auto; }
-
-        .large-pull-2 {
-          position: relative;
-          right: 16.66667%;
-          left: auto; }
-
-        .large-push-3 {
-          position: relative;
-          left: 25%;
-          right: auto; }
-
-        .large-pull-3 {
-          position: relative;
-          right: 25%;
-          left: auto; }
-
-        .large-push-4 {
-          position: relative;
-          left: 33.33333%;
-          right: auto; }
-
-        .large-pull-4 {
-          position: relative;
-          right: 33.33333%;
-          left: auto; }
-
-        .large-push-5 {
-          position: relative;
-          left: 41.66667%;
-          right: auto; }
-
-        .large-pull-5 {
-          position: relative;
-          right: 41.66667%;
-          left: auto; }
-
-        .large-push-6 {
-          position: relative;
-          left: 50%;
-          right: auto; }
-
-        .large-pull-6 {
-          position: relative;
-          right: 50%;
-          left: auto; }
-
-        .large-push-7 {
-          position: relative;
-          left: 58.33333%;
-          right: auto; }
-
-        .large-pull-7 {
-          position: relative;
-          right: 58.33333%;
-          left: auto; }
-
-        .large-push-8 {
-          position: relative;
-          left: 66.66667%;
-          right: auto; }
-
-        .large-pull-8 {
-          position: relative;
-          right: 66.66667%;
-          left: auto; }
-
-        .large-push-9 {
-          position: relative;
-          left: 75%;
-          right: auto; }
-
-        .large-pull-9 {
-          position: relative;
-          right: 75%;
-          left: auto; }
-
-        .large-push-10 {
-          position: relative;
-          left: 83.33333%;
-          right: auto; }
-
-        .large-pull-10 {
-          position: relative;
-          right: 83.33333%;
-          left: auto; }
-
-        .large-push-11 {
-          position: relative;
-          left: 91.66667%;
-          right: auto; }
-
-        .large-pull-11 {
-          position: relative;
-          right: 91.66667%;
-          left: auto; }
-
-        .column, .columns {
-          position: relative;
-          padding-left: 0.9375rem;
-          padding-right: 0.9375rem;
-          float: left; }
-
-        .large-1 {
-          width: 8.33333%; }
-
-        .large-2 {
-          width: 16.66667%; }
-
-        .large-3 {
-          width: 25%; }
-
-        .large-4 {
-          width: 33.33333%; }
-
-        .large-5 {
-          width: 41.66667%; }
-
-        .large-6 {
-          width: 50%; }
-
-        .large-7 {
-          width: 58.33333%; }
-
-        .large-8 {
-          width: 66.66667%; }
-
-        .large-9 {
-          width: 75%; }
-
-        .large-10 {
-          width: 83.33333%; }
-
-        .large-11 {
-          width: 91.66667%; }
-
-        .large-12 {
-          width: 100%; }
-
-        .large-offset-0 {
-          margin-left: 0% !important; }
-
-        .large-offset-1 {
-          margin-left: 8.33333% !important; }
-
-        .large-offset-2 {
-          margin-left: 16.66667% !important; }
-
-        .large-offset-3 {
-          margin-left: 25% !important; }
-
-        .large-offset-4 {
-          margin-left: 33.33333% !important; }
-
-        .large-offset-5 {
-          margin-left: 41.66667% !important; }
-
-        .large-offset-6 {
-          margin-left: 50% !important; }
-
-        .large-offset-7 {
-          margin-left: 58.33333% !important; }
-
-        .large-offset-8 {
-          margin-left: 66.66667% !important; }
-
-        .large-offset-9 {
-          margin-left: 75% !important; }
-
-        .large-offset-10 {
-          margin-left: 83.33333% !important; }
-
-        .large-offset-11 {
-          margin-left: 91.66667% !important; }
-
-        .large-reset-order {
-          margin-left: 0;
-          margin-right: 0;
-          left: auto;
-          right: auto;
-          float: left; }
-
-        .column.large-centered, .columns.large-centered {
-          margin-left: auto;
-          margin-right: auto;
-          float: none; }
-
-        .column.large-uncentered, .columns.large-uncentered {
-          margin-left: 0;
-          margin-right: 0;
-          float: left; }
-
-        .column.large-centered:last-child, .columns.large-centered:last-child {
-          float: none; }
-
-        .column.large-uncentered:last-child, .columns.large-uncentered:last-child {
-          float: left; }
-
-        .column.large-uncentered.opposite, .columns.large-uncentered.opposite {
-          float: right; }
-
-        .row.large-collapse > .column, .row.large-collapse > .columns {
-          padding-left: 0;
-          padding-right: 0; }
-        .row.large-collapse .row {
-          margin-left: 0;
-          margin-right: 0; }
-        .row.large-uncollapse > .column, .row.large-uncollapse > .columns {
-          padding-left: 0.9375rem;
-          padding-right: 0.9375rem;
-          float: left; }
-
-        .push-0 {
-          position: relative;
-          left: 0%;
-          right: auto; }
-
-        .pull-0 {
-          position: relative;
-          right: 0%;
-          left: auto; }
-
-        .push-1 {
-          position: relative;
-          left: 8.33333%;
-          right: auto; }
-
-        .pull-1 {
-          position: relative;
-          right: 8.33333%;
-          left: auto; }
-
-        .push-2 {
-          position: relative;
-          left: 16.66667%;
-          right: auto; }
-
-        .pull-2 {
-          position: relative;
-          right: 16.66667%;
-          left: auto; }
-
-        .push-3 {
-          position: relative;
-          left: 25%;
-          right: auto; }
-
-        .pull-3 {
-          position: relative;
-          right: 25%;
-          left: auto; }
-
-        .push-4 {
-          position: relative;
-          left: 33.33333%;
-          right: auto; }
-
-        .pull-4 {
-          position: relative;
-          right: 33.33333%;
-          left: auto; }
-
-        .push-5 {
-          position: relative;
-          left: 41.66667%;
-          right: auto; }
-
-        .pull-5 {
-          position: relative;
-          right: 41.66667%;
-          left: auto; }
-
-        .push-6 {
-          position: relative;
-          left: 50%;
-          right: auto; }
-
-        .pull-6 {
-          position: relative;
-          right: 50%;
-          left: auto; }
-
-        .push-7 {
-          position: relative;
-          left: 58.33333%;
-          right: auto; }
-
-        .pull-7 {
-          position: relative;
-          right: 58.33333%;
-          left: auto; }
-
-        .push-8 {
-          position: relative;
-          left: 66.66667%;
-          right: auto; }
-
-        .pull-8 {
-          position: relative;
-          right: 66.66667%;
-          left: auto; }
-
-        .push-9 {
-          position: relative;
-          left: 75%;
-          right: auto; }
-
-        .pull-9 {
-          position: relative;
-          right: 75%;
-          left: auto; }
-
-        .push-10 {
-          position: relative;
-          left: 83.33333%;
-          right: auto; }
-
-        .pull-10 {
-          position: relative;
-          right: 83.33333%;
-          left: auto; }
-
-        .push-11 {
-          position: relative;
-          left: 91.66667%;
-          right: auto; }
-
-        .pull-11 {
-          position: relative;
-          right: 91.66667%;
-          left: auto; }
-       }
-    #top {
-      font-size: 14px;
-      background: #404650; }
-      #top #logo {
-        position: relative;
-        float: left;
-        width: 123px;
-        height: 55px;
-        margin-right: 14px;
-        z-index: 999;
-        text-indent: -9999px;
-        background: #dc4136 url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE2LjAuNCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHdpZHRoPSI3NXB4IiBoZWlnaHQ9IjE4cHgiIHZpZXdCb3g9IjAgMCA3NSAxOCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNzUgMTgiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8Zz4KCTxwYXRoIGZpbGw9IiNFOUU5RTkiIGQ9Ik01LjQ4Miw0LjQxM0gxLjMxM1YyLjI1MWgxMC44NzN2Mi4xNjFIOC4wNDF2MTIuMjYzSDUuNDgyVjQuNDEzeiIvPgoJPHBhdGggZmlsbD0iI0U5RTlFOSIgZD0iTTExLjk1OCw1Ljg0NmgyLjA5NWwwLjE3NywxLjkxOGgwLjA4OWMwLjc3MS0xLjQxLDEuOTE4LTIuMTgzLDMuMDY1LTIuMTgzYzAuNTUxLDAsMC45MDMsMC4wNjYsMS4yMzQsMC4yMgoJCWwtMC40NDEsMi4yMDZjLTAuMzc1LTAuMTEtMC42NjEtMC4xNzYtMS4xMjUtMC4xNzZjLTAuODU5LDAtMS44OTYsMC41OTUtMi41NTgsMi4yMjh2Ni42MTZoLTIuNTM2VjUuODQ2eiIvPgoJPHBhdGggZmlsbD0iI0U5RTlFOSIgZD0iTTI1LjU0NCw5Ljc1Yy0wLjAyMy0xLjE0Ni0wLjUwOC0yLjExNy0xLjk2NC0yLjExN2MtMS4wOCwwLTIuMDk1LDAuNDg0LTMuMDQzLDEuMDU4bC0wLjkyNy0xLjY5OAoJCWMxLjE5LTAuNzUsMi43MTMtMS40MTEsNC40MzMtMS40MTFjMi43MTQsMCw0LjAzOCwxLjY1NCw0LjAzOCw0LjY3NXY2LjQxOWgtMi4wNzRsLTAuMTk4LTEuMTloLTAuMDY2CgkJYy0wLjk3MSwwLjgxNi0yLjA3MywxLjQ1NS0zLjM1MywxLjQ1NWMtMS44OTcsMC0zLjIyLTEuMjc5LTMuMjItMy4xNzZDMTkuMTcsMTEuNDQ4LDIxLjExMSwxMC4yMzUsMjUuNTQ0LDkuNzV6IE0yMy4xODQsMTQuOTU2CgkJYzAuODgyLDAsMS41NjYtMC40NDEsMi4zNi0xLjE5MXYtMi40MjdjLTIuOTM0LDAuMzc2LTMuOTA0LDEuMTQ3LTMuOTA0LDIuMjI5QzIxLjY0LDE0LjUzNiwyMi4yOCwxNC45NTYsMjMuMTg0LDE0Ljk1NnoiLz4KCTxwYXRoIGZpbGw9IiNFOUU5RTkiIGQ9Ik0yOC44MDYsNS44NDZoMi41ODFsMS43Miw1LjYyNGMwLjI4NywxLjA1OSwwLjYxOCwyLjE2MSwwLjkwNCwzLjI2NWgwLjA4OAoJCWMwLjMxLTEuMTA0LDAuNjE4LTIuMjA2LDAuOTI3LTMuMjY1bDEuNzItNS42MjRoMi40NDhsLTMuNjgzLDEwLjgyOWgtMi45MzRMMjguODA2LDUuODQ2eiIvPgoJPHBhdGggZmlsbD0iI0U5RTlFOSIgZD0iTTQwLjE0NSwyLjUxNmMwLTAuODYsMC42NjEtMS40NTYsMS41NjUtMS40NTZzMS41NjYsMC41OTYsMS41NjYsMS40NTZjMCwwLjgzOC0wLjY2MiwxLjQzNC0xLjU2NiwxLjQzNAoJCVM0MC4xNDUsMy4zNTQsNDAuMTQ1LDIuNTE2eiBNNDAuNDMxLDUuODQ2aDIuNTM3djEwLjgyOWgtMi41MzdWNS44NDZ6Ii8+Cgk8cGF0aCBmaWxsPSIjRTlFOUU5IiBkPSJNNDUuNjEzLDEzLjgwOWMwLjk3LDAuNzQ5LDEuODk2LDEuMjEzLDIuOTk5LDEuMjEzYzEuMTcsMCwxLjcyMS0wLjU1MiwxLjcyMS0xLjMwMQoJCWMwLTAuOTA2LTEuMTY5LTEuMzAzLTIuMzE2LTEuNzQ0Yy0xLjQzNC0wLjUyOS0zLjA0My0xLjM0NC0zLjA0My0zLjE1MmMwLTEuODk4LDEuNTIxLTMuMjQzLDMuOTQ4LTMuMjQzCgkJYzEuNDk5LDAsMi43MTMsMC42MTgsMy41OTQsMS4zMDJsLTEuMTY4LDEuNTQzQzUwLjU5Nyw3Ljg3NSw0OS44MjYsNy41LDQ4Ljk2NSw3LjVjLTEuMDgyLDAtMS41ODgsMC41MDctMS41ODgsMS4xOQoJCWMwLDAuODM5LDEuMDgsMS4xOTEsMi4yNDksMS42MWMxLjQ3OSwwLjU1MiwzLjEwOSwxLjI1OCwzLjEwOSwzLjI4N2MwLDEuODUyLTEuNDc4LDMuMzUyLTQuMjEyLDMuMzUyCgkJYy0xLjQ3OCwwLTMuMDQ0LTAuNjM5LTQuMTAyLTEuNUw0NS42MTMsMTMuODA5eiIvPgoJPHBhdGggZmlsbD0iI0U5RTlFOSIgZD0iTTY1LjE3NiwxLjk4N2MxLjc2NCwwLDMuMTk4LDAuODU5LDQuMTAyLDEuODNsLTEuNDExLDEuNTg4Yy0wLjc1LTAuNzI5LTEuNTY1LTEuMTktMi42NjktMS4xOQoJCWMtMi4zNiwwLTQuMDU4LDEuOTg1LTQuMDU4LDUuMjI4YzAsMy4yODYsMS41NjUsNS4yNywzLjk2OSw1LjI3YzEuMjgsMCwyLjIyOC0wLjUyOCwzLjA0NS0xLjQzMmwxLjQxMSwxLjU2NQoJCWMtMS4xNjksMS4zNDUtMi42NjgsMi4wOTUtNC40OTksMi4wOTVjLTMuNjYxLDAtNi41NTEtMi42NDYtNi41NTEtNy40MzNDNTguNTE1LDQuNzg4LDYxLjQ3LDEuOTg3LDY1LjE3NiwxLjk4N3oiLz4KCTxwYXRoIGZpbGw9IiNFOUU5RTkiIGQ9Ik03MS4xMjgsMi4yNTFoMi41NTl2MTQuNDI0aC0yLjU1OVYyLjI1MXoiLz4KPC9nPgo8L3N2Zz4K') no-repeat 20px 18px; }
-        #top #logo a {
-          display: block; }
-      #top ul {
-        margin: 0;
-        padding: 0;
-        list-style: none;
-        line-height: 30px; }
-      #top #navigation {
-        height: 0;
-        overflow: hidden; }
-        #top #navigation.is-open {
-          height: auto; }
-      #top a, #top span {
-        color: #fff;
-        text-decoration: none; }
-      #top li {
-        border-top: 1px solid #31363d; }
-        #top li a, #top li span {
-          display: block;
-          padding: 0 12px; }
-          #top li a:hover, #top li span:hover {
-            color: #ADC7D0; }
-      #top a.werehiring {
-        background-color: #31363d;
-        border-radius: 4px;
-        padding: 8px 16px;
-        line-height: 20px;
-        margin-right: 80px;
-        display: inline; }
-      #top li.traviscicom a {
-        padding-left: 0px; }
-      @media only screen and (min-width:40.063em) {
-        #top {
-          overflow: visible;
-          height: 55px; }
-          #top #navigation {
-            height: auto;
-            overflow: visible; }
-          #top ul {
-            line-height: 55px;
-            position: relative;
-            top: 3px; }
-          #top li {
-            display: inline-block;
-            border: none; } }
-      @media only screen and (min-width:40.063em) and (max-width:64em) {
-        #top li.traviscicom {
-          display: none; }
-     }
-      #top .nav-burger {
-        overflow: auto; }
-        @media only screen and (min-width:40.063em) {
-          #top .nav-burger {
-            display: none; } }
-      #top #burger {
-        float: right;
-        font-size: 50px;
-        background: none;
-        border: none;
-        line-height: 1;
-        color: #fff;
-        outline: none !important; }
-        #top #burger:before, #top #burger:after {
-          content: "";
-          display: table; }
-        #top #burger:after {
-          clear: both; }
-        #top #burger:hover {
-          cursor: pointer; }
-      #top .menu {
-        position: relative; }
-        #top .menu.signed-out ul {
-          display: none; }
-        #top .menu .handle {
-          margin: 0; }
-        #top .menu:hover > ul {
-          display: block; }
-        #top .menu ul li a {
-          padding-left: 3em; }
-        @media only screen and (min-width:40.063em) {
-          #top .menu ul {
-            display: none;
-            position: absolute;
-            z-index: 300;
-            right: 0px;
-            top: 52px;
-            width: 100%;
-            background-color: #40454f; }
-            #top .menu ul li {
-              display: block; }
-            #top .menu ul li a {
-              display: block;
-              line-height: 24px;
-              white-space: nowrap;
-              padding: 5px 20px; }
-              #top .menu ul li a:hover {
-                background-color: #30343b; }
-     }
-      #top .menu.community {
-        min-width: 120px; }
-      #top .user {
-        text-align: right; }
-      #top .menu.profile .signing-in {
-        background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSI4Ij4KPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOCwgNCkiPgogIDxyZWN0IHg9Ii04IiB5PSItNCIgd2lkdGg9IjUiIGhlaWdodD0iOCI+CiAgICA8YW5pbWF0ZVRyYW5zZm9ybSBpZD0iYSIgYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiB0eXBlPSJzY2FsZSIgZnJvbT0iMSwwLjUiIHRvPSIxIiBkdXI9IjAuNHMiIGJlZ2luPSIwO2IuZW5kIi8+CiAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJmaWxsIiBmcm9tPSIjZWVlIiB0bz0iIzg4OCIgZHVyPSIwLjRzIiBiZWdpbj0iMDtiLmVuZCIvPgogICAgPGFuaW1hdGVUcmFuc2Zvcm0gaWQ9ImIiIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0ic2NhbGUiIGZyb209IjEiIHRvPSIxLDAuNSIgZHVyPSIwLjRzIiBiZWdpbj0iYS5lbmQiLz4KICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImZpbGwiIGZyb209IiM4ODgiIHRvPSIjZWVlIiBkdXI9IjAuNHMiIGJlZ2luPSJhLmVuZCIvPgogIDwvcmVjdD4KICA8cmVjdCB4PSItMiIgeT0iLTQiIHdpZHRoPSI0IiBoZWlnaHQ9IjgiPgogICAgPGFuaW1hdGVUcmFuc2Zvcm0gaWQ9ImMiIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0ic2NhbGUiIGZyb209IjEsMC41IiB0bz0iMSIgZHVyPSIwLjRzIiBiZWdpbj0iMC4xcztkLmVuZCIvPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iZmlsbCIgZnJvbT0iI2VlZSIgdG89IiM4ODgiIGR1cj0iMC40cyIgYmVnaW49IjAuMXM7ZC5lbmQiLz4KICAgIDxhbmltYXRlVHJhbnNmb3JtIGlkPSJkIiBiZWdpbj0iYy5lbmQiIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0ic2NhbGUiIHRvPSIxLDAuNSIgZnJvbT0iMSIgZHVyPSIwLjRzIi8+CiAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJmaWxsIiBmcm9tPSIjODg4IiB0bz0iI2VlZSIgZHVyPSIwLjRzIiBiZWdpbj0iYy5lbmQiLz4KICA8L3JlY3Q+CiAgPHJlY3QgeD0iMyIgeT0iLTQiIHdpZHRoPSI1IiBoZWlnaHQ9IjgiPgogICAgPGFuaW1hdGVUcmFuc2Zvcm0gaWQ9ImUiIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0ic2NhbGUiIGZyb209IjEsMC41IiB0bz0iMSIgZHVyPSIwLjRzIiBiZWdpbj0iMC4ycztmLmVuZCIvPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iZmlsbCIgZnJvbT0iI2VlZSIgdG89IiM4ODgiIGR1cj0iMC40cyIgYmVnaW49IjAuMnM7Zi5lbmQiLz4KICAgIDxhbmltYXRlVHJhbnNmb3JtIGlkPSJmIiBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIHR5cGU9InNjYWxlIiBmcm9tPSIxIiB0bz0iMSwwLjUiIGR1cj0iMC40cyIgYmVnaW49ImUuZW5kIi8+CiAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJmaWxsIiBmcm9tPSIjODg4IiB0bz0iI2VlZSIgZHVyPSIwLjRzIiBiZWdpbj0iZS5lbmQiLz4KICA8L3JlY3Q+CjwvZz4KPC9zdmc+Cgo=') no-repeat 110px 22px; }
-      #top .menu.profile img {
-        width: 30px;
-        height: 30px;
-        border-radius: 100px; }
-      #top .menu.profile ul {
-        min-width: 145px; }
-        #top .menu.profile ul a {
-          padding: 5px 25px 5px 45px; }
-      @media only screen and (min-width:40.063em) {
-        #top .menu.profile {
-          float: right; }
-          #top .menu.profile .handle > * {
-            display: none;
-            padding: 0 15px 0 45px; }
-          #top .menu.profile .signed-out, #top .menu.profile .signing-in {
-            min-width: 110px; }
-          #top .menu.profile.signed-out .signed-out {
-            display: block; }
-          #top .menu.profile.signing-in .signing-in {
-            display: inline-block; }
-          #top .menu.profile.signed-in .signed-in {
-            display: block; } }
-      #top .menu.profile:not(.signed-in):hover ul {
-        display: none; }
-
-    #home #navigation .home, #stats #navigation .stats, #profile #navigation .profile {
-      background-color: transparent; }
-      #home #navigation .home a, #stats #navigation .stats a, #profile #navigation .profile a {
-        color: #ffffff; }
-      #home #navigation .home a:hover, #stats #navigation .stats a:hover, #profile #navigation .profile a:hover {
-        color: #ADC7D0; }
-
-    #top img {
-      margin: 10px 10px 7px 10px;
-      width: 30px;
-      height: 30px;
-      border-radius: 100px; }
-      @media only screen and (min-width:40.063em) {
-        #top img {
-          float: right;
-          margin: 10px 0 0 10px; } }
-
-    .maintenance {
-      height: 100%;
-      overflow: hidden; }
-      .maintenance .full-size {
-        position: absolute;
-        top: 0;
-        height: 100%;
-        width: 100%;
-        overflow: hidden;
-        background-repeat: no-repeat; }
-
-    .main--error {
-      min-height: 100%; }
-
-    .maintenance-text {
-      position: absolute;
-      left: 0;
-      right: 0;
-      z-index: 10; }
-      .maintenance-text h1 {
-        margin: 1em 0 0.4em;
-        font-weight: 600;
-        color: #357389;
-        font-size: 40px;
-        line-height: 1;
-        text-align: center; }
-        @media only screen and (min-width:40.063em) {
-          .maintenance-text h1 {
-            margin: 1.5em 0 0.4em;
-            font-size: 70px; } }
-      .maintenance-text p {
-        padding: 0 1em;
-        color: #9d9fa1;
-        font-size: 18px;
-        text-align: center; }
-      .maintenance-text a {
-        color: #9d9fa1; }
-        .maintenance-text a:hover, .maintenance-text a:focus {
-          color: #9d9fa1;
-          text-decoration: underline; }
-
-    .icon-twitter {
-      display: inline-block;
-      width: 1.1em;
-      height: 1.1em;
-      background-image: url(../images/error/twitter.svg);
-      background-repeat: no-repeat;
-      background-size: 100% auto;
-      background-position: 0 0.2em; }
-
-    .maintenance .maintenance-bg {
-      background: -webkit-linear-gradient(90deg, #8cad7d, #8cad7d 38.9%, #ccebf7 39%, #fff 60%, #fff);
-      background: linear-gradient(0deg, #8cad7d, #8cad7d 38.9%, #ccebf7 39%, #fff 60%, #fff); }
-    .maintenance .hill-left {
-      background-image: url(../images/error/maintenance-hills-left.svg);
-      background-size: 80vw auto;
-      background-position: 0 58%; }
-      @media only screen and (min-width:40.063em) {
-        .maintenance .hill-left {
-          background-size: 58vw auto;
-          background-position: 0 58%; } }
-      @media only screen and (min-width:64.063em) {
-        .maintenance .hill-left {
-          background-size: 50vw auto;
-          background-position: 0 56%; } }
-    .maintenance .hill-right {
-      background-image: url(../images/error/maintenance-hills-right.svg);
-      background-size: 38vw auto;
-      background-position: 99% 59%;
-      display: none; }
-      @media only screen and (min-width:40.063em) {
-        .maintenance .hill-right {
-          display: block; } }
-    .maintenance .shadow-left {
-      background-image: url(../images/error/maintenance-grass-shade-left.svg);
-      background-size: 24vw auto;
-      background-position: 6% 72%; }
-    .maintenance .shadow-right {
-      background-image: url(../images/error/maintenance-grass-shade-right.svg);
-      background-size: 17vw auto;
-      background-position: 95% 79%; }
-    .maintenance .maintenance-tractor {
-      background-image: url(../images/error/maintenance-tractor.svg);
-      background-size: 87vw auto;
-      background-position: 63% 87%; }
-      @media only screen and (min-width:40.063em) {
-        .maintenance .maintenance-tractor {
-          background-size: auto 44vh;
-          background-position: 63% 83%; } }
-    </style>
-
+    <link rel="stylesheet" href="../assets/travis.css">
 
   </head>
   <body>

From 258300fb21c0512dd89558bc3beef1b1d9b7b1e1 Mon Sep 17 00:00:00 2001
From: Lisa Passing <mail@lislis.de>
Date: Mon, 16 Feb 2015 16:29:59 +0100
Subject: [PATCH 07/26] remove maintenance from app, as it is now a .html file

---
 app/router.coffee             |  1 -
 app/templates/maintenance.hbs | 11 -----------
 app/views/maintenance.coffee  |  7 -------
 3 files changed, 19 deletions(-)
 delete mode 100644 app/templates/maintenance.hbs
 delete mode 100644 app/views/maintenance.coffee

diff --git a/app/router.coffee b/app/router.coffee
index e161fc11..24d337ef 100644
--- a/app/router.coffee
+++ b/app/router.coffee
@@ -52,7 +52,6 @@ Router.map ->
       @resource 'account', path: '/:login'
       @route 'info', path: '/info'
 
-  @route 'maintenance', path: '/maintenance'
   @route 'error500', path: '/500'
   @route 'error404', path: '/*path'
 
diff --git a/app/templates/maintenance.hbs b/app/templates/maintenance.hbs
deleted file mode 100644
index 957b4ab8..00000000
--- a/app/templates/maintenance.hbs
+++ /dev/null
@@ -1,11 +0,0 @@
-<div class="maintenance-bg full-size">
-  <div class="hill-left full-size"></div>
-  <div class="hill-right full-size"></div>
-  <div class="shadow-left full-size"></div>
-  <div class="shadow-right full-size"></div>
-</div>
-<div class="maintenance-tractor full-size"></div>
-<div class="maintenance-text">
-  <h1>Under Maintenance</h1>
-  <p>Stay up to date with Travis CI by <a href="https://twitter.com/travisci" title="Travis CI on Twitter">following us <span class="icon-twitter"></span></a></p>
-</div>
diff --git a/app/views/maintenance.coffee b/app/views/maintenance.coffee
deleted file mode 100644
index 22e526e3..00000000
--- a/app/views/maintenance.coffee
+++ /dev/null
@@ -1,7 +0,0 @@
-`import BasicView from 'travis/views/basic'`
-
-View = BasicView.extend
-  layoutName: 'layouts/error'
-  classNames: ['error maintenance']
-
-`export default View`

From 545facfb227293dcb2636d17348d50b5f655d5fd Mon Sep 17 00:00:00 2001
From: Lisa Passing <mail@lislis.de>
Date: Thu, 12 Feb 2015 12:20:28 +0100
Subject: [PATCH 08/26] bring back travis-pro in top

---
 app/styles/app/top.sass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/styles/app/top.sass b/app/styles/app/top.sass
index b9e501bd..5dd7200f 100644
--- a/app/styles/app/top.sass
+++ b/app/styles/app/top.sass
@@ -55,7 +55,7 @@
       display: inline-block
       border: none
 
-  @media #{$medium}
+  @media #{$medium-only}
     li.traviscicom
       display: none
 

From 4eda7ec0d0e69e087141b6024a30ac28e2be4b0d Mon Sep 17 00:00:00 2001
From: Piotr Sarnacki <drogus@gmail.com>
Date: Thu, 12 Feb 2015 12:16:10 +0100
Subject: [PATCH 09/26] Fix loading indicator on profile page

---
 app/styles/app/loading.sass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/styles/app/loading.sass b/app/styles/app/loading.sass
index 1a66a3bc..741431fa 100644
--- a/app/styles/app/loading.sass
+++ b/app/styles/app/loading.sass
@@ -1,5 +1,5 @@
 
-div.loading
+div.loading, p.loading
   padding: 15px 25px 0 0
   span
     padding-right: 25px

From 3af2ca192c66bfbf785be74d2e4438df0363e180 Mon Sep 17 00:00:00 2001
From: Piotr Sarnacki <drogus@gmail.com>
Date: Thu, 12 Feb 2015 12:19:04 +0100
Subject: [PATCH 10/26] Replace title by a ruby server

---
 app/index.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/index.html b/app/index.html
index 993dbc13..7d63a71d 100644
--- a/app/index.html
+++ b/app/index.html
@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <title>Travis</title>
+    <title>{{title}}</title>
     <meta name="description" content="">
     <meta name="viewport" content="width=device-width, initial-scale=1">
 

From 3d0920ecb289076812c6941045bd2704be600571 Mon Sep 17 00:00:00 2001
From: Lisa Passing <mail@lislis.de>
Date: Thu, 12 Feb 2015 12:36:33 +0100
Subject: [PATCH 11/26] fix top bar stacing issues

---
 app/styles/app/top.sass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/styles/app/top.sass b/app/styles/app/top.sass
index 5dd7200f..a830aeca 100644
--- a/app/styles/app/top.sass
+++ b/app/styles/app/top.sass
@@ -1,6 +1,6 @@
 
 #top
-  font-size: $font-size-small
+  font-size: $font-size-normal
   background  : $topbar-bg
   height: 55px
   overflow: hidden

From 997e68351cbe318dc085ee172081bc97b5791577 Mon Sep 17 00:00:00 2001
From: Lisa Passing <mail@lislis.de>
Date: Thu, 12 Feb 2015 12:49:51 +0100
Subject: [PATCH 12/26] fix align of hook switched

---
 app/styles/app/profile/hooks.sass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/styles/app/profile/hooks.sass b/app/styles/app/profile/hooks.sass
index 6cece36d..7d6b6b09 100644
--- a/app/styles/app/profile/hooks.sass
+++ b/app/styles/app/profile/hooks.sass
@@ -51,7 +51,7 @@
 
     .controls
       position: absolute
-      top: 10px
+      top: 8px
       right: 0
       white-space: nowrap
       a

From 10da41b29e8ce5740396164da4b9e8c25b2aeae3 Mon Sep 17 00:00:00 2001
From: Lisa Passing <mail@lislis.de>
Date: Thu, 12 Feb 2015 13:08:18 +0100
Subject: [PATCH 13/26] bring back fixed width sidebars

---
 app/styles/app/layout.sass | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/app/styles/app/layout.sass b/app/styles/app/layout.sass
index 646327ff..d3d173b2 100644
--- a/app/styles/app/layout.sass
+++ b/app/styles/app/layout.sass
@@ -53,11 +53,12 @@
   .wrapper-main
     overflow: hidden
     & > div:first-child:nth-last-child(2)
-      width: grid-calc(18, 24)
+      width: grid-calc(20, 24)
       float: left
 
     & > div:first-child:nth-last-child(2) ~ div
-      width: grid-calc(6, 24)
+      width: grid-calc(4, 24)
+      max-width: 180px
       float: right
 
   .maximized
@@ -75,6 +76,7 @@
     width: grid-calc(5, 24)
     float: left
     margin-left: -100%
+    max-width: 325px
 
   .wrapper-main
     width: grid-calc(19, 24)

From d2305baa60a97c9d3e92abe35f9df8fa6a11b1a8 Mon Sep 17 00:00:00 2001
From: Lisa Passing <mail@lislis.de>
Date: Thu, 12 Feb 2015 15:07:02 +0100
Subject: [PATCH 14/26] finally get profile page full-height while loading

---
 app/styles/app/layout.sass | 14 ++++++++------
 app/styles/app/tabs.sass   |  4 ----
 2 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/app/styles/app/layout.sass b/app/styles/app/layout.sass
index d3d173b2..022777e9 100644
--- a/app/styles/app/layout.sass
+++ b/app/styles/app/layout.sass
@@ -2,7 +2,8 @@
 .centered .row
   max-width: 1024px
 
-.main, .profile-view
+.main,
+.profile-view
   position: relative
   width: 100%
   min-height: 100vh
@@ -14,13 +15,10 @@
 #not-found #main
   padding: 100px 50px 0 50px
 
-
-#left, #right
+#left, #right, .wrapper-main
   position: relative
-  min-height: 100%
 
 #left
-  min-height: 100%
   padding: 0 0 110px 0
   background-color: #fbfbfa
   border-right: 1px solid $color-border-normal
@@ -52,6 +50,7 @@
   // layout magic http://lea.verou.me/2011/01/styling-children-based-on-their-number-with-css3/
   .wrapper-main
     overflow: hidden
+    height: 100%
     & > div:first-child:nth-last-child(2)
       width: grid-calc(20, 24)
       float: left
@@ -63,7 +62,6 @@
 
   .maximized
     .wrapper-main
-      overflow: hidden
       & > div:first-child:nth-last-child(2)
         width: grid-calc(24, 24)
         float: none
@@ -72,6 +70,10 @@
         display: none
 
 @media #{$large-up}
+
+  #left, #right, .wrapper-main
+    min-height: 100vh
+
   #left
     width: grid-calc(5, 24)
     float: left
diff --git a/app/styles/app/tabs.sass b/app/styles/app/tabs.sass
index 6c00f3e6..94a1c02c 100644
--- a/app/styles/app/tabs.sass
+++ b/app/styles/app/tabs.sass
@@ -72,10 +72,6 @@
   #tab_new.display
     display: inline-block
 
-  @media #{$medium-up}
-    .tab
-      min-height: 100vh
-
 #main
   .tabs
     border-bottom: 3px solid #f5f5f6

From f17f0ceb7b01475575cacada6a7642d4fcf24f58 Mon Sep 17 00:00:00 2001
From: Lisa Passing <mail@lislis.de>
Date: Thu, 12 Feb 2015 16:03:35 +0100
Subject: [PATCH 15/26] add burger toggle

---
 app/controllers/top.coffee |  5 +++++
 app/styles/app/top.sass    | 20 ++++++++++++++------
 app/templates/top.hbs      |  4 ++--
 3 files changed, 21 insertions(+), 8 deletions(-)

diff --git a/app/controllers/top.coffee b/app/controllers/top.coffee
index b71beef0..196b6df7 100644
--- a/app/controllers/top.coffee
+++ b/app/controllers/top.coffee
@@ -12,4 +12,9 @@ Controller = Ember.Controller.extend
     "#{location.protocol}//www.gravatar.com/avatar/#{@get('user.gravatarId')}?s=48&d=mm"
   ).property('user.gravatarId')
 
+  actions: {
+    toggleBurgerMenu: ->
+      @toggleProperty('is-open')
+  }
+
 `export default Controller`
diff --git a/app/styles/app/top.sass b/app/styles/app/top.sass
index a830aeca..3904a624 100644
--- a/app/styles/app/top.sass
+++ b/app/styles/app/top.sass
@@ -2,8 +2,6 @@
 #top
   font-size: $font-size-normal
   background  : $topbar-bg
-  height: 55px
-  overflow: hidden
 
   #logo
     position: relative
@@ -21,6 +19,12 @@
     @include resetul
     line-height: 30px
 
+  #navigation
+    height: 0
+    overflow: hidden
+    &.is-open
+      height: auto
+
   a, span
     color: $white
     text-decoration: none
@@ -47,6 +51,11 @@
 
   @media #{$medium-up}
     overflow: visible
+    height: 55px
+
+    #navigation
+      height: auto
+      overflow: visible
     ul
       line-height: 55px
       position: relative
@@ -76,13 +85,12 @@
     &:hover
       cursor: pointer
 
-
-  &.is-open
-    height: auto
-
   .menu
     position: relative
 
+    &.signed-out
+      ul
+        display: none
     .handle
       margin: 0
 
diff --git a/app/templates/top.hbs b/app/templates/top.hbs
index cd49aca9..dcd73aa1 100644
--- a/app/templates/top.hbs
+++ b/app/templates/top.hbs
@@ -5,10 +5,10 @@
 {{/link-to}}
 
 <div class="nav-burger">
-  <button type="button" id="burger">&equiv;</button>
+  <button type="button" id="burger" {{action 'toggleBurgerMenu'}}>&equiv;</button>
 </div>
 
-<ul id="navigation">
+<ul id="navigation" {{bind-attr class="is-open"}}>
   <li class="home">
     {{#link-to "main"}}Home{{/link-to}}
   </li>

From 7375fbb440142116d1c0ab0b9622f002ef47b5d4 Mon Sep 17 00:00:00 2001
From: Piotr Sarnacki <drogus@gmail.com>
Date: Thu, 12 Feb 2015 18:48:32 +0100
Subject: [PATCH 16/26] Explicitly return false from toggleBurgerMenu to not
 bubble action

---
 app/controllers/top.coffee | 1 +
 1 file changed, 1 insertion(+)

diff --git a/app/controllers/top.coffee b/app/controllers/top.coffee
index 196b6df7..614d18ea 100644
--- a/app/controllers/top.coffee
+++ b/app/controllers/top.coffee
@@ -15,6 +15,7 @@ Controller = Ember.Controller.extend
   actions: {
     toggleBurgerMenu: ->
       @toggleProperty('is-open')
+      return false
   }
 
 `export default Controller`

From 0285cd3a96a61bcdedbc1d1e04f6cf791239c781 Mon Sep 17 00:00:00 2001
From: Lisa Passing <mail@lislis.de>
Date: Fri, 13 Feb 2015 11:58:53 +0100
Subject: [PATCH 17/26] push hills around

---
 app/styles/app/layouts/error.sass | 34 ++++++++++++++++---------------
 1 file changed, 18 insertions(+), 16 deletions(-)

diff --git a/app/styles/app/layouts/error.sass b/app/styles/app/layouts/error.sass
index b55169ad..d6f4b108 100644
--- a/app/styles/app/layouts/error.sass
+++ b/app/styles/app/layouts/error.sass
@@ -67,22 +67,24 @@
     @include error-bg-gradient($error-sand)
   .hill-left
     background-image: url(../images/error/500-hills-left.svg)
-    @include error-position-img(38vw auto, 0 62%)
+    @include error-position-img(38vw auto, 0 58%)
+    @media #{$medium-up}
+      @include error-position-img(38vw auto, 0 54%)
   .hill-right
     background-image: url(../images/error/500-hills-right.svg)
-    @include error-position-img(38vw auto, 99% 63%)
+    @include error-position-img(38vw auto, 99% 58%)
     display: none
     @media #{$medium-up}
       display: block
   .shadow-left
     background-image: url(../images/error/500-hills-shade-left.svg)
-    @include error-position-img(24vw auto, 6% 82%)
+    @include error-position-img(24vw auto, 6% 72%)
   .shadow-right
     background-image: url(../images/error/500-hills-shade-right.svg)
-    @include error-position-img(17vw auto, 95% 89%)
+    @include error-position-img(17vw auto, 95% 79%)
   .road
     background-image: url(../images/error/500-road.svg)
-    @include error-position-img(auto 40vh, 30% 91.3%)
+    @include error-position-img(auto 40vh, 42% 91.3%)
 
 .error404
   .error-bg
@@ -90,16 +92,16 @@
   .hill-left
     display: none
     background-image: url(../images/error/404-hills-left.svg)
-    @include error-position-img(30vw auto, 0 (100% - 37%))
+    @include error-position-img(30vw auto, 0 58%)
     @media #{$medium-up}
       display: block
   .hill-right
     background-image: url(../images/error/404-hills-right.svg)
-    @include error-position-img(auto 20vw, 99% 63%)
+    @include error-position-img(auto 20vw, 99% 58%)
     @media #{$medium-up}
-      @include error-position-img(50vw auto, 99% 63%)
+      @include error-position-img(50vw auto, 99% 58%)
     @media #{$large-up}
-      @include error-position-img(50vw auto, 99% 61%)
+      @include error-position-img(50vw auto, 99% 54%)
   .error-excavator
     background-image: url(../images/error/excavator.svg)
     @include error-position-img(auto 25vh, 71% 83%)
@@ -117,26 +119,26 @@
     @include error-bg-gradient($maintenance-grass)
   .hill-left
     background-image: url(../images/error/maintenance-hills-left.svg)
-    @include error-position-img(80vw auto, 0 62%)
+    @include error-position-img(80vw auto, 0 56%)
     @media #{$medium-up}
-      @include error-position-img(58vw auto, 0 62%)
+      @include error-position-img(58vw auto, 0 58%)
     @media #{$large-up}
-      @include error-position-img(50vw auto, 0 61%)
+      @include error-position-img(50vw auto, 0 52%)
   .hill-right
     background-image: url(../images/error/maintenance-hills-right.svg)
-    @include error-position-img(38vw auto, 99% 63%)
+    @include error-position-img(38vw auto, 99% 59%)
     display: none
     @media #{$medium-up}
       display: block
   .shadow-left
     background-image: url(../images/error/maintenance-grass-shade-left.svg)
-    @include error-position-img(24vw auto, 6% 82%)
+    @include error-position-img(24vw auto, 6% 72%)
   .shadow-right
     background-image: url(../images/error/maintenance-grass-shade-right.svg)
-    @include error-position-img(17vw auto, 95% 89%)
+    @include error-position-img(17vw auto, 95% 79%)
   .maintenance-tractor
     background-image: url(../images/error/maintenance-tractor.svg)
     @include error-position-img(87vw auto, 63% 87%)
     @media #{$medium-up}
-      @include error-position-img(auto 40vh, 63% 87%)
+      @include error-position-img(auto 44vh, 63% 83%)
 

From b2b70b592fa9615995bef5039cd6d11f84116dd9 Mon Sep 17 00:00:00 2001
From: Lisa Passing <mail@lislis.de>
Date: Fri, 13 Feb 2015 12:00:46 +0100
Subject: [PATCH 18/26] add burger markup to error pages

---
 app/templates/layouts/error.hbs | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/app/templates/layouts/error.hbs b/app/templates/layouts/error.hbs
index d4401b49..89952183 100644
--- a/app/templates/layouts/error.hbs
+++ b/app/templates/layouts/error.hbs
@@ -4,9 +4,9 @@
       <h1>{{#link-to "main"}}Home{{/link-to}}</h1>
     </div>
     <div class="nav-burger">
-      <button type="button" id="burger">&equiv;</button>
+      <button type="button" id="burger" {{action 'toggleBurgerMenu'}}>&equiv;</button>
     </div>
-    <ul>
+    <ul id="navigation" {{bind-attr class="is-open"}}>
       <li><a href="#">Blog</a></li>
       <li><a href="#">Status</a></li>
     <!-- <div class="small-4 medium-3 columns" id="status">

From 7e1168cae222b04810f20f3d8491ab451d3c6cbb Mon Sep 17 00:00:00 2001
From: Piotr Sarnacki <drogus@gmail.com>
Date: Fri, 13 Feb 2015 14:13:45 +0100
Subject: [PATCH 19/26] Add a simple acceptance test for dashboard and tooling
 needed to run it

Apart from adding a test, this commit also adds a dummy implementation
for Auth that can be used in tests to control the auth status.
---
 app/initializers/auth.coffee           |  3 +-
 app/utils/computed-limit.js            |  4 +-
 app/utils/test-auth.coffee             | 51 ++++++++++++++++++++
 bower.json                             |  3 +-
 package.json                           |  1 +
 tests/acceptance/dashboard-test.coffee | 67 ++++++++++++++++++++++++++
 tests/helpers/start-app.js             |  6 +++
 7 files changed, 131 insertions(+), 4 deletions(-)
 create mode 100644 app/utils/test-auth.coffee
 create mode 100644 tests/acceptance/dashboard-test.coffee

diff --git a/app/initializers/auth.coffee b/app/initializers/auth.coffee
index 85e12452..befb2174 100644
--- a/app/initializers/auth.coffee
+++ b/app/initializers/auth.coffee
@@ -1,7 +1,8 @@
 `import Auth from 'travis/utils/auth'`
+`import TestAuth from 'travis/utils/test-auth'`
 
 initialize = (container, app) ->
-  app.register 'auth:main', Auth
+  app.register 'auth:main', if Ember.testing then TestAuth else Auth
 
   app.inject('route', 'auth', 'auth:main')
   app.inject('controller', 'auth', 'auth:main')
diff --git a/app/utils/computed-limit.js b/app/utils/computed-limit.js
index 3d769069..e594acef 100644
--- a/app/utils/computed-limit.js
+++ b/app/utils/computed-limit.js
@@ -2,7 +2,7 @@ import Ember from 'ember';
 
 var limit = function(dependentKey, limitKey) {
   var options = {
-    addedItem: function(array, item, changeMeta, instanceMeta) {
+    addedItem: function(array, item, changeMeta) {
       var limit = Ember.get(this, limitKey);
       if (changeMeta.index < limit) {
         array.insertAt(changeMeta.index, item);
@@ -12,7 +12,7 @@ var limit = function(dependentKey, limitKey) {
       }
       return array;
     },
-    removedItem: function(array, item, changeMeta, instanceMeta) {
+    removedItem: function(array, item, changeMeta) {
       var limit = Ember.get(this, limitKey);
       if (changeMeta.index < limit && changeMeta.index < Ember.get(array, 'length')) {
         array.removeAt(changeMeta.index, 1);
diff --git a/app/utils/test-auth.coffee b/app/utils/test-auth.coffee
new file mode 100644
index 00000000..fdffd7a3
--- /dev/null
+++ b/app/utils/test-auth.coffee
@@ -0,0 +1,51 @@
+`import Ember from 'ember'`
+
+Auth = Ember.Object.extend
+  state: 'signed-out'
+
+  # I want to disable auto sign in for tests for now, the plan is to either
+  # explicitly say that you're signed in or out (the latter being the default)
+  autoSignIn: (->)
+
+  signOutForTests: ->
+    @set('state', 'signed-out')
+    @set('currentUser', null)
+
+  signInForTests: (user) ->
+    @set('state', 'signed-in')
+    if user.constructor.typeKey? != 'user'
+      @store.pushPayload(users: [user])
+      user = @store.recordForId('user', user.id)
+
+    @set('currentUser', user)
+
+  # TODO: we use these properties in templates, but there
+  #       really should be something like a 'session' service that can be
+  #       injected where we need it
+  userName: (->
+    @get('currentUser.name') || @get('currentUser.login')
+  ).property('currentUser.login', 'currentUser.name')
+
+  gravatarUrl: (->
+    "#{location.protocol}//www.gravatar.com/avatar/#{@get('currentUser.gravatarId')}?s=48&d=mm"
+  ).property('currentUser.gravatarId')
+
+  permissions: Ember.computed.alias('currentUser.permissions')
+
+  signedIn: (->
+    @get('state') == 'signed-in'
+  ).property('state')
+
+  signedOut: (->
+    @get('state') == 'signed-out'
+  ).property('state')
+
+  signingIn: (->
+    @get('state') == 'signing-in'
+  ).property('state')
+
+  token: ->
+    if @get('state') == 'signed-in'
+      'a-token'
+
+`export default Auth`
diff --git a/bower.json b/bower.json
index 9c9c3106..41e6caee 100644
--- a/bower.json
+++ b/bower.json
@@ -17,6 +17,7 @@
     "JavaScript-MD5": "~1.1.0",
     "moment": "~2.9.0",
     "jquery-timeago": "~1.4.1",
-    "pusher": "~2.2.3"
+    "pusher": "~2.2.3",
+    "pretender": "0.1.0"
   }
 }
diff --git a/package.json b/package.json
index 9a53e777..2c46dc0c 100644
--- a/package.json
+++ b/package.json
@@ -31,6 +31,7 @@
     "ember-cli-ic-ajax": "0.1.1",
     "ember-cli-inject-live-reload": "^1.3.0",
     "ember-cli-inline-images": "^0.0.3",
+    "ember-cli-pretender": "0.3.1",
     "ember-cli-qunit": "0.3.0",
     "ember-cli-sauce": "0.0.7",
     "ember-cli-uglify": "1.0.1",
diff --git a/tests/acceptance/dashboard-test.coffee b/tests/acceptance/dashboard-test.coffee
new file mode 100644
index 00000000..41ede825
--- /dev/null
+++ b/tests/acceptance/dashboard-test.coffee
@@ -0,0 +1,67 @@
+`import Ember from 'ember'`
+`import startApp from '../helpers/start-app'`
+`import Pretender from 'pretender'`
+
+application = null
+server = null
+
+module 'Acceptance: Dashboard',
+  setup: ->
+    application = startApp()
+    Ember.run ->
+      application.auth.signInForTests(id: 1, login: 'drogus')
+    server = new Pretender ->
+      @get('/v3/repos', (request) ->
+        data = {
+          "@type": "repositories",
+          "repositories": [{
+            "@type": "repository",
+            "active": true,
+            "id": 1,
+            "name": "travis-web",
+            "slug": "travis-ci/travis-web",
+            "description": "The Ember web client for Travis CI",
+            "github_language": "CoffeeScript",
+            "private": false,
+            "owner": {
+              "@type": "organization",
+              "id": 1,
+              "login": "travis-ci"
+            },
+            "last_build": {
+              "@type": "build",
+              "id": 1,
+              "number": "1",
+              "state": "passed",
+              "duration": 20,
+              "started_at": "2015-02-05T09:58:31Z",
+              "finished_at": "2015-02-05T10:09:10Z"
+            }
+          }, {
+            "@type": "repository",
+            "active": true,
+            "id": 2,
+            "name": "travis-test",
+            "slug": "travis-ci/travis-test",
+            "private": false,
+            "owner": {
+              "@type": "organization",
+              "id": 87,
+              "login": "travis-ci"
+            },
+            "last_build": null
+          }]
+        }
+        return [200, { "Content-Type": "application/json" }, JSON.stringify(data)]
+      )
+
+  teardown: ->
+    Ember.run application, 'destroy'
+    server.shutdown()
+
+test 'visiting /dashboard', ->
+  visit '/dashboard'
+
+  andThen ->
+    equal find('.tiles .repo').length, 1, 'there should be one repo displayed on dashboard'
+    equal find('.tiles .repo').text(), 'travis-web', 'travis-web repository should be displayed'
diff --git a/tests/helpers/start-app.js b/tests/helpers/start-app.js
index 16cc7c39..5e64fef6 100644
--- a/tests/helpers/start-app.js
+++ b/tests/helpers/start-app.js
@@ -15,5 +15,11 @@ export default function startApp(attrs) {
     application.injectTestHelpers();
   });
 
+  // TODO: I'm not sure if this is the best thing to do, but it seems
+  // easiest for now. That way in tests I can just write:
+  //
+  //     application.auth.signInForTests()
+  application.auth = application.__container__.lookup('auth:main');
+
   return application;
 }

From a13370b392a0b0f7079e20d916f9488d92215e52 Mon Sep 17 00:00:00 2001
From: Piotr Sarnacki <drogus@gmail.com>
Date: Mon, 16 Feb 2015 12:28:40 +0100
Subject: [PATCH 20/26] Run only Sauce Labs on Travis

---
 .travis.yml | 3 +++
 testem.json | 4 ++--
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 8febc08b..ca777b12 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,6 +1,9 @@
 ---
 language: node_js
 
+addons:
+  sauce_connect: true
+
 sudo: false
 
 cache:
diff --git a/testem.json b/testem.json
index 3705233e..23afdf07 100644
--- a/testem.json
+++ b/testem.json
@@ -2,8 +2,8 @@
   "framework": "qunit",
   "test_page": "tests/index.html?hidepassed",
   "launch_in_ci": [
-    "PhantomJS",
-    "Chrome"
+    "SL_chrome",
+    "SL_firefox"
   ],
   "launch_in_dev": [
     "PhantomJS",

From 1f2f72677f3d58b3feb94b6e684cd7a9576f8cc7 Mon Sep 17 00:00:00 2001
From: Lisa Passing <mail@lislis.de>
Date: Mon, 16 Feb 2015 14:33:28 +0100
Subject: [PATCH 21/26] push some hills around

---
 app/styles/app/layouts/error.sass | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/app/styles/app/layouts/error.sass b/app/styles/app/layouts/error.sass
index d6f4b108..565c890e 100644
--- a/app/styles/app/layouts/error.sass
+++ b/app/styles/app/layouts/error.sass
@@ -67,12 +67,12 @@
     @include error-bg-gradient($error-sand)
   .hill-left
     background-image: url(../images/error/500-hills-left.svg)
-    @include error-position-img(38vw auto, 0 58%)
+    @include error-position-img(auto 10vh, 0 58%)
     @media #{$medium-up}
-      @include error-position-img(38vw auto, 0 54%)
+      @include error-position-img(38vw auto, 0 58%)
   .hill-right
     background-image: url(../images/error/500-hills-right.svg)
-    @include error-position-img(38vw auto, 99% 58%)
+    @include error-position-img(38vw auto, 99% 59%)
     display: none
     @media #{$medium-up}
       display: block
@@ -84,7 +84,9 @@
     @include error-position-img(17vw auto, 95% 79%)
   .road
     background-image: url(../images/error/500-road.svg)
-    @include error-position-img(auto 40vh, 42% 91.3%)
+    @include error-position-img(auto 27vh, 42% 78%)
+    @media #{$medium-up}
+      @include error-position-img(auto 40vh, 42% 91.3%)
 
 .error404
   .error-bg
@@ -119,11 +121,11 @@
     @include error-bg-gradient($maintenance-grass)
   .hill-left
     background-image: url(../images/error/maintenance-hills-left.svg)
-    @include error-position-img(80vw auto, 0 56%)
+    @include error-position-img(80vw auto, 0 58%)
     @media #{$medium-up}
       @include error-position-img(58vw auto, 0 58%)
     @media #{$large-up}
-      @include error-position-img(50vw auto, 0 52%)
+      @include error-position-img(50vw auto, 0 56%)
   .hill-right
     background-image: url(../images/error/maintenance-hills-right.svg)
     @include error-position-img(38vw auto, 99% 59%)

From 6da7043c674fb1043af945c2b9f2436e150d9593 Mon Sep 17 00:00:00 2001
From: Lisa Passing <mail@lislis.de>
Date: Mon, 16 Feb 2015 15:37:49 +0100
Subject: [PATCH 22/26] add maintenance.html

---
 public/maintenance.html | 1317 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 1317 insertions(+)
 create mode 100644 public/maintenance.html

diff --git a/public/maintenance.html b/public/maintenance.html
new file mode 100644
index 00000000..66bfa596
--- /dev/null
+++ b/public/maintenance.html
@@ -0,0 +1,1317 @@
+<!DOCTYPE html>
+<html lang="en"><head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Travis CI - Maintenance</title>
+    <meta name="description" content="">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+
+    <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,800" rel="stylesheet" type="text/css">
+
+    <style>
+    html, body {
+      height: 100%; }
+
+    *, *:before, *:after {
+      box-sizing: border-box; }
+
+    html, body {
+      font-size: 13px; }
+
+    body {
+      background: #fff;
+      color: #666;
+      padding: 0;
+      margin: 0;
+      font-family: 'Source Sans Pro', Helvetica, sans-serif;
+      font-weight: normal;
+      font-style: normal;
+      line-height: 22px;
+      position: relative;
+      cursor: auto; }
+
+
+      .row {
+        width: 100%;
+        margin-left: auto;
+        margin-right: auto;
+        margin-top: 0;
+        margin-bottom: 0;
+        max-width: 100%; }
+        .row:before, .row:after {
+          content: " ";
+          display: table; }
+        .row:after {
+          clear: both; }
+        .row.collapse > .column, .row.collapse > .columns {
+          padding-left: 0;
+          padding-right: 0; }
+        .row.collapse .row {
+          margin-left: 0;
+          margin-right: 0; }
+        .row .row {
+          width: auto;
+          margin-left: -0.9375rem;
+          margin-right: -0.9375rem;
+          margin-top: 0;
+          margin-bottom: 0;
+          max-width: none; }
+          .row .row:before, .row .row:after {
+            content: " ";
+            display: table; }
+          .row .row:after {
+            clear: both; }
+          .row .row.collapse {
+            width: auto;
+            margin: 0;
+            max-width: none; }
+            .row .row.collapse:before, .row .row.collapse:after {
+              content: " ";
+              display: table; }
+            .row .row.collapse:after {
+              clear: both; }
+
+      .column, .columns {
+        padding-left: 0.9375rem;
+        padding-right: 0.9375rem;
+        width: 100%;
+        float: left; }
+
+      [class*="column"] + [class*="column"]:last-child {
+        float: right; }
+
+      [class*="column"] + [class*="column"].end {
+        float: left; }
+
+      @media only screen {
+        .small-push-0 {
+          position: relative;
+          left: 0%;
+          right: auto; }
+
+        .small-pull-0 {
+          position: relative;
+          right: 0%;
+          left: auto; }
+
+        .small-push-1 {
+          position: relative;
+          left: 8.33333%;
+          right: auto; }
+
+        .small-pull-1 {
+          position: relative;
+          right: 8.33333%;
+          left: auto; }
+
+        .small-push-2 {
+          position: relative;
+          left: 16.66667%;
+          right: auto; }
+
+        .small-pull-2 {
+          position: relative;
+          right: 16.66667%;
+          left: auto; }
+
+        .small-push-3 {
+          position: relative;
+          left: 25%;
+          right: auto; }
+
+        .small-pull-3 {
+          position: relative;
+          right: 25%;
+          left: auto; }
+
+        .small-push-4 {
+          position: relative;
+          left: 33.33333%;
+          right: auto; }
+
+        .small-pull-4 {
+          position: relative;
+          right: 33.33333%;
+          left: auto; }
+
+        .small-push-5 {
+          position: relative;
+          left: 41.66667%;
+          right: auto; }
+
+        .small-pull-5 {
+          position: relative;
+          right: 41.66667%;
+          left: auto; }
+
+        .small-push-6 {
+          position: relative;
+          left: 50%;
+          right: auto; }
+
+        .small-pull-6 {
+          position: relative;
+          right: 50%;
+          left: auto; }
+
+        .small-push-7 {
+          position: relative;
+          left: 58.33333%;
+          right: auto; }
+
+        .small-pull-7 {
+          position: relative;
+          right: 58.33333%;
+          left: auto; }
+
+        .small-push-8 {
+          position: relative;
+          left: 66.66667%;
+          right: auto; }
+
+        .small-pull-8 {
+          position: relative;
+          right: 66.66667%;
+          left: auto; }
+
+        .small-push-9 {
+          position: relative;
+          left: 75%;
+          right: auto; }
+
+        .small-pull-9 {
+          position: relative;
+          right: 75%;
+          left: auto; }
+
+        .small-push-10 {
+          position: relative;
+          left: 83.33333%;
+          right: auto; }
+
+        .small-pull-10 {
+          position: relative;
+          right: 83.33333%;
+          left: auto; }
+
+        .small-push-11 {
+          position: relative;
+          left: 91.66667%;
+          right: auto; }
+
+        .small-pull-11 {
+          position: relative;
+          right: 91.66667%;
+          left: auto; }
+
+        .column, .columns {
+          position: relative;
+          padding-left: 0.9375rem;
+          padding-right: 0.9375rem;
+          float: left; }
+
+        .small-1 {
+          width: 8.33333%; }
+
+        .small-2 {
+          width: 16.66667%; }
+
+        .small-3 {
+          width: 25%; }
+
+        .small-4 {
+          width: 33.33333%; }
+
+        .small-5 {
+          width: 41.66667%; }
+
+        .small-6 {
+          width: 50%; }
+
+        .small-7 {
+          width: 58.33333%; }
+
+        .small-8 {
+          width: 66.66667%; }
+
+        .small-9 {
+          width: 75%; }
+
+        .small-10 {
+          width: 83.33333%; }
+
+        .small-11 {
+          width: 91.66667%; }
+
+        .small-12 {
+          width: 100%; }
+
+        .small-offset-0 {
+          margin-left: 0% !important; }
+
+        .small-offset-1 {
+          margin-left: 8.33333% !important; }
+
+        .small-offset-2 {
+          margin-left: 16.66667% !important; }
+
+        .small-offset-3 {
+          margin-left: 25% !important; }
+
+        .small-offset-4 {
+          margin-left: 33.33333% !important; }
+
+        .small-offset-5 {
+          margin-left: 41.66667% !important; }
+
+        .small-offset-6 {
+          margin-left: 50% !important; }
+
+        .small-offset-7 {
+          margin-left: 58.33333% !important; }
+
+        .small-offset-8 {
+          margin-left: 66.66667% !important; }
+
+        .small-offset-9 {
+          margin-left: 75% !important; }
+
+        .small-offset-10 {
+          margin-left: 83.33333% !important; }
+
+        .small-offset-11 {
+          margin-left: 91.66667% !important; }
+
+        .small-reset-order {
+          margin-left: 0;
+          margin-right: 0;
+          left: auto;
+          right: auto;
+          float: left; }
+
+        .column.small-centered, .columns.small-centered {
+          margin-left: auto;
+          margin-right: auto;
+          float: none; }
+
+        .column.small-uncentered, .columns.small-uncentered {
+          margin-left: 0;
+          margin-right: 0;
+          float: left; }
+
+        .column.small-centered:last-child, .columns.small-centered:last-child {
+          float: none; }
+
+        .column.small-uncentered:last-child, .columns.small-uncentered:last-child {
+          float: left; }
+
+        .column.small-uncentered.opposite, .columns.small-uncentered.opposite {
+          float: right; }
+
+        .row.small-collapse > .column, .row.small-collapse > .columns {
+          padding-left: 0;
+          padding-right: 0; }
+        .row.small-collapse .row {
+          margin-left: 0;
+          margin-right: 0; }
+        .row.small-uncollapse > .column, .row.small-uncollapse > .columns {
+          padding-left: 0.9375rem;
+          padding-right: 0.9375rem;
+          float: left; }
+       }
+
+      @media only screen and (min-width:40.063em) {
+        .medium-push-0 {
+          position: relative;
+          left: 0%;
+          right: auto; }
+
+        .medium-pull-0 {
+          position: relative;
+          right: 0%;
+          left: auto; }
+
+        .medium-push-1 {
+          position: relative;
+          left: 8.33333%;
+          right: auto; }
+
+        .medium-pull-1 {
+          position: relative;
+          right: 8.33333%;
+          left: auto; }
+
+        .medium-push-2 {
+          position: relative;
+          left: 16.66667%;
+          right: auto; }
+
+        .medium-pull-2 {
+          position: relative;
+          right: 16.66667%;
+          left: auto; }
+
+        .medium-push-3 {
+          position: relative;
+          left: 25%;
+          right: auto; }
+
+        .medium-pull-3 {
+          position: relative;
+          right: 25%;
+          left: auto; }
+
+        .medium-push-4 {
+          position: relative;
+          left: 33.33333%;
+          right: auto; }
+
+        .medium-pull-4 {
+          position: relative;
+          right: 33.33333%;
+          left: auto; }
+
+        .medium-push-5 {
+          position: relative;
+          left: 41.66667%;
+          right: auto; }
+
+        .medium-pull-5 {
+          position: relative;
+          right: 41.66667%;
+          left: auto; }
+
+        .medium-push-6 {
+          position: relative;
+          left: 50%;
+          right: auto; }
+
+        .medium-pull-6 {
+          position: relative;
+          right: 50%;
+          left: auto; }
+
+        .medium-push-7 {
+          position: relative;
+          left: 58.33333%;
+          right: auto; }
+
+        .medium-pull-7 {
+          position: relative;
+          right: 58.33333%;
+          left: auto; }
+
+        .medium-push-8 {
+          position: relative;
+          left: 66.66667%;
+          right: auto; }
+
+        .medium-pull-8 {
+          position: relative;
+          right: 66.66667%;
+          left: auto; }
+
+        .medium-push-9 {
+          position: relative;
+          left: 75%;
+          right: auto; }
+
+        .medium-pull-9 {
+          position: relative;
+          right: 75%;
+          left: auto; }
+
+        .medium-push-10 {
+          position: relative;
+          left: 83.33333%;
+          right: auto; }
+
+        .medium-pull-10 {
+          position: relative;
+          right: 83.33333%;
+          left: auto; }
+
+        .medium-push-11 {
+          position: relative;
+          left: 91.66667%;
+          right: auto; }
+
+        .medium-pull-11 {
+          position: relative;
+          right: 91.66667%;
+          left: auto; }
+
+        .column, .columns {
+          position: relative;
+          padding-left: 0.9375rem;
+          padding-right: 0.9375rem;
+          float: left; }
+
+        .medium-1 {
+          width: 8.33333%; }
+
+        .medium-2 {
+          width: 16.66667%; }
+
+        .medium-3 {
+          width: 25%; }
+
+        .medium-4 {
+          width: 33.33333%; }
+
+        .medium-5 {
+          width: 41.66667%; }
+
+        .medium-6 {
+          width: 50%; }
+
+        .medium-7 {
+          width: 58.33333%; }
+
+        .medium-8 {
+          width: 66.66667%; }
+
+        .medium-9 {
+          width: 75%; }
+
+        .medium-10 {
+          width: 83.33333%; }
+
+        .medium-11 {
+          width: 91.66667%; }
+
+        .medium-12 {
+          width: 100%; }
+
+        .medium-offset-0 {
+          margin-left: 0% !important; }
+
+        .medium-offset-1 {
+          margin-left: 8.33333% !important; }
+
+        .medium-offset-2 {
+          margin-left: 16.66667% !important; }
+
+        .medium-offset-3 {
+          margin-left: 25% !important; }
+
+        .medium-offset-4 {
+          margin-left: 33.33333% !important; }
+
+        .medium-offset-5 {
+          margin-left: 41.66667% !important; }
+
+        .medium-offset-6 {
+          margin-left: 50% !important; }
+
+        .medium-offset-7 {
+          margin-left: 58.33333% !important; }
+
+        .medium-offset-8 {
+          margin-left: 66.66667% !important; }
+
+        .medium-offset-9 {
+          margin-left: 75% !important; }
+
+        .medium-offset-10 {
+          margin-left: 83.33333% !important; }
+
+        .medium-offset-11 {
+          margin-left: 91.66667% !important; }
+
+        .medium-reset-order {
+          margin-left: 0;
+          margin-right: 0;
+          left: auto;
+          right: auto;
+          float: left; }
+
+        .column.medium-centered, .columns.medium-centered {
+          margin-left: auto;
+          margin-right: auto;
+          float: none; }
+
+        .column.medium-uncentered, .columns.medium-uncentered {
+          margin-left: 0;
+          margin-right: 0;
+          float: left; }
+
+        .column.medium-centered:last-child, .columns.medium-centered:last-child {
+          float: none; }
+
+        .column.medium-uncentered:last-child, .columns.medium-uncentered:last-child {
+          float: left; }
+
+        .column.medium-uncentered.opposite, .columns.medium-uncentered.opposite {
+          float: right; }
+
+        .row.medium-collapse > .column, .row.medium-collapse > .columns {
+          padding-left: 0;
+          padding-right: 0; }
+        .row.medium-collapse .row {
+          margin-left: 0;
+          margin-right: 0; }
+        .row.medium-uncollapse > .column, .row.medium-uncollapse > .columns {
+          padding-left: 0.9375rem;
+          padding-right: 0.9375rem;
+          float: left; }
+
+        .push-0 {
+          position: relative;
+          left: 0%;
+          right: auto; }
+
+        .pull-0 {
+          position: relative;
+          right: 0%;
+          left: auto; }
+
+        .push-1 {
+          position: relative;
+          left: 8.33333%;
+          right: auto; }
+
+        .pull-1 {
+          position: relative;
+          right: 8.33333%;
+          left: auto; }
+
+        .push-2 {
+          position: relative;
+          left: 16.66667%;
+          right: auto; }
+
+        .pull-2 {
+          position: relative;
+          right: 16.66667%;
+          left: auto; }
+
+        .push-3 {
+          position: relative;
+          left: 25%;
+          right: auto; }
+
+        .pull-3 {
+          position: relative;
+          right: 25%;
+          left: auto; }
+
+        .push-4 {
+          position: relative;
+          left: 33.33333%;
+          right: auto; }
+
+        .pull-4 {
+          position: relative;
+          right: 33.33333%;
+          left: auto; }
+
+        .push-5 {
+          position: relative;
+          left: 41.66667%;
+          right: auto; }
+
+        .pull-5 {
+          position: relative;
+          right: 41.66667%;
+          left: auto; }
+
+        .push-6 {
+          position: relative;
+          left: 50%;
+          right: auto; }
+
+        .pull-6 {
+          position: relative;
+          right: 50%;
+          left: auto; }
+
+        .push-7 {
+          position: relative;
+          left: 58.33333%;
+          right: auto; }
+
+        .pull-7 {
+          position: relative;
+          right: 58.33333%;
+          left: auto; }
+
+        .push-8 {
+          position: relative;
+          left: 66.66667%;
+          right: auto; }
+
+        .pull-8 {
+          position: relative;
+          right: 66.66667%;
+          left: auto; }
+
+        .push-9 {
+          position: relative;
+          left: 75%;
+          right: auto; }
+
+        .pull-9 {
+          position: relative;
+          right: 75%;
+          left: auto; }
+
+        .push-10 {
+          position: relative;
+          left: 83.33333%;
+          right: auto; }
+
+        .pull-10 {
+          position: relative;
+          right: 83.33333%;
+          left: auto; }
+
+        .push-11 {
+          position: relative;
+          left: 91.66667%;
+          right: auto; }
+
+        .pull-11 {
+          position: relative;
+          right: 91.66667%;
+          left: auto; }
+       }
+
+      @media only screen and (min-width:64.063em) {
+        .large-push-0 {
+          position: relative;
+          left: 0%;
+          right: auto; }
+
+        .large-pull-0 {
+          position: relative;
+          right: 0%;
+          left: auto; }
+
+        .large-push-1 {
+          position: relative;
+          left: 8.33333%;
+          right: auto; }
+
+        .large-pull-1 {
+          position: relative;
+          right: 8.33333%;
+          left: auto; }
+
+        .large-push-2 {
+          position: relative;
+          left: 16.66667%;
+          right: auto; }
+
+        .large-pull-2 {
+          position: relative;
+          right: 16.66667%;
+          left: auto; }
+
+        .large-push-3 {
+          position: relative;
+          left: 25%;
+          right: auto; }
+
+        .large-pull-3 {
+          position: relative;
+          right: 25%;
+          left: auto; }
+
+        .large-push-4 {
+          position: relative;
+          left: 33.33333%;
+          right: auto; }
+
+        .large-pull-4 {
+          position: relative;
+          right: 33.33333%;
+          left: auto; }
+
+        .large-push-5 {
+          position: relative;
+          left: 41.66667%;
+          right: auto; }
+
+        .large-pull-5 {
+          position: relative;
+          right: 41.66667%;
+          left: auto; }
+
+        .large-push-6 {
+          position: relative;
+          left: 50%;
+          right: auto; }
+
+        .large-pull-6 {
+          position: relative;
+          right: 50%;
+          left: auto; }
+
+        .large-push-7 {
+          position: relative;
+          left: 58.33333%;
+          right: auto; }
+
+        .large-pull-7 {
+          position: relative;
+          right: 58.33333%;
+          left: auto; }
+
+        .large-push-8 {
+          position: relative;
+          left: 66.66667%;
+          right: auto; }
+
+        .large-pull-8 {
+          position: relative;
+          right: 66.66667%;
+          left: auto; }
+
+        .large-push-9 {
+          position: relative;
+          left: 75%;
+          right: auto; }
+
+        .large-pull-9 {
+          position: relative;
+          right: 75%;
+          left: auto; }
+
+        .large-push-10 {
+          position: relative;
+          left: 83.33333%;
+          right: auto; }
+
+        .large-pull-10 {
+          position: relative;
+          right: 83.33333%;
+          left: auto; }
+
+        .large-push-11 {
+          position: relative;
+          left: 91.66667%;
+          right: auto; }
+
+        .large-pull-11 {
+          position: relative;
+          right: 91.66667%;
+          left: auto; }
+
+        .column, .columns {
+          position: relative;
+          padding-left: 0.9375rem;
+          padding-right: 0.9375rem;
+          float: left; }
+
+        .large-1 {
+          width: 8.33333%; }
+
+        .large-2 {
+          width: 16.66667%; }
+
+        .large-3 {
+          width: 25%; }
+
+        .large-4 {
+          width: 33.33333%; }
+
+        .large-5 {
+          width: 41.66667%; }
+
+        .large-6 {
+          width: 50%; }
+
+        .large-7 {
+          width: 58.33333%; }
+
+        .large-8 {
+          width: 66.66667%; }
+
+        .large-9 {
+          width: 75%; }
+
+        .large-10 {
+          width: 83.33333%; }
+
+        .large-11 {
+          width: 91.66667%; }
+
+        .large-12 {
+          width: 100%; }
+
+        .large-offset-0 {
+          margin-left: 0% !important; }
+
+        .large-offset-1 {
+          margin-left: 8.33333% !important; }
+
+        .large-offset-2 {
+          margin-left: 16.66667% !important; }
+
+        .large-offset-3 {
+          margin-left: 25% !important; }
+
+        .large-offset-4 {
+          margin-left: 33.33333% !important; }
+
+        .large-offset-5 {
+          margin-left: 41.66667% !important; }
+
+        .large-offset-6 {
+          margin-left: 50% !important; }
+
+        .large-offset-7 {
+          margin-left: 58.33333% !important; }
+
+        .large-offset-8 {
+          margin-left: 66.66667% !important; }
+
+        .large-offset-9 {
+          margin-left: 75% !important; }
+
+        .large-offset-10 {
+          margin-left: 83.33333% !important; }
+
+        .large-offset-11 {
+          margin-left: 91.66667% !important; }
+
+        .large-reset-order {
+          margin-left: 0;
+          margin-right: 0;
+          left: auto;
+          right: auto;
+          float: left; }
+
+        .column.large-centered, .columns.large-centered {
+          margin-left: auto;
+          margin-right: auto;
+          float: none; }
+
+        .column.large-uncentered, .columns.large-uncentered {
+          margin-left: 0;
+          margin-right: 0;
+          float: left; }
+
+        .column.large-centered:last-child, .columns.large-centered:last-child {
+          float: none; }
+
+        .column.large-uncentered:last-child, .columns.large-uncentered:last-child {
+          float: left; }
+
+        .column.large-uncentered.opposite, .columns.large-uncentered.opposite {
+          float: right; }
+
+        .row.large-collapse > .column, .row.large-collapse > .columns {
+          padding-left: 0;
+          padding-right: 0; }
+        .row.large-collapse .row {
+          margin-left: 0;
+          margin-right: 0; }
+        .row.large-uncollapse > .column, .row.large-uncollapse > .columns {
+          padding-left: 0.9375rem;
+          padding-right: 0.9375rem;
+          float: left; }
+
+        .push-0 {
+          position: relative;
+          left: 0%;
+          right: auto; }
+
+        .pull-0 {
+          position: relative;
+          right: 0%;
+          left: auto; }
+
+        .push-1 {
+          position: relative;
+          left: 8.33333%;
+          right: auto; }
+
+        .pull-1 {
+          position: relative;
+          right: 8.33333%;
+          left: auto; }
+
+        .push-2 {
+          position: relative;
+          left: 16.66667%;
+          right: auto; }
+
+        .pull-2 {
+          position: relative;
+          right: 16.66667%;
+          left: auto; }
+
+        .push-3 {
+          position: relative;
+          left: 25%;
+          right: auto; }
+
+        .pull-3 {
+          position: relative;
+          right: 25%;
+          left: auto; }
+
+        .push-4 {
+          position: relative;
+          left: 33.33333%;
+          right: auto; }
+
+        .pull-4 {
+          position: relative;
+          right: 33.33333%;
+          left: auto; }
+
+        .push-5 {
+          position: relative;
+          left: 41.66667%;
+          right: auto; }
+
+        .pull-5 {
+          position: relative;
+          right: 41.66667%;
+          left: auto; }
+
+        .push-6 {
+          position: relative;
+          left: 50%;
+          right: auto; }
+
+        .pull-6 {
+          position: relative;
+          right: 50%;
+          left: auto; }
+
+        .push-7 {
+          position: relative;
+          left: 58.33333%;
+          right: auto; }
+
+        .pull-7 {
+          position: relative;
+          right: 58.33333%;
+          left: auto; }
+
+        .push-8 {
+          position: relative;
+          left: 66.66667%;
+          right: auto; }
+
+        .pull-8 {
+          position: relative;
+          right: 66.66667%;
+          left: auto; }
+
+        .push-9 {
+          position: relative;
+          left: 75%;
+          right: auto; }
+
+        .pull-9 {
+          position: relative;
+          right: 75%;
+          left: auto; }
+
+        .push-10 {
+          position: relative;
+          left: 83.33333%;
+          right: auto; }
+
+        .pull-10 {
+          position: relative;
+          right: 83.33333%;
+          left: auto; }
+
+        .push-11 {
+          position: relative;
+          left: 91.66667%;
+          right: auto; }
+
+        .pull-11 {
+          position: relative;
+          right: 91.66667%;
+          left: auto; }
+       }
+    #top {
+      font-size: 14px;
+      background: #404650; }
+      #top #logo {
+        position: relative;
+        float: left;
+        width: 123px;
+        height: 55px;
+        margin-right: 14px;
+        z-index: 999;
+        text-indent: -9999px;
+        background: #dc4136 url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE2LjAuNCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHdpZHRoPSI3NXB4IiBoZWlnaHQ9IjE4cHgiIHZpZXdCb3g9IjAgMCA3NSAxOCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNzUgMTgiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8Zz4KCTxwYXRoIGZpbGw9IiNFOUU5RTkiIGQ9Ik01LjQ4Miw0LjQxM0gxLjMxM1YyLjI1MWgxMC44NzN2Mi4xNjFIOC4wNDF2MTIuMjYzSDUuNDgyVjQuNDEzeiIvPgoJPHBhdGggZmlsbD0iI0U5RTlFOSIgZD0iTTExLjk1OCw1Ljg0NmgyLjA5NWwwLjE3NywxLjkxOGgwLjA4OWMwLjc3MS0xLjQxLDEuOTE4LTIuMTgzLDMuMDY1LTIuMTgzYzAuNTUxLDAsMC45MDMsMC4wNjYsMS4yMzQsMC4yMgoJCWwtMC40NDEsMi4yMDZjLTAuMzc1LTAuMTEtMC42NjEtMC4xNzYtMS4xMjUtMC4xNzZjLTAuODU5LDAtMS44OTYsMC41OTUtMi41NTgsMi4yMjh2Ni42MTZoLTIuNTM2VjUuODQ2eiIvPgoJPHBhdGggZmlsbD0iI0U5RTlFOSIgZD0iTTI1LjU0NCw5Ljc1Yy0wLjAyMy0xLjE0Ni0wLjUwOC0yLjExNy0xLjk2NC0yLjExN2MtMS4wOCwwLTIuMDk1LDAuNDg0LTMuMDQzLDEuMDU4bC0wLjkyNy0xLjY5OAoJCWMxLjE5LTAuNzUsMi43MTMtMS40MTEsNC40MzMtMS40MTFjMi43MTQsMCw0LjAzOCwxLjY1NCw0LjAzOCw0LjY3NXY2LjQxOWgtMi4wNzRsLTAuMTk4LTEuMTloLTAuMDY2CgkJYy0wLjk3MSwwLjgxNi0yLjA3MywxLjQ1NS0zLjM1MywxLjQ1NWMtMS44OTcsMC0zLjIyLTEuMjc5LTMuMjItMy4xNzZDMTkuMTcsMTEuNDQ4LDIxLjExMSwxMC4yMzUsMjUuNTQ0LDkuNzV6IE0yMy4xODQsMTQuOTU2CgkJYzAuODgyLDAsMS41NjYtMC40NDEsMi4zNi0xLjE5MXYtMi40MjdjLTIuOTM0LDAuMzc2LTMuOTA0LDEuMTQ3LTMuOTA0LDIuMjI5QzIxLjY0LDE0LjUzNiwyMi4yOCwxNC45NTYsMjMuMTg0LDE0Ljk1NnoiLz4KCTxwYXRoIGZpbGw9IiNFOUU5RTkiIGQ9Ik0yOC44MDYsNS44NDZoMi41ODFsMS43Miw1LjYyNGMwLjI4NywxLjA1OSwwLjYxOCwyLjE2MSwwLjkwNCwzLjI2NWgwLjA4OAoJCWMwLjMxLTEuMTA0LDAuNjE4LTIuMjA2LDAuOTI3LTMuMjY1bDEuNzItNS42MjRoMi40NDhsLTMuNjgzLDEwLjgyOWgtMi45MzRMMjguODA2LDUuODQ2eiIvPgoJPHBhdGggZmlsbD0iI0U5RTlFOSIgZD0iTTQwLjE0NSwyLjUxNmMwLTAuODYsMC42NjEtMS40NTYsMS41NjUtMS40NTZzMS41NjYsMC41OTYsMS41NjYsMS40NTZjMCwwLjgzOC0wLjY2MiwxLjQzNC0xLjU2NiwxLjQzNAoJCVM0MC4xNDUsMy4zNTQsNDAuMTQ1LDIuNTE2eiBNNDAuNDMxLDUuODQ2aDIuNTM3djEwLjgyOWgtMi41MzdWNS44NDZ6Ii8+Cgk8cGF0aCBmaWxsPSIjRTlFOUU5IiBkPSJNNDUuNjEzLDEzLjgwOWMwLjk3LDAuNzQ5LDEuODk2LDEuMjEzLDIuOTk5LDEuMjEzYzEuMTcsMCwxLjcyMS0wLjU1MiwxLjcyMS0xLjMwMQoJCWMwLTAuOTA2LTEuMTY5LTEuMzAzLTIuMzE2LTEuNzQ0Yy0xLjQzNC0wLjUyOS0zLjA0My0xLjM0NC0zLjA0My0zLjE1MmMwLTEuODk4LDEuNTIxLTMuMjQzLDMuOTQ4LTMuMjQzCgkJYzEuNDk5LDAsMi43MTMsMC42MTgsMy41OTQsMS4zMDJsLTEuMTY4LDEuNTQzQzUwLjU5Nyw3Ljg3NSw0OS44MjYsNy41LDQ4Ljk2NSw3LjVjLTEuMDgyLDAtMS41ODgsMC41MDctMS41ODgsMS4xOQoJCWMwLDAuODM5LDEuMDgsMS4xOTEsMi4yNDksMS42MWMxLjQ3OSwwLjU1MiwzLjEwOSwxLjI1OCwzLjEwOSwzLjI4N2MwLDEuODUyLTEuNDc4LDMuMzUyLTQuMjEyLDMuMzUyCgkJYy0xLjQ3OCwwLTMuMDQ0LTAuNjM5LTQuMTAyLTEuNUw0NS42MTMsMTMuODA5eiIvPgoJPHBhdGggZmlsbD0iI0U5RTlFOSIgZD0iTTY1LjE3NiwxLjk4N2MxLjc2NCwwLDMuMTk4LDAuODU5LDQuMTAyLDEuODNsLTEuNDExLDEuNTg4Yy0wLjc1LTAuNzI5LTEuNTY1LTEuMTktMi42NjktMS4xOQoJCWMtMi4zNiwwLTQuMDU4LDEuOTg1LTQuMDU4LDUuMjI4YzAsMy4yODYsMS41NjUsNS4yNywzLjk2OSw1LjI3YzEuMjgsMCwyLjIyOC0wLjUyOCwzLjA0NS0xLjQzMmwxLjQxMSwxLjU2NQoJCWMtMS4xNjksMS4zNDUtMi42NjgsMi4wOTUtNC40OTksMi4wOTVjLTMuNjYxLDAtNi41NTEtMi42NDYtNi41NTEtNy40MzNDNTguNTE1LDQuNzg4LDYxLjQ3LDEuOTg3LDY1LjE3NiwxLjk4N3oiLz4KCTxwYXRoIGZpbGw9IiNFOUU5RTkiIGQ9Ik03MS4xMjgsMi4yNTFoMi41NTl2MTQuNDI0aC0yLjU1OVYyLjI1MXoiLz4KPC9nPgo8L3N2Zz4K') no-repeat 20px 18px; }
+        #top #logo a {
+          display: block; }
+      #top ul {
+        margin: 0;
+        padding: 0;
+        list-style: none;
+        line-height: 30px; }
+      #top #navigation {
+        height: 0;
+        overflow: hidden; }
+        #top #navigation.is-open {
+          height: auto; }
+      #top a, #top span {
+        color: #fff;
+        text-decoration: none; }
+      #top li {
+        border-top: 1px solid #31363d; }
+        #top li a, #top li span {
+          display: block;
+          padding: 0 12px; }
+          #top li a:hover, #top li span:hover {
+            color: #ADC7D0; }
+      #top a.werehiring {
+        background-color: #31363d;
+        border-radius: 4px;
+        padding: 8px 16px;
+        line-height: 20px;
+        margin-right: 80px;
+        display: inline; }
+      #top li.traviscicom a {
+        padding-left: 0px; }
+      @media only screen and (min-width:40.063em) {
+        #top {
+          overflow: visible;
+          height: 55px; }
+          #top #navigation {
+            height: auto;
+            overflow: visible; }
+          #top ul {
+            line-height: 55px;
+            position: relative;
+            top: 3px; }
+          #top li {
+            display: inline-block;
+            border: none; } }
+      @media only screen and (min-width:40.063em) and (max-width:64em) {
+        #top li.traviscicom {
+          display: none; }
+     }
+      #top .nav-burger {
+        overflow: auto; }
+        @media only screen and (min-width:40.063em) {
+          #top .nav-burger {
+            display: none; } }
+      #top #burger {
+        float: right;
+        font-size: 50px;
+        background: none;
+        border: none;
+        line-height: 1;
+        color: #fff;
+        outline: none !important; }
+        #top #burger:before, #top #burger:after {
+          content: "";
+          display: table; }
+        #top #burger:after {
+          clear: both; }
+        #top #burger:hover {
+          cursor: pointer; }
+      #top .menu {
+        position: relative; }
+        #top .menu.signed-out ul {
+          display: none; }
+        #top .menu .handle {
+          margin: 0; }
+        #top .menu:hover > ul {
+          display: block; }
+        #top .menu ul li a {
+          padding-left: 3em; }
+        @media only screen and (min-width:40.063em) {
+          #top .menu ul {
+            display: none;
+            position: absolute;
+            z-index: 300;
+            right: 0px;
+            top: 52px;
+            width: 100%;
+            background-color: #40454f; }
+            #top .menu ul li {
+              display: block; }
+            #top .menu ul li a {
+              display: block;
+              line-height: 24px;
+              white-space: nowrap;
+              padding: 5px 20px; }
+              #top .menu ul li a:hover {
+                background-color: #30343b; }
+     }
+      #top .menu.community {
+        min-width: 120px; }
+      #top .user {
+        text-align: right; }
+      #top .menu.profile .signing-in {
+        background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSI4Ij4KPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOCwgNCkiPgogIDxyZWN0IHg9Ii04IiB5PSItNCIgd2lkdGg9IjUiIGhlaWdodD0iOCI+CiAgICA8YW5pbWF0ZVRyYW5zZm9ybSBpZD0iYSIgYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiB0eXBlPSJzY2FsZSIgZnJvbT0iMSwwLjUiIHRvPSIxIiBkdXI9IjAuNHMiIGJlZ2luPSIwO2IuZW5kIi8+CiAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJmaWxsIiBmcm9tPSIjZWVlIiB0bz0iIzg4OCIgZHVyPSIwLjRzIiBiZWdpbj0iMDtiLmVuZCIvPgogICAgPGFuaW1hdGVUcmFuc2Zvcm0gaWQ9ImIiIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0ic2NhbGUiIGZyb209IjEiIHRvPSIxLDAuNSIgZHVyPSIwLjRzIiBiZWdpbj0iYS5lbmQiLz4KICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImZpbGwiIGZyb209IiM4ODgiIHRvPSIjZWVlIiBkdXI9IjAuNHMiIGJlZ2luPSJhLmVuZCIvPgogIDwvcmVjdD4KICA8cmVjdCB4PSItMiIgeT0iLTQiIHdpZHRoPSI0IiBoZWlnaHQ9IjgiPgogICAgPGFuaW1hdGVUcmFuc2Zvcm0gaWQ9ImMiIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0ic2NhbGUiIGZyb209IjEsMC41IiB0bz0iMSIgZHVyPSIwLjRzIiBiZWdpbj0iMC4xcztkLmVuZCIvPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iZmlsbCIgZnJvbT0iI2VlZSIgdG89IiM4ODgiIGR1cj0iMC40cyIgYmVnaW49IjAuMXM7ZC5lbmQiLz4KICAgIDxhbmltYXRlVHJhbnNmb3JtIGlkPSJkIiBiZWdpbj0iYy5lbmQiIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0ic2NhbGUiIHRvPSIxLDAuNSIgZnJvbT0iMSIgZHVyPSIwLjRzIi8+CiAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJmaWxsIiBmcm9tPSIjODg4IiB0bz0iI2VlZSIgZHVyPSIwLjRzIiBiZWdpbj0iYy5lbmQiLz4KICA8L3JlY3Q+CiAgPHJlY3QgeD0iMyIgeT0iLTQiIHdpZHRoPSI1IiBoZWlnaHQ9IjgiPgogICAgPGFuaW1hdGVUcmFuc2Zvcm0gaWQ9ImUiIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0ic2NhbGUiIGZyb209IjEsMC41IiB0bz0iMSIgZHVyPSIwLjRzIiBiZWdpbj0iMC4ycztmLmVuZCIvPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iZmlsbCIgZnJvbT0iI2VlZSIgdG89IiM4ODgiIGR1cj0iMC40cyIgYmVnaW49IjAuMnM7Zi5lbmQiLz4KICAgIDxhbmltYXRlVHJhbnNmb3JtIGlkPSJmIiBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIHR5cGU9InNjYWxlIiBmcm9tPSIxIiB0bz0iMSwwLjUiIGR1cj0iMC40cyIgYmVnaW49ImUuZW5kIi8+CiAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJmaWxsIiBmcm9tPSIjODg4IiB0bz0iI2VlZSIgZHVyPSIwLjRzIiBiZWdpbj0iZS5lbmQiLz4KICA8L3JlY3Q+CjwvZz4KPC9zdmc+Cgo=') no-repeat 110px 22px; }
+      #top .menu.profile img {
+        width: 30px;
+        height: 30px;
+        border-radius: 100px; }
+      #top .menu.profile ul {
+        min-width: 145px; }
+        #top .menu.profile ul a {
+          padding: 5px 25px 5px 45px; }
+      @media only screen and (min-width:40.063em) {
+        #top .menu.profile {
+          float: right; }
+          #top .menu.profile .handle > * {
+            display: none;
+            padding: 0 15px 0 45px; }
+          #top .menu.profile .signed-out, #top .menu.profile .signing-in {
+            min-width: 110px; }
+          #top .menu.profile.signed-out .signed-out {
+            display: block; }
+          #top .menu.profile.signing-in .signing-in {
+            display: inline-block; }
+          #top .menu.profile.signed-in .signed-in {
+            display: block; } }
+      #top .menu.profile:not(.signed-in):hover ul {
+        display: none; }
+
+    #home #navigation .home, #stats #navigation .stats, #profile #navigation .profile {
+      background-color: transparent; }
+      #home #navigation .home a, #stats #navigation .stats a, #profile #navigation .profile a {
+        color: #ffffff; }
+      #home #navigation .home a:hover, #stats #navigation .stats a:hover, #profile #navigation .profile a:hover {
+        color: #ADC7D0; }
+
+    #top img {
+      margin: 10px 10px 7px 10px;
+      width: 30px;
+      height: 30px;
+      border-radius: 100px; }
+      @media only screen and (min-width:40.063em) {
+        #top img {
+          float: right;
+          margin: 10px 0 0 10px; } }
+
+    .maintenance {
+      height: 100%;
+      overflow: hidden; }
+      .maintenance .full-size {
+        position: absolute;
+        top: 0;
+        height: 100%;
+        width: 100%;
+        overflow: hidden;
+        background-repeat: no-repeat; }
+
+    .main--error {
+      min-height: 100%; }
+
+    .maintenance-text {
+      position: absolute;
+      left: 0;
+      right: 0;
+      z-index: 10; }
+      .maintenance-text h1 {
+        margin: 1em 0 0.4em;
+        font-weight: 600;
+        color: #357389;
+        font-size: 40px;
+        line-height: 1;
+        text-align: center; }
+        @media only screen and (min-width:40.063em) {
+          .maintenance-text h1 {
+            margin: 1.5em 0 0.4em;
+            font-size: 70px; } }
+      .maintenance-text p {
+        padding: 0 1em;
+        color: #9d9fa1;
+        font-size: 18px;
+        text-align: center; }
+      .maintenance-text a {
+        color: #9d9fa1; }
+        .maintenance-text a:hover, .maintenance-text a:focus {
+          color: #9d9fa1;
+          text-decoration: underline; }
+
+    .icon-twitter {
+      display: inline-block;
+      width: 1.1em;
+      height: 1.1em;
+      background-image: url(../images/error/twitter.svg);
+      background-repeat: no-repeat;
+      background-size: 100% auto;
+      background-position: 0 0.2em; }
+
+    .maintenance .maintenance-bg {
+      background: -webkit-linear-gradient(90deg, #8cad7d, #8cad7d 38.9%, #ccebf7 39%, #fff 60%, #fff);
+      background: linear-gradient(0deg, #8cad7d, #8cad7d 38.9%, #ccebf7 39%, #fff 60%, #fff); }
+    .maintenance .hill-left {
+      background-image: url(../images/error/maintenance-hills-left.svg);
+      background-size: 80vw auto;
+      background-position: 0 58%; }
+      @media only screen and (min-width:40.063em) {
+        .maintenance .hill-left {
+          background-size: 58vw auto;
+          background-position: 0 58%; } }
+      @media only screen and (min-width:64.063em) {
+        .maintenance .hill-left {
+          background-size: 50vw auto;
+          background-position: 0 56%; } }
+    .maintenance .hill-right {
+      background-image: url(../images/error/maintenance-hills-right.svg);
+      background-size: 38vw auto;
+      background-position: 99% 59%;
+      display: none; }
+      @media only screen and (min-width:40.063em) {
+        .maintenance .hill-right {
+          display: block; } }
+    .maintenance .shadow-left {
+      background-image: url(../images/error/maintenance-grass-shade-left.svg);
+      background-size: 24vw auto;
+      background-position: 6% 72%; }
+    .maintenance .shadow-right {
+      background-image: url(../images/error/maintenance-grass-shade-right.svg);
+      background-size: 17vw auto;
+      background-position: 95% 79%; }
+    .maintenance .maintenance-tractor {
+      background-image: url(../images/error/maintenance-tractor.svg);
+      background-size: 87vw auto;
+      background-position: 63% 87%; }
+      @media only screen and (min-width:40.063em) {
+        .maintenance .maintenance-tractor {
+          background-size: auto 44vh;
+          background-position: 63% 83%; } }
+    </style>
+
+
+  </head>
+  <body>
+    <div class="application">
+      <div class="ember-view error maintenance">
+        <div id="top">
+          <div class="row">
+            <div class="small-2 medium-2 columns" id="logo">
+              <h1><a href="/" class="ember-view">Home</a></h1>
+            </div>
+            <ul id="navigation">
+              <li><a href="http://blog.travis-ci.com/">Blog</a></li>
+              <li><a href="http://www.traviscistatus.com/">Status</a></li>
+            </ul>
+          </div>
+        </div>
+        <main class="main main--error" role="main">
+          <div class="maintenance-bg full-size">
+            <div class="hill-left full-size"></div>
+            <div class="hill-right full-size"></div>
+            <div class="shadow-left full-size"></div>
+            <div class="shadow-right full-size"></div>
+          </div>
+          <div class="maintenance-tractor full-size"></div>
+          <div class="maintenance-text">
+            <h1>Under Maintenance</h1>
+            <p>Stay up to date with Travis CI by <a href="https://twitter.com/travisci" title="Travis CI on Twitter">following us <span class="icon-twitter"></span></a></p>
+          </div>
+        </main>
+      </div>
+    </div>
+  </body>
+</html>

From 2eb626193d2386c07c1c61be5ca6fa3e9cfe6dd5 Mon Sep 17 00:00:00 2001
From: Lisa Passing <mail@lislis.de>
Date: Mon, 16 Feb 2015 16:27:52 +0100
Subject: [PATCH 23/26] use external css

---
 public/maintenance.html | 1276 +--------------------------------------
 1 file changed, 1 insertion(+), 1275 deletions(-)

diff --git a/public/maintenance.html b/public/maintenance.html
index 66bfa596..b449ebfe 100644
--- a/public/maintenance.html
+++ b/public/maintenance.html
@@ -7,1281 +7,7 @@
     <meta name="viewport" content="width=device-width, initial-scale=1">
 
     <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,800" rel="stylesheet" type="text/css">
-
-    <style>
-    html, body {
-      height: 100%; }
-
-    *, *:before, *:after {
-      box-sizing: border-box; }
-
-    html, body {
-      font-size: 13px; }
-
-    body {
-      background: #fff;
-      color: #666;
-      padding: 0;
-      margin: 0;
-      font-family: 'Source Sans Pro', Helvetica, sans-serif;
-      font-weight: normal;
-      font-style: normal;
-      line-height: 22px;
-      position: relative;
-      cursor: auto; }
-
-
-      .row {
-        width: 100%;
-        margin-left: auto;
-        margin-right: auto;
-        margin-top: 0;
-        margin-bottom: 0;
-        max-width: 100%; }
-        .row:before, .row:after {
-          content: " ";
-          display: table; }
-        .row:after {
-          clear: both; }
-        .row.collapse > .column, .row.collapse > .columns {
-          padding-left: 0;
-          padding-right: 0; }
-        .row.collapse .row {
-          margin-left: 0;
-          margin-right: 0; }
-        .row .row {
-          width: auto;
-          margin-left: -0.9375rem;
-          margin-right: -0.9375rem;
-          margin-top: 0;
-          margin-bottom: 0;
-          max-width: none; }
-          .row .row:before, .row .row:after {
-            content: " ";
-            display: table; }
-          .row .row:after {
-            clear: both; }
-          .row .row.collapse {
-            width: auto;
-            margin: 0;
-            max-width: none; }
-            .row .row.collapse:before, .row .row.collapse:after {
-              content: " ";
-              display: table; }
-            .row .row.collapse:after {
-              clear: both; }
-
-      .column, .columns {
-        padding-left: 0.9375rem;
-        padding-right: 0.9375rem;
-        width: 100%;
-        float: left; }
-
-      [class*="column"] + [class*="column"]:last-child {
-        float: right; }
-
-      [class*="column"] + [class*="column"].end {
-        float: left; }
-
-      @media only screen {
-        .small-push-0 {
-          position: relative;
-          left: 0%;
-          right: auto; }
-
-        .small-pull-0 {
-          position: relative;
-          right: 0%;
-          left: auto; }
-
-        .small-push-1 {
-          position: relative;
-          left: 8.33333%;
-          right: auto; }
-
-        .small-pull-1 {
-          position: relative;
-          right: 8.33333%;
-          left: auto; }
-
-        .small-push-2 {
-          position: relative;
-          left: 16.66667%;
-          right: auto; }
-
-        .small-pull-2 {
-          position: relative;
-          right: 16.66667%;
-          left: auto; }
-
-        .small-push-3 {
-          position: relative;
-          left: 25%;
-          right: auto; }
-
-        .small-pull-3 {
-          position: relative;
-          right: 25%;
-          left: auto; }
-
-        .small-push-4 {
-          position: relative;
-          left: 33.33333%;
-          right: auto; }
-
-        .small-pull-4 {
-          position: relative;
-          right: 33.33333%;
-          left: auto; }
-
-        .small-push-5 {
-          position: relative;
-          left: 41.66667%;
-          right: auto; }
-
-        .small-pull-5 {
-          position: relative;
-          right: 41.66667%;
-          left: auto; }
-
-        .small-push-6 {
-          position: relative;
-          left: 50%;
-          right: auto; }
-
-        .small-pull-6 {
-          position: relative;
-          right: 50%;
-          left: auto; }
-
-        .small-push-7 {
-          position: relative;
-          left: 58.33333%;
-          right: auto; }
-
-        .small-pull-7 {
-          position: relative;
-          right: 58.33333%;
-          left: auto; }
-
-        .small-push-8 {
-          position: relative;
-          left: 66.66667%;
-          right: auto; }
-
-        .small-pull-8 {
-          position: relative;
-          right: 66.66667%;
-          left: auto; }
-
-        .small-push-9 {
-          position: relative;
-          left: 75%;
-          right: auto; }
-
-        .small-pull-9 {
-          position: relative;
-          right: 75%;
-          left: auto; }
-
-        .small-push-10 {
-          position: relative;
-          left: 83.33333%;
-          right: auto; }
-
-        .small-pull-10 {
-          position: relative;
-          right: 83.33333%;
-          left: auto; }
-
-        .small-push-11 {
-          position: relative;
-          left: 91.66667%;
-          right: auto; }
-
-        .small-pull-11 {
-          position: relative;
-          right: 91.66667%;
-          left: auto; }
-
-        .column, .columns {
-          position: relative;
-          padding-left: 0.9375rem;
-          padding-right: 0.9375rem;
-          float: left; }
-
-        .small-1 {
-          width: 8.33333%; }
-
-        .small-2 {
-          width: 16.66667%; }
-
-        .small-3 {
-          width: 25%; }
-
-        .small-4 {
-          width: 33.33333%; }
-
-        .small-5 {
-          width: 41.66667%; }
-
-        .small-6 {
-          width: 50%; }
-
-        .small-7 {
-          width: 58.33333%; }
-
-        .small-8 {
-          width: 66.66667%; }
-
-        .small-9 {
-          width: 75%; }
-
-        .small-10 {
-          width: 83.33333%; }
-
-        .small-11 {
-          width: 91.66667%; }
-
-        .small-12 {
-          width: 100%; }
-
-        .small-offset-0 {
-          margin-left: 0% !important; }
-
-        .small-offset-1 {
-          margin-left: 8.33333% !important; }
-
-        .small-offset-2 {
-          margin-left: 16.66667% !important; }
-
-        .small-offset-3 {
-          margin-left: 25% !important; }
-
-        .small-offset-4 {
-          margin-left: 33.33333% !important; }
-
-        .small-offset-5 {
-          margin-left: 41.66667% !important; }
-
-        .small-offset-6 {
-          margin-left: 50% !important; }
-
-        .small-offset-7 {
-          margin-left: 58.33333% !important; }
-
-        .small-offset-8 {
-          margin-left: 66.66667% !important; }
-
-        .small-offset-9 {
-          margin-left: 75% !important; }
-
-        .small-offset-10 {
-          margin-left: 83.33333% !important; }
-
-        .small-offset-11 {
-          margin-left: 91.66667% !important; }
-
-        .small-reset-order {
-          margin-left: 0;
-          margin-right: 0;
-          left: auto;
-          right: auto;
-          float: left; }
-
-        .column.small-centered, .columns.small-centered {
-          margin-left: auto;
-          margin-right: auto;
-          float: none; }
-
-        .column.small-uncentered, .columns.small-uncentered {
-          margin-left: 0;
-          margin-right: 0;
-          float: left; }
-
-        .column.small-centered:last-child, .columns.small-centered:last-child {
-          float: none; }
-
-        .column.small-uncentered:last-child, .columns.small-uncentered:last-child {
-          float: left; }
-
-        .column.small-uncentered.opposite, .columns.small-uncentered.opposite {
-          float: right; }
-
-        .row.small-collapse > .column, .row.small-collapse > .columns {
-          padding-left: 0;
-          padding-right: 0; }
-        .row.small-collapse .row {
-          margin-left: 0;
-          margin-right: 0; }
-        .row.small-uncollapse > .column, .row.small-uncollapse > .columns {
-          padding-left: 0.9375rem;
-          padding-right: 0.9375rem;
-          float: left; }
-       }
-
-      @media only screen and (min-width:40.063em) {
-        .medium-push-0 {
-          position: relative;
-          left: 0%;
-          right: auto; }
-
-        .medium-pull-0 {
-          position: relative;
-          right: 0%;
-          left: auto; }
-
-        .medium-push-1 {
-          position: relative;
-          left: 8.33333%;
-          right: auto; }
-
-        .medium-pull-1 {
-          position: relative;
-          right: 8.33333%;
-          left: auto; }
-
-        .medium-push-2 {
-          position: relative;
-          left: 16.66667%;
-          right: auto; }
-
-        .medium-pull-2 {
-          position: relative;
-          right: 16.66667%;
-          left: auto; }
-
-        .medium-push-3 {
-          position: relative;
-          left: 25%;
-          right: auto; }
-
-        .medium-pull-3 {
-          position: relative;
-          right: 25%;
-          left: auto; }
-
-        .medium-push-4 {
-          position: relative;
-          left: 33.33333%;
-          right: auto; }
-
-        .medium-pull-4 {
-          position: relative;
-          right: 33.33333%;
-          left: auto; }
-
-        .medium-push-5 {
-          position: relative;
-          left: 41.66667%;
-          right: auto; }
-
-        .medium-pull-5 {
-          position: relative;
-          right: 41.66667%;
-          left: auto; }
-
-        .medium-push-6 {
-          position: relative;
-          left: 50%;
-          right: auto; }
-
-        .medium-pull-6 {
-          position: relative;
-          right: 50%;
-          left: auto; }
-
-        .medium-push-7 {
-          position: relative;
-          left: 58.33333%;
-          right: auto; }
-
-        .medium-pull-7 {
-          position: relative;
-          right: 58.33333%;
-          left: auto; }
-
-        .medium-push-8 {
-          position: relative;
-          left: 66.66667%;
-          right: auto; }
-
-        .medium-pull-8 {
-          position: relative;
-          right: 66.66667%;
-          left: auto; }
-
-        .medium-push-9 {
-          position: relative;
-          left: 75%;
-          right: auto; }
-
-        .medium-pull-9 {
-          position: relative;
-          right: 75%;
-          left: auto; }
-
-        .medium-push-10 {
-          position: relative;
-          left: 83.33333%;
-          right: auto; }
-
-        .medium-pull-10 {
-          position: relative;
-          right: 83.33333%;
-          left: auto; }
-
-        .medium-push-11 {
-          position: relative;
-          left: 91.66667%;
-          right: auto; }
-
-        .medium-pull-11 {
-          position: relative;
-          right: 91.66667%;
-          left: auto; }
-
-        .column, .columns {
-          position: relative;
-          padding-left: 0.9375rem;
-          padding-right: 0.9375rem;
-          float: left; }
-
-        .medium-1 {
-          width: 8.33333%; }
-
-        .medium-2 {
-          width: 16.66667%; }
-
-        .medium-3 {
-          width: 25%; }
-
-        .medium-4 {
-          width: 33.33333%; }
-
-        .medium-5 {
-          width: 41.66667%; }
-
-        .medium-6 {
-          width: 50%; }
-
-        .medium-7 {
-          width: 58.33333%; }
-
-        .medium-8 {
-          width: 66.66667%; }
-
-        .medium-9 {
-          width: 75%; }
-
-        .medium-10 {
-          width: 83.33333%; }
-
-        .medium-11 {
-          width: 91.66667%; }
-
-        .medium-12 {
-          width: 100%; }
-
-        .medium-offset-0 {
-          margin-left: 0% !important; }
-
-        .medium-offset-1 {
-          margin-left: 8.33333% !important; }
-
-        .medium-offset-2 {
-          margin-left: 16.66667% !important; }
-
-        .medium-offset-3 {
-          margin-left: 25% !important; }
-
-        .medium-offset-4 {
-          margin-left: 33.33333% !important; }
-
-        .medium-offset-5 {
-          margin-left: 41.66667% !important; }
-
-        .medium-offset-6 {
-          margin-left: 50% !important; }
-
-        .medium-offset-7 {
-          margin-left: 58.33333% !important; }
-
-        .medium-offset-8 {
-          margin-left: 66.66667% !important; }
-
-        .medium-offset-9 {
-          margin-left: 75% !important; }
-
-        .medium-offset-10 {
-          margin-left: 83.33333% !important; }
-
-        .medium-offset-11 {
-          margin-left: 91.66667% !important; }
-
-        .medium-reset-order {
-          margin-left: 0;
-          margin-right: 0;
-          left: auto;
-          right: auto;
-          float: left; }
-
-        .column.medium-centered, .columns.medium-centered {
-          margin-left: auto;
-          margin-right: auto;
-          float: none; }
-
-        .column.medium-uncentered, .columns.medium-uncentered {
-          margin-left: 0;
-          margin-right: 0;
-          float: left; }
-
-        .column.medium-centered:last-child, .columns.medium-centered:last-child {
-          float: none; }
-
-        .column.medium-uncentered:last-child, .columns.medium-uncentered:last-child {
-          float: left; }
-
-        .column.medium-uncentered.opposite, .columns.medium-uncentered.opposite {
-          float: right; }
-
-        .row.medium-collapse > .column, .row.medium-collapse > .columns {
-          padding-left: 0;
-          padding-right: 0; }
-        .row.medium-collapse .row {
-          margin-left: 0;
-          margin-right: 0; }
-        .row.medium-uncollapse > .column, .row.medium-uncollapse > .columns {
-          padding-left: 0.9375rem;
-          padding-right: 0.9375rem;
-          float: left; }
-
-        .push-0 {
-          position: relative;
-          left: 0%;
-          right: auto; }
-
-        .pull-0 {
-          position: relative;
-          right: 0%;
-          left: auto; }
-
-        .push-1 {
-          position: relative;
-          left: 8.33333%;
-          right: auto; }
-
-        .pull-1 {
-          position: relative;
-          right: 8.33333%;
-          left: auto; }
-
-        .push-2 {
-          position: relative;
-          left: 16.66667%;
-          right: auto; }
-
-        .pull-2 {
-          position: relative;
-          right: 16.66667%;
-          left: auto; }
-
-        .push-3 {
-          position: relative;
-          left: 25%;
-          right: auto; }
-
-        .pull-3 {
-          position: relative;
-          right: 25%;
-          left: auto; }
-
-        .push-4 {
-          position: relative;
-          left: 33.33333%;
-          right: auto; }
-
-        .pull-4 {
-          position: relative;
-          right: 33.33333%;
-          left: auto; }
-
-        .push-5 {
-          position: relative;
-          left: 41.66667%;
-          right: auto; }
-
-        .pull-5 {
-          position: relative;
-          right: 41.66667%;
-          left: auto; }
-
-        .push-6 {
-          position: relative;
-          left: 50%;
-          right: auto; }
-
-        .pull-6 {
-          position: relative;
-          right: 50%;
-          left: auto; }
-
-        .push-7 {
-          position: relative;
-          left: 58.33333%;
-          right: auto; }
-
-        .pull-7 {
-          position: relative;
-          right: 58.33333%;
-          left: auto; }
-
-        .push-8 {
-          position: relative;
-          left: 66.66667%;
-          right: auto; }
-
-        .pull-8 {
-          position: relative;
-          right: 66.66667%;
-          left: auto; }
-
-        .push-9 {
-          position: relative;
-          left: 75%;
-          right: auto; }
-
-        .pull-9 {
-          position: relative;
-          right: 75%;
-          left: auto; }
-
-        .push-10 {
-          position: relative;
-          left: 83.33333%;
-          right: auto; }
-
-        .pull-10 {
-          position: relative;
-          right: 83.33333%;
-          left: auto; }
-
-        .push-11 {
-          position: relative;
-          left: 91.66667%;
-          right: auto; }
-
-        .pull-11 {
-          position: relative;
-          right: 91.66667%;
-          left: auto; }
-       }
-
-      @media only screen and (min-width:64.063em) {
-        .large-push-0 {
-          position: relative;
-          left: 0%;
-          right: auto; }
-
-        .large-pull-0 {
-          position: relative;
-          right: 0%;
-          left: auto; }
-
-        .large-push-1 {
-          position: relative;
-          left: 8.33333%;
-          right: auto; }
-
-        .large-pull-1 {
-          position: relative;
-          right: 8.33333%;
-          left: auto; }
-
-        .large-push-2 {
-          position: relative;
-          left: 16.66667%;
-          right: auto; }
-
-        .large-pull-2 {
-          position: relative;
-          right: 16.66667%;
-          left: auto; }
-
-        .large-push-3 {
-          position: relative;
-          left: 25%;
-          right: auto; }
-
-        .large-pull-3 {
-          position: relative;
-          right: 25%;
-          left: auto; }
-
-        .large-push-4 {
-          position: relative;
-          left: 33.33333%;
-          right: auto; }
-
-        .large-pull-4 {
-          position: relative;
-          right: 33.33333%;
-          left: auto; }
-
-        .large-push-5 {
-          position: relative;
-          left: 41.66667%;
-          right: auto; }
-
-        .large-pull-5 {
-          position: relative;
-          right: 41.66667%;
-          left: auto; }
-
-        .large-push-6 {
-          position: relative;
-          left: 50%;
-          right: auto; }
-
-        .large-pull-6 {
-          position: relative;
-          right: 50%;
-          left: auto; }
-
-        .large-push-7 {
-          position: relative;
-          left: 58.33333%;
-          right: auto; }
-
-        .large-pull-7 {
-          position: relative;
-          right: 58.33333%;
-          left: auto; }
-
-        .large-push-8 {
-          position: relative;
-          left: 66.66667%;
-          right: auto; }
-
-        .large-pull-8 {
-          position: relative;
-          right: 66.66667%;
-          left: auto; }
-
-        .large-push-9 {
-          position: relative;
-          left: 75%;
-          right: auto; }
-
-        .large-pull-9 {
-          position: relative;
-          right: 75%;
-          left: auto; }
-
-        .large-push-10 {
-          position: relative;
-          left: 83.33333%;
-          right: auto; }
-
-        .large-pull-10 {
-          position: relative;
-          right: 83.33333%;
-          left: auto; }
-
-        .large-push-11 {
-          position: relative;
-          left: 91.66667%;
-          right: auto; }
-
-        .large-pull-11 {
-          position: relative;
-          right: 91.66667%;
-          left: auto; }
-
-        .column, .columns {
-          position: relative;
-          padding-left: 0.9375rem;
-          padding-right: 0.9375rem;
-          float: left; }
-
-        .large-1 {
-          width: 8.33333%; }
-
-        .large-2 {
-          width: 16.66667%; }
-
-        .large-3 {
-          width: 25%; }
-
-        .large-4 {
-          width: 33.33333%; }
-
-        .large-5 {
-          width: 41.66667%; }
-
-        .large-6 {
-          width: 50%; }
-
-        .large-7 {
-          width: 58.33333%; }
-
-        .large-8 {
-          width: 66.66667%; }
-
-        .large-9 {
-          width: 75%; }
-
-        .large-10 {
-          width: 83.33333%; }
-
-        .large-11 {
-          width: 91.66667%; }
-
-        .large-12 {
-          width: 100%; }
-
-        .large-offset-0 {
-          margin-left: 0% !important; }
-
-        .large-offset-1 {
-          margin-left: 8.33333% !important; }
-
-        .large-offset-2 {
-          margin-left: 16.66667% !important; }
-
-        .large-offset-3 {
-          margin-left: 25% !important; }
-
-        .large-offset-4 {
-          margin-left: 33.33333% !important; }
-
-        .large-offset-5 {
-          margin-left: 41.66667% !important; }
-
-        .large-offset-6 {
-          margin-left: 50% !important; }
-
-        .large-offset-7 {
-          margin-left: 58.33333% !important; }
-
-        .large-offset-8 {
-          margin-left: 66.66667% !important; }
-
-        .large-offset-9 {
-          margin-left: 75% !important; }
-
-        .large-offset-10 {
-          margin-left: 83.33333% !important; }
-
-        .large-offset-11 {
-          margin-left: 91.66667% !important; }
-
-        .large-reset-order {
-          margin-left: 0;
-          margin-right: 0;
-          left: auto;
-          right: auto;
-          float: left; }
-
-        .column.large-centered, .columns.large-centered {
-          margin-left: auto;
-          margin-right: auto;
-          float: none; }
-
-        .column.large-uncentered, .columns.large-uncentered {
-          margin-left: 0;
-          margin-right: 0;
-          float: left; }
-
-        .column.large-centered:last-child, .columns.large-centered:last-child {
-          float: none; }
-
-        .column.large-uncentered:last-child, .columns.large-uncentered:last-child {
-          float: left; }
-
-        .column.large-uncentered.opposite, .columns.large-uncentered.opposite {
-          float: right; }
-
-        .row.large-collapse > .column, .row.large-collapse > .columns {
-          padding-left: 0;
-          padding-right: 0; }
-        .row.large-collapse .row {
-          margin-left: 0;
-          margin-right: 0; }
-        .row.large-uncollapse > .column, .row.large-uncollapse > .columns {
-          padding-left: 0.9375rem;
-          padding-right: 0.9375rem;
-          float: left; }
-
-        .push-0 {
-          position: relative;
-          left: 0%;
-          right: auto; }
-
-        .pull-0 {
-          position: relative;
-          right: 0%;
-          left: auto; }
-
-        .push-1 {
-          position: relative;
-          left: 8.33333%;
-          right: auto; }
-
-        .pull-1 {
-          position: relative;
-          right: 8.33333%;
-          left: auto; }
-
-        .push-2 {
-          position: relative;
-          left: 16.66667%;
-          right: auto; }
-
-        .pull-2 {
-          position: relative;
-          right: 16.66667%;
-          left: auto; }
-
-        .push-3 {
-          position: relative;
-          left: 25%;
-          right: auto; }
-
-        .pull-3 {
-          position: relative;
-          right: 25%;
-          left: auto; }
-
-        .push-4 {
-          position: relative;
-          left: 33.33333%;
-          right: auto; }
-
-        .pull-4 {
-          position: relative;
-          right: 33.33333%;
-          left: auto; }
-
-        .push-5 {
-          position: relative;
-          left: 41.66667%;
-          right: auto; }
-
-        .pull-5 {
-          position: relative;
-          right: 41.66667%;
-          left: auto; }
-
-        .push-6 {
-          position: relative;
-          left: 50%;
-          right: auto; }
-
-        .pull-6 {
-          position: relative;
-          right: 50%;
-          left: auto; }
-
-        .push-7 {
-          position: relative;
-          left: 58.33333%;
-          right: auto; }
-
-        .pull-7 {
-          position: relative;
-          right: 58.33333%;
-          left: auto; }
-
-        .push-8 {
-          position: relative;
-          left: 66.66667%;
-          right: auto; }
-
-        .pull-8 {
-          position: relative;
-          right: 66.66667%;
-          left: auto; }
-
-        .push-9 {
-          position: relative;
-          left: 75%;
-          right: auto; }
-
-        .pull-9 {
-          position: relative;
-          right: 75%;
-          left: auto; }
-
-        .push-10 {
-          position: relative;
-          left: 83.33333%;
-          right: auto; }
-
-        .pull-10 {
-          position: relative;
-          right: 83.33333%;
-          left: auto; }
-
-        .push-11 {
-          position: relative;
-          left: 91.66667%;
-          right: auto; }
-
-        .pull-11 {
-          position: relative;
-          right: 91.66667%;
-          left: auto; }
-       }
-    #top {
-      font-size: 14px;
-      background: #404650; }
-      #top #logo {
-        position: relative;
-        float: left;
-        width: 123px;
-        height: 55px;
-        margin-right: 14px;
-        z-index: 999;
-        text-indent: -9999px;
-        background: #dc4136 url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE2LjAuNCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHdpZHRoPSI3NXB4IiBoZWlnaHQ9IjE4cHgiIHZpZXdCb3g9IjAgMCA3NSAxOCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNzUgMTgiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8Zz4KCTxwYXRoIGZpbGw9IiNFOUU5RTkiIGQ9Ik01LjQ4Miw0LjQxM0gxLjMxM1YyLjI1MWgxMC44NzN2Mi4xNjFIOC4wNDF2MTIuMjYzSDUuNDgyVjQuNDEzeiIvPgoJPHBhdGggZmlsbD0iI0U5RTlFOSIgZD0iTTExLjk1OCw1Ljg0NmgyLjA5NWwwLjE3NywxLjkxOGgwLjA4OWMwLjc3MS0xLjQxLDEuOTE4LTIuMTgzLDMuMDY1LTIuMTgzYzAuNTUxLDAsMC45MDMsMC4wNjYsMS4yMzQsMC4yMgoJCWwtMC40NDEsMi4yMDZjLTAuMzc1LTAuMTEtMC42NjEtMC4xNzYtMS4xMjUtMC4xNzZjLTAuODU5LDAtMS44OTYsMC41OTUtMi41NTgsMi4yMjh2Ni42MTZoLTIuNTM2VjUuODQ2eiIvPgoJPHBhdGggZmlsbD0iI0U5RTlFOSIgZD0iTTI1LjU0NCw5Ljc1Yy0wLjAyMy0xLjE0Ni0wLjUwOC0yLjExNy0xLjk2NC0yLjExN2MtMS4wOCwwLTIuMDk1LDAuNDg0LTMuMDQzLDEuMDU4bC0wLjkyNy0xLjY5OAoJCWMxLjE5LTAuNzUsMi43MTMtMS40MTEsNC40MzMtMS40MTFjMi43MTQsMCw0LjAzOCwxLjY1NCw0LjAzOCw0LjY3NXY2LjQxOWgtMi4wNzRsLTAuMTk4LTEuMTloLTAuMDY2CgkJYy0wLjk3MSwwLjgxNi0yLjA3MywxLjQ1NS0zLjM1MywxLjQ1NWMtMS44OTcsMC0zLjIyLTEuMjc5LTMuMjItMy4xNzZDMTkuMTcsMTEuNDQ4LDIxLjExMSwxMC4yMzUsMjUuNTQ0LDkuNzV6IE0yMy4xODQsMTQuOTU2CgkJYzAuODgyLDAsMS41NjYtMC40NDEsMi4zNi0xLjE5MXYtMi40MjdjLTIuOTM0LDAuMzc2LTMuOTA0LDEuMTQ3LTMuOTA0LDIuMjI5QzIxLjY0LDE0LjUzNiwyMi4yOCwxNC45NTYsMjMuMTg0LDE0Ljk1NnoiLz4KCTxwYXRoIGZpbGw9IiNFOUU5RTkiIGQ9Ik0yOC44MDYsNS44NDZoMi41ODFsMS43Miw1LjYyNGMwLjI4NywxLjA1OSwwLjYxOCwyLjE2MSwwLjkwNCwzLjI2NWgwLjA4OAoJCWMwLjMxLTEuMTA0LDAuNjE4LTIuMjA2LDAuOTI3LTMuMjY1bDEuNzItNS42MjRoMi40NDhsLTMuNjgzLDEwLjgyOWgtMi45MzRMMjguODA2LDUuODQ2eiIvPgoJPHBhdGggZmlsbD0iI0U5RTlFOSIgZD0iTTQwLjE0NSwyLjUxNmMwLTAuODYsMC42NjEtMS40NTYsMS41NjUtMS40NTZzMS41NjYsMC41OTYsMS41NjYsMS40NTZjMCwwLjgzOC0wLjY2MiwxLjQzNC0xLjU2NiwxLjQzNAoJCVM0MC4xNDUsMy4zNTQsNDAuMTQ1LDIuNTE2eiBNNDAuNDMxLDUuODQ2aDIuNTM3djEwLjgyOWgtMi41MzdWNS44NDZ6Ii8+Cgk8cGF0aCBmaWxsPSIjRTlFOUU5IiBkPSJNNDUuNjEzLDEzLjgwOWMwLjk3LDAuNzQ5LDEuODk2LDEuMjEzLDIuOTk5LDEuMjEzYzEuMTcsMCwxLjcyMS0wLjU1MiwxLjcyMS0xLjMwMQoJCWMwLTAuOTA2LTEuMTY5LTEuMzAzLTIuMzE2LTEuNzQ0Yy0xLjQzNC0wLjUyOS0zLjA0My0xLjM0NC0zLjA0My0zLjE1MmMwLTEuODk4LDEuNTIxLTMuMjQzLDMuOTQ4LTMuMjQzCgkJYzEuNDk5LDAsMi43MTMsMC42MTgsMy41OTQsMS4zMDJsLTEuMTY4LDEuNTQzQzUwLjU5Nyw3Ljg3NSw0OS44MjYsNy41LDQ4Ljk2NSw3LjVjLTEuMDgyLDAtMS41ODgsMC41MDctMS41ODgsMS4xOQoJCWMwLDAuODM5LDEuMDgsMS4xOTEsMi4yNDksMS42MWMxLjQ3OSwwLjU1MiwzLjEwOSwxLjI1OCwzLjEwOSwzLjI4N2MwLDEuODUyLTEuNDc4LDMuMzUyLTQuMjEyLDMuMzUyCgkJYy0xLjQ3OCwwLTMuMDQ0LTAuNjM5LTQuMTAyLTEuNUw0NS42MTMsMTMuODA5eiIvPgoJPHBhdGggZmlsbD0iI0U5RTlFOSIgZD0iTTY1LjE3NiwxLjk4N2MxLjc2NCwwLDMuMTk4LDAuODU5LDQuMTAyLDEuODNsLTEuNDExLDEuNTg4Yy0wLjc1LTAuNzI5LTEuNTY1LTEuMTktMi42NjktMS4xOQoJCWMtMi4zNiwwLTQuMDU4LDEuOTg1LTQuMDU4LDUuMjI4YzAsMy4yODYsMS41NjUsNS4yNywzLjk2OSw1LjI3YzEuMjgsMCwyLjIyOC0wLjUyOCwzLjA0NS0xLjQzMmwxLjQxMSwxLjU2NQoJCWMtMS4xNjksMS4zNDUtMi42NjgsMi4wOTUtNC40OTksMi4wOTVjLTMuNjYxLDAtNi41NTEtMi42NDYtNi41NTEtNy40MzNDNTguNTE1LDQuNzg4LDYxLjQ3LDEuOTg3LDY1LjE3NiwxLjk4N3oiLz4KCTxwYXRoIGZpbGw9IiNFOUU5RTkiIGQ9Ik03MS4xMjgsMi4yNTFoMi41NTl2MTQuNDI0aC0yLjU1OVYyLjI1MXoiLz4KPC9nPgo8L3N2Zz4K') no-repeat 20px 18px; }
-        #top #logo a {
-          display: block; }
-      #top ul {
-        margin: 0;
-        padding: 0;
-        list-style: none;
-        line-height: 30px; }
-      #top #navigation {
-        height: 0;
-        overflow: hidden; }
-        #top #navigation.is-open {
-          height: auto; }
-      #top a, #top span {
-        color: #fff;
-        text-decoration: none; }
-      #top li {
-        border-top: 1px solid #31363d; }
-        #top li a, #top li span {
-          display: block;
-          padding: 0 12px; }
-          #top li a:hover, #top li span:hover {
-            color: #ADC7D0; }
-      #top a.werehiring {
-        background-color: #31363d;
-        border-radius: 4px;
-        padding: 8px 16px;
-        line-height: 20px;
-        margin-right: 80px;
-        display: inline; }
-      #top li.traviscicom a {
-        padding-left: 0px; }
-      @media only screen and (min-width:40.063em) {
-        #top {
-          overflow: visible;
-          height: 55px; }
-          #top #navigation {
-            height: auto;
-            overflow: visible; }
-          #top ul {
-            line-height: 55px;
-            position: relative;
-            top: 3px; }
-          #top li {
-            display: inline-block;
-            border: none; } }
-      @media only screen and (min-width:40.063em) and (max-width:64em) {
-        #top li.traviscicom {
-          display: none; }
-     }
-      #top .nav-burger {
-        overflow: auto; }
-        @media only screen and (min-width:40.063em) {
-          #top .nav-burger {
-            display: none; } }
-      #top #burger {
-        float: right;
-        font-size: 50px;
-        background: none;
-        border: none;
-        line-height: 1;
-        color: #fff;
-        outline: none !important; }
-        #top #burger:before, #top #burger:after {
-          content: "";
-          display: table; }
-        #top #burger:after {
-          clear: both; }
-        #top #burger:hover {
-          cursor: pointer; }
-      #top .menu {
-        position: relative; }
-        #top .menu.signed-out ul {
-          display: none; }
-        #top .menu .handle {
-          margin: 0; }
-        #top .menu:hover > ul {
-          display: block; }
-        #top .menu ul li a {
-          padding-left: 3em; }
-        @media only screen and (min-width:40.063em) {
-          #top .menu ul {
-            display: none;
-            position: absolute;
-            z-index: 300;
-            right: 0px;
-            top: 52px;
-            width: 100%;
-            background-color: #40454f; }
-            #top .menu ul li {
-              display: block; }
-            #top .menu ul li a {
-              display: block;
-              line-height: 24px;
-              white-space: nowrap;
-              padding: 5px 20px; }
-              #top .menu ul li a:hover {
-                background-color: #30343b; }
-     }
-      #top .menu.community {
-        min-width: 120px; }
-      #top .user {
-        text-align: right; }
-      #top .menu.profile .signing-in {
-        background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSI4Ij4KPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOCwgNCkiPgogIDxyZWN0IHg9Ii04IiB5PSItNCIgd2lkdGg9IjUiIGhlaWdodD0iOCI+CiAgICA8YW5pbWF0ZVRyYW5zZm9ybSBpZD0iYSIgYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiB0eXBlPSJzY2FsZSIgZnJvbT0iMSwwLjUiIHRvPSIxIiBkdXI9IjAuNHMiIGJlZ2luPSIwO2IuZW5kIi8+CiAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJmaWxsIiBmcm9tPSIjZWVlIiB0bz0iIzg4OCIgZHVyPSIwLjRzIiBiZWdpbj0iMDtiLmVuZCIvPgogICAgPGFuaW1hdGVUcmFuc2Zvcm0gaWQ9ImIiIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0ic2NhbGUiIGZyb209IjEiIHRvPSIxLDAuNSIgZHVyPSIwLjRzIiBiZWdpbj0iYS5lbmQiLz4KICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImZpbGwiIGZyb209IiM4ODgiIHRvPSIjZWVlIiBkdXI9IjAuNHMiIGJlZ2luPSJhLmVuZCIvPgogIDwvcmVjdD4KICA8cmVjdCB4PSItMiIgeT0iLTQiIHdpZHRoPSI0IiBoZWlnaHQ9IjgiPgogICAgPGFuaW1hdGVUcmFuc2Zvcm0gaWQ9ImMiIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0ic2NhbGUiIGZyb209IjEsMC41IiB0bz0iMSIgZHVyPSIwLjRzIiBiZWdpbj0iMC4xcztkLmVuZCIvPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iZmlsbCIgZnJvbT0iI2VlZSIgdG89IiM4ODgiIGR1cj0iMC40cyIgYmVnaW49IjAuMXM7ZC5lbmQiLz4KICAgIDxhbmltYXRlVHJhbnNmb3JtIGlkPSJkIiBiZWdpbj0iYy5lbmQiIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0ic2NhbGUiIHRvPSIxLDAuNSIgZnJvbT0iMSIgZHVyPSIwLjRzIi8+CiAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJmaWxsIiBmcm9tPSIjODg4IiB0bz0iI2VlZSIgZHVyPSIwLjRzIiBiZWdpbj0iYy5lbmQiLz4KICA8L3JlY3Q+CiAgPHJlY3QgeD0iMyIgeT0iLTQiIHdpZHRoPSI1IiBoZWlnaHQ9IjgiPgogICAgPGFuaW1hdGVUcmFuc2Zvcm0gaWQ9ImUiIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0ic2NhbGUiIGZyb209IjEsMC41IiB0bz0iMSIgZHVyPSIwLjRzIiBiZWdpbj0iMC4ycztmLmVuZCIvPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iZmlsbCIgZnJvbT0iI2VlZSIgdG89IiM4ODgiIGR1cj0iMC40cyIgYmVnaW49IjAuMnM7Zi5lbmQiLz4KICAgIDxhbmltYXRlVHJhbnNmb3JtIGlkPSJmIiBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIHR5cGU9InNjYWxlIiBmcm9tPSIxIiB0bz0iMSwwLjUiIGR1cj0iMC40cyIgYmVnaW49ImUuZW5kIi8+CiAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJmaWxsIiBmcm9tPSIjODg4IiB0bz0iI2VlZSIgZHVyPSIwLjRzIiBiZWdpbj0iZS5lbmQiLz4KICA8L3JlY3Q+CjwvZz4KPC9zdmc+Cgo=') no-repeat 110px 22px; }
-      #top .menu.profile img {
-        width: 30px;
-        height: 30px;
-        border-radius: 100px; }
-      #top .menu.profile ul {
-        min-width: 145px; }
-        #top .menu.profile ul a {
-          padding: 5px 25px 5px 45px; }
-      @media only screen and (min-width:40.063em) {
-        #top .menu.profile {
-          float: right; }
-          #top .menu.profile .handle > * {
-            display: none;
-            padding: 0 15px 0 45px; }
-          #top .menu.profile .signed-out, #top .menu.profile .signing-in {
-            min-width: 110px; }
-          #top .menu.profile.signed-out .signed-out {
-            display: block; }
-          #top .menu.profile.signing-in .signing-in {
-            display: inline-block; }
-          #top .menu.profile.signed-in .signed-in {
-            display: block; } }
-      #top .menu.profile:not(.signed-in):hover ul {
-        display: none; }
-
-    #home #navigation .home, #stats #navigation .stats, #profile #navigation .profile {
-      background-color: transparent; }
-      #home #navigation .home a, #stats #navigation .stats a, #profile #navigation .profile a {
-        color: #ffffff; }
-      #home #navigation .home a:hover, #stats #navigation .stats a:hover, #profile #navigation .profile a:hover {
-        color: #ADC7D0; }
-
-    #top img {
-      margin: 10px 10px 7px 10px;
-      width: 30px;
-      height: 30px;
-      border-radius: 100px; }
-      @media only screen and (min-width:40.063em) {
-        #top img {
-          float: right;
-          margin: 10px 0 0 10px; } }
-
-    .maintenance {
-      height: 100%;
-      overflow: hidden; }
-      .maintenance .full-size {
-        position: absolute;
-        top: 0;
-        height: 100%;
-        width: 100%;
-        overflow: hidden;
-        background-repeat: no-repeat; }
-
-    .main--error {
-      min-height: 100%; }
-
-    .maintenance-text {
-      position: absolute;
-      left: 0;
-      right: 0;
-      z-index: 10; }
-      .maintenance-text h1 {
-        margin: 1em 0 0.4em;
-        font-weight: 600;
-        color: #357389;
-        font-size: 40px;
-        line-height: 1;
-        text-align: center; }
-        @media only screen and (min-width:40.063em) {
-          .maintenance-text h1 {
-            margin: 1.5em 0 0.4em;
-            font-size: 70px; } }
-      .maintenance-text p {
-        padding: 0 1em;
-        color: #9d9fa1;
-        font-size: 18px;
-        text-align: center; }
-      .maintenance-text a {
-        color: #9d9fa1; }
-        .maintenance-text a:hover, .maintenance-text a:focus {
-          color: #9d9fa1;
-          text-decoration: underline; }
-
-    .icon-twitter {
-      display: inline-block;
-      width: 1.1em;
-      height: 1.1em;
-      background-image: url(../images/error/twitter.svg);
-      background-repeat: no-repeat;
-      background-size: 100% auto;
-      background-position: 0 0.2em; }
-
-    .maintenance .maintenance-bg {
-      background: -webkit-linear-gradient(90deg, #8cad7d, #8cad7d 38.9%, #ccebf7 39%, #fff 60%, #fff);
-      background: linear-gradient(0deg, #8cad7d, #8cad7d 38.9%, #ccebf7 39%, #fff 60%, #fff); }
-    .maintenance .hill-left {
-      background-image: url(../images/error/maintenance-hills-left.svg);
-      background-size: 80vw auto;
-      background-position: 0 58%; }
-      @media only screen and (min-width:40.063em) {
-        .maintenance .hill-left {
-          background-size: 58vw auto;
-          background-position: 0 58%; } }
-      @media only screen and (min-width:64.063em) {
-        .maintenance .hill-left {
-          background-size: 50vw auto;
-          background-position: 0 56%; } }
-    .maintenance .hill-right {
-      background-image: url(../images/error/maintenance-hills-right.svg);
-      background-size: 38vw auto;
-      background-position: 99% 59%;
-      display: none; }
-      @media only screen and (min-width:40.063em) {
-        .maintenance .hill-right {
-          display: block; } }
-    .maintenance .shadow-left {
-      background-image: url(../images/error/maintenance-grass-shade-left.svg);
-      background-size: 24vw auto;
-      background-position: 6% 72%; }
-    .maintenance .shadow-right {
-      background-image: url(../images/error/maintenance-grass-shade-right.svg);
-      background-size: 17vw auto;
-      background-position: 95% 79%; }
-    .maintenance .maintenance-tractor {
-      background-image: url(../images/error/maintenance-tractor.svg);
-      background-size: 87vw auto;
-      background-position: 63% 87%; }
-      @media only screen and (min-width:40.063em) {
-        .maintenance .maintenance-tractor {
-          background-size: auto 44vh;
-          background-position: 63% 83%; } }
-    </style>
-
+    <link rel="stylesheet" href="../assets/travis.css">
 
   </head>
   <body>

From 239aab28618e522b6221bd4c3d553179acf38ed6 Mon Sep 17 00:00:00 2001
From: Lisa Passing <mail@lislis.de>
Date: Tue, 17 Feb 2015 14:17:10 +0100
Subject: [PATCH 24/26] add 500.html, delete 500 from app

---
 app/router.coffee          |  1 -
 app/templates/error500.hbs | 11 ----------
 app/views/error500.coffee  |  7 -------
 public/500.html            | 43 ++++++++++++++++++++++++++++++++++++++
 4 files changed, 43 insertions(+), 19 deletions(-)
 delete mode 100644 app/templates/error500.hbs
 delete mode 100644 app/views/error500.coffee
 create mode 100644 public/500.html

diff --git a/app/router.coffee b/app/router.coffee
index 24d337ef..22be0a06 100644
--- a/app/router.coffee
+++ b/app/router.coffee
@@ -52,7 +52,6 @@ Router.map ->
       @resource 'account', path: '/:login'
       @route 'info', path: '/info'
 
-  @route 'error500', path: '/500'
   @route 'error404', path: '/*path'
 
 `export default Router`
diff --git a/app/templates/error500.hbs b/app/templates/error500.hbs
deleted file mode 100644
index de15327b..00000000
--- a/app/templates/error500.hbs
+++ /dev/null
@@ -1,11 +0,0 @@
-<div class="error-bg full-size">
-  <div class="hill-left full-size"></div>
-  <div class="hill-right full-size"></div>
-  <div class="shadow-left full-size"></div>
-  <div class="shadow-right full-size"></div>
-  <div class="road full-size"></div>
-</div>
-<div class="error-text">
-  <h1>Something went wrong</h1>
-  <p>It looks like something went wrong with your request.<br>Please try again later.</p>
-</div>
diff --git a/app/views/error500.coffee b/app/views/error500.coffee
deleted file mode 100644
index c6b7dfb2..00000000
--- a/app/views/error500.coffee
+++ /dev/null
@@ -1,7 +0,0 @@
-`import BasicView from 'travis/views/basic'`
-
-View = BasicView.extend
-  layoutName: 'layouts/error'
-  classNames: ['error error500']
-
-`export default View`
diff --git a/public/500.html b/public/500.html
new file mode 100644
index 00000000..6efdc791
--- /dev/null
+++ b/public/500.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en"><head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>Travis CI - 500</title>
+    <meta name="description" content="">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+
+    <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,800" rel="stylesheet" type="text/css">
+    <link rel="stylesheet" href="../assets/travis.css">
+
+  </head>
+  <body>
+    <div class="application">
+      <div class="ember-view error error500">
+        <div id="top">
+          <div class="row">
+            <div class="small-2 medium-2 columns" id="logo">
+              <h1><a href="/" class="ember-view">Home</a></h1>
+            </div>
+            <ul id="navigation">
+              <li><a href="http://blog.travis-ci.com/">Blog</a></li>
+              <li><a href="http://www.traviscistatus.com/">Status</a></li>
+            </ul>
+          </div>
+        </div>
+        <main class="main main--error" role="main">
+            <div class="error-bg full-size">
+            <div class="hill-left full-size"></div>
+            <div class="hill-right full-size"></div>
+            <div class="shadow-left full-size"></div>
+            <div class="shadow-right full-size"></div>
+            <div class="road full-size"></div>
+          </div>
+          <div class="error-text">
+            <h1>Something went wrong</h1>
+            <p>It looks like something went wrong with your request.<br>Please try again later.</p>
+          </div>
+          </main>
+      </div>
+    </div>
+  </body>
+</html>

From 36059a232960d297c8160bbaede9315943a52e3c Mon Sep 17 00:00:00 2001
From: Piotr Sarnacki <drogus@gmail.com>
Date: Tue, 17 Feb 2015 10:01:03 +0100
Subject: [PATCH 25/26] Deploy maintenance page to S3

---
 .travis.yml             | 16 ++++++++++++++++
 Brocfile.js             | 20 +++++++++++++-------
 public/maintenance.html |  2 +-
 3 files changed, 30 insertions(+), 8 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index ca777b12..328f0908 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -25,3 +25,19 @@ script:
 notifications:
   campfire:
     secure: "JJezWGD9KJY/LC2aznI3Zyohy31VTIhcTKX7RWR4C/C8YKbW9kZv3xV6Vn11\nSHxJTeZo6st2Bpv6tjlWZ+HCR09kyCNavIChedla3+oHOiuL0D4gSo+gkTNW\nUKYZz9mcQUd9RoQpTeyxvdvX+l7z62/7JwFA7txHOqxbTS8jrjc="
+
+before_deploy:
+  - DISABLE_FINGERPRINTS=true ember build --env production
+  # delete some of the stuff that's useless for maintenance page
+  - rm -fr dist/assets/*.js dist/images/emoji dist/index.html dist/images/sponsors
+  - cp dist/maintenance.html dist/index.html
+
+deploy:
+  provider: s3
+  access_key_id: $MAINTENANCE_S3_ACCESS_KEY_ID
+  secret_access_key: $MAINTENANCE_S3_SECRET_ACCESS_KEY
+  bucket: travis-error-pages
+  skip_cleanup: true
+  acl: public_read
+  local_dir: dist
+  region: us-east-1
diff --git a/Brocfile.js b/Brocfile.js
index 7aeb4dc2..328cc541 100644
--- a/Brocfile.js
+++ b/Brocfile.js
@@ -2,16 +2,22 @@
 
 var EmberApp = require('ember-cli/lib/broccoli/ember-app');
 
-var fingerprint = {
-      extensions: ['js', 'css', 'png', 'jpg', 'gif', 'map', 'svg']
-    },
+var fingerprint,
     assetsHost;
 
-if (assetsHost = process.env.ASSETS_HOST) {
-  if (assetsHost.substr(-1) !== '/') {
-    assetsHost = assetsHost + '/'
+if (process.env.DISABLE_FINGERPRINTS) {
+  fingerprint = false;
+} else {
+  fingerprint = {
+    extensions: ['js', 'css', 'png', 'jpg', 'gif', 'map', 'svg']
+  };
+
+  if (assetsHost = process.env.ASSETS_HOST) {
+    if (assetsHost.substr(-1) !== '/') {
+      assetsHost = assetsHost + '/'
+    }
+    fingerprint.prepend = assetsHost
   }
-  fingerprint.prepend = assetsHost
 }
 
 var app = new EmberApp({
diff --git a/public/maintenance.html b/public/maintenance.html
index b449ebfe..2b3b6d28 100644
--- a/public/maintenance.html
+++ b/public/maintenance.html
@@ -7,7 +7,7 @@
     <meta name="viewport" content="width=device-width, initial-scale=1">
 
     <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,800" rel="stylesheet" type="text/css">
-    <link rel="stylesheet" href="../assets/travis.css">
+    <link rel="stylesheet" href="/assets/travis.css">
 
   </head>
   <body>

From 518e99c02f9644068fba601fef3fc76c11b4e0bf Mon Sep 17 00:00:00 2001
From: Piotr Sarnacki <drogus@gmail.com>
Date: Tue, 17 Feb 2015 15:05:33 +0100
Subject: [PATCH 26/26] Use absolute path for 500 error

---
 public/500.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/public/500.html b/public/500.html
index 6efdc791..526b5945 100644
--- a/public/500.html
+++ b/public/500.html
@@ -7,7 +7,7 @@
     <meta name="viewport" content="width=device-width, initial-scale=1">
 
     <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,800" rel="stylesheet" type="text/css">
-    <link rel="stylesheet" href="../assets/travis.css">
+    <link rel="stylesheet" href="/assets/travis.css">
 
   </head>
   <body>