@keyframes animatetop {
  from {
    top: -100px;
    opacity: 0;
  }

  to {
    top: 0;
    opacity: 1;
  }
}

@-webkit-keyframes animatebottom {
  from {
    bottom: -100px;
    opacity: 0;
  }

  to {
    bottom: 0;
    opacity: 1;
  }
}

@keyframes animatebottom {
  from {
    bottom: -100px;
    opacity: 0;
  }

  to {
    bottom: 0;
    opacity: 1;
  }
}

.animate-bottom {
  -webkit-animation: animatebottom 1s;
  animation: animatebottom 1s;
}

@keyframes zoomInAnimation {
  0% {
    transform: scale(0.4);
    opacity: 0;
  }

  15% {
    transform: scale(0.4);
    opacity: 0;
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }
}

.zoom-in {
  animation: zoomInAnimation 2.5s;
}

@keyframes slideOutLeft {
  0% {
    opacity: 1;
    transform: translateX(0);
    max-height: 200px;
  }

  50% {
    opacity: 0;
    transform: translateX(-20px);
    max-height: 200px;
  }

  100% {
    opacity: 0;
    transform: translateX(-30px);
    max-height: 0;
    padding: 0;
    margin: 0;
  }
}

@keyframes toastSlideIn {
  from {
    transform: translateX(100%);
    opacity: 0;
  }

  to {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes toastSlideOut {
  from {
    transform: translateX(0);
    opacity: 1;
  }

  to {
    transform: translateX(100%);
    opacity: 0;
  }
}

@keyframes slideInFromRight {
  0% {
    opacity: 0;
    transform: translateX(30px);
    max-height: 0;
  }

  50% {
    opacity: 0;
    transform: translateX(15px);
    max-height: 200px;
  }

  100% {
    opacity: 1;
    transform: translateX(0);
    max-height: 200px;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes slideInFromTop {
  from {
    transform: translateY(-50px);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes loading-dots {

  0%,
  20% {
    content: "...";
  }

  40% {
    content: "..";
  }

  60% {
    content: ".";
  }

  80%,
  100% {
    content: "";
  }
}

@keyframes bounceIn {
  0% {
    transform: translateX(-50%) scale(0);
    opacity: 0;
  }

  50% {
    transform: translateX(-50%) scale(1.1);
    opacity: .7;
  }

  100% {
    transform: translateX(-50%) scale(1);
    opacity: 1;
  }
}

.anim-bounce-in {
  animation: bounceIn 0.4s ease;
}

@keyframes slideLeft {
  0% {
    transform: translateX(0);
    opacity: 1;
  }

  100% {
    transform: translateX(-100%);
    opacity: 0;
  }
}

@keyframes slideRight {
  0% {
    transform: translateX(0);
    opacity: 1;
  }

  100% {
    transform: translateX(100%);
    opacity: 0;
  }
}

@keyframes slideInFromLeft {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }

  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes slideInFromRightBasic {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }

  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes arrowFade {

  0%,
  100% {
    opacity: 0.2;
  }

  50% {
    opacity: 1;
  }
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

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

@keyframes pulse {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 0.2;
  }

  100% {
    opacity: 1;
  }
}

@keyframes rotateHourglass {
  0% {
    transform: rotate(0deg);
  }

  25% {
    transform: rotate(180deg);
  }

  50% {
    transform: rotate(180deg);
  }

  75% {
    transform: rotate(360deg);
  }

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

@keyframes boxoffice-rotate {
  0% {
    transform: rotate(0deg);
  }

  15% {
    transform: rotate(0deg);
  }

  35% {
    transform: rotate(180deg);
  }

  65% {
    transform: rotate(180deg);
  }

  85% {
    transform: rotate(360deg);
  }

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

.animate-top {
  -webkit-animation: animatetop 1s;
  animation: animatetop 1s;
}

.slide-out-left {
  animation: slideOutLeft 0.4s ease forwards;
}

.toast-slide-in {
  animation: toastSlideIn 0.3s ease forwards;
}

.toast-slide-out {
  animation: toastSlideOut 0.3s ease forwards;
}

.slide-in-right {
  animation: slideInFromRight 0.4s ease forwards;
}

.fade-in {
  animation: fadeIn 1.2s ease forwards;
}

.slide-in-top {
  animation: slideInFromTop 0.8s ease forwards;
}

.loading-dots::after {
  animation: loading-dots 1.2s infinite;
}

.arrow-fade {
  animation: arrowFade 1.2s infinite;
}

.spin {
  animation: spin 1s linear infinite;
}

.pulse {
  animation: pulse 1.5s ease-in-out infinite;
}

.rotate-hourglass {
  animation: rotateHourglass 2s linear infinite;
}

.boxoffice-rotate {
  animation: boxoffice-rotate 2.5s linear infinite;
}

.slide-left {
  animation: slideLeft 0.3s ease forwards;
}

.slide-right {
  animation: slideRight 0.3s ease forwards;
}

.slide-in-left {
  animation: slideInFromLeft 0.4s ease forwards;
}

.slide-in-right-basic {
  animation: slideInFromRightBasic 0.4s ease forwards;
}