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

.cssanimation span {
  display: var(--cssanimation-display, inline-block);
}

.infinite {
  animation-iteration-count: var(--cssanimation-infinite, infinite) !important;
}

@media (prefers-reduced-motion: reduce) {
  .cssanimation,
  .cssanimation span {
    animation: none !important;
    transition: none !important;
  }
}


:root {
  --cssanimation-duration: 1s;
  --cssanimation-fill-mode: both;
  --cssanimation-infinite: infinite;
  --cssanimation-backface-visibility: hidden;
  --cssanimation-transform-style: preserve-3d;
  --cssanimation-will-change: transform, opacity;
  --cssanimation-display: inline-block;
  --move-distance: -800px;
}


/**
 * Module: Push Release From
 * Filename: ca__PushReleaseFrom.ca__fx-css
 */

.ca__fx-pushReleaseFrom {
  animation-name: pushReleaseFrom;
}

@keyframes pushReleaseFrom {
  0% {
    transform: scale(3, 3);
    opacity: 0;
  }

  30% {
    transform: scale(0.ca__fx-5, 0.ca__fx-5);
  }
}

.ca__fx-pushReleaseFromLeft {
  animation-name: pushReleaseFromLeft;
}

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

  30% {
    transform: translateX(100px);
  }
}

.ca__fx-pushReleaseFromRight {
  animation-name: pushReleaseFromRight;
}

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

  30% {
    transform: translateX(-100px);
  }
}

.ca__fx-pushReleaseFromTop {
  animation-name: pushReleaseFromTop;
}

@keyframes pushReleaseFromTop {
  0% {
    transform: translateY(-100%);
  }

  30% {
    transform: translateY(100px);
  }
}

.ca__fx-pushReleaseFromBottom {
  animation-name: pushReleaseFromBottom;
}

@keyframes pushReleaseFromBottom {
  0% {
    transform: translateY(100%);
  }

  30% {
    transform: translateY(-100px);
  }
}
