body, html {
  padding: 0;
  margin: 0;
  height: 100%;
  overflow: hidden;
}

body {
  font-size: 18px;
  line-height: 1.6;
  font-family: Helvetica, sans-serif;
}

#sky {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;

  background-image: url(images/sky.jpg);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;

  transition: all .25s ease-in-out 0s;
}

#sky.zoom {
  transform: scale(1.1);
}

#main-menu {
  text-align: center;
  width: 100%;
  margin: 0;
  padding: 1em 0;
}

#main-menu a {
  color: #30396e;
  text-decoration: none;
  font-family: Helvetica, sans-serif;
  font-size: 80%;
  font-weight: bold;
  letter-spacing: .1em;
  transition: all .15s ease-in-out 0s;
}

#main-menu a:hover {
  color: #FFF;
  text-shadow: 0 1px 1px #30396e, 0 1px 1px #30396e, 0 1px 1px #30396e, 0 1px 1px #30396e;
  transform: translateY(-1px);
}

#main-menu .bull { /*#main-menu a:not(:last-of-type):after {*/
  content: 'wait';
  font-size: 300%;
  display: inline-block;
  padding: 0 .15em 0 .3em;
  vertical-align: sub;
}

/* for specific uses */
/*#main-menu a:nth-child(1) {}*/

#logo {
  position: relative;
  top: 1vh;
  width: 80.4vh;
  max-width: 80vw;
  height: 40vh;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

body.intro #logo {
  transition: height 2s ease-in-out 3s;
}

body.hide-intro #logo {
  transition: top .8s cubic-bezier(.99,.01,.99,.72) 0s, transform .8s cubic-bezier(.99,.01,.99,.72) 0s;
}

body.hide-intro #logo.fall {
  /*width: 8em;
  height: 4em!important;
  left: -39%;
  top: -6vh;*/
  /*top: 100vh;*/
  transform: translateY(1500px);
}

#plane {
  /* 1692 / 568 = ~2.98 -- .3357  */
  position: absolute;
  left: -80vw;
  top: 65vh;
  width: 48vw;
  height: 0;
  padding-bottom: 33.57%;
  background-image: url(images/plane.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center center;
}

#plane.fly {
  left: 23.5vw;
  top: 18vh;
}

body.intro #plane {
  transition: left 3.25s ease-out 3s, top 3.25s ease-out 3s;
}

body.hide-intro #plane {
  transition: left 1.25s ease-in-out 0s, top 1.25s ease-in-out 0s, transform 1.25s ease-in-out 0s, top 1.25s ease-in-out 0s;
}

body.hide-intro #plane.fly {
  left: 150vw;
  top: -30vh;
}

#five-out-of-five {
  position: absolute;
  left: 50%;
  margin-left: -10vh;
  bottom: -22vh;
  /*max-width: 20vw;*/
  width: 20vh;
  height: 20vh;
  background-image: url(images/five-out-of-five.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center center;
}

body.intro #five-out-of-five {
  transition: bottom 1.25s ease-out 6s;
}

body.hide-intro #five-out-of-five {
  transition: bottom 1.25s cubic-bezier(.99,.01,.99,.72) 0s, transform 1.25s cubic-bezier(.99,.01,.99,.72) 0s;
  transition: bottom 1.25s cubic-bezier(0.16, 1, 0.3, 1), transform 1.25s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}

body.hide-intro #five-out-of-five.fall {
  /*bottom: -150vh!important;*/
  transform: translateY(500px);
}

.content {
  position: fixed;
  overflow: scroll;
  height: 0vh;
  width: 100%;
  bottom: 0;
  transition: all .35s ease-in-out 0s;
}

.content.open {
  height: 85vh;
}

.window {
  max-width: 800px;
  width: 90vw;
  margin: 0 auto;
  box-sizing: border-box;
  background-color: #FFF;
  padding: 2em;
}


@media screen and (max-width: 768px) {
  /* bigger plane */
  #plane.fly {
    left: 8vw;
    top: 30vh;
    width: 80vw;
  }
}
