/* Base Styles */
@font-face {
  font-family: "Commodore64Pixeled";
  font-smooth: none;
  text-rendering: geometricPrecision;
  src: url('../fonts/Commodore64Pixeled.woff2') format("woff2");
}

html, body {
  height: 100%;
}

body {
  background: #12033D;
  color: #FFFFFF;
  font-size: 16px;
  line-height: 24px;
  font-family: "Commodore64Pixeled", "Courier New", Courier, monospace;
  height: 100%;
}

/* Homepage Styles */
#content {
  position: relative;
  z-index: 4;
}

body.homepage, body.newsletter_subscriptions {
  background: url('../images/bg.gif') #12033D repeat;
  margin: 0;
}

body.homepage h1, body.newsletter_subscriptions h1 {
  letter-spacing: 0;
  margin: 0 -16px 16px 0;
  max-width: 750px;
}

body.homepage form, body.newsletter_subscriptions form {
  background: #561BFF;
  padding: 24px;
}

body.homepage a, body.newsletter_subscriptions a {
  color: #FFF0A6;
  text-decoration: none;
  border-bottom: 4px solid #FFF0A6;
}

body.homepage small, body.newsletter_subscriptions small {
  display: block;
  margin-top: 18px;
  text-align: center;
}

body.homepage ::placeholder, body.newsletter_subscriptions ::placeholder {
  color: #12033D;
  font-family: "Commodore64Pixeled", "Courier New", Courier, monospace;
  font-size: 16px;
  text-transform: uppercase;
  opacity: 0.5;
}

body.homepage input[type="email"], body.newsletter_subscriptions input[type="email"] {
  background: #FFF0A6;
  border: none;
  border-left: solid 4px #12033D;
  border-right: solid 4px #12033D;
  border-radius: 0;
  flex-grow: 7;
  font-family: "Commodore64Pixeled", "Courier New", Courier, monospace;
  font-size: 16px;
  display: inline-block;
  padding: 33px 26px;
  outline: none;
  margin-right: 0;
}

body.homepage input[type="checkbox"], body.newsletter_subscriptions input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  background: #FFF0A6;
  border: solid 3px #12033D;
  border-radius: 0;
  box-sizing: content-box;
  float: left;
  margin: 5px 22px 0 0;
  outline: none;
  height: 32px;
  width: 32px;
}

body.homepage input[type="checkbox"]:checked, body.newsletter_subscriptions input[type="checkbox"]:checked {
  background-image: url('../images/checkbox.png');
  background-size: 32px 32px;
  border-color: #561BFF;
}

body.homepage input[type="submit"], body.newsletter_subscriptions input[type="submit"] {
  -webkit-appearance: none;
  background: #12033D;
  border: none;
  border-radius: 0;
  color: #FFF0A6;
  cursor: pointer;
  display: block;
  font-family: "Commodore64Pixeled", "Courier New", Courier, monospace;
  font-size: 16px;
  flex-grow: 1;
  outline: none;
  padding: 30px 48px;
  text-transform: uppercase;
  margin-left: 0;
}

body.homepage input[type="submit"]:active, body.newsletter_subscriptions input[type="submit"]:active {
  background: #8793FF;
}

body.homepage small, body.newsletter_subscriptions small,
body.homepage label, body.newsletter_subscriptions label {
  font-size: 16px;
}

body.homepage .window, body.newsletter_subscriptions .window {
  color: #FFF0A6;
  display: inline-block;
  text-transform: uppercase;
}

body.homepage header, body.newsletter_subscriptions header {
  background: #44E3C1;
  color: #12033D;
}

body.homepage header span, body.newsletter_subscriptions header span {
  display: block;
  max-width: 700px;
}

body.homepage header div, body.newsletter_subscriptions header div {
  padding: 24px;
}

body.homepage header div.success_description,
body.homepage header div.error_description,
body.newsletter_subscriptions header div.success_description,
body.newsletter_subscriptions header div.error_description {
  padding: 0;
}

body.homepage header.errors, body.newsletter_subscriptions header.errors {
  background: #E52430;
}

body.homepage header.errors h2, body.newsletter_subscriptions header.errors h2 {
  border-bottom: 2px solid #FFDA1B;
  color: #FFDA1B;
  display: inline-block;
  font-size: 8px;
  line-height: 14px;
  text-transform: uppercase;
}

body.homepage header.success h2, body.newsletter_subscriptions header.success h2 {
  border-bottom: 2px solid #12033D;
  color: #12033D;
  display: inline-block;
  font-size: 8px;
  line-height: 14px;
  text-transform: uppercase;
}

body.homepage hr, body.newsletter_subscriptions hr {
  border: none;
  height: 18px;
  margin: 0;
  background: transparent url('../images/header-border.png') repeat-x;
}

body.homepage .field_with_errors, body.newsletter_subscriptions .field_with_errors {
  display: inline;
}

body.homepage .logo, body.newsletter_subscriptions .logo {
  display: none;
  position: fixed;
  top: 24px;
  right: 24px;
  z-index: 2;
}

body.homepage .logo img, body.newsletter_subscriptions .logo img {
  height: 184px;
  width: 276px;
}

body.homepage .logo-mobile, body.newsletter_subscriptions .logo-mobile {
  margin: 24px 0 0 24px;
}

body.homepage .flex-container, body.newsletter_subscriptions .flex-container {
  margin: 24px 0 8px 0;
}

body.homepage footer, body.newsletter_subscriptions footer {
  width: 100%;
  text-align: center;
}

body.homepage footer img, body.newsletter_subscriptions footer img {
  position: relative;
  display: inline-block;
  height: auto;
  width: 150px;
  margin: 24px 0;
}

/* Press Page Styles */
body.press {
  margin: 40px;
}

body.press ul {
  list-style: none;
  padding: 0;
}

body.press li {
  margin-bottom: 24px;
}

body.press h1, body.press h2 {
  font-size: 16px;
  line-height: 24px;
}

body.press h1 {
  margin-top: 32px;
  text-transform: uppercase;
}

body.press h2 {
  margin-top: 32px;
}

body.press .discipline {
  color: #8896FC;
}

body.press a {
  color: #F2F238;
  text-decoration: none;
  border-bottom: 4px solid #F2F238;
}

body.press main {
  padding-bottom: 32px;
}

body.press .gallery a {
  border-bottom: none;
}

body.press .gallery img {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 1em;
}

/* Mobile Responsive Styles */
@media screen and (max-width: 750px) {
  body.homepage a, body.newsletter_subscriptions a {
    border-bottom: 2px solid #FFF0A6;
  }

  body.homepage .window, body.newsletter_subscriptions .window {
    margin-top: 18px;
    width: 100%;
  }

  body.homepage .flex-container, body.newsletter_subscriptions .flex-container {
    margin: 16px 0 0 0;
  }

  body.homepage input[type="email"], body.newsletter_subscriptions input[type="email"] {
    box-sizing: border-box;
    padding: 16px 13px;
    width: 100%;
  }

  body.homepage input[type="submit"], body.newsletter_subscriptions input[type="submit"] {
    margin-top: 16px;
    width: 100%;
    padding: 15px 24px;
  }

  body.homepage input[type="checkbox"], body.newsletter_subscriptions input[type="checkbox"] {
    height: 16px;
    width: 16px;
    margin: 2px 11px 0 0;
  }

  body.homepage input[type="checkbox"]:checked, body.newsletter_subscriptions input[type="checkbox"]:checked {
    background-size: 16px 16px;
  }

  body.homepage h1, body.newsletter_subscriptions h1 {
    line-height: 24px;
  }

  body.homepage h1 img, body.newsletter_subscriptions h1 img {
    height: 16px;
    width: auto;
    padding-right: 24px;
  }

  body.homepage h1 img.no-padding, body.newsletter_subscriptions h1 img.no-padding {
    padding-right: 8px;
  }

  body.homepage header div, body.newsletter_subscriptions header div {
    padding: 24px 24px 18px 24px;
  }

  body.homepage header span, body.newsletter_subscriptions header span {
    max-width: 700px;
  }
}

@media screen and (min-width: 750px) and (max-height: 850px) {
  body.homepage #content, body.newsletter_subscriptions #content {
    height: 600px;
    margin: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  body.homepage .window, body.newsletter_subscriptions .window {
    border: 8px solid #FFFFFF;
    max-width: 750px;
  }

  body.homepage .flex-container, body.newsletter_subscriptions .flex-container {
    align-items: stretch;
    display: flex;
  }

  body.homepage header span, body.newsletter_subscriptions header span {
    max-width: 700px;
  }
}

@media screen and (min-width: 750px) and (min-height: 850px) {
  body.homepage #content, body.newsletter_subscriptions #content {
    height: 100%;
    margin: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  body.homepage .window, body.newsletter_subscriptions .window {
    border: 8px solid #FFFFFF;
    max-width: 750px;
  }

  body.homepage .flex-container, body.newsletter_subscriptions .flex-container {
    align-items: stretch;
    display: flex;
  }

  body.homepage .logo, body.newsletter_subscriptions .logo {
    display: block;
  }

  body.homepage .logo-mobile, body.newsletter_subscriptions .logo-mobile {
    display: none;
  }

  body.homepage footer img, body.newsletter_subscriptions footer img {
    z-index: 3;
    right: 24px;
    bottom: 24px;
    position: absolute;
    display: inline-block;
    height: auto;
    margin: 0;
    width: 130px;
  }
}

@media screen and (min-width: 980px) {
  body.press .gallery {
    column-count: 2;
    column-gap: 1em;
  }
}

/* Spaceship Animation */
@keyframes spaceship {
  0% {
    top: 80%;
    left: -1264px;
  }
  25% {
    top: 30%;
    left: 18%;
  }
  50% {
    top: 70%;
    left: 37%;
  }
  75% {
    top: 30%;
    left: 82%;
  }
  100% {
    top: 70%;
    left: 100%;
  }
}

.spaceship {
  display: none;
}

@media screen and (min-width: 1120px) {
  .spaceship {
    animation: spaceship 10s infinite;
    animation-delay: 1s;
    bottom: -120px;
    display: block;
    left: -1264px;
    position: fixed;
    z-index: 1;
  }
}

.spaceship img {
  height: 528px;
  width: 1264px;
}
