/* ==========================================================================
   Animations
   ========================================================================== */

/* Animation Item */

.animate-elem {
  transition: all 1s ease;
}

/* Animation Delay */

.animate-delay-01 {
  transition: all 1s 0.1s ease;
}

.animate-delay-02 {
  transition: all 1s 0.2s ease;
}

.animate-delay-03 {
  transition: all 1s 0.3s ease;
}

.animate-delay-04 {
  transition: all 1s 0.4s ease;
}

.animate-delay-05 {
  transition: all 1s 0.5s ease;
}

.animate-delay-06 {
  transition: all 1s 0.6s ease;
}

.animate-delay-07 {
  transition: all 1s 0.7s ease;
}

.animate-delay-08 {
  transition: all 1s 0.8s ease;
}

.animate-delay-09 {
  transition: all 1s 0.9s ease;
}

.animate-delay-10 {
  transition: all 1s 1s ease;
}

.animate-delay-11 {
  transition: all 1s 1.1s ease;
}

.animate-delay-12 {
  transition: all 1s 1.2s ease;
}

.animate-delay-13 {
  transition: all 1s 1.2s ease;
}

.animate-delay-14 {
  transition: all 1s 1.4s ease;
}

.animate-delay-15 {
  transition: all 1s 1.5s ease;
}

.animate-delay-16 {
  transition: all 1s 1.6s ease;
}

.animate-delay-17 {
  transition: all 1s 1.7s ease;
}

.animate-delay-18 {
  transition: all 1s 1.8s ease;
}

.animate-delay-19 {
  transition: all 1s 1.9s ease;
}

.animate-delay-20 {
  transition: all 1s 2s ease;
}

.animate-delay-21 {
  transition: all 1s 2.1s ease;
}

.animate-delay-22 {
  transition: all 1s 2.2s ease;
}
.animate-delay-23 {
  transition: all 1s 2.3s ease;
}

.animate-delay-24 {
  transition: all 1s 2.4s ease;
}

.animate-delay-25 {
  transition: all 1s 2.5s ease;
}

.animate-delay-26 {
  transition: all 1s 2.6s ease;
}

.animate-delay-27 {
  transition: all 1s 2.7s ease;
}

.animate-delay-28 {
  transition: all 1s 2.8s ease;
}

.animate-delay-29 {
  transition: all 1s 2.2s ease;
}

.animate-delay-30 {
  transition: all 1s 3s ease;
}

.animate-delay-35 {
  transition: all 1s 3.5s ease;
}

.animate-delay-40 {
  transition: all 1s 4s ease;
}

.animate-delay-45 {
  transition: all 1s 4.5s ease;
}

.animate-delay-50 {
  transition: all 1s 5s ease;
}

.animate-delay-55 {
  transition: all 1s 5.5s ease;
}

.animate-delay-60 {
  transition: all 1s 6s ease;
}

.animate-delay-65 {
  transition: all 1s 6.5s ease;
}

.animate-delay-70 {
  transition: all 1s 7s ease;
}

.animate-delay-75 {
  transition: all 1s 7.5s ease;
}

.animate-delay-80 {
  transition: all 1s 8s ease;
}

.animate-delay-85 {
  transition: all 1s 8.5s ease;
}

.animate-delay-90 {
  transition: all 1s 9s ease;
}

.animate-delay-95 {
  transition: all 1s 9.5s ease;
}

/* Animation Duration */

.animate-duration-02 {
  transition-duration: 0.2s;
}

.animate-duration-05 {
  transition-duration: 0.5s;
}

.animate-duration-10 {
  transition-duration: 1s;
}

.animate-duration-15 {
  transition-duration: 1.5s;
}

.animate-duration-20 {
  transition-duration: 2s;
}

.animate-duration-25 {
  transition-duration: 2.5s;
}

.animate-duration-30 {
  transition-duration: 3s;
}

.animate-duration-35 {
  transition-duration: 3.5s;
}

.animate-duration-40 {
  transition-duration: 4s;
}

.animate-duration-45 {
  transition-duration: 4.5s;
}

.animate-duration-50 {
  transition-duration: 5s;
}

.animate-duration-55 {
  transition-duration: 5.5s;
}

.animate-duration-60 {
  transition-duration: 6s;
}

.animate-duration-65 {
  transition-duration: 6.5s;
}

.animate-duration-70 {
  transition-duration: 7s;
}

.animate-duration-75 {
  transition-duration: 7.5s;
}

.animate-duration-80 {
  transition-duration: 8s;
}

.animate-duration-85 {
  transition-duration: 8.5s;
}

.animate-duration-90 {
  transition-duration: 9s;
}

.animate-duration-95 {
  transition-duration: 9.5s;
}

.animate-duration-100 {
  transition-duration: 10s;
}

/* Animation Fade */

.animate-fadeIn {
  opacity: 0;
}

.animate.active .animate-fadeIn {
  opacity: 1;
}

/* Animation Scale Up */

.animate .animate-scale-from-small {
  transform: scale(0.95);
}
.animate.active .animate-scale-from-small {
  transform: scale(1);
}

/* Animation Down */

.animate .animate-scale-from-big {
  transform: scale(1.2);
}
.animate.active .animate-scale-from-big {
  transform: scale(1);
}

/* Animation Slide Down */

.animate .animate-slideFromTop {
  top: -50px;
}
.animate.active .animate-slideFromTop {
  top: 0;
}

/* Animation Slide Up */

.animate-slideFromBottom {
  top: 50px;
}
.animate.active .animate-slideFromBottom {
  top: 0;
}

/* Animation Slide Right */

.animate .animate-slideFromLeft {
  left: -50px;
}
.animate.active .animate-slideFromLeft {
  left: 0;
}

/* Animation Slide Left */

.animate .animate-slideFromRight {
  right: -50px;
}
.animate.active .animate-slideFromRight {
  right: 0;
}

/* Animation Fade */

@keyframes fade-loop {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

/* Animation Move Fade */

@keyframes fade-move {
  0% {
    opacity: 1;
    top: 30vh;
    right: 15%;
  }

  50% {
    opacity: 0;
    top: 20vh;
    right: 20%;
  }

  100% {
    opacity: 1;
    top: 30vh;
    right: 15%;
  }
}

@keyframes fade-move-2 {
  0% {
    opacity: 1;
    left: 15%;
  }

  50% {
    opacity: 0;
    left: 20%;
  }

  100% {
    opacity: 1;
    left: 15%;
  }
}

@keyframes fade-move-down {
  0% {
    opacity: 1;
    bottom: 0;
    scale: 1;
  }

  50% {
    opacity: 0;
    bottom: 20vh;
    scale: 0.5;
  }

  100% {
    opacity: 1;
    bottom: 0;
    scale: 1;
  }
}

/* Animation Pulse */

@keyframes pulse {
  0% {
    transform: scale(0.95);
  }

  50% {
    transform: scale(1.2);
  }

  100% {
    transform: scale(0.95);
  }
}
/* Animation Glow */

@keyframes glow {
  0% {
    transform: scale(0.95);
    filter: drop-shadow(0 0 20px #e4198300);
  }

  20% {
    transform: scale(1);
    filter: drop-shadow(0 0 20px #25df2e);
  }

  100% {
    transform: scale(0.95);
    filter: drop-shadow(0 0 20px #e4198300);
  }
}

/* Animation Glow and Pulse */

@keyframes pulse-glow {
  0% {
    transform: scale(0.95);
    filter: drop-shadow(0 0 20px #e4198300);
  }

  20% {
    transform: scale(1);
    filter: drop-shadow(0 0 20px #6c25df);
  }

  100% {
    transform: scale(0.95);
    filter: drop-shadow(0 0 20px #e4198300);
  }
}

@keyframes pulse-small {
  0% {
    transform: scale(0.95);
  }

  20% {
    transform: scale(1.1);
  }

  100% {
    transform: scale(0.95);
  }
}

/* Animation Pulse */

@keyframes move-left {
  0% {
    margin-left: -20px;
  }

  50% {
    margin-left: 0px;
  }

  100% {
    margin-left: -20px;
  }
}

/* Animation Rotation */

@keyframes rotation {
  100% {
    transform: rotate(360deg);
  }
}

/* Animation Wobble */

@keyframes wobble {
  0%,
  100% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
  }

  15% {
    -webkit-transform: translateX(-32px) rotate(-10deg);
    transform: translateX(-32px) rotate(-10deg);
  }

  30% {
    -webkit-transform: translateX(calc(32px / 2)) rotate(10deg);
    transform: translateX(calc(32px / 2)) rotate(10deg);
  }

  45% {
    -webkit-transform: translateX(calc(-32px / 2)) rotate(calc(-10deg / 1.8));
    transform: translateX(calc(-32px / 2)) rotate(calc(-10deg / 1.8));
  }

  60% {
    -webkit-transform: translateX(calc(32px / 3.3)) rotate(calc(10deg / 3));
    transform: translateX(calc(32px / 3.3)) rotate(calc(10deg / 3));
  }

  75% {
    -webkit-transform: translateX(calc(-32px / 5.5)) rotate(calc(-10deg / 5));
    transform: translateX(calc(-32px / 5.5)) rotate(calc(-10deg / 5));
  }
}

/* Animation Wobble */

@keyframes wobble-small {
  0%,
  100% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
  }

  15% {
    -webkit-transform: translateX(-32px) rotate(-5deg);
    transform: translateX(-32px) rotate(-5deg);
  }

  30% {
    -webkit-transform: translateX(calc(32px / 2)) rotate(5deg);
    transform: translateX(calc(32px / 2)) rotate(5deg);
  }

  45% {
    -webkit-transform: translateX(calc(-32px / 2)) rotate(calc(-5deg / 1.8));
    transform: translateX(calc(-32px / 2)) rotate(calc(-5deg / 1.8));
  }

  60% {
    -webkit-transform: translateX(calc(32px / 3.3)) rotate(calc(5deg / 3));
    transform: translateX(calc(32px / 3.3)) rotate(calc(5deg / 3));
  }

  75% {
    -webkit-transform: translateX(calc(-32px / 5.5)) rotate(calc(-5deg / 5));
    transform: translateX(calc(-32px / 5.5)) rotate(calc(-5deg / 5));
  }
}

/* Animation Scale Fade */

@keyframes scale-fade-in {
  0% {
    transform: scale(0);
    opacity: 0;
  }

  30%,
  70% {
    transform: scale(1);
    opacity: 1;
  }

  100% {
    transform: scale(2);
    opacity: 0;
  }
}

@keyframes shine {
  0% {
    filter: brightness(1);
  }
  50% {
    filter: brightness(1.9);
  }
  100% {
    filter: brightness(1);
  }
}

@keyframes wiggle {
  0% {
    transform: rotate(5deg);
  }
  25% {
    transform: rotate(-5deg);
  }
  50% {
    transform: rotate(10deg);
  }
  75% {
    transform: rotate(-2deg);
  }
  100% {
    transform: rotate(0deg);
  }
}

@keyframes shape1 {
  0% {
    transform: translate(0, 0);
    border-radius: 24% 76% 77% 23% / 30% 30% 70% 70%;
  }
  25% {
    transform: translate(-55%, -10%);
    border-radius: 28% 72% 81% 19% / 78% 25% 75% 22%;
    height: 50rem;
    width: 80rem;
  }
  50% {
    transform: translate(-90%, -10%);
    border-radius: 60% 40% 0% 100% / 1% 74% 26% 99%;
  }
  75% {
    transform: translate(-30%, -10%);
    border-radius: 0% 100% 100% 0% / 0% 100% 100% 0%;
    height: 30rem;
    width: 45rem;
  }
  100% {
    transform: translate(0%, 0%);
    border-radius: 24% 76% 77% 23% / 30% 30% 70% 70%;
  }
}

@keyframes shape2 {
  0% {
    transform: translate(0, 0);
    border-radius: 73% 27% 77% 23% / 53% 4% 96% 47%;
  }
  25% {
    transform: translate(-55%, -55%);
    border-radius: 28% 72% 81% 19% / 78% 25% 75% 22%;
    height: 50rem;
    width: 50rem;
  }
  50% {
    transform: translate(-70%, -70%);
    border-radius: 60% 40% 0% 100% / 1% 74% 26% 99%;
  }
  75% {
    transform: translate(-30%, -30%);
    border-radius: 0% 100% 100% 0% / 0% 100% 100% 0%;
  }
  100% {
    transform: translate(0%, 0%);
    border-radius: 73% 27% 77% 23% / 53% 4% 96% 47%;
  }
}

@keyframes shape3 {
  0% {
    transform: translate(0, 0);
    border-radius: 70% 30% 80% 20% / 42% 25% 75% 58%;
  }
  25% {
    transform: translate(-125%, -25%);
    border-radius: 28% 72% 81% 19% / 78% 25% 75% 22%;
    height: 50rem;
    width: 50rem;
  }
  50% {
    transform: translate(-90%, -35%);
    border-radius: 60% 40% 0% 100% / 1% 74% 26% 99%;
  }
  75% {
    transform: translate(-30%, -40%);
    border-radius: 0% 100% 100% 0% / 0% 100% 100% 0%;
  }
  100% {
    transform: translate(0%, 0%);
    border-radius: 70% 30% 80% 20% / 42% 25% 75% 58%;
  }
}

@media (max-width: 980px) {
  /*disable animations for small displays*/
  .animate-elem {
    transition: all;
    transition-duration: 0s;
  }

  .animate .animate-fadeIn {
    opacity: 1;
  }

  .animate .animate-slideFromTop {
    top: 0;
  }

  .animate .animate-slideFromBottom {
    top: 0;
  }

  .animate .animate-slideFromLeft {
    left: 0;
  }

  .animate .animate-slideFromRight {
    right: 0;
  }

  .animate .animate-scale-from-small {
    transform: scale(1);
  }

  .animate .animate-scale-from-big {
    transform: scale(1);
  }
}
