html, body {
  overflow-x: hidden;
}

body {
  margin: 0;
  padding: 0;
  height: 100vh;
  background: linear-gradient(to top, #6E2C00 54%, #fdbb2d 54%, #b21f1f 62%, #1a2a6c 72%);
  font-size: 100%;
  touch-action: none;
}

.dialog {
  border-radius: 10px;
  padding: 1.0em;
  font-size: 1.2em;
  text-shadow: 3px 3px 3px #000000;
  opacity: 0;
  position: absolute;
  transform: translate(-50%, -50%);
  font-family: ryeregular, serif;
  background: #00000088;
  color: #DDD;
  transition: opacity 1s;
}


/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {
  .dialog {
    border-radius: 15px;
    padding: 1em;
    font-size: 1.5em;
    text-shadow: 4px 4px 4px #000000;
  }
}

.dialogIn {
  opacity: 1 !important;
}

#character {
  display: none;
}

.horse {
  position: absolute;
  top: 50%;
  left: 20%;
  transform: translate(-50%, -50%);
  width: calc(1620px / 6);
  height: 270px;
  background: url(images/horse_sprite.png);
  animation: animate-horse 0.5s steps(6) infinite;
}

@keyframes animate-horse {
  0% {
    background-position: 0;
  }

  100% {
    background-position: -1620px;
  }
}

svg {
  position: absolute;
  top: 50%;
  left: 20%;
  width: 270px;
  height: 270px;
  transform: translate(-50%, -50%);
  /* background-color: #3333; */
}

#arm {
  transform: scale(0.26) translate(54px, -115px) rotate(90deg);
  animation: upanddown 0.75s;
}

@keyframes upanddown {
  0% {
    transform: scale(0.26) translate(54px, -115px) rotate(90deg);
  }

  100% {
    transform: scale(0.26) translate(54px, -115px) rotate(90deg);
  }
}

#rotation {
  transform: scale(0.26) translate(54px, -115px);
}

.lives {
  position: absolute;
  top: 0%;
  left: 0%;
  transform: translate(-0%, -0%);
  padding: 1.5em;
}

.life {
  width: calc(324px / 6);
  height: 54px;
  background: url(images/small_horse.png);
  animation: animate-small-horse 0.5s steps(6) infinite;
  display: inline-block;
  transition: opacity 1.5s linear;
  opacity: 0;
}

@keyframes animate-small-horse {
  0% {
    background-position: 0;
  }

  100% {
    background-position: -324px;
  }
}

.score {
  display: none;
  font-family: ryeregular, serif;
  background: transparent;
  color: #CCB;
  font-size: 2.3em;
  text-shadow: 4px 4px 4px #000000;
  position: absolute;
  top: 0%;
  left: 50%;
  transform: translate(-50%, -0%);
  padding: 0.75em;
}

.object {
  position: absolute;
  background-size: cover;
  display: none;
}

.bullet {
  position: absolute;
  top: 0;
  left: 0;
  width: 5px;
  height: 5px;
  background-color: #999;
  color: transparent;
  display: none;
}

#gallery {
  display: none;
  justify-content: space-evenly;
  width: 92vw;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, -12vw);
  background-image: url(images/woodbg.jpg);
  background-size: contain;
  padding: 1vw 0px;
}

.cell {
  background-color: #00000010;
  color: black;
  border: 0.2vw inset #80000050;
}

.cell img {
  width: 4vw;
  height: 4vw;
  border: calc(1vw) solid transparent;
  background-size: cover;
  background-clip: content-box;
  /* opacity: 0.7; */
}

.twistit {
  animation: twist 1.2s ease-in infinite;
}

@keyframes twist {
  0% {
    transform: scale(0.8) rotate(340deg);
  }

  50% {
    transform: scale(1.5) rotate(380deg);
  }

  100% {
    transform: scale(0.8) rotate(340deg);
  }
}

@font-face {
  font-family: 'ryeregular';
  src: url('fonts/rye-regular-webfont.woff2') format('woff2'),
    url('fonts/rye-regular-webfont.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}
