/* HTML5 ✰ Boilerplate
 * ==|== normalize ==========================================================
 */

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
audio:not([controls]) { display: none; }
[hidden] { display: none; }

html { font-size: 100%; overflow-y: scroll; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body { margin: 0; font-size: 13px; line-height: 1.231; }
body, button, input, select, textarea { font-family: sans-serif; color: #222; }

::-moz-selection { background: #c56f3e; color: #fff; text-shadow: none; }
::selection { background: #c56f3e; color: #fff; text-shadow: none; }

a { color: #00e; }
a:visited { color: #551a8b; }
a:hover { color: #06e; }
a:focus { outline: thin dotted; }
a:hover, a:active { outline: 0; }

abbr[title] { border-bottom: 1px dotted; }
b, strong { font-weight: bold; }
blockquote { margin: 1em 40px; }
dfn { font-style: italic; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
ins { background: #ff9; color: #000; text-decoration: none; }
mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }
pre, code, kbd, samp { font-family: monospace, monospace; _font-family: 'courier new', monospace; font-size: 1em; }
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
q { quotes: none; }
q:before, q:after { content: ""; content: none; }
small { font-size: 85%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
dd { margin: 0 0 0 40px; }
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }
img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }
svg:not(:root) { overflow: hidden; }
figure { margin: 0; }

form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }
label { cursor: pointer; }
legend { border: 0; *margin-left: -7px; padding: 0; }
button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
button, input { line-height: normal; *overflow: visible; }
table button, table input { *overflow: auto; }
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; }
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top; resize: vertical; }
input:valid, textarea:valid {  }
input:invalid, textarea:invalid { background-color: #f0dddd; }

table { border-collapse: collapse; border-spacing: 0; }
td { vertical-align: top; }

/* ==|== animation keyframes ================================================
   ========================================================================== */

@-webkit-keyframes kf-burst {
  from {-webkit-transform:rotate(0deg);}
  to {-webkit-transform:rotate(360deg);}
}

@-moz-keyframes kf-burst {
  from {-moz-transform:rotate(0deg);}
  to {-moz-transform:rotate(360deg);}
}

@-webkit-keyframes kf-bubbles {
  from {top:-275px; opacity:0;}
  20% {opacity:1;}
  75% {opacity:0;}
  to {top:-495px;opacity:0;}
}

@-moz-keyframes kf-bubbles {
  from {top:-275px; opacity:0;}
  20% {opacity:1;}
  75% {opacity:0;}
  to {top:-495px;opacity:0;}
}

@-webkit-keyframes kf-cloud-big {
  from {left:50%;}
  to {left:100%;}
}

@-moz-keyframes kf-cloud-big {
  from {left:50%;}
  to {left:100%;}
}

@-webkit-keyframes kf-cloud-bigger {
  from {left:5%;}
  to {left:100%;}
}

@-moz-keyframes kf-cloud-bigger {
  from {left:5%;}
  to {left:100%;}
}

@-webkit-keyframes kf-cloud-medium {
  from {left:20%;}
  to {left:100%;}
}

@-moz-keyframes kf-cloud-medium {
  from {left:20%;}
  to {left:100%;}
}

@-webkit-keyframes kf-cloud-small {
  from {left:60%;}
  to {left:100%;}
}

@-moz-keyframes kf-cloud-small {
  from {left:60%;}
  to {left:100%;}
}

@-webkit-keyframes kf-delorean {
  from {margin-left:-40px;top:55px;}
  50% {margin-left:-40px;top:20px;}
  to {margin-left:-1500px;top:-170px;}
}

@-moz-keyframes kf-delorean {
  from {margin-left:-40px;top:55px;}
  50% {margin-left:-40px;top:20px;}
  to {margin-left:-1500px;top:-170px;}
}

@-webkit-keyframes kf-delorean2 {
  from {margin-left:-100%;}
  80% {margin-left:-100%;top:350px;}
  to {margin-left:100%;top:150px;}
}

@-moz-keyframes kf-delorean2 {
  from {margin-left:-100%;}
  80% {margin-left:-100%;top:350px;}
  to {margin-left:100%;top:150px;}
}

@-webkit-keyframes kf-delorean-container {
  from {z-index:0;}
  20% {z-index:2000;}
  80% {z-index:2000;}
  to {z-index:0;}
}

@-moz-keyframes kf-delorean-container {
  from {z-index:0;}
  20% {z-index:2000;}
  80% {z-index:2000;}
  to {z-index:0;}
}

@-webkit-keyframes kf-delorean-shadow {
  from {margin-left:-35px;}
  50% {margin-left:-35px;}
  to {margin-left:-1500px;}
}

@-moz-keyframes kf-delorean-shadow {
  from {margin-left:-35px;}
  50% {margin-left:-35px;}
  to {margin-left:-1500px;}
}

@-webkit-keyframes kf-elabs {
  from {-webkit-transform:rotate(0deg);-webkit-transform-origin: 0 100%;}
  to {-webkit-transform:rotate(-5deg);-webkit-transform-origin: 0 100%;}
}

@-moz-keyframes kf-elabs {
  from {-moz-transform:rotate(0deg);-moz-transform-origin: 0 100%;}
  to {-moz-transform:rotate(-5deg);-moz-transform-origin: 0 100%;}
}

@-webkit-keyframes kf-fadeout {
  from {opacity:1;}
  90% {opacity:1;}
  to {opacity:0;}
}

@-moz-keyframes kf-fadeout {
  from {opacity:1;}
  90% {opacity:1;}
  to {opacity:0;}
}

@-webkit-keyframes kf-fish {
  from {right:-20%;}
  to {right:120%;}
}

@-moz-keyframes kf-fish {
  from {right:-20%;}
  to {right:120%;}
}

@-webkit-keyframes kf-helicopter {
  from {top:350px;}
  50% {top:345px;}
  to {top:350px;}
}

@-moz-keyframes kf-helicopter {
  from {top:350px;}
  50% {top:345px;}
  to {top:350px;}
}

@-webkit-keyframes kf-jellyfish {
  from {top:595px;}
  50% {top:600px;}
  to {top:605px;}
}

@-moz-keyframes kf-jellyfish {
  from {top:595px;}
  50% {top:600px;}
  to {top:605px;}
}

@-webkit-keyframes kf-lighthouse-light {
  from {-webkit-transform:rotateY(0deg);}
  to {-webkit-transform:rotateY(360deg);}
}

@-moz-keyframes kf-lighthouse-light {
  from {-moz-transform:rotateY(0deg);}
  to {-moz-transform:rotateY(360deg);}
}

@-webkit-keyframes kf-llama {
  from {top:1510px;}
  50% {top:1520px;}
  to {top:1510px;}
}

@-moz-keyframes kf-llama {
  from {top:1510px;}
  50% {top:1520px;}
  to {top:1510px;}
}

@-webkit-keyframes kf-llama-bubbles {
  from {top:1346px; opacity:0;}
  20% {opacity:1;}
  75% {opacity:0;}
  to {top:1206px;opacity:0;}
}

@-moz-keyframes kf-llama-bubbles {
  from {top:1300px;opacity:0;}
  10% {opacity:1;}
  75% {opacity:0;}
  to {top:1106px;opacity:0;}
}

@-webkit-keyframes kf-shake {
  from {margin-left:-468px;top:-230px;}
  50% {margin-left:-470px;top:-231px;}
  to {margin-left:-466px;top:-230px;}
}

@-moz-keyframes kf-shake {
  from {margin-left:-468px;top:-230px;}
  50% {margin-left:-470px;top:-231px;}
  to {margin-left:-466px;top:-230px;}
}

@-webkit-keyframes kf-smoke {
  from {top:-130px;opacity:1;}
  90% {opacity:1;}
  to {top:-210px;opacity:0;}
}

@-moz-keyframes kf-smoke {
  from {top:-130px;opacity:1;}
  90% {opacity:1;}
  to {top:-210px;opacity:0;}
}

@-webkit-keyframes kf-shake2 {
  from {margin-left:-40px;}
  50% {margin-left:-42px;}
  to {margin-left:-38px;}
}

@-moz-keyframes kf-shake2 {
  from {margin-left:-40px;}
  50% {margin-left:-42px;}
  to {margin-left:-38px;}
}

@-webkit-keyframes kf-ship {
  from {-webkit-transform:rotate(0deg);}
  25% {-webkit-transform:rotate(-5deg);}
  75% {-webkit-transform:rotate(0deg);}
  to {-webkit-transform:rotate(5deg);}
}

@-moz-keyframes kf-ship {
  from {-moz-transform:rotate(0deg);}
  25% {-moz-transform:rotate(-5deg);}
  75% {-moz-transform:rotate(0deg);}
  to {-moz-transform:rotate(5deg);}
}

@-webkit-keyframes kf-tentacle {
  from {top:139px;-webkit-transform:rotate(0deg);}
  80% {top:139px;-webkit-transform:rotate(0deg);}
  90% {top:49px;-webkit-transform:rotate(0deg);}
  99% {top:49px;-webkit-transform:rotate(0deg);}
  to {top:49px;-webkit-transform:rotate(5deg);}
}

@-moz-keyframes kf-tentacle {
  from {top:139px;-moz-transform:rotate(0deg);}
  80% {top:139px;-moz-transform:rotate(0deg);}
  90% {top:49px;-moz-transform:rotate(0deg);}
  99% {top:49px;-moz-transform:rotate(0deg);}
  to {top:49px;-moz-transform:rotate(5deg);}
}

@-webkit-keyframes kf-ticket {
  from {top:280px;opacity:0;}
  50% {top:280px;opacity:0;}
  51% {opacity:1;}
  to {top:-170px;}
}

@-moz-keyframes kf-ticket {
  from {top:280px;opacity:0;}
  50% {top:280px;opacity:0;}
  51% {opacity:1;}
  to {top:-170px;}
}

@-webkit-keyframes kf-ticket-waves {
  from {opacity:0;}
  to {opacity:1;}
}

@-moz-keyframes kf-ticket-waves {
  from {opacity:0;}
  to {opacity:1;}
}

@-webkit-keyframes kf-wash {
  from {opacity:0;}
  80% {opacity:1;}
  to {opacity:0;}
}

@-moz-keyframes kf-wash {
  from {opacity:0;}
  80% {opacity:1;}
  to {opacity:0;}
}

@-webkit-keyframes kf-whiteout {
  from {opacity:0;z-index:1000;}
  5% {opacity:.2;}
  10% {opacity:0;}
  20% {opacity:.4;}
  30% {opacity:.2;}
  50% {opacity:1;}
  to {opacity:1;z-index:1000;}
}

@-moz-keyframes kf-whiteout {
  from {opacity:0;z-index:1000;}
  5% {opacity:.2;}
  10% {opacity:0;}
  20% {opacity:.4;}
  30% {opacity:.2;}
  50% {opacity:1;}
  to {opacity:1;z-index:1000;}
}

@-webkit-keyframes kf-whiteout-full {
  from {opacity:0;z-index:1000;}
  90% {opacity:1;}
  95% {opacity:1;z-index:1000;}
  to {opacity:0;z-index:0;}
}

@-moz-keyframes kf-whiteout-full {
  from {opacity:0;z-index:1000;}
  80% {opacity:1;}
  90% {opacity:1;z-index:1000;}
  to {opacity:0;z-index:0;}
}


/* ==|== primary styles =====================================================
   ========================================================================== */
   
html, body {
  background: #c56f3e;
  height: 100%;
  margin: 0;
  padding: 0;
}

#container {
  height: 3158px;
  min-width: 1100px;
  overflow: hidden;
  width: 100%;
}

#whiteout {
  background: transparent -moz-radial-gradient(#fff, #fff 50%, transparent) no-repeat scroll 0 -1070px;
  background: transparent -webkit-radial-gradient(#fff, #fff 50%, transparent) no-repeat scroll 0 -1070px;
  height: 3158px;
  left: 0;
  min-width: 1100px;
  opacity: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}

#whiteout-full {
  background: #fff;
  height: 3158px;
  left: 0;
  min-width: 1100px;
  opacity: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}

#sky {
  background: transparent url(../im/sky-long.gif) repeat-x scroll 0 0;
  height: 453px;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

#sky p, #sky p a, #sky p a:hover, #sky p a:visited {
  color: #742b0b;
  font-size: 16px;
  font-weight: bold;
  margin-top: 120px;
  position: relative;
  text-align: center;
  text-decoration: none;
  text-shadow: 0 1px 1px rgba(255,255,255,0.4);
  text-transform: uppercase;
  z-index: 18;
}

#sky h1 {
  left: 50%;
  margin: 0 0 0 -238px;
  position: absolute;
  top: 180px;
  z-index: 20;
}

#sky #compass {
  position: absolute;
  right: 5%;
  top: 50px;
  z-index: 19;
}

#sky #burst {
  display: block;
  left: 50%;
  margin: 0 0 0 -394px;
  position: absolute;
  top: 60px;
  z-index: 2;
  
  /* animation */
    -webkit-animation-name: kf-burst;
    -moz-animation-name: kf-burst;
    -webkit-animation-duration: 200s;
    -moz-animation-duration: 200s;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
}

.clouds {
   /* animation */
  -webkit-animation-duration: 700s;
  -moz-animation-duration: 700s;
  -webkit-animation-iteration-count: infinite;
  -moz-animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  -moz-animation-timing-function: linear;
}

#sky #cloud-medium {
   left: 5%;
   position: absolute;
   top: 40px;
   z-index: 3;
   
   /* animation */
     -webkit-animation-name: kf-cloud-medium;
     -moz-animation-name: kf-cloud-medium;
}

#sky #cloud-small {
   left: 60%;
   position: absolute;
   top: 130px;
   z-index: 3;
   
   /* animation */
     -webkit-animation-name: kf-cloud-small;
     -moz-animation-name: kf-cloud-small;
}

#sky #cloud-bigger {
   left: 5%;
   position: absolute;
   top: 200px;
   z-index: 3;
   
   /* animation */
     -webkit-animation-name: kf-cloud-bigger;
     -moz-animation-name: kf-cloud-bigger;
}

#sky #cloud-big {
   left: 50%;
   position: absolute;
   top: 280px;
   z-index: 3;
   
   /* animation */
     -webkit-animation-name: kf-cloud-big;
     -moz-animation-name: kf-cloud-big;
}

#sky #helicopter {
  left: 50%;
  margin-left: -350px;
  position: absolute;
  top: 350px;
  
  /* animation */
    -webkit-animation-name: kf-helicopter;
    -moz-animation-name: kf-helicopter;
    -webkit-animation-duration: 5s;
    -moz-animation-duration: 5s;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
}

#horizon {
  background: transparent url(../im/horizon.png) repeat-x scroll 0 0;
  height: 82px;
  margin-top: -30px;
  margin-bottom: -1px;
  position: relative;
  z-index: 10;
}

#sea {
  background: transparent url(../im/sea-slice.png) repeat-x scroll 0 0;
  height: 2521px;
  margin: 0 0 -1px 0;
  position: relative;
  z-index: 10;
}

.lighthouse-cluster  {
  position: absolute;
  left: 50%;
  margin-left: -530px;
  z-index: 20;
}

#lighthouse-wash {
  /* animation */
    -webkit-animation-name: kf-wash;
    -moz-animation-name: kf-wash;
    -webkit-animation-duration: 5s;
    -moz-animation-duration: 5s;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
}

#lighthouse-light {
  /* animation */
    -webkit-animation-name: kf-lighthouse-light;
    -moz-animation-name: kf-lighthouse-light;
    -webkit-animation-duration: 10s;
    -moz-animation-duration: 10s;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
}

#the-island, #the-island-wash {
  left: 50%;
  margin-left: -468px;
  position: absolute;
  top: -230px;
  z-index: 50;
}

#smoke {
  left: 50%;
  margin-left: -180px;
  opacity: 0;
  position: absolute;
  top: -130px;
  
  /* animation */
    -webkit-animation-name: kf-smoke;
    -moz-animation-name: kf-smoke;
    -webkit-animation-duration: 8s;
    -moz-animation-duration: 8s;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
}

#the-island-wash {
  /* animation */
    -webkit-animation-name: kf-wash;
    -moz-animation-name: kf-wash;
    -webkit-animation-duration: 5s;
    -moz-animation-duration: 5s;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
}

#ship {
  position: absolute;
  left: 50%;
  margin-left: 190px;
  top: 60px;
  z-index: 52;
  
  /* animation */
    -webkit-animation-name: kf-ship;
    -moz-animation-name: kf-ship;
    -webkit-animation-duration: 10s;
    -moz-animation-duration: 10s;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
    -webkit-animation-direction: alternate;
    -moz-animation-direction: alternate;
}

#tentacle {
  position: absolute;
  left: 50%;
  margin-left: 150px;
  top: 139px;
  z-index: 50;
  
  /* animation */
    -webkit-animation-name: kf-tentacle;
    -moz-animation-name: kf-tentacle;
    -webkit-animation-duration: 8s;
    -moz-animation-duration: 8s;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
    -webkit-animation-direction: alternate;
    -moz-animation-direction: alternate;
}

#tentacle-sea {
  position: absolute;
  left: 50%;
  margin-left: 140px;
  top: 128px;
  z-index: 51;
}

#delorean {
  left: 50%;
  margin-left: -40px;
  position: absolute;
  top: 55px;
  z-index: 100;
}

#delorean-shadow {
  left: 50%;
  margin-left: -35px;
  position: absolute;
  top: 68px;
  z-index: 99;
}

#delorean-container {
  height: 450px;
  left: 0;
  min-width: 1100px;
  overflow: hidden;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}

#delorean2 {
  left: 50%;
  margin-left: -100%;
  position: absolute;
  top: 250px;
  z-index: 1200;
}

#waves {
  background: transparent url(../im/waves.png) repeat-x scroll 0 0;
  height: 224px;
  position: relative;
  top: -30px;
  z-index: 10;
}

#fin {
  left: 15%;
  position: relative;
  top: 150px;
}

#yes-no {
  left: 50%;
  margin-left: -267px;
  position: absolute;
  top: 250px;
  z-index: 300;
}

#yes-no img {
  float: left;
  padding: 5px 20px 0 0;
}

#yes, #no {
  display: inline-block;
  float: left;
  height: 44px;
  width: 70px;
}

#yes {
  background: transparent url(../im/yes-no.png) no-repeat scroll 0 -41px;
  margin-right: 10px;
}

#yes:active {
  background: transparent url(../im/yes-no.png) no-repeat scroll 0 0;
  height: 41px;
  position: relative;
  top: 3px;
}

#no {
  background: transparent url(../im/yes-no.png) no-repeat scroll -70px -41px;
}

#no:active {
  background: transparent url(../im/yes-no.png) no-repeat scroll -70px 0;
  height: 41px;
  position: relative;
  top: 3px
}

#tickets {
  background: transparent url(../im/ticket.png) no-repeat scroll 0 0;
  left: 50%;
  height: 454px;
  opacity: 0;
  position: absolute;
  margin-left: -290px;
  top: 280px;
  width: 580px;
  z-index: 100;
}

#tickets p {
  color: #4c431c;
  font-size: 1.1em;
  font-weight: bold;
  text-align: center;
  text-shadow: 0 1px 0 rgba(255,255,255,0.5);
  text-transform: uppercase;
  width: 400px;
}

#tickets > p {
  margin: 300px auto 0;
}

#tickets #tito-register-form {
  left: 50%;
  margin-left: -250px;
  position: absolute;
  top: 370px;
  width: 500px;
}

#tickets #tito-register-form p {
  margin: 20px auto 0;
}

#tickets #tito-register-form .ticket-name {
  display: none;
}

#tickets #tito-register-form .tickets-purchase-wrap dl.ticket,
#tickets #tito-register-form .tickets-purchase-wrap dl.ticket dt,
#tickets #tito-register-form .tickets-purchase-wrap dl.ticket dd,
#tickets #tito-register-form .tickets-purchase-wrap > div,
#tickets #tito-register-form .tickets-purchase-wrap > div > input {
  float: left;
  margin: 0;
  padding: 0;
}

#tickets #tito-register-form .tickets-purchase-wrap fieldset.buttons {
  float: right;
}

#tickets #tito-register-form .tickets-purchase-wrap dl.ticket dd.ticket-price:before {
  content: "Number of tickets @";
}

#tickets #tito-register-form .tickets-purchase-wrap dl.ticket dd.ticket-price {
  color: #4c431c;;
  font-size: 1.3em;
  font-weight: bold;
  padding: 14px 20px 14px 0;
  text-shadow: 0 1px 0 rgba(255,255,255,0.5);
  text-transform: uppercase;
}

#tickets #tito-register-form .tickets-purchase-wrap input#ticket_0 {
  background: transparent url(../im/ticket-quantity.png) no-repeat scroll 0 0;
  border: none;
  font-size: 1.5em;
  padding: 12px 0;
  text-align: center;
  width: 60px;
}

#tickets #tito-register-form .tickets-purchase-wrap fieldset.buttons input {
  background: transparent url(../im/ticket-order.png) no-repeat scroll 0 -41px;
  border: none;
  height: 44px;
  text-indent: -99999px;
  width: 140px;
}

#tickets #tito-register-form .tickets-purchase-wrap fieldset.buttons input:active {
  background: transparent url(../im/ticket-order.png) no-repeat scroll 0 0;
  height: 41px;
  position: relative;
  top: 3px;
}

#ticket-waves {
  left: 50%;
  margin-left: -600px;
  opacity: 0;
  position: absolute;
  top: 248px;
  z-index: 200;
}

#seabed {
  background: transparent url(../im/seabed.png) repeat-x scroll 0 0;
  bottom: 0;
  height: 135px;
  position: relative;
  z-index: 10;
}

.fish {
  position: absolute;
  right: -20%;
  top: 1000px;
  
  /* animation */
     -webkit-animation-name: kf-fish;
     -moz-animation-name: kf-fish;
}

#fish1 {
  /* animation */
    -webkit-animation-duration: 10s;
    -moz-animation-duration: 10s;
    -webkit-animation-delay: .5s;
    -moz-animation-delay: .5s;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
}

#fish2 {  
  /* animation */
     -webkit-animation-duration: 12s;
     -moz-animation-duration: 12s;
     -webkit-animation-iteration-count: infinite;
     -moz-animation-iteration-count: infinite;
     -webkit-animation-timing-function: linear;
     -moz-animation-timing-function: linear;
}

#jellyfish {
  position: absolute;
  left: 20%;
  top: 600px;
  
  /* animation */
     -webkit-animation-name: kf-jellyfish;
     -moz-animation-name: kf-jellyfish;
     -webkit-animation-duration: 2s;
     -moz-animation-duration: 2s;
     -webkit-animation-iteration-count: infinite;
     -moz-animation-iteration-count: infinite;
     -webkit-animation-timing-function: linear;
     -moz-animation-timing-function: linear;
     -webkit-animation-direction: alternate;
     -moz-animation-direction: alternate;
}

#llama {
  position: absolute;
  right: 20%;
  top: 1500px;
  
  /* animation */
     -webkit-animation-name: kf-llama;
     -moz-animation-name: kf-llama;
     -webkit-animation-duration: 2s;
     -moz-animation-duration: 2s;
     -webkit-animation-iteration-count: infinite;
     -moz-animation-iteration-count: infinite;
     -webkit-animation-timing-function: linear;
     -moz-animation-timing-function: linear;
     -webkit-animation-direction: alternate;
     -moz-animation-direction: alternate;
}

#llama-bubbles {
  opacity: 0;
  position: absolute;
  right: 20%;
  top: 1346px;
  
  /* animation */
     -webkit-animation-name: kf-llama-bubbles;
     -moz-animation-name: kf-llama-bubbles;
     -webkit-animation-duration: 10s;
     -moz-animation-duration: 10s;
     -webkit-animation-iteration-count: infinite;
     -moz-animation-iteration-count: infinite;
     -webkit-animation-timing-function: linear;
     -moz-animation-timing-function: linear;
}

#sponsored-by {
  bottom: 330px;
  left: 50%;
  margin-left: -97px;
  position: absolute;
  z-index: 50;
}

#bubbles1 {
  left: 50%;
  margin-left: -385px;
  position: absolute;
  top: -325px;
  z-index: 51;
}

.bubbles {
  left: 50%;
  margin-left: -400px;
  opacity: 0;
  position: absolute;
  top: -275px;
  z-index: 50;

  /* animation */
     -webkit-animation-name: kf-bubbles;
     -moz-animation-name: kf-bubbles;
}

#bubbles2 {
  /* animation */
     -webkit-animation-duration: 20s;
     -moz-animation-duration: 20s;
     -webkit-animation-iteration-count: infinite;
     -moz-animation-iteration-count: infinite;
     -webkit-animation-timing-function: linear;
     -moz-animation-timing-function: linear;
}

#bubbles3 {
  /* animation */
     -webkit-animation-duration: 10s;
     -moz-animation-duration: 10s;
     -webkit-animation-iteration-count: infinite;
     -moz-animation-iteration-count: infinite;
     -webkit-animation-timing-function: linear;
     -moz-animation-timing-function: linear;
     -webkit-animation-delay: 5s;
     -moz-animation-delay: 5s;
}

#elabs {
  left: 50%;
  margin-left: -190px;
  position: absolute;
  top: -152px;
  z-index: 50;
  
  /* animation */
    -webkit-animation-name: kf-elabs;
    -moz-animation-name: kf-elabs;
    -webkit-animation-duration: 3s;
    -moz-animation-duration: 3s;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    -webkit-animation-direction: alternate;
    -moz-animation-direction: alternate;
}

#elabs-anchor {
  left: 50%;
  margin-left: -187px;
  position: absolute;
  top: -98px;
  z-index: 50;
}

#octocat {
  left: 50%;
  margin-left: -117px;
  position: absolute;
  top: 45px;
  z-index: 55;
  -webkit-transition: top ease-in 1s;
  -moz-transition: top ease-in 1s;
}

#octocat:hover {
  top: -250px;
  -webkit-transition: top ease-in 1s;
  -moz-transition: top ease-in 1s;
}

#octocat-sand {
  left: 50%;
  margin-left: -106px;
  position: absolute;
  top: 94px;
  z-index: 60;
}

#engineyard {
  left: 50%;
  margin-left: -26px;
  position: absolute;
  top: 0px;
  z-index: 50;
  -webkit-transition: top ease-in 1s;
  -moz-transition: top ease-in 1s;
}

#engineyard:hover {
  top: -160px;
  -webkit-transition: top ease-in 1s;
  -moz-transition: top ease-in 1s;
}

#engineyard-sand {
  left: 50%;
  margin-left: -22px;
  position: absolute;
  top: 100px;
  z-index: 60;
}

#sand {
  left: 50%;
  margin-left: -600px;
  position: absolute;
  top: 6px;
}


.anim-shake {
  /* animation */
    -webkit-animation-name: kf-shake;
    -moz-animation-name: kf-shake;
    -webkit-animation-duration: .1s;
    -moz-animation-duration: .1s;
    -webkit-animation-iteration-count: 90;
    -moz-animation-iteration-count: 90;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
    -webkit-animation-direction: alternate;
    -moz-animation-direction: alternate;
}

.anim-shake2 {
  /* animation */
    -webkit-animation-name: kf-shake2;
    -moz-animation-name: kf-shake2;
    -webkit-animation-duration: .1s;
    -moz-animation-duration: .1s;
    -webkit-animation-iteration-count: 90;
    -moz-animation-iteration-count: 90;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
    -webkit-animation-direction: alternate;
    -moz-animation-direction: alternate;
}

.anim-shake-long {
  opacity: 0 !important;
  
  /* animation */
    -webkit-animation-name: kf-shake, kf-fadeout;
    -moz-animation-name: kf-shake, kf-fadeout;
    -webkit-animation-duration: .1s, 5s;
    -moz-animation-duration: .1s, 5s;
    -webkit-animation-iteration-count: 70, 1;
    -moz-animation-iteration-count: 70, 1;
    -webkit-animation-timing-function: linear, linear;
    -moz-animation-timing-function: linear, linear;
    -webkit-animation-direction: alternate;
    -moz-animation-direction: alternate;
}

.anim-ticket-rise {
  opacity: 1 !important;
  top: -170px !important;
  
  /* animation */
    -webkit-animation-name: kf-ticket;
    -moz-animation-name: kf-ticket;
    -webkit-animation-duration: 9s;
    -moz-animation-duration: 9s;
    -webkit-animation-iteration-count: 1;
    -moz-animation-iteration-count: 1;
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
}

.anim-ticket-waves {
  opacity: 1 !important;
    
  /* animation */
    -webkit-animation-name: kf-ticket-waves;
    -moz-animation-name: kf-ticket-waves;
    -webkit-animation-duration: 1s;
    -moz-animation-duration: 1s;
    -webkit-animation-iteration-count: 1;
    -moz-animation-iteration-count: 1;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
}

.anim-whiteout {
  display: block !important;
    
  /* animation */
    -webkit-animation-name: kf-whiteout;
    -moz-animation-name: kf-whiteout;
    -webkit-animation-duration: 5s;
    -moz-animation-duration: 5s;
    -webkit-animation-iteration-count: 1;
    -moz-animation-iteration-count: 1;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
    -webkit-animation-delay: 2s;
    -moz-animation-delay: 2s;
}

.anim-whiteout-full {
  /* animation */
    -webkit-animation-name: kf-whiteout-full;
    -moz-animation-name: kf-whiteout-full;
    -webkit-animation-duration: 8s;
    -moz-animation-duration: 8s;
    -webkit-animation-iteration-count: 1;
    -moz-animation-iteration-count: 1;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
}

.anim-fadeout {
  opacity: 0 !important;
  
  /* animation */
    -webkit-animation-name: kf-fadeout;
    -moz-animation-name: kf-fadeout;
    -webkit-animation-duration: 5s;
    -moz-animation-duration: 5s;
    -webkit-animation-iteration-count: 1;
    -moz-animation-iteration-count: 1;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
}

.anim-delorean {
  margin-left: -1500px !important;
  
  /* animation */
    -webkit-animation-name: kf-delorean;
    -moz-animation-name: kf-delorean;
    -webkit-animation-duration: 5s;
    -moz-animation-duration: 5s;
    -webkit-animation-iteration-count: 1;
    -moz-animation-iteration-count: 1;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
}

.anim-delorean-shadow {
  margin-left: -1500px !important;
  
  /* animation */
    -webkit-animation-name: kf-delorean-shadow;
    -moz-animation-name: kf-delorean-shadow;
    -webkit-animation-duration: 5s;
    -moz-animation-duration: 5s;
    -webkit-animation-iteration-count: 1;
    -moz-animation-iteration-count: 1;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
}

.anim-delorean-container {
  /* animation */
    -webkit-animation-name: kf-delorean-container;
    -moz-animation-name: kf-delorean-container;
    -webkit-animation-duration: 9s;
    -moz-animation-duration: 9s;
    -webkit-animation-iteration-count: 1;
    -moz-animation-iteration-count: 1;
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
}

.anim-delorean2 {
  /* animation */
    -webkit-animation-name: kf-delorean2;
    -moz-animation-name: kf-delorean2;
    -webkit-animation-duration: 6s;
    -moz-animation-duration: 6s;
    -webkit-animation-iteration-count: 1;
    -moz-animation-iteration-count: 1;
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
}


/* ==|== non-semantic helper classes ======================================== */
.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; }
.ir br { display: none; }
.hidden { display: none !important; visibility: hidden; }
.visually-hidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.visually-hidden.focusable:active, .visually-hidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
.invisible { visibility: hidden; }
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }


/* ==|== print styles ======================================================= */
 
@media print {
  * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } 
  a, a:visited { text-decoration: underline; }
  a[href]:after { content: " (" attr(href) ")"; }
  abbr[title]:after { content: " (" attr(title) ")"; }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } 
  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
  thead { display: table-header-group; }
  tr, img { page-break-inside: avoid; }
  img { max-width: 100% !important; }
  @page { margin: 0.5cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3 { page-break-after: avoid; }
}
