body {
  padding-bottom: 20em;
  margin-left: 0 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  color: white;
  font-family: "Roboto", sans-serif;
  font-size: 20px; }
  body a {
    cursor: pointer;
    font-size: 1.2em;
    color: yellow;
    text-decoration: none; }
  body .not-public a {
    color: green; }
  body .console-logos {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    justify-content: space-between;
    background-color: #EEE;
    margin-top: 1em;

    /*border-radius: 5px;*/
    padding: 10px; }
    body .console-logos img {
      max-width: 49vw; }
  body .rainbow-text {
    background-image: linear-gradient(to left, purple, violet, lightblue, green, yellow, orange, red);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent; }
  body .bold {
    font-weight: bold; }
  body .green {
    color: green; }
  body .yellow {
    color: yellow; }
  body .red {
    color: red; }
  body .purple {
    color: #b44baa; }
  body .pink {
    color: pink; }
  body header {
    text-align: center;
    width: 100%;
    max-width: 900px; }
    body header #title {
      width: 80%;
      display: absolute;
      animation: Wavy 2s ease-in-out infinite;
      top: 0; }

@keyframes Wavy {
  0% {
    transform: translate(0, 0); }
  50% {
    transform: translate(0, 0.5em); }
  100% {
    transform: translate(0, 0); } }
  body #container {
    width: 100%;
    max-width: 900px;
    display: grid;
    /*grid-template-columns: auto 300px;*/ }
  body #background {
    top: 0;
    width: 100vw;
    height: 100vh;
    position: fixed;
    z-index: -1;
    display: flex;
    flex-direction: column-reverse;
    background: #c5d2ff;
    background: linear-gradient(0deg, #c5d2ff 0%, #0052ff 100%); }
    body #background #ground {
      width: 100vw;
      height: 200px;
      background-image: url(../images/grass.png);
      background-size: 20em; }
      body #background #ground #top-of-ground {
        transform: translateY(-100%);
        z-index: 30; 
        background-image: url(../images/topofground.png);
        background-size: 20em;
        height: 2.4em;
        width: 100%; }
  body main {
    max-width: 900px; }
    body main section, .talk-box {
      border-width: 16px;
      border-style: solid;
      box-sizing: border-box;
      border-image: url(../images/speech-bubble.png);
      border-image-slice: 2;
      margin-top: 3em;
      width: 100%;
      line-height: 1.3em; }
      body main section > .background, .talk-box > .background {
        box-sizing: border-box;
        width: 100%;
        background-color: #111;
        padding: 2em; }
        body main section > .background.not-public, .talk-box > .background.not-public {
          background-color: darkkhaki;
          color: black; }
    body main a.right-side {
      background-color: green;
      width: 100px; }
  body #character {
    top: -100px;
    left: 100px;
    height: 20em;
    width: 20em;
    position: absolute;
    z-index: 1;
    background-size: cover;
    background-repeat: no-repeat; }
  body input,
  body button {
    font-size: 1.1em;
    margin-top: 5px;
    max-width: 100%; }
  body button {
    background-color: #efe; }

#email-feedback {
  display: none;
  margin-top: 5px;
  padding: 5px;
  color: black;
  background-color: #fee; }
  #email-feedback.has-content {
    display: block; }
  #email-feedback.success {
    background-color: #efe; }

* {
  image-rendering: auto;
  image-rendering: crisp-edges;
  image-rendering: pixelated; }

h1,
h2,
h3 {
  animation: Stretchy 2s ease-in-out infinite;
  transform: rotate(-2deg);
  overflow: hidden;
  text-transform: uppercase;
  font-family: "Amiga Forever Pro2", sans-serif;
  font-weight: normal;
  font-size: 2em;
  color: #f5f5f5;
  margin: 0;
  margin-bottom: 1em;
  line-height: 1.1em; }

@keyframes Stretchy {
  0% {
    letter-spacing: 0; }
  50% {
    letter-spacing: 0.01em; }
  100% {
    letter-spacing: 0; } }
  h1 h2,
  h2 h2,
  h3 h2 {
    font-size: 1.5em; }
  h1 h3,
  h2 h3,
  h3 h3 {
    font-size: 1.2em;
    margin-bottom: 0.5em; }

#non-desktop-warning {
  margin: 10px 0;
  display: none;
  color: red; }

@media screen and (max-width: 450px) {
  h1,
  h2,
  h3 {
    font-size: 6vw; } }

@media screen and (max-width: 1000px) {
  h1,
  h2,
  h3 {
    animation: none; }
  body {
    margin: 0;
    min-width: 100vw; }
    body header img {
      width: 100%; }
    body #title {
      width: 100vw !important;
      top: 0; }
  main {
    width: 100%;
    margin: 0; }
    main section {
      width: 100% !important;
      display: inline-block; }
      main section > .background {
        padding: 1em !important; }
  #demo-shortcut {
    display: none !important; }
  #character {
    display: none !important; } }

body.game {
  background: #000 !important;
  width: 100%;
  height: 100%;
  overflow: visible;
  padding: 0;
  margin: 0; }
  body.game > :not(#game) {
    display: none; }
  body.game div#game {
    background: transparent !important;
    position: absolute; }
  body.game div#game canvas {
    position: absolute; }
  body.game div#game canvas[data-pixel-art="true"] {
    position: absolute;
    image-rendering: optimizeSpeed;
    image-rendering: -webkit-crisp-edges;
    image-rendering: -moz-crisp-edges;
    image-rendering: -o-crisp-edges;
    image-rendering: crisp-edges;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: optimize-contrast;
    image-rendering: pixelated;
    -ms-interpolation-mode: nearest-neighbor; }

#loader {
  display: none; }

body.loader {
  margin: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  background-image: url(../images/grass.png);
  background-size: 20em; }
  body.loader #loader {
    background-color: skyblue !important;
    width: 100%;
    max-height: 80vh;
    flex-grow: 1;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center; }
    body.loader #loader > div, body.loader #loader #load-info {
      width: 50%; }
      body.loader #loader > div .talk-box, body.loader #loader #load-info .talk-box {
        color: white !important;
        margin: 2em;
        width: 100%; }
        body.loader #loader > div .talk-box #load-bar, body.loader #loader #load-info .talk-box #load-bar {
          height: 3vh;
          border: 0.5vh solid white; }
          body.loader #loader > div .talk-box #load-bar #load-bar-fill, body.loader #loader #load-info .talk-box #load-bar #load-bar-fill {
            width: 0%;
            background-color: #8D8;
            height: 3vh; }
        body.loader #loader > div .talk-box div.spinner, body.loader #loader #load-info .talk-box div.spinner {
          display: flex;
          justify-content: center; }
      body.loader #loader > div > img, body.loader #loader #load-info > img {
        width: 100%;
        transform: scale(-1, 1) translateY(20%); }
  body.loader > :not(#loader) {
    display: none; }

#demo-shortcut {
  position: absolute;
  top: 8em;
  left: 2em;
  width: auto;
  padding: 0; }
  #demo-shortcut a {
    font-family: "Amiga Forever Pro2", sans-serif;
    color: black;
    font-size: 1.2em;
    font-weight: bold; }
  #demo-shortcut .background {
    padding: 0.5em;
    background-color: yellow; }

.arrow {
  pointer-events: none;
  position: absolute; }
  .arrow img {
    position: relative;
    bottom: 24px;
    right: 128px;
    animation: Bounce 1s ease-in-out infinite; }

@keyframes Bounce {
  0% {
    transform: translate(0, 0); }
  50% {
    transform: translate(-0.5em, 0); }
  100% {
    transform: translate(0, 0); } }


    section {
      box-shadow: 30px 30px 25px rgba(0,0,0,0.25);
  }

  #demo-shortcut {
    position: fixed;
}


.image-container {
  display: flex;
  flex-direction: column;

}

.image-container >p {
  margin-top: 0;
  font-weight: bold;
}