/* ================================================

mimic.css
https://etreacy.me
MIT license - http://opensource.org/licenses/MIT

Copyright (c) 2017 voneags (Eric Treacy)
Update 2025

================================================ */

.animated {
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  -o-animation-fill-mode: both;
  animation-fill-mode: both;
  will-change: transform, opacity;
}

/*
 * Date updated: 01/02/2018
 * Currently re-designing, npm 
 */

/* Gettin In Yo Face */

@keyframes gettinInYoFace {
  from {
    opacity: 1;
    transform: scale(1);
  }
  to {
    opacity: 1;
    transform: scale(100);
  }
}

.gettinInYoFace {
  animation-timing-function: ease-in-out;
  animation-name: gettinInYoFace;
  animation-duration: 3s;
}

/* Airplane Propeller */

@keyframes airplanePropeller {
  from {
    transform-origin: center;
    transform: rotate(-20000deg);
    opacity: 1;
  }
  to {
    transform-origin: center;
    transform: none;
    opacity: 1;
  }
}

.airplanePropeller {
  animation-name: airplanePropeller;
  animation-duration: 5s;
  animation-timing-function: ease-in-out;
}

/* Pulsate */

@-webkit-keyframes pulsate {
  from {
    opacity: 1;
  }
  10% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  30% {
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  60% {
    opacity: 1;
  }
  70% {
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  90% {
    opacity: 0;
  }
  to {
  }
}

.pulsate {
  animation-name: pulsate;
  animation-duration: 5s;
}

/* Boomerang */

@keyframes boomerang {
  10% {
    z-index: 1;
    transform: rotate(-20deg);
  }
  35% {
    z-index: 1;
    transform: translate(220%, -55%) scale(0.5) rotate(-200deg);
  }
  74% {
    z-index: -1;
  }
  75% {
    transform: translate(-200%, 55%) scale(0.9) rotate(-860deg);
  }
  80% {
    z-index: 1;
  }
  90% {
    z-index: 1;
    transform: translate(0%, 0%) rotate(-10deg);
  }
}

.boomerang {
  animation-name: boomerang;
  animation-duration: 3s;
}

/* I Wan Chu Back */

@keyframes iWanChuBack {
  0% {
    opacity: 1;
  }
  25% {
    opacity: 1;
    transform: scale3d(0.1, 0.1, 0.1);
  }
  50% {
    opacity: 1;
    transform: scale3d(0.1, 0.1, 0.1);
  }
  to {
    opacity: 1;
  }
}

.iWanChuBack {
  animation-name: iWanChuBack;
  animation-duration: 3s;
}

/* Lawn Mower */

@keyframes lawnMower {
  0% {
    opacity: 1;
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) rotateY(12225deg);
  }
}

.lawnMower {
  animation-duration: 5s;
  animation-name: lawnMower;
  animation-timing-function: ease-in-out;
}

/* Swivel Chair */

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

.swivelChair {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  animation-name: swivelChair;
  animation-duration: 2s;
}

/* Candle In The Wind */

.candleInTheWind {
  opacity: 0;
  animation-name: candleInTheWind;
  animation-duration: 0.7s;
  animation-fill-mode: forwards;
}

@keyframes candleInTheWind {
  0% {
    opacity: 0;
  }
  12.5% {
    opacity: 0.25;
    transform: skewX(-10deg);
  }
  25% {
    opacity: 0;
  }
  37.5% {
    opacity: 0;
    transform: skewX(-10deg);
  }
  50% {
    opacity: 0.75;
  }
  62.5% {
    opacity: 0;
  }
  75% {
    opacity: 1;
    transform: skewX(-5deg);
  }
  87.5% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}

/* Highlighter */

.highlighter {
  animation-name: highlighter;
  animation-duration: 2s;
  animation-fill-mode: forwards;
}

.highlight-text {
  animation-name: highlighter-text;
  animation-duration: 2s;
}

@keyframes highlighter {
  0% {
    background-color: rgba(0, 255, 255, 0);
    background-color: rgba(0, 255, 255, 128);
  }
  100% {
    background-color: rgba(0, 255, 255, 0);
    background-color: rgba(127, 219, 255, 0);
  }
}

@keyframes highlighter-text {
  0% {
    color: yellow;
    color: #0074d9;
  }
  100% {
    color: inherit;
  }
}

/* Nope */

@keyframes nope {
  0% {
    transform: translateX(0);
  }
  6.5% {
    transform: translateX(-7px) rotateY(-10deg);
  }
  18.5% {
    transform: translateX(6px) rotateY(8deg);
  }
  31.5% {
    transform: translateX(-4px) rotateY(-6deg);
  }
  43.5% {
    transform: translateX(3px) rotateY(4deg);
  }
  50% {
    transform: translateX(0);
  }
}

.nope {
  animation-name: nope;
  animation-duration: 2s;
  animation-timing-function: ease-in-out;
}

/* Heart Beat */

@keyframes heartBeat {
  from {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
  to {
    transform: scale(1.1);
  }
}

.heartBeat {
  animation-name: heartBeat;
  animation: heartBeat 0.66s alternate;
  animation-iteration-count: 8;
}

/* Sleepy Eyes */

@keyframes sleepyEyes {
  0% {
    transform: perspective(400px);
  }
  5% {
    transform: perspective(400px) rotateX(-20deg);
    opacity: 0.5;
  }
  15% {
    transform: perspective(400px);
    opacity: 1;
  }
  35% {
    transform: perspective(400px) rotateX(-20deg);
    opacity: 0.75;
  }
  45% {
    transform: perspective(400px) rotateX(-2deg);
    opacity: 1;
  }
  to {
    transform: perspective(400px) rotateX(-90deg);
    opacity: 0;
  }
}

.sleepyEyes {
  animation-name: sleepyEyes;
  animation-duration: 5s;
  backface-visibility: visible !important;
}

/* Plummit */

@keyframes plummit {
  from {
    opacity: 1;
    transform: scale(10);
  }
  to {
    opacity: 1;
    transform: scale(0);
  }
}

.plummit {
  animation-timing-function: ease-in-out;
  animation-name: plummit;
  animation-duration: 5s;
}

/* Drop It Like Its Hot */

@keyframes dropItLikeItsHot {
  from {
    opacity: 1;
    transform: none;
  }
  to {
    opacity: 1;
    transform: translate3d(0, 1000px, 0);
  }
}

.dropItLikeItsHot {
  animation-name: dropItLikeItsHot;
  animation-duration: 0.5s;
}

/* Gettin Lifted */

@keyframes gettinLifted {
  from {
    opacity: 1;
    transform: translate3d(0, 500px, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

.gettinLifted {
  animation-name: gettinLifted;
  animation-duration: 3s;
  animation-timing-function: ease-in;
}

/* Glaucoma */

@keyframes glaucoma {
  from {
    opacity: 1;
    text-shadow: 0 0 75px black;
    color: transparent;
  }
  to {
    opacity: 1;
    text-shadow: 0;
    color: transparent;
  }
}

.glaucoma {
  animation-name: glaucoma;
  animation-duration: 5s;
  animation-timing-function: ease-out;
}

/* Chameleon */

@keyframes chameleon {
  0% {
    color: red;
  }
  14.2999% {
    color: orange;
  }
  28.5999% {
    color: yellow;
  }
  42.8998% {
    color: green;
  }
  57.1996% {
    color: blue;
  }
  71.4995% {
    color: indigo;
  }
  85.7994% {
    color: violet;
  }
  100% {
    color: red;
  }
}

.chameleon {
  animation-name: chameleon;
  animation-duration: 5s;
}

/* Backdrop */

@keyframes backdrop {
  0% {
    background-color: red;
    color: white;
  }
  14.2999% {
    background-color: orange;
    color: black;
  }
  28.5999% {
    background-color: yellow;
    color: black;
  }
  42.8998% {
    background-color: green;
    color: white;
  }
  57.1996% {
    background-color: blue;
    color: white;
  }
  71.4995% {
    background-color: indigo;
    color: white;
  }
  85.7994% {
    background-color: violet;
    color: white;
  }
  100% {
    background-color: red;
    color: white;
  }
}

.backdrop {
  animation-name: backdrop;
  animation-duration: 10s;
}

/* Tear Drop */

@keyframes tearDrop {
  0% {
    top: 5px;
    opacity: 0;
  }
  30% {
    top: 10px;
    opacity: 1;
  }
  100% {
    top: 25px;
    opacity: 0;
  }
}

.tearDrop {
  animation-name: tearDrop;
  animation-duration: 1s;
  animation-timing-function: linear;
  animation-delay: 0s;
  animation-iteration-count: 5;
  animation-play-state: running;
}

/* Acid Trip */

@keyframes acidTrip {
  from {
    filter: hue-rotate(0deg);
  }
  50% {
    filter: hue-rotate(360deg);
  }
  to {
    filter: hue-rotate(-360deg);
  }
}

.acidTrip {
  animation-name: acidTrip;
  color: red;
  background-image: linear-gradient(50deg, purple, orange);
  background-clip: text;
  text-fill-color: transparent;
  animation-duration: 3s;
  animation-timing-function: linear;
  animation-iteration-count: 3;
}

/* Spinner */

@keyframes spinner {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}

.spinner {
  animation-name: spinner;
  animation-duration: 5s;
  animation-iteration-count: 2;
  animation-timing-function: linear;
  transform-origin: 50% 50%;
}

/* Page Turn */

@keyframes pageTurn {
  0% {
    transform: translate3d(0,0,0) scale(1, 1) translate(-50%, -50%);
  }
  50% {   
    transform: translate3d(0,0,0) scale(-1 ,1) translate(-50%, -50%);
  }
  100% {
    transform: translate3d(0,0,0) scale(1, 1) translate(-50%, -50%);
  }
}

.pageTurn {  
  animation-name: pageTurn; 
  animation-duration: 1s;
  animation-iteration-count: 5; 
  animation-timing-function: linear;  
}

