
.appear-animation {
    opacity: 0;
}
.appear-animation-visible {
    opacity: 1;
}
.animated, .appear-animation {
    animation-duration: 1s;
    animation-fill-mode: both;
}
@keyframes flash {
0%, 50%, 100% {
    opacity: 1;
}
25%, 75% {
    opacity: 0;
}
}
@keyframes flash {
0%, 50%, 100% {
    opacity: 1;
}
25%, 75% {
    opacity: 0;
}
}
.flash {
    animation-name: flash;
}
@keyframes shake {
0%, 100% {
    opacity: 1;
    transform: translateX(0px);
}
10%, 30%, 50%, 70%, 90% {
    transform: translateX(-10px);
}
20%, 40%, 60%, 80% {
    transform: translateX(10px);
}
}
@keyframes shake {
0%, 100% {
    opacity: 1;
    transform: translateX(0px);
}
10%, 30%, 50%, 70%, 90% {
    transform: translateX(-10px);
}
20%, 40%, 60%, 80% {
    transform: translateX(10px);
}
}
.shake {
    animation-name: shake;
}
@keyframes bounce {
0%, 20%, 50%, 80%, 100% {
    opacity: 1;
    transform: translateY(0px);
}
40% {
    transform: translateY(-30px);
}
60% {
    transform: translateY(-15px);
}
}
@keyframes bounce {
0%, 20%, 50%, 80%, 100% {
    opacity: 1;
    transform: translateY(0px);
}
40% {
    transform: translateY(-30px);
}
60% {
    transform: translateY(-15px);
}
}
.bounce {
    animation-name: bounce;
}
@keyframes tada {
0% {
    transform: scale(1);
}
10%, 20% {
    transform: scale(0.9) rotate(-3deg);
}
30%, 50%, 70%, 90% {
    transform: scale(1.1) rotate(3deg);
}
40%, 60%, 80% {
    transform: scale(1.1) rotate(-3deg);
}
100% {
    opacity: 1;
    transform: scale(1) rotate(0deg);
}
}
@keyframes tada {
0% {
    transform: scale(1);
}
10%, 20% {
    transform: scale(0.9) rotate(-3deg);
}
30%, 50%, 70%, 90% {
    transform: scale(1.1) rotate(3deg);
}
40%, 60%, 80% {
    transform: scale(1.1) rotate(-3deg);
}
100% {
    opacity: 1;
    transform: scale(1) rotate(0deg);
}
}
.tada {
    animation-name: tada;
}
@keyframes swing {
20% {
    transform: rotate(15deg);
}
40% {
    transform: rotate(-10deg);
}
60% {
    transform: rotate(5deg);
}
80% {
    transform: rotate(-5deg);
}
100% {
    opacity: 1;
    transform: rotate(0deg);
}
}
@keyframes swing {
20% {
    transform: rotate(15deg);
}
40% {
    transform: rotate(-10deg);
}
60% {
    transform: rotate(5deg);
}
80% {
    transform: rotate(-5deg);
}
100% {
    opacity: 1;
    transform: rotate(0deg);
}
}
.swing {
    animation-name: swing;
    transform-origin: center top 0;
}
@keyframes wobble {
0% {
    transform: translateX(0%);
}
15% {
    transform: translateX(-25%) rotate(-5deg);
}
30% {
    transform: translateX(20%) rotate(3deg);
}
45% {
    transform: translateX(-15%) rotate(-3deg);
}
60% {
    transform: translateX(10%) rotate(2deg);
}
75% {
    transform: translateX(-5%) rotate(-1deg);
}
100% {
    opacity: 1;
    transform: translateX(0%);
}
}
@keyframes wobble {
0% {
    transform: translateX(0%);
}
15% {
    transform: translateX(-25%) rotate(-5deg);
}
30% {
    transform: translateX(20%) rotate(3deg);
}
45% {
    transform: translateX(-15%) rotate(-3deg);
}
60% {
    transform: translateX(10%) rotate(2deg);
}
75% {
    transform: translateX(-5%) rotate(-1deg);
}
100% {
    opacity: 1;
    transform: translateX(0%);
}
}
.wobble {
    animation-name: wobble;
}
@keyframes wiggle {
0% {
    transform: skewX(9deg);
}
10% {
    transform: skewX(-8deg);
}
20% {
    transform: skewX(7deg);
}
30% {
    transform: skewX(-6deg);
}
40% {
    transform: skewX(5deg);
}
50% {
    transform: skewX(-4deg);
}
60% {
    transform: skewX(3deg);
}
70% {
    transform: skewX(-2deg);
}
80% {
    transform: skewX(1deg);
}
90% {
    transform: skewX(0deg);
}
100% {
    opacity: 1;
    transform: skewX(0deg);
}
}
@keyframes wiggle {
0% {
    transform: skewX(9deg);
}
10% {
    transform: skewX(-8deg);
}
20% {
    transform: skewX(7deg);
}
30% {
    transform: skewX(-6deg);
}
40% {
    transform: skewX(5deg);
}
50% {
    transform: skewX(-4deg);
}
60% {
    transform: skewX(3deg);
}
70% {
    transform: skewX(-2deg);
}
80% {
    transform: skewX(1deg);
}
90% {
    transform: skewX(0deg);
}
100% {
    opacity: 1;
    transform: skewX(0deg);
}
}
.wiggle {
    animation-name: wiggle;
    animation-timing-function: ease-in;
}
@keyframes pulse {
0% {
    transform: scale(1);
}
50% {
    transform: scale(1.1);
}
100% {
    opacity: 1;
    transform: scale(1);
}
}
@keyframes pulse {
0% {
    transform: scale(1);
}
50% {
    transform: scale(1.1);
}
100% {
    opacity: 1;
    transform: scale(1);
}
}
.pulse {
    animation-name: pulse;
}
@keyframes fadeIn {
0% {
    opacity: 0;
}
100% {
    opacity: 1;
}
}
@keyframes fadeIn {
0% {
    opacity: 0;
}
100% {
    opacity: 1;
}
}
.fadeIn {
    animation-name: fadeIn;
}
@keyframes fadeInUp {
0% {
    opacity: 0;
    transform: translateY(20px);
}
100% {
    opacity: 1;
    transform: translateY(0px);
}
}
@keyframes fadeInUp {
0% {
    opacity: 0;
    transform: translateY(20px);
}
100% {
    opacity: 1;
    transform: translateY(0px);
}
}
.fadeInUp {
    animation-name: fadeInUp;
}
@keyframes fadeInDown {
0% {
    opacity: 0;
    transform: translateY(-20px);
}
100% {
    opacity: 1;
    transform: translateY(0px);
}
}
@keyframes fadeInDown {
0% {
    opacity: 0;
    transform: translateY(-20px);
}
100% {
    opacity: 1;
    transform: translateY(0px);
}
}
.fadeInDown {
    animation-name: fadeInDown;
}
@keyframes fadeInLeft {
0% {
    opacity: 0;
    transform: translateX(-20px);
}
100% {
    opacity: 1;
    transform: translateX(0px);
}
}
@keyframes fadeInLeft {
0% {
    opacity: 0;
    transform: translateX(-20px);
}
100% {
    opacity: 1;
    transform: translateX(0px);
}
}
.fadeInLeft {
    animation-name: fadeInLeft;
}
@keyframes fadeInRight {
0% {
    opacity: 0;
    transform: translateX(20px);
}
100% {
    opacity: 1;
    transform: translateX(0px);
}
}
@keyframes fadeInRight {
0% {
    opacity: 0;
    transform: translateX(20px);
}
100% {
    opacity: 1;
    transform: translateX(0px);
}
}
.fadeInRight {
    animation-name: fadeInRight;
}
@keyframes fadeInUpBig {
0% {
    opacity: 0;
    transform: translateY(2000px);
}
100% {
    opacity: 1;
    transform: translateY(0px);
}
}
@keyframes fadeInUpBig {
0% {
    opacity: 0;
    transform: translateY(2000px);
}
100% {
    opacity: 1;
    transform: translateY(0px);
}
}
.fadeInUpBig {
    animation-name: fadeInUpBig;
}
@keyframes fadeInDownBig {
0% {
    opacity: 0;
    transform: translateY(-2000px);
}
100% {
    opacity: 1;
    transform: translateY(0px);
}
}
@keyframes fadeInDownBig {
0% {
    opacity: 0;
    transform: translateY(-2000px);
}
100% {
    opacity: 1;
    transform: translateY(0px);
}
}
.fadeInDownBig {
    animation-name: fadeInDownBig;
}
@keyframes fadeInLeftBig {
0% {
    opacity: 0;
    transform: translateX(-2000px);
}
100% {
    opacity: 1;
    transform: translateX(0px);
}
}
@keyframes fadeInLeftBig {
0% {
    opacity: 0;
    transform: translateX(-2000px);
}
100% {
    opacity: 1;
    transform: translateX(0px);
}
}
.fadeInLeftBig {
    animation-name: fadeInLeftBig;
}
@keyframes fadeInRightBig {
0% {
    opacity: 0;
    transform: translateX(2000px);
}
100% {
    opacity: 1;
    transform: translateX(0px);
}
}
@keyframes fadeInRightBig {
0% {
    opacity: 0;
    transform: translateX(2000px);
}
100% {
    opacity: 1;
    transform: translateX(0px);
}
}
.fadeInRightBig {
    animation-name: fadeInRightBig;
}
@keyframes bounceIn {
0% {
    opacity: 0;
    transform: scale(0.3);
}
50% {
    opacity: 1;
    transform: scale(1.05);
}
70% {
    transform: scale(0.9);
}
100% {
    opacity: 1;
    transform: scale(1);
}
}
@keyframes bounceIn {
0% {
    opacity: 0;
    transform: scale(0.3);
}
50% {
    opacity: 1;
    transform: scale(1.05);
}
70% {

    transform: scale(0.9);
}
100% {
    opacity: 1;
    transform: scale(1);
}
}
.bounceIn {
    animation-name: bounceIn;
}
@keyframes bounceInUp {
0% {
    opacity: 0;
    transform: translateY(2000px);
}
60% {
    opacity: 1;
    transform: translateY(-30px);
}
80% {
    transform: translateY(10px);
}
100% {
    opacity: 1;
    transform: translateY(0px);
}
}
@keyframes bounceInUp {
0% {
    opacity: 0;
    transform: translateY(2000px);
}
60% {
    opacity: 1;
    transform: translateY(-30px);
}
80% {
    transform: translateY(10px);
}
100% {
    opacity: 1;
    transform: translateY(0px);
}
}
.bounceInUp {
    animation-name: bounceInUp;
}
@keyframes bounceInDown {
0% {
    opacity: 0;
    transform: translateY(-2000px);
}
60% {
    opacity: 1;
    transform: translateY(30px);
}
80% {
    transform: translateY(-10px);
}
100% {
    opacity: 1;
    transform: translateY(0px);
}
}
@keyframes bounceInDown {
0% {
    opacity: 0;
    transform: translateY(-2000px);
}
60% {
    opacity: 1;
    transform: translateY(30px);
}
80% {
    transform: translateY(-10px);
}
100% {
    opacity: 1;
    transform: translateY(0px);
}
}
.bounceInDown {
    animation-name: bounceInDown;
}
@keyframes bounceInLeft {
0% {
    opacity: 0;
    transform: translateX(-2000px);
}
60% {
    opacity: 1;
    transform: translateX(30px);
}
80% {
    transform: translateX(-10px);
}
100% {
    opacity: 1;
    transform: translateX(0px);
}
}
@keyframes bounceInLeft {
0% {
    opacity: 0;
    transform: translateX(-2000px);
}
60% {
    opacity: 1;
    transform: translateX(30px);
}
80% {
    transform: translateX(-10px);
}
100% {
    opacity: 1;
    transform: translateX(0px);
}
}
.bounceInLeft {
    animation-name: bounceInLeft;
}
@keyframes bounceInRight {
0% {
    opacity: 0;
    transform: translateX(2000px);
}
60% {
    opacity: 1;
    transform: translateX(-30px);
}
80% {
    transform: translateX(10px);
}
100% {
    opacity: 1;
    transform: translateX(0px);
}
}
@keyframes bounceInRight {
0% {
    opacity: 0;
    transform: translateX(2000px);
}
60% {
    opacity: 1;
    transform: translateX(-30px);
}
80% {
    transform: translateX(10px);
}
100% {
    opacity: 1;
    transform: translateX(0px);
}
}
.bounceInRight {
    animation-name: bounceInRight;
}
@keyframes rotateIn {
0% {
    opacity: 0;
    transform: rotate(-200deg);
    transform-origin: center center 0;
}
100% {
    opacity: 1;
    transform: rotate(0deg);
    transform-origin: center center 0;
}
}
@keyframes rotateIn {
0% {
    opacity: 0;
    transform: rotate(-200deg);
    transform-origin: center center 0;
}
100% {
    opacity: 1;
    transform: rotate(0deg);
    transform-origin: center center 0;
}
}
.rotateIn {
    animation-name: rotateIn;
}
@keyframes rotateInUpLeft {
0% {
    opacity: 0;
    transform: rotate(90deg);
    transform-origin: left bottom 0;
}
100% {
    opacity: 1;
    transform: rotate(0deg);
    transform-origin: left bottom 0;
}
}
@keyframes rotateInUpLeft {
0% {
    opacity: 0;
    transform: rotate(90deg);
    transform-origin: left bottom 0;
}
100% {
    opacity: 1;
    transform: rotate(0deg);
    transform-origin: left bottom 0;
}
}
.rotateInUpLeft {
    animation-name: rotateInUpLeft;
}
@keyframes rotateInDownLeft {
0% {
    opacity: 0;
    transform: rotate(-90deg);
    transform-origin: left bottom 0;
}
100% {
    opacity: 1;
    transform: rotate(0deg);
    transform-origin: left bottom 0;
}
}
@keyframes rotateInDownLeft {
0% {
    opacity: 0;
    transform: rotate(-90deg);
    transform-origin: left bottom 0;
}
100% {
    opacity: 1;
    transform: rotate(0deg);
    transform-origin: left bottom 0;
}
}
.rotateInDownLeft {
    animation-name: rotateInDownLeft;
}
@keyframes rotateInUpRight {
0% {
    opacity: 0;
    transform: rotate(-90deg);
    transform-origin: right bottom 0;
}
100% {
    opacity: 1;
    transform: rotate(0deg);
    transform-origin: right bottom 0;
}
}
@keyframes rotateInUpRight {
0% {
    opacity: 0;
    transform: rotate(-90deg);
    transform-origin: right bottom 0;
}
100% {
    opacity: 1;
    transform: rotate(0deg);
    transform-origin: right bottom 0;
}
}
.rotateInUpRight {
    animation-name: rotateInUpRight;
}
@keyframes rotateInDownRight {
0% {
    opacity: 0;
    transform: rotate(90deg);
    transform-origin: right bottom 0;
}
100% {
    opacity: 1;
    transform: rotate(0deg);
    transform-origin: right bottom 0;
}
}
@keyframes rotateInDownRight {
0% {
    opacity: 0;
    transform: rotate(90deg);
    transform-origin: right bottom 0;
}
100% {
    opacity: 1;
    transform: rotate(0deg);
    transform-origin: right bottom 0;
}
}
.rotateInDownRight {
    animation-name: rotateInDownRight;
}