* {
  margin: 0;
  padding: 0;
}

body,
html {
  height: 100%;
  width: 100%;
}

section {
  background: #56cdf0 url("./img/bg.png") no-repeat;
  background-size: 120%;
  background-position: -55px -80px;
  display: flex;
  justify-content: center;
  overflow: hidden;
  height: 422px;
  margin: 0 auto;
  width: 1000px;
}

.reserve_block {
  display: flex;
  flex-direction: column;
  padding: 25px 0 0;
}

.letters li {
  list-style: none;
  color: rgb(245, 0, 0);
  font-weight: 500;
  font-family: monospace;
  line-height: 1em;
  text-align: center;
}

.letters .small {
  font-size: 1.8em;
}

.letters .small:last-child {
  margin-top: 10px;
}

.letters .middle {
  font-size: 4em;
}

.letters .big {
  font-size: 10em;
  line-height: .8em;
}

.button {
  border: none;
  width: 140px;
  background-color: rgba(0, 157, 219, 1);
  height: 30px;
  font-size: .8em;
  color: #fff;
  font-weight: bold;
  margin: 20px auto;
}

.box_container {
  height: 100%;
  width: 40%;
}

.animate-first {
  animation: bounceInUp 1s;
}

.animate-second {
  animation: bounceInUp 1.2s;
}

.animate-third {
  animation: bounceInUp 1.5s;
}

.animate-fourth {
  animation: bounceInUp 1.8s;
}

.shining {
  position: relative;
  height: 100%;
  bottom: -130px;
  left: 90px;
  opacity: .5;
  z-index: 0;
  animation: fadeIn 2s cubic-bezier(0.85, -0.11, 1, 1);
}

.shining img {
  height: 100%;
  position: absolute;
  bottom: 0;
  right: 0;
  animation: rotating-left 10s linear infinite;
}

.shining img+img {
  animation: rotating-right 10s linear infinite;
}

.scene {
  width: 300px;
  height: 300px;
  margin: 75px auto 0;
  perspective: 1200px;
  position: absolute;
  z-index: 1;
}

.cube {
  position: absolute;
  width: 250px;
  height: 140px;
  transform-style: preserve-3d;
  transform: rotateY(-27deg);
  bottom: -90px;
  left: 70px;
  z-index: 1;
}

.side {
  position: absolute;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  font: 50px/1 'Trebuchet MS', sans-serif;
  color: #fff;
  text-transform: uppercase;
  text-align: center;
}

.back {
  transform: translate3d(0px, -5px, -140px);
  border-top: none;
  border-left: none;
  width: 245px;
  height: 124px;
  background: rgb(255, 243, 133);
}

.top {
  transform: translate3d(27px, -114px, 0) rotateX(55deg);
  width: 240px;
  animation: openBox 1.5s;
  background: linear-gradient(196deg, rgb(208, 187, 2) 36%,rgb(216, 194, 5) 51%,rgb(255, 255, 97) 100%);
}

.right {
  transform: translate3d(143px, -8px, -7px) rotateY(99deg);
  height: 124px;
  border-top: none;
  border-bottom: none;
  background: rgb(214, 193, 1);
}

.front {
  transform: translate3d(0, 0, 10px);
  background: linear-gradient(52deg, rgb(195, 175, 0) 36%,rgb(204, 183, 2) 51%,rgb(251, 232, 59) 100%);
}

.cube-shadow {
  width: 244px;
  height: 40px;
  background: transparent;
  transform: rotateY(-25deg) translate3d(60px, -5px, -55px);
  position: absolute;
  bottom: -100px;
  box-shadow: aquamarine 2px;
  box-shadow: -12px 17px 26px -2px rgba(0,0,0,0.57);
}

/*letters bouncing*/
@keyframes bounceInUp {
  60%,
  75%,
  90%,
  from,
  to {
    animation-timing-function: cubic-bezier(0.2, 0.6, 0.4, 1);
  }

  from {
    opacity: 0;
    transform: translate3d(0, 3000px, 0);
  }

  60% {
    opacity: 1;
    transform: translate3d(0, 0px, 0);
  }

  75% {
    transform: translate3d(0, 5px, 0);
  }

  90% {
    transform: translate3d(0, -3px, 0);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

/*box opening*/
@keyframes openBox {
  70%,
  90%,
  95%,
  from,
  to {
    animation-timing-function: cubic-bezier(1, .2, 1, 1);
  }

  from {
    transform: translate3d(32px, -80px, 0px) rotateZ(1deg) rotateX(85deg);
  }

  60% {
    transform: translate3d(32px, -99px, 0) rotateX(70deg);
    width: 238px;
  }

  75% {
    transform: translate3d(25px, -118px, 0) rotateX(50deg);
  }

  to {
    transform: translate3d(27px, -114px, 0) rotateX(55deg);
  }
}

/*rays rotation animation*/
@keyframes rotating-left {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}
@keyframes rotating-right {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(-360deg);
  }
}

/*shining appearing*/
@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: .5;
  }
}
