
[data-animation^="innerAnimated"] {
  visibility: hidden;
}

.animated,
.innerAnimated {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  visibility: visible;
}

/* fadeInUpScreen */

.fadeInUpScreen {
  -webkit-animation-name: fadeInUpScreen;
  animation-name: fadeInUpScreen;
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-timing-function: cubic-bezier(0.25, 0.1, 0.1, 1);
  animation-timing-function: cubic-bezier(0.25, 0.1, 0.1, 1);
}

@-webkit-keyframes fadeInUpScreen {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(10px, 60px, 0);
    transform: translate3d(10px, 60px, 0);
  }
  60% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInUpScreen {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(10px, 60px, 0);
    transform: translate3d(10px, 60px, 0);
  }

  60% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

/* FadeInUpDemos */

.fadeInUpDemos {
  -webkit-animation-name: fadeInUpDemos;
  animation-name: fadeInUpDemos;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease;
  animation-timing-function: ease;
}

@-webkit-keyframes fadeInUpDemos {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 30px, 0);
    transform: translate3d(0, 30px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInUpDemos {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 30px, 0);
    transform: translate3d(0, 30px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

/* FadeInUp */

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease;
  animation-timing-function: ease;
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 40px, 0);
    transform: translate3d(0, 40px, 0);
  }
  60% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 40px, 0);
    transform: translate3d(0, 40px, 0);
  }
  60% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

/* FadeIn */

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
  -webkit-animation-timing-function: ease;
  animation-timing-function: ease;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* FadeInRight */

.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease;
  animation-timing-function: ease;
}

@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(30px);
    transform: translateX(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(30px);
    transform: translateX(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

/* SlideInRight */

.slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight;
  -webkit-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -webkit-animation-timing-function: ease;
  animation-timing-function: ease;
}

@-webkit-keyframes slideInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(170px);
    transform: translateX(170px);
  }
  25% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes slideInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(170px);
    transform: translateX(170px);
  }
  25% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@media (max-width: 768px) {
  @-webkit-keyframes slideInRight {
    0% {
      opacity: 0;
      -webkit-transform: translateX(60px);
      transform: translateX(60px);
    }
    25% {
      opacity: 1;
    }
    100% {
      opacity: 1;
      -webkit-transform: translateX(0);
      transform: translateX(0);
    }
  }

  @keyframes slideInRight {
    0% {
      opacity: 0;
      -webkit-transform: translateX(60px);
      transform: translateX(60px);
    }
    25% {
      opacity: 1;
    }
    100% {
      opacity: 1;
      -webkit-transform: translateX(0);
      transform: translateX(0);
    }
  }
}

/* FadeInLeft */

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease;
  animation-timing-function: ease;
}

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-30px);
    transform: translateX(-30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-30px);
    transform: translateX(-30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

/* FadeInDown */

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
}

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}



/* FadeInUpText */

.fadeInUpText {
  -webkit-animation-name: fadeInUpText;
  animation-name: fadeInUpText;
  -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
}
@-webkit-keyframes fadeInUpText {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes fadeInUpText {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}


.text--fading .word {
  display: inline-flex;
  opacity: 0;
  transition: opacity 1.1s cubic-bezier(0.65, 0.05, 0.36, 1);
  transition-delay: calc(70ms * var(--word-index) + 0ms);
}
.text--fading.innerAnimated .word {
  opacity: 1;
}

.text--folding .char {
  display: inline-flex;
  opacity: 0;
  transform: rotateX(90deg);
  transform-origin: bottom;
  transition: opacity 1.1s cubic-bezier(0.65, 0.05, 0.36, 1), transform 1.1s cubic-bezier(0.65, 0.05, 0.36, 1);
  transition-delay: calc(30ms * var(--char-index) + 10ms);
}
.text--folding.innerAnimated .char {
  transform: rotateX(0deg);
  opacity: 1;
}

.text--turning .char {
  transform: rotateY(90deg) translateZ(0);
  opacity: 0;
  transition: transform 1s cubic-bezier(0.65, 0.05, 0.36, 1), opacity 1s cubic-bezier(0.65, 0.05, 0.36, 1);
  transition-delay: calc(80ms * var(--char-index));
}
.text--turning.innerAnimated .char {
  transform: rotateY(0deg) translateZ(0);
  opacity: 1;
}

.text--turning-top.char {
  display: inline-flex;
  transform: translate3d(-50px, 40px, 150px) scale(0.8) rotateX(-90deg) translateZ(0);
  opacity: 0;
  transition: transform 1s cubic-bezier(0.65, 0.05, 0.36, 1), opacity 1s cubic-bezier(0.65, 0.05, 0.36, 1);
  transition-delay: calc(200ms * var(--char-index));
  align-items: baseline;
  justify-content: center;
}

.text--turning-top.innerAnimated.char {
  transform: translate3d(0, 0, 0) scale(1) rotateX(0) translateZ(0);
  opacity: 1;
}