:root {
  --animate-duration : 1s;
  --animate-delay    : 1s;
  --animate-repeat   : 1
}

.animate__animated {
  animation-duration  : 1s;
  animation-duration  : var(--animate-duration);
  animation-fill-mode : both
}

@media (prefers-reduced-motion : reduce), print {
  .animate__animated {
    animation-duration        : 1ms !important;
    animation-iteration-count : 1 !important;
    transition-duration       : 1ms !important
  }

  .animate__animated[class*=Out] {
    opacity : 0
  }
}

@keyframes fadeIn {
  0% {
    opacity : 0
  }
  to {
    opacity : 1
  }
}

.animate__fadeIn {
  animation-name : fadeIn
}

@keyframes fadeInUp {
  0% {
    opacity   : 0;
    transform : translate3d(0, 100%, 0)
  }
  to {
    opacity   : 1;
    transform : translateZ(0)
  }
}

.animate__fadeInUp {
  animation-name : fadeInUp
}

@keyframes fadeInDown {
  0% {
    opacity   : 0;
    transform : translate3d(0, -100%, 0)
  }
  to {
    opacity   : 1;
    transform : translateZ(0)
  }
}

.animate__fadeInDown {
  animation-name : fadeInDown
}

@keyframes fadeInLeft {
  0% {
    opacity   : 0;
    transform : translate3d(-100%, 0, 0)
  }
  to {
    opacity   : 1;
    transform : translateZ(0)
  }
}

.animate__fadeInLeft {
  animation-name : fadeInLeft
}

@keyframes fadeInRight {
  0% {
    opacity   : 0;
    transform : translate3d(100%, 0, 0)
  }
  to {
    opacity   : 1;
    transform : translateZ(0)
  }
}

.animate__fadeInRight {
  animation-name : fadeInRight
}

@keyframes slideInUp {
  0% {
    transform  : translate3d(0, 100%, 0);
    visibility : visible
  }
  to {
    transform : translateZ(0)
  }
}

.animate__slideInUp {
  animation-name : slideInUp
}

@keyframes slideInDown {
  0% {
    transform  : translate3d(0, -100%, 0);
    visibility : visible
  }
  to {
    transform : translateZ(0)
  }
}

.animate__slideInDown {
  animation-name : slideInDown
}

@keyframes slideInLeft {
  0% {
    transform  : translate3d(-100%, 0, 0);
    visibility : visible
  }
  to {
    transform : translateZ(0)
  }
}

.animate__slideInLeft {
  animation-name : slideInLeft
}

@keyframes slideInRight {
  0% {
    transform  : translate3d(100%, 0, 0);
    visibility : visible
  }
  to {
    transform : translateZ(0)
  }
}

.animate__slideInRight {
  animation-name : slideInRight
}

@keyframes bounceIn {
  0%, 20%, 40%, 60%, 80%, to {
    animation-timing-function : cubic-bezier(.215, .61, .355, 1)
  }
  0% {
    opacity   : 0;
    transform : scale3d(.3, .3, .3)
  }
  20% {
    transform : scale3d(1.1, 1.1, 1.1)
  }
  40% {
    transform : scale3d(.9, .9, .9)
  }
  60% {
    opacity   : 1;
    transform : scale3d(1.03, 1.03, 1.03)
  }
  80% {
    transform : scale3d(.97, .97, .97)
  }
  to {
    opacity   : 1;
    transform : scaleX(1)
  }
}

.animate__bounceIn {
  animation-duration : .75s;
  animation-duration : calc(var(--animate-duration) * .75);
  animation-name     : bounceIn
}

@keyframes bounceInUp {
  0%, 60%, 75%, 90%, to {
    animation-timing-function : cubic-bezier(.215, .61, .355, 1)
  }
  0% {
    opacity   : 0;
    transform : translate3d(0, 3000px, 0) scaleY(5)
  }
  60% {
    opacity   : 1;
    transform : translate3d(0, -20px, 0) scaleY(.9)
  }
  75% {
    transform : translate3d(0, 10px, 0) scaleY(.95)
  }
  90% {
    transform : translate3d(0, -5px, 0) scaleY(.985)
  }
  to {
    transform : translateZ(0)
  }
}

.animate__bounceInUp {
  animation-name : bounceInUp
}

@keyframes bounceInDown {
  0%, 60%, 75%, 90%, to {
    animation-timing-function : cubic-bezier(.215, .61, .355, 1)
  }
  0% {
    opacity   : 0;
    transform : translate3d(0, -3000px, 0) scaleY(3)
  }
  60% {
    opacity   : 1;
    transform : translate3d(0, 25px, 0) scaleY(.9)
  }
  75% {
    transform : translate3d(0, -10px, 0) scaleY(.95)
  }
  90% {
    transform : translate3d(0, 5px, 0) scaleY(.985)
  }
  to {
    transform : translateZ(0)
  }
}

.animate__bounceInDown {
  animation-name : bounceInDown
}

@keyframes bounceInLeft {
  0%, 60%, 75%, 90%, to {
    animation-timing-function : cubic-bezier(.215, .61, .355, 1)
  }
  0% {
    opacity   : 0;
    transform : translate3d(-3000px, 0, 0) scaleX(3)
  }
  60% {
    opacity   : 1;
    transform : translate3d(25px, 0, 0) scaleX(1)
  }
  75% {
    transform : translate3d(-10px, 0, 0) scaleX(.98)
  }
  90% {
    transform : translate3d(5px, 0, 0) scaleX(.995)
  }
  to {
    transform : translateZ(0)
  }
}

.animate__bounceInLeft {
  animation-name : bounceInLeft
}

@keyframes bounceInRight {
  0%, 60%, 75%, 90%, to {
    animation-timing-function : cubic-bezier(.215, .61, .355, 1)
  }
  0% {
    opacity   : 0;
    transform : translate3d(3000px, 0, 0) scaleX(3)
  }
  60% {
    opacity   : 1;
    transform : translate3d(-25px, 0, 0) scaleX(1)
  }
  75% {
    transform : translate3d(10px, 0, 0) scaleX(.98)
  }
  90% {
    transform : translate3d(-5px, 0, 0) scaleX(.995)
  }
  to {
    transform : translateZ(0)
  }
}

.animate__bounceInRight {
  animation-name : bounceInRight
}

@keyframes flip {
  0% {
    animation-timing-function : ease-out;
    transform                 : perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn)
  }
  40% {
    animation-timing-function : ease-out;
    transform                 : perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg)
  }
  50% {
    animation-timing-function : ease-in;
    transform                 : perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg)
  }
  80% {
    animation-timing-function : ease-in;
    transform                 : perspective(400px) scale3d(.95, .95, .95) translateZ(0) rotateY(0deg)
  }
  to {
    animation-timing-function : ease-in;
    transform                 : perspective(400px) scaleX(1) translateZ(0) rotateY(0deg)
  }
}

.animate__animated.animate__flip {
  animation-name      : flip;
  backface-visibility : visible
}

@keyframes flipInX {
  0% {
    animation-timing-function : ease-in;
    opacity                   : 0;
    transform                 : perspective(400px) rotateX(90deg)
  }
  40% {
    animation-timing-function : ease-in;
    transform                 : perspective(400px) rotateX(-20deg)
  }
  60% {
    opacity   : 1;
    transform : perspective(400px) rotateX(10deg)
  }
  80% {
    transform : perspective(400px) rotateX(-5deg)
  }
  to {
    transform : perspective(400px)
  }
}

.animate__flipInX {
  animation-name      : flipInX;
  backface-visibility : visible !important
}

@keyframes flipInY {
  0% {
    animation-timing-function : ease-in;
    opacity                   : 0;
    transform                 : perspective(400px) rotateY(90deg)
  }
  40% {
    animation-timing-function : ease-in;
    transform                 : perspective(400px) rotateY(-20deg)
  }
  60% {
    opacity   : 1;
    transform : perspective(400px) rotateY(10deg)
  }
  80% {
    transform : perspective(400px) rotateY(-5deg)
  }
  to {
    transform : perspective(400px)
  }
}

.animate__flipInY {
  animation-name      : flipInY;
  backface-visibility : visible !important
}

@keyframes rollIn {
  0% {
    opacity   : 0;
    transform : translate3d(-100%, 0, 0) rotate(-120deg)
  }
  to {
    opacity   : 1;
    transform : translateZ(0)
  }
}

.animate__rollIn {
  animation-name : rollIn
}

@keyframes zoomIn {
  0% {
    opacity   : 0;
    transform : scale3d(.3, .3, .3)
  }
  50% {
    opacity : 1
  }
}

.animate__zoomIn {
  animation-name : zoomIn
}

@keyframes lightSpeedInLeft {
  0% {
    opacity   : 0;
    transform : translate3d(-100%, 0, 0) skewX(30deg)
  }
  60% {
    opacity   : 1;
    transform : skewX(-20deg)
  }
  80% {
    transform : skewX(5deg)
  }
  to {
    transform : translateZ(0)
  }
}

.animate__lightSpeedInLeft {
  animation-name            : lightSpeedInLeft;
  animation-timing-function : ease-out
}

@keyframes lightSpeedInRight {
  0% {
    opacity   : 0;
    transform : translate3d(100%, 0, 0) skewX(-30deg)
  }
  60% {
    opacity   : 1;
    transform : skewX(20deg)
  }
  80% {
    transform : skewX(-5deg)
  }
  to {
    transform : translateZ(0)
  }
}

.animate__lightSpeedInRight {
  animation-name            : lightSpeedInRight;
  animation-timing-function : ease-out
}