/**
 * cssanimation.css
 * Current Version: 1.0.2
 * https://www.cssanimatio.io
 * Created and maintained by: Pavel
 * Find me at: https://www.linkedin.com/in/yesiamrocks/
 * Email: hello@cssanimation.io
 * Github: https://github.com/yesiamrocks/cssanimation.io
 * Title: A CSS Animation Library for Developers and Ninjas
 * Copyright (c) 2017 Pavel
 * License: cssanimation.io is licensed under the MIT license
 **/

.cssanimation {
    animation-duration: 0.9s;
    animation-fill-mode: both;
}
.cssanimation span {
    animation-duration: 0.3s;
    animation-fill-mode: both;
    display: inline-block;
}
.open,
.wipe {
    margin: 0 auto;
    overflow: hidden;
    display: inline-flex;
}
.infinite {
    animation-iteration-count: infinite !important;
}
.hu__hu__ {
    animation: hu__hu__ 2s ease-in-out;
    animation-iteration-count: 1;
}
@keyframes hu__hu__ {
    50% {
        transform: translateY(30px);
    }
}
.leSnake span {
    animation: leSnake 1.5s ease-in-out;
    animation-iteration-count: 1;
}
@keyframes leSnake {
    from,
    to {
        transform: translateY(0);
    }
    50% {
        transform: translateY(30px);
    }
}
.lePeek span {
    animation-name: lePeek;
}
@keyframes lePeek {
    25% {
        transform: rotateX(30deg) translateY(10px) rotate(-13deg);
    }
    50% {
        transform: translateY(-22px) rotate(3deg) scale(1.1);
    }
}
.effect3d {
    animation-name: effect3d;
}
@keyframes effect3d {
    to {
        text-shadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb,
            0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0, 0, 0, 0.1),
            0 0 5px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.3),
            0 3px 5px rgba(0, 0, 0, 0.2), 0 5px 10px rgba(0, 0, 0, 0.25),
            0 10px 10px rgba(0, 0, 0, 0.2), 0 20px 20px rgba(0, 0, 0, 0.15);
    }
}
.leRainDrop span {
    animation-name: leRainDrop;
    animation-iteration-count: 1;
}
@keyframes leRainDrop {
    0%,
    100%,
    25%,
    55%,
    75%,
    87%,
    97% {
        transform: scaleX(1);
    }
    26%,
    56%,
    76% {
        transform: scaleX(1.3) scaleY(0.8);
    }
    31%,
    61%,
    81% {
        transform: scaleX(0.8) scaleY(1.2);
    }
    76%,
    88% {
        transform: scaleX(1.2);
    }
    98% {
        transform: scaleX(1.1);
    }
}
.pepe {
    animation-name: pepe;
    animation-iteration-count: infinite;
}
@keyframes pepe {
    33%,
    66%,
    from,
    to {
        transform: rotate(4deg);
    }
    16%,
    50%,
    83% {
        transform: rotate(-4deg);
    }
}
.leWaterWave span {
    animation: leWaterWave 0.2s linear 1;
}
@keyframes leWaterWave {
    50% {
        transform: skewY(1deg) skewX(-1deg) scale(1.06);
    }
}
.lightning {
    animation-name: lightning;
}
@keyframes lightning {
    50%,
    from,
    to {
        opacity: 1;
    }
    25%,
    75% {
        opacity: 0;
    }
}
.leJoltZoom span {
    animation-name: leJoltZoom;
}
@keyframes leJoltZoom {
    10% {
        font-size: 140%;
    }
    40% {
        font-size: 80%;
    }
    100% {
        font-size: 100%;
    }
}
.typing {
    width: 473px;
    overflow: hidden;
    white-space: nowrap;
    border-right: 2px solid #7e2ea0;
    animation: typing 2s steps(12, end), cursor 0.2s steps(12, end) infinite;
}
@keyframes typing {
    from {
        width: 0;
    }
}
@keyframes cursor {
    50% {
        border-color: transparent;
    }
}
.electricity {
    animation-name: electricity;
    animation-iteration-count: infinite;
}
.leSkateX span,
.leSkateXY span,
.leSkateY span {
    animation-iteration-count: 1;
}
@keyframes electricity {
    37%,
    48%,
    67%,
    72%,
    80%,
    85%,
    93%,
    96%,
    from {
        transform: translateY(30px);
    }
    12%,
    20%,
    28%,
    4%,
    52%,
    56%,
    60%,
    64%,
    88% {
        transform: translateY(10px);
    }
    16%,
    24%,
    32%,
    40%,
    44%,
    8% {
        transform: translateY(5px);
    }
    76%,
    to {
        transform: translateY(40px);
    }
}
.wipe {
    width: 473px;
    animation-name: wipe;
}
@keyframes wipe {
    to {
        width: 0;
    }
}
.open {
    width: 473px;
    animation-name: open;
}
@keyframes open {
    from {
        width: 0;
    }
}
.leMagnify span {
    animation-name: leMagnify;
}
@keyframes leMagnify {
    50% {
        transform: scale(1.8);
        letter-spacing: 26px;
    }
}
.leBeat span {
    animation-name: leBeat;
}
@keyframes leBeat {
    14%,
    42% {
        transform: scale(1.3);
    }
    28%,
    70% {
        transform: scale(1);
    }
}
.leFadeIn span {
    animation-name: leFadeIn;
}
@keyframes leFadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
.leFadeInLeft span {
    animation-name: leFadeInLeft;
}
@keyframes leFadeInLeft {
    from {
        opacity: 0;
        transform: translateX(-60px);
    }
    to {
        opacity: 1;
    }
}
.leFadeInRight span {
    animation-name: leFadeInRight;
}
@keyframes leFadeInRight {
    from {
        opacity: 0;
        transform: translateX(60px);
    }
    to {
        opacity: 1;
    }
}
.leFadeInTop span {
    animation-name: leFadeInTop;
}
@keyframes leFadeInTop {
    from {
        opacity: 0;
        transform: translateY(-100%);
    }
    to {
        opacity: 1;
    }
}
.leFadeInBottom span {
    animation-name: leFadeInBottom;
}
@keyframes leFadeInBottom {
    from {
        opacity: 0;
        transform: translateY(100%);
    }
    to {
        opacity: 1;
    }
}
.leFadeOut span {
    animation-name: leFadeOut;
}
@keyframes leFadeOut {
    to {
        opacity: 0;
    }
}
.leFadeOutLeft span {
    animation-name: leFadeOutLeft;
}
@keyframes leFadeOutLeft {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
        transform: translateX(-60px);
    }
}
.leFadeOutRight span {
    animation-name: leFadeOutRight;
}
@keyframes leFadeOutRight {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
        transform: translateX(60px);
    }
}
.leFadeOutTop span {
    animation-name: leFadeOutTop;
}
@keyframes leFadeOutTop {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
        transform: translateY(-100%);
    }
}
.leFadeOutBottom span {
    animation-name: leFadeOutBottom;
}
@keyframes leFadeOutBottom {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
        transform: translateY(100%);
    }
}
.leMovingBackFromRight span {
    animation-name: leMovingBackFromRight;
    transform-origin: bottom;
}
@keyframes leMovingBackFromRight {
    40% {
        transform: rotate(45deg);
    }
    100% {
        transform: rotate(0);
        animation-timing-function: cubic-bezier(0, 0.9, 0.7, 1.45);
    }
}
.leMovingBackFromLeft span {
    animation-name: leMovingBackFromLeft;
    transform-origin: bottom;
}
@keyframes leMovingBackFromLeft {
    40% {
        transform: rotate(-45deg);
    }
    100% {
        transform: rotate(0);
        animation-timing-function: cubic-bezier(0, 0.9, 0.7, 1.45);
    }
}
.leKickOutBehind span {
    animation-name: leKickOutFront;
    transform-origin: top;
}
@keyframes leKickOutFront {
    40% {
        transform: rotate(45deg);
    }
    100% {
        transform: rotate(0);
        animation-timing-function: cubic-bezier(0, 0.9, 0.7, 1.45);
    }
}
.leKickOutFront span {
    animation-name: leKickOutBehind;
    transform-origin: top;
}
@keyframes leKickOutBehind {
    40% {
        transform: rotate(-45deg);
    }
    100% {
        transform: rotate(0);
        animation-timing-function: cubic-bezier(0, 0.9, 0.7, 1.45);
    }
}
.leSkateX span {
    animation-name: leScaleX;
}
@keyframes leScaleX {
    50% {
        transform: scaleX(0.4);
    }
}
.leSkateY span {
    animation-name: leSkateY;
}
@keyframes leSkateY {
    50% {
        transform: scaleY(0.4);
    }
}
.leSkateXY span {
    animation-name: leSkateXY;
    animation-duration: 1.5s;
}
@keyframes leSkateXY {
    25% {
        transform: scale3d(1, 0.4, 0);
    }
    50% {
        transform: scale3d(0.4, 0.4, 1);
    }
    75% {
        transform: scale3d(0.4, 1, 1);
    }
}
.leScaleXIn span {
    animation-name: leScaleXIn;
}
@keyframes leScaleXIn {
    from {
        transform: perspective(400px) rotateX(90deg);
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
}
.leScaleXOut span {
    animation-name: leScaleXOut;
}
@keyframes leScaleXOut {
    to {
        transform: perspective(400px) rotateX(90deg);
        opacity: 0;
    }
    from {
        opacity: 1;
    }
}
.leScaleYIn span {
    animation-name: leScaleYIn;
}
@keyframes leScaleYIn {
    from {
        transform: perspective(400px) rotateY(90deg);
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
}
.leScaleYOut span {
    animation-name: leScaleYOut;
}
@keyframes leScaleYOut {
    to {
        transform: perspective(400px) rotateY(90deg);
        opacity: 0;
    }
    from {
        opacity: 1;
    }
}
.leJump span {
    animation-name: leJump;
    animation-iteration-count: infinite;
}
@keyframes leJump {
    to {
        transform: translateY(-20px);
    }
}
.leAboundTop span {
    animation-name: leAboundTop;
}
@keyframes leAboundTop {
    50% {
        transform: translateY(-100px);
        animation-timing-function: ease-in;
    }
}
.leAboundBottom span {
    animation-name: leAboundBottom;
}
@keyframes leAboundBottom {
    50% {
        transform: translateY(100px);
        animation-timing-function: ease-in;
    }
}
.leAboundLeft span {
    animation-name: leAboundLeft;
}
@keyframes leAboundLeft {
    50% {
        transform: translateX(-100px);
        animation-timing-function: ease-in;
    }
}
.leAboundRight span {
    animation-name: leAboundRight;
}
@keyframes leAboundRight {
    50% {
        transform: translateX(100px);
        animation-timing-function: ease-in;
    }
}
.leFlyInLeft span,
.leFlyInRight span,
.leFlyOutLeft span,
.leFlyOutRight span {
    animation-timing-function: ease-in-out;
}
.leFlyInTop span {
    animation-name: leFlyInTop;
}
@keyframes leFlyInTop {
    0% {
        transform: translate(0, -80px);
        opacity: 0;
    }
    50% {
        transform: translate(10px, 50px);
        animation-timing-function: ease-in-out;
    }
}
.leFlyInLeft span {
    animation-name: leFlyInLeft;
}
@keyframes leFlyInLeft {
    0% {
        transform: translate(-40px, 0);
        opacity: 0;
    }
    50% {
        transform: translate(40px, 0);
    }
}
.leFlyInRight span {
    animation-name: leFlyInRight;
}
@keyframes leFlyInRight {
    0% {
        transform: translate(40px, 0);
        opacity: 0;
    }
    50% {
        transform: translate(-40px, 0);
    }
}
.leFlyInBottom span {
    animation-name: leFlyInBottom;
}
@keyframes leFlyInBottom {
    0% {
        transform: translate(0, 80px);
        opacity: 0;
    }
    50% {
        transform: translate(10px, -50px);
        animation-timing-function: ease-in-out;
    }
}
.leFlyOutTop span {
    animation-name: leFlyOutTop;
}
@keyframes leFlyOutTop {
    50% {
        transform: translate(0, 50px);
    }
    to {
        transform: translate(0, -100px);
        opacity: 0;
    }
}
.leFlyOutLeft span {
    animation-name: leFlyOutLeft;
}
@keyframes leFlyOutLeft {
    50% {
        transform: translate(40px, 0);
    }
    to {
        transform: translate(-100px, 0);
        opacity: 0;
    }
}
.leFlyOutRight span {
    animation-name: leFlyOutRight;
}
@keyframes leFlyOutRight {
    50% {
        transform: translate(-40px, 0);
    }
    to {
        transform: translate(100px, 0);
        opacity: 0;
    }
}
.leFlyOutBottom span {
    animation-name: leFlyOutBottom;
}
@keyframes leFlyOutBottom {
    50% {
        transform: translate(0, -40px);
    }
    to {
        transform: translate(0, 100px);
        opacity: 0;
    }
}
.leDoorCloseLeft span {
    animation-name: leDoorCloseLeft;
}
@keyframes leDoorCloseLeft {
    from,
    to {
        transform: perspective(400px);
        transform-origin: left;
    }
    from {
        transform: rotateY(90deg);
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
.leDoorOpenRight span {
    animation-name: leDoorOpenRight;
}
@keyframes leDoorOpenRight {
    from,
    to {
        transform: perspective(400px);
        transform-origin: left;
    }
    to {
        transform: rotateY(90deg);
        opacity: 0;
    }
}
.leDoorCloseRight span {
    animation-name: leDoorCloseRight;
}
@keyframes leDoorCloseRight {
    from,
    to {
        transform: perspective(400px);
        transform-origin: right;
    }
    from {
        transform: rotateY(-90deg);
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
.leDoorOpenLeft span {
    animation-name: leDoorOpenLeft;
}
@keyframes leDoorOpenLeft {
    from,
    to {
        transform: perspective(400px);
        transform-origin: right;
    }
    to {
        transform: rotateY(-90deg);
        opacity: 0;
    }
}
.leHangAndDropLeft span {
    animation-name: leHangAndDropLeft;
}
@keyframes leHangAndDropLeft {
    from {
        transform-origin: left;
    }
    50% {
        transform: rotate(100deg);
        transform-origin: left;
    }
    60% {
        transform: rotate(90deg);
        transform-origin: left;
    }
    to {
        transform: translateY(800px) rotate(70deg);
        transform-origin: left;
    }
}
.leHangAndDropRight span {
    animation-name: leHangAndDropRight;
}
@keyframes leHangAndDropRight {
    from {
        transform-origin: right;
    }
    50% {
        transform: rotate(-100deg);
        transform-origin: right;
    }
    60% {
        transform: rotate(-90deg);
        transform-origin: right;
    }
    to {
        transform: translateY(800px) rotate(-70deg);
        transform-origin: right;
    }
}
.leRencontre span {
    animation: leRencontre 0.4s;
    animation-iteration-count: 1;
}
.leCrazyCool span,
.leHorizontalShake span,
.leHorizontalTremble span,
.leMadMax span,
.lePulseShake span,
.leVerticalShake span,
.leVerticalTremble span {
    animation-iteration-count: 1;
}
@keyframes leRencontre {
    0%,
    100%,
    33% {
        transform-origin: bottom;
        animation-timing-function: cubic-bezier(0.17, 0.67, 0.79, 1.83);
    }
    33% {
        transform: translateY(-2px) rotate(-3deg);
    }
    66% {
        transform: translateY(2px) rotate(3deg);
    }
}
.lePulseShake span {
    animation-name: lePulseShake;
}
@keyframes lePulseShake {
    90% {
        transform: scale(1);
    }
    92% {
        transform: scale(1.2);
    }
    96% {
        transform: scale(1, 1);
    }
    98% {
        transform: scale(1.1);
    }
}
.leHorizontalShake span {
    animation-name: leHorizontalShake;
}
@keyframes leHorizontalShake {
    12%,
    21%,
    3%,
    30%,
    39%,
    48%,
    57%,
    65%,
    74%,
    92% {
        transform: translateX(5px);
    }
    15%,
    24%,
    33%,
    42%,
    51%,
    6%,
    60%,
    68%,
    77%,
    86%,
    95% {
        transform: translateX(3px);
    }
    18%,
    27%,
    36%,
    45%,
    54%,
    63%,
    71%,
    80%,
    89%,
    9%,
    98% {
        transform: translateX(-5px);
    }
}
.leVerticalShake span {
    animation-name: leVerticalShake;
}
@keyframes leVerticalShake {
    12%,
    21%,
    3%,
    30%,
    39%,
    48%,
    57%,
    65%,
    74%,
    83%,
    92% {
        transform: translateY(5px);
    }
    15%,
    24%,
    33%,
    42%,
    51%,
    6%,
    60%,
    68%,
    77%,
    86%,
    95% {
        transform: translateY(3px);
    }
    18%,
    27%,
    36%,
    45%,
    54%,
    63%,
    71%,
    80%,
    89%,
    9%,
    98% {
        transform: translateY(-5px);
    }
}
.leMadMax span {
    animation-name: leMadMax;
}
@keyframes leMadMax {
    12%,
    21%,
    3%,
    30%,
    39%,
    48%,
    57%,
    65%,
    74%,
    83%,
    92% {
        transform: translateY(5px) scale(1.1);
    }
    15%,
    24%,
    33%,
    42%,
    51%,
    6%,
    60%,
    68%,
    77%,
    86%,
    95% {
        transform: translateY(3px) scale(0.8);
    }
    18%,
    27%,
    36%,
    45%,
    54%,
    63%,
    71%,
    80%,
    89%,
    9%,
    98% {
        transform: translateY(-5px) scale(1.1);
    }
}
.leHorizontalTremble span {
    animation-name: leHorizontalTremble;
}
@keyframes leHorizontalTremble {
    21%,
    3%,
    39%,
    57%,
    74%,
    92% {
        transform: translateX(5px);
    }
    24%,
    42%,
    6%,
    60%,
    77%,
    95% {
        transform: translateX(3px);
    }
    27%,
    45%,
    63%,
    80%,
    9%,
    98% {
        transform: translateX(-5px);
    }
}
.leVerticalTremble span {
    animation-name: leVerticalTremble;
}
@keyframes leVerticalTremble {
    21%,
    3%,
    39%,
    57%,
    74%,
    92% {
        transform: translateY(5px);
    }
    24%,
    42%,
    6%,
    60%,
    77%,
    95% {
        transform: translateY(3px);
    }
    27%,
    45%,
    63%,
    80%,
    9%,
    98% {
        transform: translateY(-5px);
    }
}
.leCrazyCool span {
    animation-name: leCrazyCool;
}
@keyframes leCrazyCool {
    21%,
    3%,
    39%,
    57%,
    74%,
    92% {
        transform: translateY(5px) scale(1.1);
    }
    24%,
    42%,
    6%,
    60%,
    77%,
    95% {
        transform: translateY(3px) scale(0.8);
    }
    27%,
    45%,
    63%,
    80%,
    9%,
    98% {
        transform: translateY(-5px) scale(1.1);
    }
}
.leVibration span {
    animation: leVibration 0.1s linear 2;
}
@keyframes leVibration {
    50% {
        transform: skewY(1deg) skewX(-1deg) scale(1.06);
    }
}
.lePushReleaseFrom span {
    animation-name: lePushReleaseFrom;
}
@keyframes lePushReleaseFrom {
    from {
        transform: scale(3, 3);
        opacity: 0;
    }
    50% {
        transform: scale(0.5, 0.5);
    }
}
.lePushReleaseFromLeft span {
    animation-name: lePushReleaseFromLeft;
}
@keyframes lePushReleaseFromLeft {
    from {
        transform: translateX(-100%);
        opacity: 0;
    }
    30% {
        transform: translateX(100px);
    }
}
.lePushReleaseFromTop span {
    animation-name: lePushReleaseFromTop;
}
@keyframes lePushReleaseFromTop {
    from {
        transform: translateY(-100%);
        opacity: 0;
    }
    30% {
        transform: translateY(100px);
    }
}
.lePushReleaseFromBottom span {
    animation-name: lePushReleaseFromBottom;
}
@keyframes lePushReleaseFromBottom {
    from {
        transform: translateY(100%);
        opacity: 0;
    }
    30% {
        transform: translateY(-100px);
    }
}
.lePushReleaseTo span {
    animation-name: lePushReleaseTo;
}
@keyframes lePushReleaseTo {
    30% {
        transform: scale(0.5, 0.5);
    }
    to {
        transform: scale(5, 5);
        opacity: 0;
    }
}
.lePushReleaseToTop span {
    animation-name: lePushReleaseToTop;
}
@keyframes lePushReleaseToTop {
    30% {
        transform: translateY(100px);
    }
    to {
        transform: translateY(-100%);
        opacity: 0;
    }
}
.lePushReleaseToBottom span {
    animation-name: lePushReleaseToBottom;
}
@keyframes lePushReleaseToBottom {
    30% {
        transform: translateY(-100px);
    }
    to {
        transform: translateY(100%);
        opacity: 0;
    }
}
.leFlipInTop span {
    animation-name: leFlipInTop;
}
@keyframes leFlipInTop {
    from {
        transform: perspective(600px);
        opacity: 0;
    }
    30% {
        transform: perspective(600px) rotateX(180deg);
        transform-origin: 0 0;
        animation-timing-function: ease-out;
    }
    to {
        transform: perspective(600px);
    }
}
.leFlipOutTop span {
    animation-name: leFlipOutTop;
}
@keyframes leFlipOutTop {
    to {
        opacity: 0;
        transform: perspective(600px);
    }
    70% {
        transform: perspective(600px) rotateX(180deg);
        transform-origin: 0 0;
        animation-timing-function: ease-out;
    }
}
.leFlipInBottom span {
    animation-name: leFlipInBottom;
}
@keyframes leFlipInBottom {
    from {
        transform: perspective(600px);
        opacity: 0;
    }
    30% {
        transform: perspective(600px) rotateX(180deg);
        transform-origin: bottom;
        animation-timing-function: ease-out;
    }
    to {
        transform: perspective(600px);
    }
}
.leFlipOutBottom span {
    animation-name: leFlipOutBottom;
}
@keyframes leFlipOutBottom {
    to {
        opacity: 0;
        transform: perspective(600px);
    }
    70% {
        transform: perspective(600px) rotateX(180deg);
        transform-origin: bottom;
        animation-timing-function: ease-out;
    }
}
.leElevateLeft span {
    animation-name: leElevateLeft;
}
@keyframes leElevateLeft {
    from {
        transform: translateY(100%) rotate(-20deg);
        transform-origin: right;
        opacity: 0;
    }
    40% {
        transform: rotate(20deg);
        transform-origin: right;
    }
    65% {
        transform: rotate(0);
        transform-origin: right;
    }
}
.leElevateRight span {
    animation-name: leElevateRight;
}
@keyframes leElevateRight {
    from {
        transform: translateY(100%) rotate(20deg);
        transform-origin: left;
        opacity: 0;
    }
    40% {
        transform: rotate(-20deg);
        transform-origin: left;
    }
    65% {
        transform: rotate(0);
        transform-origin: left;
    }
}
.leRollFromLeft span {
    animation-name: leRollFromLeft;
}
@keyframes leRollFromLeft {
    from {
        transform: translateX(-60px) perspective(600px) rotateY(180deg);
        opacity: 0;
    }
}
.leRollFromRight span {
    animation-name: leRollFromRight;
}
@keyframes leRollFromRight {
    from {
        transform: translateX(60px) perspective(600px) rotateY(-180deg);
        opacity: 0;
    }
}
.leRollFromTop span {
    animation-name: leRollFromTop;
}
@keyframes leRollFromTop {
    from {
        transform: translateY(-60px) perspective(600px) rotateX(180deg);
        opacity: 0;
    }
}
.leRollFromBottom span {
    animation-name: leRollFromBottom;
}
@keyframes leRollFromBottom {
    from {
        transform: translateY(60px) perspective(600px) rotateX(-180deg);
        opacity: 0;
    }
}
.leRollToLeft span {
    animation-name: leRollToLeft;
}
@keyframes leRollToLeft {
    to {
        transform: translateX(-60px) perspective(600px) rotateY(180deg);
        opacity: 0;
    }
}
.leRollToRight span {
    animation-name: leRollToRight;
}
@keyframes leRollToRight {
    to {
        transform: translateX(60px) perspective(600px) rotateY(-180deg);
        opacity: 0;
    }
}
.leRollToTop span {
    animation-name: leRollToTop;
}
@keyframes leRollToTop {
    to {
        transform: translateY(-60px) perspective(600px) rotateX(180deg);
        opacity: 0;
    }
}
.leRollToBottom span {
    animation-name: leRollToBottom;
}
@keyframes leRollToBottom {
    to {
        transform: translateY(60px) perspective(600px) rotateX(-180deg);
        opacity: 0;
    }
}
.leRotateSkateInRight span {
    animation-name: leRotateSkateInRight;
}
@keyframes leRotateSkateInRight {
    from {
        transform: scaleX(0.2) translateX(100px);
        opacity: 0;
    }
}
.leRotateSkateInLeft span {
    animation-name: leRotateSkateInLeft;
}
@keyframes leRotateSkateInLeft {
    from {
        transform: scaleX(0.2) translateX(-100px);
        opacity: 0;
    }
}
.leRotateSkateInTop span {
    animation-name: leRotateSkateInTop;
}
@keyframes leRotateSkateInTop {
    from {
        transform: scaleY(0.2) translateY(-100px);
        opacity: 0;
    }
}
.leRotateSkateInBottom span {
    animation-name: leRotateSkateInBottom;
}
@keyframes leRotateSkateInBottom {
    from {
        transform: scaleY(0.2) translateY(100px);
        opacity: 0;
    }
}
.leRotateSkateOutRight span {
    animation-name: leRotateSkateOutRight;
}
@keyframes leRotateSkateOutRight {
    to {
        transform: scaleX(0.2) translateX(100px);
        opacity: 0;
    }
}
.leRotateSkateOutLeft span {
    animation-name: leRotateSkateOutLeft;
}
@keyframes leRotateSkateOutLeft {
    to {
        transform: scaleX(0.2) translateX(-100px);
        opacity: 0;
    }
}
.leRotateSkateOutTop span {
    animation-name: leRotateSkateOutTop;
}
@keyframes leRotateSkateOutTop {
    to {
        transform: scaleY(0.2) translateY(-100px);
        opacity: 0;
    }
}
.leRotateSkateOutBottom span {
    animation-name: leRotateSkateOutBottom;
}
@keyframes leRotateSkateOutBottom {
    to {
        transform: scaleY(0.2) translateY(100px);
        opacity: 0;
    }
}
.leRotateXZoomIn span {
    animation-name: leRotateXZoomIn;
}
@keyframes leRotateXZoomIn {
    from {
        transform: perspective(600px) translate3d(0, -60px, -2000px)
            rotateX(75deg);
        opacity: 0;
    }
    5% {
        transform: perspective(600px) translate3d(0, -60px, -1500px)
            rotateX(75deg);
    }
}
.leRotateXZoomOut span {
    animation-name: leRotateXZoomOut;
}
@keyframes leRotateXZoomOut {
    95% {
        transform: perspective(600px) translate3d(0, -60px, -1500px)
            rotateX(75deg);
    }
    to {
        transform: perspective(600px) translate3d(0, -60px, -2000px)
            rotateX(75deg);
        opacity: 0;
    }
}
.leRotateYZoomIn span {
    animation-name: leRotateYZoomIn;
}
@keyframes leRotateYZoomIn {
    from {
        transform: perspective(600px) translate3d(0, -60px, -2000px)
            rotateY(75deg);
        opacity: 0;
    }
    5% {
        transform: perspective(600px) translate3d(0, -60px, -1500px)
            rotateY(75deg);
    }
}
.leRotateYZoomOut span {
    animation-name: leRotateYZoomOut;
}
@keyframes leRotateYZoomOut {
    95% {
        transform: perspective(600px) translate3d(0, -60px, -1500px)
            rotateY(75deg);
    }
    to {
        transform: perspective(600px) translate3d(0, -60px, -2000px)
            rotateY(75deg);
        opacity: 0;
    }
}
.leRotateIn span {
    animation-name: leRotateIn;
}
@keyframes leRotateIn {
    from {
        transform: rotate(-180deg);
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
.leRotateOut span {
    animation-name: leRotateOut;
}
@keyframes leRotateOut {
    from {
        opacity: 1;
    }
    to {
        transform: rotate(180deg);
        opacity: 0;
    }
}
.leRotateInLeft span {
    animation-name: leRotateInLeft;
}
@keyframes leRotateInLeft {
    from {
        transform: rotate(-180deg) translateX(150px);
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
.leRotateOutLeft span {
    animation-name: leRotateOutLeft;
}
@keyframes leRotateOutLeft {
    from {
        opacity: 1;
    }
    to {
        transform: rotate(180deg) translateX(150px);
        opacity: 0;
    }
}
.leRotateInRight span {
    animation-name: leRotateInRight;
}
@keyframes leRotateInRight {
    from {
        transform: rotate(-180deg) translateX(-150px);
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
.leRotateOutRight span {
    animation-name: leRotateOutRight;
}
@keyframes leRotateOutRight {
    from {
        opacity: 1;
    }
    to {
        transform: rotate(180deg) translateX(-150px);
        opacity: 0;
    }
}
.leSpinInLeft span {
    animation-name: leSpinInLeft;
}
@keyframes leSpinInLeft {
    from,
    to {
        transform-origin: left bottom;
    }
    from {
        transform: rotate(90deg);
        opacity: 0;
    }
}
.leSpinInRight span {
    animation-name: leSpinInRight;
}
@keyframes leSpinInRight {
    from,
    to {
        transform-origin: right bottom;
    }
    from {
        transform: rotate(-90deg);
        opacity: 0;
    }
}
.leSpinOutLeft span {
    animation-name: leSpinOutLeft;
}
@keyframes leSpinOutLeft {
    from,
    to {
        transform-origin: left bottom;
    }
    to {
        transform: rotate(90deg);
        opacity: 0;
    }
}
.leSpinOutRight span {
    animation-name: leSpinOutRight;
}
@keyframes leSpinOutRight {
    from,
    to {
        transform-origin: right bottom;
    }
    to {
        transform: rotate(-90deg);
        opacity: 0;
    }
}
.leBlurIn span {
    animation-name: leBlurIn;
}
@keyframes leBlurIn {
    from {
        transform: scaleX(0.2);
        filter: blur(20px);
        opacity: 0;
    }
}
.leBlurInRight span {
    animation-name: leBlurInRight;
}
@keyframes leBlurInRight {
    from {
        transform: scaleX(0.2) translateX(100px);
        filter: blur(20px);
        opacity: 0;
    }
}
.leBlurInLeft span {
    animation-name: leBlurInLeft;
}
@keyframes leBlurInLeft {
    from {
        transform: scaleX(0.2) translateX(-100px);
        filter: blur(20px);
        opacity: 0;
    }
}
.leBlurInTop span {
    animation-name: leBlurInTop;
}
@keyframes leBlurInTop {
    from {
        transform: scaleY(0.2) translateY(-100px);
        filter: blur(20px);
        opacity: 0;
    }
}
.leBlurInBottom span {
    animation-name: leBlurInBottom;
}
@keyframes leBlurInBottom {
    from {
        transform: scaleY(0.2) translateY(100px);
        filter: blur(20px);
        opacity: 0;
    }
}
.leBlurOut span {
    animation-name: leBlurOut;
}
@keyframes leBlurOut {
    to {
        transform: scaleX(0.2);
        filter: blur(20px);
        opacity: 0;
    }
}
.leBlurOutRight span {
    animation-name: leBlurOutRight;
}
@keyframes leBlurOutRight {
    to {
        transform: scaleX(0.2) translateX(100px);
        filter: blur(20px);
        opacity: 0;
    }
}
.leBlurOutLeft span {
    animation-name: leBlurOutLeft;
}
@keyframes leBlurOutLeft {
    to {
        transform: scaleX(0.2) translateX(-100px);
        filter: blur(20px);
        opacity: 0;
    }
}
.leBlurOutTop span {
    animation-name: leBlurOutTop;
}
@keyframes leBlurOutTop {
    to {
        transform: scaleY(0.2) translateY(-100px);
        filter: blur(20px);
        opacity: 0;
    }
}
.leBlurOutBottom span {
    animation-name: leBlurOutBottom;
}
@keyframes leBlurOutBottom {
    to {
        transform: scaleY(0.2) translateY(100px);
        filter: blur(20px);
        opacity: 0;
    }
}
.lePopUp span {
    animation-name: lePopUp;
}
@keyframes lePopUp {
    50% {
        transform: scale(1.5);
    }
}
.lePopUpLeft span {
    animation-name: lePopUpLeft;
}
@keyframes lePopUpLeft {
    50% {
        transform: translateX(-50px) scale(1.5);
        animation-timing-function: ease-in;
    }
}
.lePopUpRight span {
    animation-name: lePopUpRight;
}
@keyframes lePopUpRight {
    50% {
        transform: translateX(50px) scale(1.5);
        animation-timing-function: ease-in;
    }
}
.lePopOut span {
    animation-name: lePopOut;
}
@keyframes lePopOut {
    50% {
        transform: scale(0.5);
    }
}
.lePopOutLeft span {
    animation-name: lePopOutLeft;
}
@keyframes lePopOutLeft {
    50% {
        transform: translateX(-50px) scale(0.5);
        animation-timing-function: ease-in;
    }
}
.lePopOutRight span {
    animation-name: lePopOutRight;
}
@keyframes lePopOutRight {
    50% {
        transform: translateX(50px) scale(0.5);
        animation-timing-function: ease-in;
    }
}
.leBounceFromTop span {
    animation-name: leBounceFromTop;
}
@keyframes leBounceFromTop {
    0%,
    100%,
    25%,
    55%,
    85% {
        animation-timing-function: ease-out;
        transform: translate3d(0, 0, 0);
    }
    41%,
    44% {
        animation-timing-function: ease-in;
        transform: translate3d(0, -80px, 0) scale3d(1, 1.2, 1);
    }
    70% {
        animation-timing-function: ease-in;
        transform: translate3d(0, -20px, 0);
    }
    90% {
        transform: translate3d(0, -4px, 0);
    }
}
.leBounceFromDown span {
    animation-name: leBounceFromDown;
}
@keyframes leBounceFromDown {
    0%,
    100%,
    25%,
    55%,
    85% {
        animation-timing-function: ease-out;
        transform: translate3d(0, 0, 0);
    }
    41%,
    44% {
        animation-timing-function: ease-in;
        transform: translate3d(0, 80px, 0) scale3d(1, 1.2, 1);
    }
    70% {
        animation-timing-function: ease-in;
        transform: translate3d(0, 20px, 0);
    }
    90% {
        transform: translate3d(0, 4px, 0);
    }
}
.leBounceY span {
    animation-name: leBounceY;
}
@keyframes leBounceY {
    0%,
    100%,
    25%,
    55%,
    85% {
        animation-timing-function: ease-out;
        transform: scale3d(1, 1, 1);
    }
    41%,
    44% {
        animation-timing-function: ease-in;
        transform: scale3d(1, 2, 1);
    }
    70% {
        animation-timing-function: ease-in;
        transform: scale3d(1, 1.5, 1);
    }
    90% {
        transform: scale3d(1, 1.1, 1);
    }
}
.leBounceZoomIn span {
    animation-name: leBounceZoomIn;
}
@keyframes leBounceZoomIn {
    0%,
    100%,
    25%,
    55%,
    85% {
        animation-timing-function: ease-out;
        transform: scale(1);
    }
    41%,
    44% {
        animation-timing-function: ease-in;
        transform: scale(1.7);
    }
    70% {
        animation-timing-function: ease-in;
        transform: scale(1.9);
    }
    90% {
        transform: scale(1.1);
    }
}
.leBounceZoomOut span {
    animation-name: leBounceZoomOut;
}
@keyframes leBounceZoomOut {
    0%,
    100%,
    25%,
    55%,
    85% {
        animation-timing-function: ease-out;
        transform: scale(1);
    }
    41%,
    44% {
        animation-timing-function: ease-in;
        transform: scale(0.5);
    }
    70% {
        animation-timing-function: ease-in;
        transform: scale(0.7);
    }
    90% {
        transform: scale(0.9);
    }
}
.lePerspectiveOutTop span {
    animation-name: lePerspectiveOutTop;
    transform: perspective(500px);
    transform-style: preserve-3d;
}
@keyframes lePerspectiveOutTop {
    50% {
        opacity: 1;
    }
    to {
        transform: perspective(500px) rotateX(90deg) translateY(-50px)
            translateZ(50px);
        opacity: 0;
    }
}
.lePerspectiveOutBottom span {
    animation-name: lePerspectiveOutBottom;
    transform: perspective(500px);
    transform-style: preserve-3d;
}
@keyframes lePerspectiveOutBottom {
    50% {
        opacity: 1;
    }
    to {
        transform: perspective(500px) rotateX(90deg) translateY(50px)
            translateZ(-50px);
        opacity: 0;
    }
}
.leZoomIn span {
    animation-name: leZoomIn;
}
@keyframes leZoomIn {
    from {
        transform: scale(10);
        opacity: 0;
    }
}
.leZoomInLeft span {
    animation-name: leZoomInLeft;
}
@keyframes leZoomInLeft {
    from {
        transform: scale(10) translateX(-150%);
        opacity: 0;
    }
}
.leZoomInRight span {
    animation-name: leZoomInRight;
}
@keyframes leZoomInRight {
    from {
        transform: scale(10) translateX(150%);
        opacity: 0;
    }
}
.leZoomInTop span {
    animation-name: LetterZoomInTop;
}
@keyframes LetterZoomInTop {
    from {
        transform: scale(10) translateY(-50%);
        opacity: 0;
    }
}
.leZoomInBottom span {
    animation-name: leZoomInBottom;
}
@keyframes leZoomInBottom {
    from {
        transform: scale(10) translateY(50%);
        opacity: 0;
    }
}
.leZoomOut span {
    animation-name: leZoomOut;
}
@keyframes leZoomOut {
    to {
        transform: scale(10);
        opacity: 0;
    }
}
.leZoomOutLeft span {
    animation-name: leZoomOutLeft;
}
@keyframes leZoomOutLeft {
    to {
        transform: scale(10) translateX(-150%);
        opacity: 0;
    }
}
.leZoomOutRight span {
    animation-name: leZoomOutRight;
}
@keyframes leZoomOutRight {
    to {
        transform: scale(10) translateX(150%);
        opacity: 0;
    }
}
.leZoomOutTop span {
    animation-name: leZoomOutTop;
}
@keyframes leZoomOutTop {
    to {
        transform: scale(10) translateY(-50%);
        opacity: 0;
    }
}
.leZoomOutBottom span {
    animation-name: leZoomOutBottom;
}
@keyframes leZoomOutBottom {
    to {
        transform: scale(10) translateY(50%);
        opacity: 0;
    }
}
.leDanceInTop span {
    animation-name: leDanceInTop;
    transform-origin: top;
}
@keyframes leDanceInTop {
    from {
        opacity: 0;
    }
    16% {
        transform: skew(-14deg);
    }
    33% {
        transform: skew(12deg);
    }
    49% {
        transform: skew(-8deg);
    }
    66% {
        transform: skew(6deg);
    }
    83% {
        transform: skew(-4deg);
    }
}
.leDanceInMiddle span {
    animation-name: leDanceInMiddle;
}
@keyframes leDanceInMiddle {
    from {
        opacity: 0;
    }
    16% {
        transform: skew(-14deg);
    }
    33% {
        transform: skew(12deg);
    }
    49% {
        transform: skew(-8deg);
    }
    66% {
        transform: skew(6deg);
    }
    83% {
        transform: skew(-4deg);
    }
}
.leDanceInBottom span {
    animation-name: leDanceInBottom;
    transform-origin: bottom;
}
@keyframes leDanceInBottom {
    from {
        opacity: 0;
    }
    16% {
        transform: skew(-14deg);
    }
    33% {
        transform: skew(12deg);
    }
    49% {
        transform: skew(-8deg);
    }
    66% {
        transform: skew(6deg);
    }
    83% {
        transform: skew(-4deg);
    }
}
.leDanceOutTop span {
    animation-name: leDanceOutTop;
    transform-origin: top;
}
@keyframes leDanceOutTop {
    16% {
        transform: skew(-14deg);
    }
    33% {
        transform: skew(12deg);
    }
    49% {
        transform: skew(-8deg);
    }
    66% {
        transform: skew(6deg);
    }
    83% {
        transform: skew(-4deg);
    }
    to {
        opacity: 0;
    }
}
.leDanceOutMiddle span {
    animation-name: leDanceOutMiddle;
}
@keyframes leDanceOutMiddle {
    16% {
        transform: skew(-14deg);
    }
    33% {
        transform: skew(12deg);
    }
    49% {
        transform: skew(-8deg);
    }
    66% {
        transform: skew(6deg);
    }
    83% {
        transform: skew(-4deg);
    }
    to {
        opacity: 0;
    }
}
.leDanceOutBottom span {
    animation-name: leDanceOutBottom;
    transform-origin: bottom;
}
@keyframes leDanceOutBottom {
    16% {
        transform: skew(-14deg);
    }
    33% {
        transform: skew(12deg);
    }
    49% {
        transform: skew(-8deg);
    }
    66% {
        transform: skew(6deg);
    }
    83% {
        transform: skew(-4deg);
    }
    to {
        opacity: 0;
    }
}
.oaoFadeIn span:nth-child(even) {
    animation-name: leoaoFadeInTop;
    animation-duration: 0.7s;
    animation-timing-function: ease-out;
}
@keyframes leoaoFadeInTop {
    from {
        transform: translateY(-100px);
        opacity: 0;
    }
}
.oaoFadeIn span:nth-child(odd) {
    animation-name: leoaoFadeInBottom;
    animation-duration: 0.7s;
    animation-timing-function: ease-out;
}
@keyframes leoaoFadeInBottom {
    from {
        transform: translateY(100px);
        opacity: 0;
    }
}
.oaoFadeOut span:nth-child(even) {
    animation-name: leoaoFadeOutop;
    animation-duration: 0.7s;
    animation-timing-function: ease-in;
}
@keyframes leoaoFadeOutop {
    to {
        transform: translateY(-100px);
        opacity: 0;
    }
}
.oaoFadeOut span:nth-child(odd) {
    animation-name: leoaoFadeOutBottom;
    animation-duration: 0.7s;
    animation-timing-function: ease-in;
}
@keyframes leoaoFadeOutBottom {
    to {
        transform: translateY(100%);
        opacity: 0;
    }
}
.oaoFlyIn span:nth-child(even) {
    animation-name: leoaoFlyInTop;
}
@keyframes leoaoFlyInTop {
    0% {
        transform: translateY(80px);
        opacity: 0;
    }
    50% {
        transform: translateY(-50px);
        animation-timing-function: ease-out;
    }
}
.oaoFlyIn span:nth-child(odd) {
    animation-name: leoaoFlyInBottom;
}
@keyframes leoaoFlyInBottom {
    0% {
        transform: translateY(-80px);
        opacity: 0;
    }
    50% {
        transform: translateY(50px);
        animation-timing-function: ease-out;
    }
}
.oaoFlyOut span:nth-child(even) {
    animation-name: leoaoFlyOutTop;
}
@keyframes leoaoFlyOutTop {
    30% {
        transform: translateY(80px);
        animation-timing-function: ease-out;
    }
    80% {
        transform: translateY(-50px);
        animation-timing-function: ease-out;
    }
    to {
        opacity: 0;
    }
}
.oaoFlyOut span:nth-child(odd) {
    animation-name: leoaoFlyOutBottom;
}
@keyframes leoaoFlyOutBottom {
    30% {
        transform: translateY(-80px);
        animation-timing-function: ease-out;
    }
    80% {
        transform: translateY(50px);
        animation-timing-function: ease-out;
    }
    to {
        opacity: 0;
    }
}
.oaoRotateIn span:nth-child(even) {
    animation-name: oaoRotateInTop;
}
@keyframes oaoRotateInTop {
    from {
        transform: translateY(-100px) rotate(360deg);
        opacity: 0;
    }
}
.oaoRotateIn span:nth-child(odd) {
    animation-name: oaoRotateInBottom;
}
@keyframes oaoRotateInBottom {
    from {
        transform: translateY(100px) rotate(360deg);
        opacity: 0;
    }
}
.oaoRotateOut span:nth-child(even) {
    animation-name: oaoRotateOutTop;
}
@keyframes oaoRotateOutTop {
    to {
        transform: translateY(-100px) rotate(360deg);
        opacity: 0;
    }
}
.oaoRotateOut span:nth-child(odd) {
    animation-name: oaoRotateOutBottom;
}
@keyframes oaoRotateOutBottom {
    to {
        transform: translateY(100px) rotate(360deg);
        opacity: 0;
    }
}
.oaoRotateXIn span:nth-child(even) {
    animation-name: oaoRotateXInTop;
}
@keyframes oaoRotateXInTop {
    from {
        transform: translateY(-100px) rotateX(360deg);
        opacity: 0;
    }
}
.oaoRotateXIn span:nth-child(odd) {
    animation-name: oaoRotateXInBottom;
}
@keyframes oaoRotateXInBottom {
    from {
        transform: translateY(100px) rotateX(360deg);
        opacity: 0;
    }
}
.oaoRotateXOut span:nth-child(even) {
    animation-name: oaoRotateXOutTop;
}
@keyframes oaoRotateXOutTop {
    to {
        transform: translateY(-100px) rotateX(360deg);
        opacity: 0;
    }
}
.oaoRotateXOut span:nth-child(odd) {
    animation-name: oaoRotateXOutBottom;
}
@keyframes oaoRotateXOutBottom {
    to {
        transform: translateY(100px) rotateX(360deg);
        opacity: 0;
    }
}
.oaoRotateYIn span:nth-child(even) {
    animation-name: oaoRotateYInTop;
}
@keyframes oaoRotateYInTop {
    from {
        transform: translateY(-100px) rotateY(360deg);
        opacity: 0;
    }
}
.oaoRotateYIn span:nth-child(odd) {
    animation-name: oaoRotateYInBottom;
}
@keyframes oaoRotateYInBottom {
    from {
        transform: translateY(100px) rotateY(360deg);
        opacity: 0;
    }
}
.oaoRotateYOut span:nth-child(even) {
    animation-name: oaoRotateYOutTop;
}
@keyframes oaoRotateYOutTop {
    to {
        transform: translateY(-100px) rotateY(360deg);
        opacity: 0;
    }
}
.oaoRotateYOut span:nth-child(odd) {
    animation-name: oaoRotateYOutBottom;
}
@keyframes oaoRotateYOutBottom {
    to {
        transform: translateY(100px) rotateY(360deg);
        opacity: 0;
    }
}
.fadeIn {
    animation-name: fadeIn;
}
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
.cssanimation.fadeInLeft {
    animation-name: bfadeInLeft;
}
@keyframes bfadeInLeft {
    from {
        opacity: 0;
        transform: translateX(-150px);
    }
    to {
        opacity: 1;
    }
}
.cssanimation.fadeInRight {
    animation-name: bfadeInRight;
}
@keyframes bfadeInRight {
    from {
        opacity: 0;
        transform: translateX(150px);
    }
    to {
        opacity: 1;
    }
}
.cssanimation.fadeInTop {
    animation-name: bfadeInTop;
}
@keyframes bfadeInTop {
    from {
        opacity: 0;
        transform: translateY(-50px);
    }
    to {
        opacity: 1;
    }
}
.cssanimation.fadeInBottom {
    animation-name: bfadeInBottom;
}
@keyframes bfadeInBottom {
    from {
        opacity: 0;
        transform: translateY(50px);
    }
    to {
        opacity: 1;
    }
}
.fadeOut {
    animation-name: fadeOut;
}
@keyframes fadeOut {
    to {
        opacity: 0;
    }
}
.fadeOutLeft {
    animation-name: fadeOutLeft;
}
@keyframes fadeOutLeft {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
        transform: translateX(-100%);
    }
}
.fadeOutRight {
    animation-name: fadeOutRight;
}
@keyframes fadeOutRight {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
        transform: translateX(100%);
    }
}
.fadeOutTop {
    animation-name: fadeOutTop;
}
@keyframes fadeOutTop {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
        transform: translateY(-100%);
    }
}
.fadeOutBottom {
    animation-name: fadeOutBottom;
}
@keyframes fadeOutBottom {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
        transform: translateY(100%);
    }
}
.moveFromLeft {
    animation-name: moveFromLeft;
}
@keyframes moveFromLeft {
    from {
        transform: translateX(-300px);
    }
}
.moveFromRight {
    animation-name: moveFromRight;
}
@keyframes moveFromRight {
    from {
        transform: translateX(300px);
    }
}
.moveFromTop {
    animation-name: moveFromTop;
}
@keyframes moveFromTop {
    from {
        transform: translateY(-300px);
    }
}
.moveFromBottom {
    animation-name: moveFromBottom;
}
@keyframes moveFromBottom {
    from {
        transform: translateY(300px);
    }
}
.moveToLeft {
    animation-name: moveToLeft;
}
@keyframes moveToLeft {
    to {
        transform: translateX(-800px);
    }
}
.moveToRight {
    animation-name: moveToRight;
}
@keyframes moveToRight {
    to {
        transform: translateX(800px);
    }
}
.moveToTop {
    animation-name: moveToTop;
}
@keyframes moveToTop {
    to {
        transform: translateY(-800px);
    }
}
.moveToBottom {
    animation-name: moveToBottom;
}
@keyframes moveToBottom {
    to {
        transform: translateY(800px);
    }
}
.doorCloseFromLeft {
    animation-name: doorCloseFromLeft;
}
@keyframes doorCloseFromLeft {
    from {
        transform: perspective(400px) rotateY(90deg);
        transform-origin: left;
        opacity: 0;
    }
    50%,
    to {
        transform: perspective(400px) rotateY(0);
        transform-origin: left;
        opacity: 1;
    }
}
.doorOpenFromRight {
    animation-name: doorOpenFromRight;
}
@keyframes doorOpenFromRight {
    from {
        transform: perspective(400px) rotateY(0);
        transform-origin: left;
        opacity: 1;
    }
    50%,
    to {
        transform: perspective(400px) rotateY(90deg);
        transform-origin: left;
        opacity: 0;
    }
}
.doorCloseFromRight {
    animation-name: doorCloseFromRight;
}
@keyframes doorCloseFromRight {
    from {
        transform: perspective(400px) rotateY(-90deg);
        transform-origin: right;
        opacity: 0;
    }
    50%,
    to {
        transform: perspective(400px) rotateY(0);
        transform-origin: right;
        opacity: 1;
    }
}
.doorOpenFromLeft {
    animation-name: doorOpenFromLeft;
}
@keyframes doorOpenFromLeft {
    from {
        transform: perspective(400px) rotateY(0);
        transform-origin: right;
        opacity: 1;
    }
    50%,
    to {
        transform: perspective(400px) rotateY(-90deg);
        transform-origin: right;
        opacity: 0;
    }
}
.heartbeatSlow {
    animation-name: heartbeatSlow;
    animation-iteration-count: 3;
    animation-duration: 0.5s;
}
.coolHorizontalShake,
.coolVerticalShake,
.heartbeatFast,
.horizontalShake,
.madMax,
.pulseShake,
.quietMad,
.verticalShake {
    animation-iteration-count: infinite;
}
@keyframes heartbeatSlow {
    35%,
    65% {
        transform: scale(1.2);
    }
}
.heartbeatFast {
    animation-name: heartbeatFast;
}
@keyframes heartbeatFast {
    14%,
    42% {
        transform: scale(1.3);
    }
    28%,
    70% {
        transform: scale(1);
    }
}
.hangOnLeft {
    animation-name: hangOnLeft;
}
@keyframes hangOnLeft {
    from {
        transform-origin: left;
    }
    40% {
        transform: rotate(100deg);
        transform-origin: left;
    }
    55% {
        transform: rotate(80deg);
        transform-origin: left;
    }
    70% {
        transform: rotate(95deg);
        transform-origin: left;
    }
    85% {
        transform: rotate(85deg);
        transform-origin: left;
    }
    100% {
        transform: rotate(90deg);
        transform-origin: left;
    }
}
.hangOnRight {
    animation-name: hangOnRight;
}
@keyframes hangOnRight {
    from {
        transform-origin: right;
    }
    40% {
        transform: rotate(-100deg);
        transform-origin: right;
    }
    55% {
        transform: rotate(-80deg);
        transform-origin: right;
    }
    70% {
        transform: rotate(-95deg);
        transform-origin: right;
    }
    85% {
        transform: rotate(-85deg);
        transform-origin: right;
    }
    100% {
        transform: rotate(-90deg);
        transform-origin: right;
    }
}
.hangAndDropLeft {
    animation-name: hangAndDropLeft;
}
@keyframes hangAndDropLeft {
    from {
        transform-origin: left;
    }
    50% {
        transform: rotate(100deg);
        transform-origin: left;
    }
    60% {
        transform: rotate(90deg);
        transform-origin: left;
        opacity: 1;
    }
    to {
        transform: translateY(300px) rotate(70deg);
        transform-origin: left;
        opacity: 0;
    }
}
.hangAndDropRight {
    animation-name: hangAndDropRight;
}
@keyframes hangAndDropRight {
    from {
        transform-origin: right;
    }
    50% {
        transform: rotate(-100deg);
        transform-origin: right;
    }
    60% {
        transform: rotate(-90deg);
        transform-origin: right;
        opacity: 1;
    }
    to {
        transform: translateY(300px) rotate(-70deg);
        transform-origin: right;
        opacity: 0;
    }
}
.pulseShake {
    animation-name: pulseShake;
}
@keyframes pulseShake {
    90% {
        transform: scale(1);
    }
    92% {
        transform: scale(1.2);
    }
    96% {
        transform: scale(1, 1);
    }
    98% {
        transform: scale(1.1);
    }
}
.horizontalShake {
    animation-name: horizontalShake;
}
@keyframes horizontalShake {
    12%,
    21%,
    3%,
    30%,
    39%,
    48%,
    57%,
    65%,
    74%,
    83%,
    92% {
        transform: translateX(5px);
    }
    15%,
    24%,
    33%,
    42%,
    51%,
    6%,
    60%,
    68%,
    77%,
    86%,
    95% {
        transform: translateX(3px);
    }
    18%,
    27%,
    36%,
    45%,
    54%,
    63%,
    71%,
    80%,
    89%,
    9%,
    98% {
        transform: translateX(-5px);
    }
}
.verticalShake {
    animation-name: verticalShake;
}
@keyframes verticalShake {
    12%,
    21%,
    3%,
    30%,
    39%,
    48%,
    57%,
    65%,
    74%,
    83%,
    92% {
        transform: translateY(5px);
    }
    15%,
    24%,
    33%,
    42%,
    51%,
    6%,
    60%,
    68%,
    77%,
    86%,
    95% {
        transform: translateY(3px);
    }
    18%,
    27%,
    36%,
    45%,
    54%,
    63%,
    71%,
    80%,
    89%,
    9%,
    98% {
        transform: translateY(-5px);
    }
}
.madMax {
    animation-name: madMax;
}
@keyframes madMax {
    12%,
    21%,
    3%,
    30%,
    39%,
    48%,
    57%,
    65%,
    74%,
    83%,
    92% {
        transform: translateY(5px) scale(1.1);
    }
    15%,
    24%,
    33%,
    42%,
    51%,
    6%,
    60%,
    68%,
    77%,
    86%,
    95% {
        transform: translateY(3px) scale(0.8);
    }
    18%,
    27%,
    36%,
    45%,
    54%,
    63%,
    71%,
    80%,
    89%,
    9%,
    98% {
        transform: translateY(-5px) scale(1.1);
    }
}
.coolHorizontalShake {
    animation-name: coolHorizontalShake;
}
@keyframes coolHorizontalShake {
    21%,
    3%,
    39%,
    57%,
    74%,
    92% {
        transform: translateX(5px);
    }
    24%,
    42%,
    6%,
    60%,
    77%,
    95% {
        transform: translateX(3px);
    }
    27%,
    45%,
    63%,
    80%,
    9%,
    98% {
        transform: translateX(-5px);
    }
}
.coolVerticalShake {
    animation-name: coolVerticalShake;
}
@keyframes coolVerticalShake {
    21%,
    3%,
    39%,
    57%,
    74%,
    92% {
        transform: translateY(5px);
    }
    24%,
    42%,
    6%,
    60%,
    77%,
    95% {
        transform: translateY(3px);
    }
    27%,
    45%,
    63%,
    80%,
    9%,
    98% {
        transform: translateY(-5px);
    }
}
.quietMad {
    animation-name: quietMad;
}
@keyframes quietMad {
    21%,
    3%,
    39%,
    57%,
    74%,
    92% {
        transform: translateY(5px) scale(1.1);
    }
    24%,
    42%,
    6%,
    60%,
    77%,
    95% {
        transform: translateY(3px) scale(0.8);
    }
    27%,
    45%,
    63%,
    80%,
    9%,
    98% {
        transform: translateY(-5px) scale(1.1);
    }
}
.vibration {
    animation: vibration 0.1s linear infinite;
}
@keyframes vibration {
    50% {
        transform: skewY(1deg) skewX(-1deg) scale(1.06);
    }
}
.pushReleaseFrom {
    animation-name: pushReleaseFrom;
}
@keyframes pushReleaseFrom {
    from {
        transform: scale(3, 3);
        opacity: 0;
    }
    30% {
        transform: scale(0.5, 0.5);
    }
}
.pushReleaseFromLeft {
    animation-name: pushReleaseFromLeft;
}
@keyframes pushReleaseFromLeft {
    from {
        transform: translateX(-100%);
        opacity: 0;
    }
    30% {
        transform: translateX(100px);
        opacity: 1;
    }
}
.pushReleaseFromRight {
    animation-name: pushReleaseFromRight;
}
@keyframes pushReleaseFromRight {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    30% {
        transform: translateX(-100px);
        opacity: 1;
    }
}
.pushReleaseFromTop {
    animation-name: pushReleaseFromTop;
}
@keyframes pushReleaseFromTop {
    from {
        transform: translateY(-100%);
        opacity: 0;
    }
    30% {
        transform: translateY(100px);
        opacity: 1;
    }
}
.pushReleaseFromBottom {
    animation-name: pushReleaseFromBottom;
}
@keyframes pushReleaseFromBottom {
    from {
        transform: translateY(100%);
        opacity: 0;
    }
    30% {
        transform: translateY(-100px);
        opacity: 1;
    }
}
.pushReleaseTo {
    animation-name: pushReleaseTo;
}
@keyframes pushReleaseTo {
    30% {
        transform: scale(0.5, 0.5);
    }
    to {
        transform: scale(5, 5);
        opacity: 0;
    }
}
.pushReleaseToLeft {
    animation-name: pushReleaseToLeft;
}
@keyframes pushReleaseToLeft {
    30% {
        transform: translateX(100px);
    }
    to {
        transform: translateX(-100%);
        opacity: 0;
    }
}
.pushReleaseToRight {
    animation-name: pushReleaseToRight;
}
@keyframes pushReleaseToRight {
    30% {
        transform: translateX(-100px);
    }
    to {
        transform: translateX(100%);
        opacity: 0;
    }
}
.pushReleaseToTop {
    animation-name: pushReleaseToTop;
}
@keyframes pushReleaseToTop {
    30% {
        transform: translateY(100px);
    }
    to {
        transform: translateY(-100%);
        opacity: 0;
    }
}
.pushReleaseToBottom {
    animation-name: pushReleaseToBottom;
}
@keyframes pushReleaseToBottom {
    30% {
        transform: translateY(-100px);
    }
    to {
        transform: translateY(100%);
        opacity: 0;
    }
}
.flipX {
    animation-name: flipX;
}
@keyframes flipX {
    from {
        transform: perspective(600px) rotateX(-180deg);
        opacity: 0;
    }
    to {
        transform: perspective(600px) rotateX(-360deg);
    }
}
.flipXZoomIn {
    animation-name: flipXZoomIn;
}
@keyframes flipXZoomIn {
    from {
        transform: perspective(600px) rotateX(0) scale(1);
        animation-timing-function: ease-out;
    }
    40% {
        transform: perspective(600px) rotateX(-180deg) scale(1.8);
        animation-timing-function: ease-out;
    }
    80% {
        transform: perspective(600px) rotateX(-360deg) scale(0.7);
        animation-timing-function: ease-in;
    }
    to {
        transform: scale(1);
    }
}
.flipXZoomOut {
    animation-name: flipXZoomOut;
}
@keyframes flipXZoomOut {
    from {
        transform: perspective(600px) rotateX(0) scale(1);
        animation-timing-function: ease-out;
    }
    40% {
        transform: perspective(600px) rotateX(180deg) scale(1.8);
        animation-timing-function: ease-out;
    }
    80% {
        transform: perspective(600px) rotateX(360deg) scale(0.7);
        animation-timing-function: ease-in;
    }
    to {
        transform: scale(1);
    }
}
.flipY {
    animation-name: flipY;
}
@keyframes flipY {
    from {
        transform: perspective(600px) rotateY(180deg);
        opacity: 0;
    }
    to {
        transform: perspective(600px) rotateY(360deg);
    }
}
.flipYZoomIn {
    animation-name: flipYZoomIn;
}
@keyframes flipYZoomIn {
    from {
        transform: perspective(600px) rotateY(0) scale(1);
        animation-timing-function: ease-out;
    }
    40% {
        transform: perspective(600px) rotateY(180deg) scale(1.6);
        animation-timing-function: ease-out;
    }
    80% {
        transform: perspective(600px) rotateY(360deg) scale(0.7);
        animation-timing-function: ease-in;
    }
    to {
        transform: scale(1);
    }
}
.flipYZoomOut {
    animation-name: flipYZoomOut;
}
@keyframes flipYZoomOut {
    from {
        transform: perspective(600px) rotateY(0) scale(1);
        animation-timing-function: ease-out;
    }
    40% {
        transform: perspective(600px) rotateY(180deg) scale(0.6);
        animation-timing-function: ease-out;
    }
    80% {
        transform: perspective(600px) rotateY(360deg) scale(1.8);
        animation-timing-function: ease-in;
    }
    to {
        transform: scale(1);
    }
}
.skewLeft {
    animation-name: skewLeft;
}
@keyframes skewLeft {
    70% {
        transform: skewX(40deg);
    }
}
.skewRight {
    animation-name: skewRight;
}
@keyframes skewRight {
    70% {
        transform: skewX(-40deg);
    }
}
.skewInLeft {
    animation-name: skewInLeft;
}
@keyframes skewInLeft {
    from {
        opacity: 0;
        transform: translateX(-250px) skewX(-40deg);
    }
    70% {
        transform: skewX(-30deg);
    }
}
.skewInRight {
    animation-name: skewInRight;
}
@keyframes skewInRight {
    from {
        opacity: 0;
        transform: translateX(250px) skewX(40deg);
    }
    70% {
        transform: skewX(30deg);
    }
}
.skewOutLeft {
    animation-name: skewOutLeft;
}
@keyframes skewOutLeft {
    20% {
        transform: skewX(40deg);
    }
    to {
        transform: translateX(-100%) skewX(40deg);
        opacity: 0;
    }
}
.skewOutRight {
    animation-name: skewOutRight;
}
@keyframes skewOutRight {
    20% {
        transform: skewX(-40deg);
    }
    to {
        transform: translateX(100%) skewX(-40deg);
        opacity: 0;
    }
}
.shockZoom {
    animation-name: shockZoom;
}
@keyframes shockZoom {
    from {
        transform: matrix(5, 0, 0, 5, 0, 0);
    }
    35% {
        transform: matrix(2, 0, 0, 2, 0, 0);
    }
    43% {
        transform: matrix(1, 0, 0, 1, 0, 0);
    }
}
.shockInLeft {
    animation-name: shockInLeft;
}
@keyframes shockInLeft {
    from {
        transform: matrix(1, 0, 0, 1, -800, 0);
    }
    35% {
        transform: matrix(1, 0, 0, 1, 50, 0);
    }
    43% {
        transform: matrix(1, 0, 0, 1, 0, 0);
    }
}
.shockInRight {
    animation-name: shockInRight;
}
@keyframes shockInRight {
    from {
        transform: matrix(1, 0, 0, 1, 800, 0);
    }
    35% {
        transform: matrix(1, 0, 0, 1, -50, 0);
    }
    43% {
        transform: matrix(1, 0, 0, 1, 0, 0);
    }
}
.shockInTop {
    animation-name: shockInTop;
}
@keyframes shockInTop {
    from {
        transform: matrix(1, 0, 0, 1, 0, -400);
    }
    35% {
        transform: matrix(1, 0, 0, 1, 0, 50);
    }
    43% {
        transform: matrix(1, 0, 0, 1, 0, 0);
    }
}
.shockInBottom {
    animation-name: shockInBottom;
}
@keyframes shockInBottom {
    from {
        transform: matrix(1, 0, 0, 1, 0, 400);
    }
    35% {
        transform: matrix(1, 0, 0, 1, 0, -50);
    }
    43% {
        transform: matrix(1, 0, 0, 1, 0, 0);
    }
}
.pullRelease {
    animation-name: pullRelease;
}
@keyframes pullRelease {
    15% {
        transform: scale(1.8);
    }
}
.pushRelease {
    animation-name: pushRelease;
}
@keyframes pushRelease {
    15% {
        transform: scale(0.5);
    }
}
.swingInLeft {
    animation-name: swingInLeft;
}
@keyframes swingInLeft {
    from {
        transform: matrix(3, 0, 0, 3, -800, 0);
        animation-timing-function: ease-out;
    }
    50% {
        transform: matrix(1.3, 0, 0, 1.3, 20, 0);
    }
}
.swingInRight {
    animation-name: swingInRight;
}
@keyframes swingInRight {
    from {
        transform: matrix(3, 0, 0, 3, 800, 0);
        animation-timing-function: ease-out;
    }
    50% {
        transform: matrix(1.3, 0, 0, 1.3, -20, 0);
    }
}
.swingInTop {
    animation-name: swingInTop;
}
@keyframes swingInTop {
    from {
        transform: matrix(3, 0, 0, 3, 0, -800);
        animation-timing-function: ease-out;
    }
    50% {
        transform: matrix(1.3, 0, 0, 1.3, 0, 20);
    }
}
.swingInBottom {
    animation-name: swingInBottom;
}
@keyframes swingInBottom {
    from {
        transform: matrix(3, 0, 0, 3, 0, 800);
        animation-timing-function: ease-out;
    }
    50% {
        transform: matrix(1.3, 0, 0, 1.3, 0, -20);
    }
}
.elevateLeft {
    animation-name: elevateLeft;
}
@keyframes elevateLeft {
    from {
        transform: translateY(100%) rotate(-20deg);
        transform-origin: right;
    }
    40% {
        transform: rotate(20deg);
        transform-origin: right;
    }
    65% {
        transform: rotate(0);
        transform-origin: right;
    }
}
.elevateRight {
    animation-name: elevateRight;
}
@keyframes elevateRight {
    from {
        transform: translateY(100%) rotate(20deg);
        transform-origin: left;
    }
    40% {
        transform: rotate(-20deg);
        transform-origin: left;
    }
    65% {
        transform: rotate(0);
        transform-origin: left;
    }
}
.rollFromLeft {
    animation-name: rollFromLeft;
}
@keyframes rollFromLeft {
    from {
        transform: translateX(-100%) perspective(600px) rotateY(180deg);
        opacity: 0;
    }
    to {
        transform: translateX(0) perspective(600px) rotateY(0);
        opacity: 1;
    }
}
.rollFromRight {
    animation-name: rollFromRight;
}
@keyframes rollFromRight {
    from {
        transform: translateX(100%) perspective(600px) rotateY(-180deg);
        opacity: 0;
    }
    to {
        transform: translateX(0) perspective(600px) rotateY(0);
        opacity: 1;
    }
}
.rollFromTop {
    animation-name: rollFromTop;
}
@keyframes rollFromTop {
    from {
        transform: translateY(-100%) perspective(600px) rotateY(180deg);
        opacity: 0;
    }
    to {
        transform: translateY(0) perspective(600px) rotateY(0);
        opacity: 1;
    }
}
.rollFromBottom {
    animation-name: rollFromBottom;
}
@keyframes rollFromBottom {
    from {
        transform: translateY(100%) perspective(600px) rotateY(-180deg);
        opacity: 0;
    }
    to {
        transform: translateY(0) perspective(600px) rotateY(0);
        opacity: 1;
    }
}
.rollToLeft {
    animation-name: rollToLeft;
}
@keyframes rollToLeft {
    from {
        transform: translateX(0) perspective(600px) rotateY(0);
        opacity: 1;
    }
    to {
        transform: translateX(-100%) perspective(600px) rotateY(180deg);
        opacity: 0;
    }
}
.rollToRight {
    animation-name: rollToRight;
}
@keyframes rollToRight {
    from {
        transform: translateX(0) perspective(600px) rotateY(0);
        opacity: 1;
    }
    to {
        transform: translateX(100%) perspective(600px) rotateY(-180deg);
        opacity: 0;
    }
}
.rollToTop {
    animation-name: rollToTop;
}
@keyframes rollToTop {
    from {
        transform: translateY(0) perspective(600px) rotateX(0);
        opacity: 1;
    }
    to {
        transform: translateY(-100%) perspective(600px) rotateX(180deg);
        opacity: 0;
    }
}
.rollToBottom {
    animation-name: rollToBottom;
}
@keyframes rollToBottom {
    to {
        transform: translateY(100%) perspective(600px) rotateX(-180deg);
        opacity: 0;
    }
}
.rotate {
    animation-name: rotate;
    animation-timing-function: ease-in-out;
}
@keyframes rotate {
    from {
        transform: rotate(0);
    }
    to {
        transform: rotate(360deg);
    }
}
.rotateX {
    animation-name: rotateX;
}
@keyframes rotateX {
    from {
        transform: perspective(600px) rotateX(0);
    }
    to {
        transform: perspective(600px) rotateX(90deg);
    }
}
.rotateXIn {
    animation-name: rotateXIn;
}
@keyframes rotateXIn {
    from {
        transform: perspective(600px) translate3d(0, -60px, -2000px)
            rotateX(75deg);
        opacity: 0;
    }
    5% {
        transform: perspective(600px) translate3d(0, -60px, -1500px)
            rotateX(75deg);
    }
}
.rotateXOut {
    animation-name: rotateXOut;
}
@keyframes rotateXOut {
    95% {
        transform: perspective(600px) translate3d(0, -60px, -1500px)
            rotateX(75deg);
    }
    to {
        transform: perspective(600px) translate3d(0, -60px, -2000px)
            rotateX(75deg);
        opacity: 0;
    }
}
.rotateY {
    animation-name: rotateY;
}
@keyframes rotateY {
    from {
        transform: perspective(600px) rotateY(0);
    }
    to {
        transform: perspective(600px) rotateY(90deg);
    }
}
.rotateYIn {
    animation-name: rotateYIn;
}
@keyframes rotateYIn {
    from {
        transform: perspective(600px) translate3d(0, -60px, -2000px)
            rotateY(75deg);
        opacity: 0;
    }
    5% {
        transform: perspective(600px) translate3d(0, -60px, -1500px)
            rotateY(75deg);
    }
}
.rotateYOut {
    animation-name: rotateYOut;
}
@keyframes rotateYOut {
    95% {
        transform: perspective(600px) translate3d(0, -60px, -1500px)
            rotateY(75deg);
    }
    to {
        transform: perspective(600px) translate3d(0, -60px, -2000px)
            rotateY(75deg);
        opacity: 0;
    }
}
.rotateInLeft {
    animation-name: rotateInLeft;
}
@keyframes rotateInLeft {
    from {
        opacity: 0;
        transform: translateX(-100%) rotate(0);
    }
    to {
        transform: translateX(0) rotate(360deg);
    }
}
.rotateInRight {
    animation-name: rotateInRight;
}
@keyframes rotateInRight {
    from {
        opacity: 0;
        transform: translateX(100%) rotate(0);
    }
    to {
        transform: translateX(0) rotate(-360deg);
    }
}
.rotateInTop {
    animation-name: rotateInTop;
}
@keyframes rotateInTop {
    from {
        opacity: 0;
        transform: translateY(-400%) rotate(0);
    }
    to {
        transform: translateX(0) rotate(360deg);
    }
}
.rotateInBottom {
    animation-name: rotateInBottom;
}
@keyframes rotateInBottom {
    from {
        opacity: 0;
        transform: translateY(400%) rotate(0);
    }
    to {
        transform: translateX(0) rotate(360deg);
    }
}
.rotateOutLeft {
    animation-name: rotateOutLeft;
}
@keyframes rotateOutLeft {
    from {
        transform: translateX(0) rotate(360deg);
    }
    to {
        transform: translateX(-800px) rotate(0);
        opacity: 0;
    }
}
.rotateOutRight {
    animation-name: rotateOutRight;
}
@keyframes rotateOutRight {
    from {
        transform: translateX(0) rotate(-360deg);
    }
    to {
        transform: translateX(800px) rotate(0);
        opacity: 0;
    }
}
.rotateOutTop {
    animation-name: rotateOutTop;
}
@keyframes rotateOutTop {
    from {
        transform: translateX(0) rotate(360deg);
    }
    to {
        transform: translateY(-800px) rotate(0);
        opacity: 0;
    }
}
.rotateOutBottom {
    animation-name: rotateOutBottom;
}
@keyframes rotateOutBottom {
    from {
        transform: translateX(0) rotate(360deg);
    }
    to {
        transform: translateY(800px) rotate(0);
        opacity: 0;
    }
}
.spinToLeft {
    animation-name: spinToLeft;
}
@keyframes spinToLeft {
    from,
    to {
        transform-origin: left bottom;
    }
    from {
        transform: rotate(90deg);
        opacity: 0;
    }
}
.spinToRight {
    animation-name: spinToRight;
}
@keyframes spinToRight {
    from,
    to {
        transform-origin: right bottom;
    }
    from {
        transform: rotate(-90deg);
        opacity: 0;
    }
}
.spinToTop {
    animation-name: spinToTop;
}
@keyframes spinToTop {
    from,
    to {
        transform-origin: left bottom;
    }
    from {
        transform: rotate(-90deg);
        opacity: 0;
    }
}
.spinToBottom {
    animation-name: spinToBottom;
}
@keyframes spinToBottom {
    from,
    to {
        transform-origin: right bottom;
    }
    from {
        transform: rotate(90deg);
        opacity: 0;
    }
}
.spinFromLeft {
    animation-name: spinFromLeft;
}
@keyframes spinFromLeft {
    from,
    to {
        transform-origin: left bottom;
    }
    to {
        transform: rotate(90deg);
        opacity: 0;
    }
}
.spinFromRight {
    animation-name: spinFromRight;
}
@keyframes spinFromRight {
    from,
    to {
        transform-origin: right bottom;
    }
    to {
        transform: rotate(-90deg);
        opacity: 0;
    }
}
.spinFromTop {
    animation-name: spinFromTop;
}
@keyframes spinFromTop {
    from,
    to {
        transform-origin: left bottom;
    }
    to {
        transform: rotate(-90deg);
        opacity: 0;
    }
}
.spinFromBottom {
    animation-name: spinFromBottom;
}
@keyframes spinFromBottom {
    from,
    to {
        transform-origin: right bottom;
    }
    to {
        transform: rotate(90deg);
        opacity: 0;
    }
}
.blurIn {
    animation-name: blurIn;
}
@keyframes blurIn {
    from {
        filter: blur(20px);
        opacity: 0;
    }
}
.blurInLeft {
    animation-name: blurInLeft;
}
@keyframes blurInLeft {
    from {
        transform: translateX(250px);
        filter: blur(20px);
        opacity: 0;
    }
}
.blurInRight {
    animation-name: blurInRight;
}
@keyframes blurInRight {
    from {
        transform: translateX(-250px);
        filter: blur(20px);
        opacity: 0;
    }
}
.blurInTop {
    animation-name: blurInTop;
}
@keyframes blurInTop {
    from {
        transform: translateY(250px);
        filter: blur(20px);
        opacity: 0;
    }
}
.blurInBottom {
    animation-name: blurInBottom;
}
@keyframes blurInBottom {
    from {
        transform: translateY(-250px);
        filter: blur(20px);
        opacity: 0;
    }
}
.blurOut {
    animation-name: blurOut;
}
@keyframes blurOut {
    85%,
    to {
        filter: blur(20px);
    }
    to {
        opacity: 0;
    }
}
.blurOutLeft {
    animation-name: blurOutLeft;
}
@keyframes blurOutLeft {
    85%,
    to {
        filter: blur(20px);
        transform: translateX(100%);
    }
    to {
        opacity: 0;
    }
}
.blurOutRight {
    animation-name: blurOutRight;
}
@keyframes blurOutRight {
    85%,
    to {
        filter: blur(20px);
        transform: translateX(-100%);
    }
    to {
        opacity: 0;
    }
}
.blurOutTop {
    animation-name: blurOutTop;
}
@keyframes blurOutTop {
    85%,
    to {
        filter: blur(20px);
        transform: translateY(100%);
    }
    to {
        opacity: 0;
    }
}
.blurOutBottom {
    animation-name: blurOutBottom;
}
@keyframes blurOutBottom {
    85%,
    to {
        filter: blur(20px);
        transform: translateY(-100%);
    }
    to {
        opacity: 0;
    }
}
.bounceFromTop {
    animation-name: bounceFromTop;
}
@keyframes bounceFromTop {
    0%,
    100%,
    25%,
    55%,
    85% {
        animation-timing-function: ease-out;
        transform: translate3d(0, 0, 0);
    }
    41%,
    44% {
        animation-timing-function: ease-in;
        transform: translate3d(0, -80px, 0) scale3d(1, 1.6, 1);
    }
    70% {
        animation-timing-function: ease-in;
        transform: translate3d(0, -20px, 0);
    }
    90% {
        transform: translate3d(0, -4px, 0);
    }
}
.bounceFromDown {
    animation-name: bounceFromDown;
}
@keyframes bounceFromDown {
    0%,
    100%,
    25%,
    55%,
    85% {
        animation-timing-function: ease-out;
        transform: translate3d(0, 0, 0);
    }
    41%,
    44% {
        animation-timing-function: ease-in;
        transform: translate3d(0, 80px, 0) scale3d(1, 1.2, 1);
    }
    70% {
        animation-timing-function: ease-in;
        transform: translate3d(0, 20px, 0);
    }
    90% {
        transform: translate3d(0, 4px, 0);
    }
}
.bounceX {
    animation-name: bounceX;
}
@keyframes bounceX {
    0%,
    100%,
    25%,
    55%,
    85% {
        animation-timing-function: ease-out;
        transform: scale3d(1, 1, 1);
    }
    41%,
    44% {
        animation-timing-function: ease-in;
        transform: scale3d(1.8, 1, 1);
    }
    70% {
        animation-timing-function: ease-in;
        transform: scale3d(1.5, 1, 1);
    }
    90% {
        transform: scale3d(1.1, 1, 1);
    }
}
.bounceY {
    animation-name: bounceY;
}
@keyframes bounceY {
    0%,
    100%,
    25%,
    55%,
    85% {
        animation-timing-function: ease-out;
        transform: scale3d(1, 1, 1);
    }
    41%,
    44% {
        animation-timing-function: ease-in;
        transform: scale3d(1, 2, 1);
    }
    70% {
        animation-timing-function: ease-in;
        transform: scale3d(1, 1.5, 1);
    }
    90% {
        transform: scale3d(1, 1.1, 1);
    }
}
.bounceZoomIn {
    animation-name: bounceZoomIn;
}
@keyframes bounceZoomIn {
    0%,
    100%,
    25%,
    55%,
    85% {
        animation-timing-function: ease-out;
        transform: scale(1);
    }
    41%,
    44% {
        animation-timing-function: ease-in;
        transform: scale(1.5);
    }
    70% {
        animation-timing-function: ease-in;
        transform: scale(1.3);
    }
    90% {
        transform: scale(1.1);
    }
}
.bounceZoomOut {
    animation-name: bounceZoomOut;
}
@keyframes bounceZoomOut {
    0%,
    100%,
    25%,
    55%,
    85% {
        animation-timing-function: ease-out;
        transform: scale(1);
    }
    41%,
    44% {
        animation-timing-function: ease-in;
        transform: scale(0.3);
    }
    70% {
        animation-timing-function: ease-in;
        transform: scale(0.5);
    }
    90% {
        transform: scale(0.9);
    }
}
.bounceInTop {
    animation-name: bounceInTop;
}
@keyframes bounceInTop {
    0% {
        transform: translate3d(0, -300%, 0);
        opacity: 0;
    }
    58% {
        transform: translate3d(0, 27px, 0);
        opacity: 1;
    }
    73% {
        transform: translate3d(0, -12px, 0);
    }
    88% {
        transform: translate3d(0, 7px, 0);
    }
}
.bounceInBottom {
    animation-name: bounceInBottom;
}
@keyframes bounceInBottom {
    0% {
        transform: translate3d(0, 300%, 0);
        opacity: 0;
    }
    58% {
        transform: translate3d(0, -27px, 0);
        opacity: 1;
    }
    73% {
        transform: translate3d(0, 12px, 0);
    }
    88% {
        transform: translate3d(0, -8px, 0);
    }
}
.bounceInLeft {
    animation-name: bounceInLeft;
}
@keyframes bounceInLeft {
    0% {
        transform: translate3d(-300%, 0, 0);
    }
    58% {
        transform: translate3d(27px, 0, 0);
    }
    73% {
        transform: translate3d(-12px, 0, 0);
    }
    88% {
        transform: translate3d(8px, 0, 0);
    }
}
.bounceInRight {
    animation-name: bounceInRight;
}
@keyframes bounceInRight {
    0% {
        transform: translate3d(300%, 0, 0);
    }
    58% {
        transform: translate3d(-27px, 0, 0);
    }
    73% {
        transform: translate3d(12px, 0, 0);
    }
    88% {
        transform: translate3d(-8px, 0, 0);
    }
}
.bounceOutTop {
    animation-name: bounceOutTop;
}
@keyframes bounceOutTop {
    18%,
    33%,
    48% {
        opacity: 1;
    }
    18% {
        transform: translate3d(0, 27px, 0);
    }
    33% {
        transform: translate3d(0, -12px, 0);
    }
    48% {
        transform: translate3d(0, 8px, 0);
    }
    100% {
        opacity: 0;
        transform: translate3d(0, -300%, 0);
    }
}
.bounceOutBottom {
    animation-name: bounceOutBottom;
}
@keyframes bounceOutBottom {
    18%,
    33%,
    48% {
        opacity: 1;
    }
    18% {
        transform: translate3d(0, -27px, 0);
    }
    33% {
        transform: translate3d(0, 12px, 0);
    }
    48% {
        transform: translate3d(0, -8px, 0);
    }
    100% {
        opacity: 0;
        transform: translate3d(0, 300%, 0);
    }
}
.bounceOutLeft {
    animation-name: bounceOutLeft;
}
@keyframes bounceOutLeft {
    18%,
    33%,
    48% {
        opacity: 1;
    }
    18% {
        transform: translate3d(27px, 0, 0);
    }
    33% {
        transform: translate3d(-12px, 0, 0);
    }
    48% {
        transform: translate3d(8px, 0, 0);
    }
    100% {
        opacity: 0;
        transform: translate3d(-300%, 0, 0);
    }
}
.bounceOutRight {
    animation-name: bounceOutRight;
}
@keyframes bounceOutRight {
    18%,
    33%,
    48% {
        opacity: 1;
    }
    18% {
        transform: translate3d(-27px, 0, 0);
    }
    33% {
        transform: translate3d(12px, 0, 0);
    }
    48% {
        transform: translate3d(-8px, 0, 0);
    }
    100% {
        opacity: 0;
        transform: translate3d(300%, 0, 0);
    }
}
.perspectiveToTop {
    animation-name: perspectiveToTop;
    transform: perspective(500px);
    transform-style: preserve-3d;
}
@keyframes perspectiveToTop {
    50% {
        opacity: 1;
    }
    to {
        transform: perspective(500px) rotateX(90deg) translateY(-50px)
            translateZ(50px);
        opacity: 0;
    }
}
.perspectiveToBottom {
    animation-name: perspectiveToBottom;
    transform: perspective(500px);
    transform-style: preserve-3d;
}
@keyframes perspectiveToBottom {
    50% {
        opacity: 1;
    }
    to {
        transform: perspective(500px) rotateX(90deg) translateY(50px)
            translateZ(-50px);
        opacity: 0;
    }
}
.zoomIn {
    animation-name: zoomIn;
}
@keyframes zoomIn {
    from {
        transform: scale(10);
        opacity: 0;
    }
}
.zoomInLeft {
    animation-name: zoomInLeft;
}
@keyframes zoomInLeft {
    from {
        transform: scale(10) translateX(-50%);
        opacity: 0;
    }
}
.zoomInRight {
    animation-name: zoomInRight;
}
@keyframes zoomInRight {
    from {
        transform: scale(10) translateX(50%);
        opacity: 0;
    }
}
.zoomInTop {
    animation-name: zoomInTop;
}
@keyframes zoomInTop {
    from {
        transform: scale(10) translateY(-50%);
        opacity: 0;
    }
}
.zoomInBottom {
    animation-name: zoomInBottom;
}
@keyframes zoomInBottom {
    from {
        transform: scale(10) translateY(50%);
        opacity: 0;
    }
}
.zoomOut {
    animation-name: zoomOut;
}
@keyframes zoomOut {
    to {
        transform: scale(10);
        opacity: 0;
    }
}
.zoomOutLeft {
    animation-name: zoomOutLeft;
}
@keyframes zoomOutLeft {
    to {
        transform: scale(10) translateX(-50%);
        opacity: 0;
    }
}
.zoomOutRight {
    animation-name: zoomOutRight;
}
@keyframes zoomOutRight {
    to {
        transform: scale(10) translateX(50%);
        opacity: 0;
    }
}
.zoomOutTop {
    animation-name: zoomOutTop;
}
@keyframes zoomOutTop {
    to {
        transform: scale(10) translateY(-50%);
        opacity: 0;
    }
}
.zoomOutBottom {
    animation-name: zoomOutBottom;
}
@keyframes zoomOutBottom {
    to {
        transform: scale(10) translateY(50%);
        opacity: 0;
    }
}
.danceTop {
    animation-name: danceTop;
    transform-origin: top;
}
@keyframes danceTop {
    16% {
        transform: skew(-14deg);
    }
    33% {
        transform: skew(12deg);
    }
    49% {
        transform: skew(-8deg);
    }
    66% {
        transform: skew(6deg);
    }
    83% {
        transform: skew(-4deg);
    }
}
.danceMiddle {
    animation-name: danceMiddle;
}
@keyframes danceMiddle {
    16% {
        transform: skew(-14deg);
    }
    33% {
        transform: skew(12deg);
    }
    49% {
        transform: skew(-8deg);
    }
    66% {
        transform: skew(6deg);
    }
    83% {
        transform: skew(-4deg);
    }
}
.danceBottom {
    animation-name: danceBottom;
    transform-origin: bottom;
}
@keyframes danceBottom {
    16% {
        transform: skew(-14deg);
    }
    33% {
        transform: skew(12deg);
    }
    49% {
        transform: skew(-8deg);
    }
    66% {
        transform: skew(6deg);
    }
    83% {
        transform: skew(-4deg);
    }
}
