move.gl
Version:
Motion and Animation Library for Stylescape.
2,650 lines (2,527 loc) • 156 kB
CSS
*,
a,
abbr,
acronym,
address,
applet,
area,
article,
aside,
audio,
b,
base,
basefont,
bb,
bdo,
big,
blockquote,
body,
br,
button,
canvas,
caption,
center,
cite,
code,
col,
colgroup,
command,
datalist,
dd,
del,
details,
dfn,
dialog,
dir,
div,
dl,
dt,
em,
embed,
eventsource,
fieldset,
figcaption,
figure,
font,
footer,
form,
frame,
frameset,
h1,
h2,
h3,
h4,
h5,
h6,
head,
header,
hgroup,
hr,
html,
i,
iframe,
img,
input,
ins,
isindex,
kbd,
keygen,
label,
legend,
li,
link,
map,
mark,
menu,
meta,
meter,
nav,
noframes,
noscript,
object,
ol,
optgroup,
option,
output,
p,
param,
pre,
progress,
q,
rp,
rt,
ruby,
s,
samp,
script,
section,
select,
small,
source,
span,
strike,
strong,
style,
sub,
sup,
table,
tbody,
td,
textarea,
tfoot,
th,
thead,
time,
title,
tr,
track,
tt,
u,
ul,
var,
video,
wbr {
margin: 0;
margin-block-start: 0;
margin-block-end: 0;
margin-inline-start: 0;
margin-inline-end: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
main {
display: block;
}
.aspect_ratio--1x1 {
position: relative;
width: 100%;
aspect-ratio: 1;
}
.aspect_ratio--1x1 > * {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
}
.aspect_ratio--1x2 {
position: relative;
width: 100%;
aspect-ratio: 0.5;
}
.aspect_ratio--1x2 > * {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
}
.aspect_ratio--2x1 {
position: relative;
width: 100%;
aspect-ratio: 2;
}
.aspect_ratio--2x1 > * {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
}
.aspect_ratio--1x3 {
position: relative;
width: 100%;
aspect-ratio: 0.3333333333;
}
.aspect_ratio--1x3 > * {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
}
.aspect_ratio--3x1 {
position: relative;
width: 100%;
aspect-ratio: 3;
}
.aspect_ratio--3x1 > * {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
}
.aspect_ratio--1x4 {
position: relative;
width: 100%;
aspect-ratio: 0.25;
}
.aspect_ratio--1x4 > * {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
}
.aspect_ratio--4x1 {
position: relative;
width: 100%;
aspect-ratio: 4;
}
.aspect_ratio--4x1 > * {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
}
.aspect_ratio--3x2 {
position: relative;
width: 100%;
aspect-ratio: 1.5;
}
.aspect_ratio--3x2 > * {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
}
.aspect_ratio--2x3 {
position: relative;
width: 100%;
aspect-ratio: 0.6666666667;
}
.aspect_ratio--2x3 > * {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
}
.aspect_ratio--4x3 {
position: relative;
width: 100%;
aspect-ratio: 1.3333333333;
}
.aspect_ratio--4x3 > * {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
}
.aspect_ratio--3x4 {
position: relative;
width: 100%;
aspect-ratio: 0.75;
}
.aspect_ratio--3x4 > * {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
}
.aspect_ratio--16x9 {
position: relative;
width: 100%;
aspect-ratio: 1.7777777778;
}
.aspect_ratio--16x9 > * {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
}
.aspect_ratio--16x10 {
position: relative;
width: 100%;
aspect-ratio: 1.6;
}
.aspect_ratio--16x10 > * {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
}
.guide {
z-index: 9999;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
margin: 0;
pointer-events: none;
opacity: 1;
min-height: 100vh;
background-attachment: local;
}
.guide--layer {
display: none;
position: absolute;
top: 0;
left: 0;
width: 100%;
min-height: 100vh;
pointer-events: none;
z-index: 9999;
}
.guide--layer.active {
display: block !important;
}
.guide--graph {
z-index: 9999;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
margin: 0;
pointer-events: none;
opacity: 1;
min-height: 100vh;
background-attachment: local;
background-repeat: repeat;
background-size: 1.25rem 1.25rem;
background-image: repeating-linear-gradient(to right, rgba(111, 124, 126, 0.483) 0, rgba(111, 124, 126, 0.483) 1px, transparent 1px, transparent 1.25rem), repeating-linear-gradient(to bottom, rgba(111, 124, 126, 0.483) 0, rgba(111, 124, 126, 0.483) 1px, transparent 1px, transparent 1.25rem);
}
.guide--graph_centered {
z-index: 9999;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
margin: 0;
pointer-events: none;
opacity: 1;
min-height: 100vh;
background-attachment: local;
background-repeat: repeat;
background-size: 1.25rem 1.25rem;
background-position: calc(50% - 15rem / 2) 0;
background-image: repeating-linear-gradient(to right, rgba(111, 124, 126, 0.483) 0, rgba(111, 124, 126, 0.483) 1px, transparent 1px, transparent 1.25rem), repeating-linear-gradient(to bottom, rgba(111, 124, 126, 0.483) 0, rgba(111, 124, 126, 0.483) 1px, transparent 1px, transparent 1.25rem);
}
.guide--baseline {
z-index: 9999;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
margin: 0;
pointer-events: none;
opacity: 1;
min-height: 100vh;
background-attachment: local;
background-repeat: repeat;
background-size: 100% 1.25rem;
background-image: repeating-linear-gradient(to bottom, rgb(0, 200, 255) 0 1px, transparent 1px 100%);
}
html {
font-size: 12px;
}
@media screen and (min-width: 320px) {
html {
font-size: calc(12px + 12 * (100vw - 320px) / 1120);
}
}
@media screen and (min-width: 1440px) {
html {
font-size: 24px;
}
}
html {
box-sizing: border-box;
-webkit-text-size-adjust: 100%;
word-break: normal;
-moz-tab-size: 4;
tab-size: 4;
height: 100%;
}
body {
min-height: 100%;
margin: 0;
position: absolute;
height: 100vh;
width: 100vw;
}
html,
body {
height: 100%;
margin: 0;
}
*,
::before,
::after {
background-repeat: no-repeat;
box-sizing: inherit;
}
::before,
::after {
text-decoration: inherit;
vertical-align: inherit;
}
* {
padding: 0;
margin: 0;
}
.cursor-pointer {
cursor: pointer;
}
.cursor-text {
cursor: text;
}
.cursor-wait {
cursor: wait;
}
.cursor-crosshair {
cursor: crosshair;
}
.cursor-not-allowed {
cursor: not-allowed;
}
.cursor-zoom-in {
cursor: zoom-in;
}
.cursor-grab {
cursor: grab;
}
.cursor-grabbing {
cursor: grabbing;
}
.interactive-element {
pointer-events: auto;
}
.non-interactive-element {
pointer-events: none;
}
.custom-element {
pointer-events: visiblePainted;
}
@keyframes hover-shake {
0%, 100% {
transform: translateX(0);
}
25% {
transform: translateX(-3px);
}
75% {
transform: translateX(3px);
}
}
.animate_glow_soft {
animation-name: animate_glow_soft;
animation-duration: 2s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_glow_soft {
0%, 100% {
box-shadow: 0 0 10px 0 rgba(54, 150, 193, 0.5);
}
50% {
box-shadow: 0 0 20px 5px rgba(54, 150, 193, 0.8);
}
}
.animate_swing {
animation-name: animate_swing;
animation-duration: 1s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_swing {
0%, 100% {
transform: rotate(0deg);
}
50% {
transform: rotate(15deg);
}
}
.animate_swing_slow {
animation-name: animate_swing_slow;
animation-duration: 2s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_swing_slow {
0%, 100% {
transform: rotate(0deg);
}
50% {
transform: rotate(10deg);
}
}
.animate_swing_fast {
animation-name: animate_swing_fast;
animation-duration: 0.25s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_swing_fast {
0%, 100% {
transform: rotate(0deg);
}
50% {
transform: rotate(20deg);
}
}
.animate_swing_fade {
animation-name: animate_swing_fade;
animation-duration: 1s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_swing_fade {
0%, 100% {
transform: rotate(0deg);
opacity: 1;
}
50% {
transform: rotate(15deg);
opacity: 0.5;
}
}
@keyframes loader-dots-pulse {
0%, 80%, 100% {
opacity: 0.3;
transform: scale(0.8);
}
40% {
opacity: 1;
transform: scale(1);
}
}
@keyframes loader-dots-bounce {
0%, 80%, 100% {
transform: translateY(0);
}
40% {
transform: translateY(-12px);
}
}
@keyframes loader-dots-wave {
0%, 100% {
transform: translateY(0);
opacity: 0.5;
}
50% {
transform: translateY(-10px);
opacity: 1;
}
}
@keyframes loader-dots-fade {
0%, 100% {
opacity: 0.2;
}
50% {
opacity: 1;
}
}
@keyframes loader-dots-grow {
0%, 100% {
transform: scale(0.6);
}
50% {
transform: scale(1.2);
}
}
@keyframes loader-typing {
0%, 60%, 100% {
transform: translateY(0);
}
30% {
transform: translateY(-6px);
}
}
@keyframes loader-ellipsis {
0% {
transform: scale(1);
}
50% {
transform: scale(0.5);
}
100% {
transform: scale(1);
}
}
@keyframes loader-bars-wave {
0%, 40%, 100% {
height: 10px;
}
20% {
height: 30px;
}
}
@keyframes loader-wave-bar {
0%, 100% {
height: 10px;
}
50% {
height: 30px;
}
}
@keyframes loader-progress-slide {
0% {
transform: translateX(-100%);
}
100% {
transform: translateX(350%);
}
}
@keyframes loader-spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
@keyframes loader-ripple {
0% {
transform: scale(0.5);
opacity: 1;
}
100% {
transform: scale(1.5);
opacity: 0;
}
}
@keyframes loader-pulse {
0% {
transform: scale(0.8);
opacity: 1;
}
50% {
transform: scale(1);
opacity: 0.5;
}
100% {
transform: scale(0.8);
opacity: 1;
}
}
@keyframes loader-orbit-top {
0%, 100% {
top: 0;
}
50% {
top: calc(100% - 12px);
}
}
@keyframes loader-orbit-bottom {
0%, 100% {
bottom: 0;
}
50% {
bottom: calc(100% - 12px);
}
}
@keyframes loader-atom-orbit {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
@keyframes loader-heartbeat {
0%, 100% {
transform: scale(1);
}
14% {
transform: scale(1.3);
}
28% {
transform: scale(1);
}
42% {
transform: scale(1.3);
}
70% {
transform: scale(1);
}
}
@keyframes loader-morph {
0%, 100% {
border-radius: 0;
transform: rotate(0deg);
}
25% {
border-radius: 50% 0 50% 0;
transform: rotate(90deg);
}
50% {
border-radius: 50%;
transform: rotate(180deg);
}
75% {
border-radius: 0 50% 0 50%;
transform: rotate(270deg);
}
}
@keyframes loader-flip-card {
0% {
transform: rotateX(0) rotateY(0);
}
25% {
transform: rotateX(180deg) rotateY(0);
}
50% {
transform: rotateX(180deg) rotateY(180deg);
}
75% {
transform: rotateX(0) rotateY(180deg);
}
100% {
transform: rotateX(0) rotateY(360deg);
}
}
@keyframes loader-square-rotate {
0% {
transform: rotate(0deg);
}
25% {
transform: rotate(90deg);
}
50% {
transform: rotate(180deg);
}
75% {
transform: rotate(270deg);
}
100% {
transform: rotate(360deg);
}
}
@keyframes loader-cube-flip {
0% {
transform: perspective(100px) rotateX(0) rotateY(0);
}
50% {
transform: perspective(100px) rotateX(180deg) rotateY(0);
}
100% {
transform: perspective(100px) rotateX(180deg) rotateY(180deg);
}
}
@keyframes loader-folding {
0%, 10% {
transform: scale(1);
opacity: 1;
}
20%, 100% {
transform: scale(0);
opacity: 0;
}
}
@keyframes loader-clock-minute {
0% {
transform: translate(-50%, -100%) rotate(0deg);
}
100% {
transform: translate(-50%, -100%) rotate(360deg);
}
}
@keyframes loader-clock-hour {
0% {
transform: translate(-50%, -100%) rotate(0deg);
}
100% {
transform: translate(-50%, -100%) rotate(360deg);
}
}
@keyframes loader-bounce {
0% {
transform: translateY(0);
}
100% {
transform: translateY(-20px);
}
}
@keyframes loader-spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
@keyframes loader-battery-charge {
0% {
width: 0%;
}
50% {
width: calc(100% - 6px);
}
100% {
width: 0%;
}
}
@keyframes loader-pendulum-left {
0% {
transform: translateX(-15px) translateY(-10px);
}
100% {
transform: translateX(0) translateY(0);
}
}
@keyframes loader-pendulum-right {
0% {
transform: translateX(0) translateY(0);
}
100% {
transform: translateX(15px) translateY(-10px);
}
}
@keyframes loader-seesaw {
0%, 100% {
transform: rotate(-15deg);
}
50% {
transform: rotate(15deg);
}
}
@keyframes loader-wifi-pulse {
0% {
opacity: 0;
}
30% {
opacity: 1;
}
60%, 100% {
opacity: 0;
}
}
@keyframes loader-dna-top {
0%, 100% {
transform: translateX(-50%) scale(1);
opacity: 1;
}
50% {
transform: translateX(-50%) scale(0.5);
opacity: 0.5;
}
}
@keyframes loader-dna-bottom {
0%, 100% {
transform: translateX(-50%) scale(0.5);
opacity: 0.5;
}
50% {
transform: translateX(-50%) scale(1);
opacity: 1;
}
}
@keyframes loader-infinity-left {
0%, 100% {
transform: translateY(-50%) translateX(0);
}
50% {
transform: translateY(-50%) translateX(20px);
}
}
@keyframes loader-infinity-right {
0%, 100% {
transform: translateY(-50%) translateX(0);
}
50% {
transform: translateY(-50%) translateX(-20px);
}
}
.animate_beat {
animation-name: animate_beat;
animation-duration: 1s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_beat {
0%, 90% {
transform: scale(1);
}
45% {
transform: scale(1.25);
}
}
.animate_beat_fade {
animation-name: animate_beat_fade;
animation-duration: 1s;
animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_beat_fade {
0%, 100% {
opacity: 0.4;
transform: scale(1);
}
50% {
opacity: 1;
transform: scale(1.125);
}
}
.animate_beat_double {
animation-name: animate_beat_double;
animation-duration: 1s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_beat_double {
0%, 100% {
transform: scale(1);
}
25% {
transform: scale(0.8);
}
50% {
transform: scale(1.5);
}
75% {
transform: scale(0.8);
}
}
.animate_blink {
animation-name: animate_blink;
animation-duration: 1s;
animation-timing-function: step-end;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_blink {
0%, 100% {
opacity: 1;
}
50% {
opacity: 0;
}
}
.animate_blink_rapid {
animation-name: animate_blink_rapid;
animation-duration: 0.25s;
animation-timing-function: steps(2, end);
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_blink_rapid {
0%, 100% {
opacity: 1;
}
50% {
opacity: 0;
}
}
.animate_blink_soft {
animation-name: animate_blink_soft;
animation-duration: 2s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_blink_soft {
0%, 100% {
opacity: 1;
}
50% {
opacity: 0.3;
}
}
.animate_blink_alternate {
animation-name: animate_blink_alternate;
animation-duration: 1s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_blink_alternate {
0%, 100% {
opacity: 1;
}
25%, 75% {
opacity: 0;
}
}
.animate_bounce {
animation-name: animate_bounce;
animation-duration: 1s;
animation-timing-function: cubic-bezier(0.28, 0.84, 0.42, 1);
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_bounce {
0%, 100% {
transform: translateY(0);
}
50% {
transform: translateY(var(--animate-bounce-height, -20%));
}
}
.animate_bounce_extended {
animation-name: animate_bounce_extended;
animation-duration: 1s;
animation-timing-function: cubic-bezier(0.28, 0.84, 0.42, 1);
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_bounce_extended {
0% {
transform: scale(1, 1) translateY(0);
}
10% {
transform: scale(1.1, 0.9) translateY(0);
}
30% {
transform: scale(0.9, 1.1) translateY(-0.5em);
}
50% {
transform: scale(1.05, 0.95) translateY(0);
}
57% {
transform: scale(1, 1) translateY(-0.125em);
}
64% {
transform: scale(1, 1) translateY(0);
}
100% {
transform: scale(1, 1) translateY(0);
}
}
.animate_bounce_rotate {
animation-name: animate_bounce_rotate;
animation-duration: 1s;
animation-timing-function: cubic-bezier(0.28, 0.84, 0.42, 1);
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_bounce_rotate {
0%, 100% {
transform: translateY(0) rotate(0);
}
50% {
transform: translateY(-20%) rotate(360deg);
}
}
.animate_bounce_multi {
animation-name: animate_bounce_multi;
animation-duration: 1s;
animation-timing-function: cubic-bezier(0.28, 0.84, 0.42, 1);
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_bounce_multi {
0%, 100% {
transform: translate(0, 0);
}
25% {
transform: translate(-10%, 0);
}
50% {
transform: translate(0, -20%);
}
75% {
transform: translate(-10%, 0);
}
}
.animate_elastic {
animation-name: animate_elastic;
animation-duration: 2s;
animation-timing-function: cubic-bezier(0.68, -0.55, 0.27, 1.55);
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_elastic {
0%, 100% {
transform: scale(0.5);
}
50% {
transform: scale(1.25);
}
}
.animate_fade {
animation-name: animate_fade;
animation-duration: 1s;
animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_fade {
0%, 100% {
opacity: var(--animate-opacity-start, 1);
}
50% {
opacity: var(--animate-opacity-fade, 0);
}
}
.animate_fade_in {
animation-name: animate_fade_in;
animation-duration: 1s;
animation-timing-function: ease-in;
animation-iteration-count: 1;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: forwards;
animation-play-state: running;
}
@keyframes animate_fade_in {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
.animate_fade_out {
animation-name: animate_fade_out;
animation-duration: 1s;
animation-timing-function: ease-out;
animation-iteration-count: 1;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: forwards;
animation-play-state: running;
}
@keyframes animate_fade_out {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
.animate_fade_gradual {
animation-name: animate_fade_gradual;
animation-duration: 2s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_fade_gradual {
0%, 100% {
opacity: 1;
}
50% {
opacity: 0.5;
}
}
.animate_flash {
animation-name: animate_flash;
animation-duration: 1s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_flash {
0%, 100% {
opacity: 1;
}
50% {
opacity: 0;
}
}
.animate_flash_fade {
animation-name: animate_flash_fade;
animation-duration: 2s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_flash_fade {
0%, 100% {
opacity: 0;
}
50% {
opacity: 1;
}
}
.animate_flash_strobe {
animation-name: animate_flash_strobe;
animation-duration: 1s;
animation-timing-function: steps(1, end);
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_flash_strobe {
0%, 100% {
opacity: 1;
}
50% {
opacity: 0;
}
}
.animate_flash_strobe {
animation-duration: 0.1s;
}
.animate_flash_fade_slow {
animation-name: animate_flash_fade_slow;
animation-duration: 2s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_flash_fade_slow {
0%, 100% {
opacity: 1;
}
50% {
opacity: 0;
}
}
.animate_flip {
animation-name: animate_flip;
animation-duration: 1s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_flip {
0% {
transform: rotate3d(0, 1, 0, 0);
}
100% {
transform: rotate3d(0, 1, 0, 360deg);
}
}
.animate_flip_horizontal {
animation-name: animate_flip;
animation-duration: 1s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_flip {
0% {
transform: rotate3d(0, 1, 0, 0);
}
100% {
transform: rotate3d(0, 1, 0, 360deg);
}
}
.animate_flip_vertical {
animation-name: animate_flip;
animation-duration: 1s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_flip {
0% {
transform: rotate3d(1, 0, 0, 0);
}
100% {
transform: rotate3d(1, 0, 0, 360deg);
}
}
.animate_flip_diagonal {
animation-name: animate_flip;
animation-duration: 1s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_flip {
0% {
transform: rotate3d(1, 1, 0, 0);
}
100% {
transform: rotate3d(1, 1, 0, 360deg);
}
}
.animate_flip_180_horizontal {
animation-name: animate_flip;
animation-duration: 1s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_flip {
0% {
transform: rotate3d(0, 1, 0, 0);
}
100% {
transform: rotate3d(0, 1, 0, -180deg);
}
}
.animate_flip_180_vertical {
animation-name: animate_flip;
animation-duration: 1s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_flip {
0% {
transform: rotate3d(1, 0, 0, 0);
}
100% {
transform: rotate3d(1, 0, 0, -180deg);
}
}
.animate_flip_180_diagonal {
animation-name: animate_flip;
animation-duration: 1s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_flip {
0% {
transform: rotate3d(1, 1, 0, 0);
}
100% {
transform: rotate3d(1, 1, 0, -180deg);
}
}
.animate_float {
animation-name: animate_float;
animation-duration: 2s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_float {
0%, 100% {
transform: translateY(0);
}
50% {
transform: translateY(10px);
}
}
.animate_float_horizontal {
animation-name: animate_float_horizontal;
animation-duration: 2s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_float_horizontal {
0%, 100% {
transform: translateX(0);
}
50% {
transform: translateX(10px);
}
}
.animate_float_rotate {
animation-name: animate_float_rotate;
animation-duration: 2s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_float_rotate {
0%, 100% {
transform: translateY(0) rotate(0);
}
50% {
transform: translateY(-10px) rotate(15deg);
}
}
.animate_glow {
animation-name: animate_glow;
animation-duration: 1s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_glow {
0%, 100% {
box-shadow: 0 0 5px 0 #3696c1;
}
50% {
box-shadow: 0 0 15px 5px #3696c1;
}
}
.animate_glow_pulse {
animation-name: animate_glow_pulse;
animation-duration: 1s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_glow_pulse {
0%, 100% {
box-shadow: 0 0 10px -5px #3696c1;
}
50% {
box-shadow: 0 0 20px 0 #3696c1;
}
}
.animate_glow_multicolor {
animation-name: animate_glow_multicolor;
animation-duration: 2s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_glow_multicolor {
0%, 33.3333333333% {
box-shadow: 0 0 10px 5px #3696c1;
}
33.3333333333%, 66.6666666667% {
box-shadow: 0 0 10px 5px #9582c2;
}
66.6666666667%, 100% {
box-shadow: 0 0 10px 5px #c5728d;
}
}
.animate_heartbeat {
animation-name: animate_heartbeat;
animation-duration: 1s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_heartbeat {
0%, 100% {
transform: scale(1);
}
25% {
transform: scale(0.9);
}
50% {
transform: scale(1.1);
}
75% {
transform: scale(0.9);
}
}
.animate_heartbeat_fast {
animation-name: animate_heartbeat_fast;
animation-duration: 0.25s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_heartbeat_fast {
0%, 100% {
transform: scale(1);
}
14%, 86% {
transform: scale(0.85);
}
28%, 72% {
transform: scale(1.15);
}
42%, 58% {
transform: scale(0.85);
}
}
.animate_heartbeat_slow {
animation-name: animate_heartbeat_slow;
animation-duration: 2s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_heartbeat_slow {
0%, 100% {
transform: scale(1);
}
25% {
transform: scale(0.95);
}
50% {
transform: scale(1.05);
}
75% {
transform: scale(0.95);
}
}
.animate_heartbeat_color {
animation-name: animate_heartbeat_color;
animation-duration: 1s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_heartbeat_color {
0%, 100% {
transform: scale(1);
color: #ffffff;
}
50% {
transform: scale(1.1);
color: #000000;
}
}
.animate_jiggle {
animation-name: animate_jiggle;
animation-duration: 0.25s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_jiggle {
0%, 100% {
transform: translateX(0);
}
25% {
transform: translateX(-5px);
}
50% {
transform: translateX(5px);
}
75% {
transform: translateX(-5px);
}
}
.animate_jiggle_vertical {
animation-name: animate_jiggle_vertical;
animation-duration: 0.25s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_jiggle_vertical {
0%, 100% {
transform: translateY(0);
}
25% {
transform: translateY(-5px);
}
50% {
transform: translateY(5px);
}
75% {
transform: translateY(-5px);
}
}
.animate_jiggle_multi {
animation-name: animate_jiggle_multi;
animation-duration: 0.25s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_jiggle_multi {
0%, 100% {
transform: translate(0, 0);
}
25% {
transform: translate(-5px, 5px);
}
50% {
transform: translate(5px, -5px);
}
75% {
transform: translate(-5px, 5px);
}
}
.animate_jiggle_slow {
animation-name: animate_jiggle_slow;
animation-duration: 1s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_jiggle_slow {
0%, 100% {
transform: translateX(0);
}
25% {
transform: translateX(-3px);
}
50% {
transform: translateX(3px);
}
75% {
transform: translateX(-3px);
}
}
.animate_nod {
animation-name: animate_nod;
animation-duration: 1s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_nod {
0%, 100% {
transform: rotateX(0deg);
}
50% {
transform: rotateX(10deg);
}
}
.animate_nod_slow {
animation-name: animate_nod_slow;
animation-duration: 2s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_nod_slow {
0%, 100% {
transform: rotateX(0deg);
}
50% {
transform: rotateX(10deg);
}
}
.animate_nod_bounce {
animation-name: animate_nod_bounce;
animation-duration: 1s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_nod_bounce {
0%, 100% {
transform: rotateX(0deg) translateY(0);
}
50% {
transform: rotateX(10deg) translateY(-5px);
}
}
.animate_nod_continuous {
animation-name: animate_nod_continuous;
animation-duration: 0.25s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_nod_continuous {
0% {
transform: rotateX(0deg);
}
25%, 75% {
transform: rotateX(10deg);
}
50%, 100% {
transform: rotateX(-10deg);
}
}
.animate_pop {
animation-name: animate_pop;
animation-duration: 0.25s;
animation-timing-function: ease-in-out;
animation-iteration-count: 1;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_pop {
0%, 100% {
transform: scale(1);
}
50% {
transform: scale(1.2);
}
}
.animate_pop_fast {
animation-name: animate_pop_fast;
animation-duration: 0.25s;
animation-timing-function: ease-in-out;
animation-iteration-count: 1;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_pop_fast {
0%, 100% {
transform: scale(1);
}
50% {
transform: scale(1.2);
}
}
.animate_pop_slow {
animation-name: animate_pop_slow;
animation-duration: 1s;
animation-timing-function: ease-in-out;
animation-iteration-count: 1;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_pop_slow {
0%, 100% {
transform: scale(1);
}
50% {
transform: scale(1.1);
}
}
.animate_pop_rotate {
animation-name: animate_pop_rotate;
animation-duration: 0.25s;
animation-timing-function: ease-in-out;
animation-iteration-count: 1;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_pop_rotate {
0%, 100% {
transform: scale(1) rotate(0);
}
50% {
transform: scale(1.2) rotate(10deg);
}
}
.animate_pulse {
animation-name: animate_pulse;
animation-duration: 1s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_pulse {
0%, 100% {
transform: scale(1);
}
50% {
transform: scale(1.05);
}
}
.animate_pulse_slow {
animation-name: animate_pulse_slow;
animation-duration: 2s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_pulse_slow {
0%, 100% {
transform: scale(0.95);
}
50% {
transform: scale(1.05);
}
}
.animate_pulse_fast {
animation-name: animate_pulse_fast;
animation-duration: 0.25s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_pulse_fast {
0%, 100% {
transform: scale(0.9);
}
50% {
transform: scale(1.2);
}
}
.animate_pulse_color {
animation-name: animate_pulse_color;
animation-duration: 1s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_pulse_color {
0%, 100% {
background-color: #ffffff;
}
50% {
background-color: #000000;
}
}
.animate_ripple {
animation-name: animate_ripple;
animation-duration: 1s;
animation-timing-function: ease-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_ripple {
0% {
transform: scale(1);
opacity: 1;
}
100% {
transform: scale(1.5);
opacity: 0;
}
}
.animate_ripple_slow {
animation-name: animate_ripple_slow;
animation-duration: 2s;
animation-timing-function: ease-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_ripple_slow {
0% {
transform: scale(1);
opacity: 1;
}
100% {
transform: scale(1.5);
opacity: 0;
}
}
.animate_ripple_multi {
animation-name: animate_ripple_multi;
animation-duration: 1s;
animation-timing-function: ease-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_ripple_multi {
0%, 100% {
transform: scale(1);
opacity: 1;
}
50% {
transform: scale(1.2);
opacity: 0.5;
}
100% {
transform: scale(1.5);
opacity: 0;
}
}
.animate_ripple_color {
animation-name: animate_ripple_color;
animation-duration: 1s;
animation-timing-function: ease-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_ripple_color {
0% {
transform: scale(1);
opacity: 1;
background-color: #ffffff;
}
100% {
transform: scale(1.5);
opacity: 0;
background-color: #000000;
}
}
.animate_roll {
animation-name: animate_roll;
animation-duration: 2s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_roll {
0% {
transform: translateX(0) rotate(0deg);
}
100% {
transform: translateX(100%) rotate(360deg);
}
}
.animate_roll_reverse {
animation-name: animate_roll_reverse;
animation-duration: 2s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_roll_reverse {
0% {
transform: translateX(0) rotate(0deg);
}
100% {
transform: translateX(-100%) rotate(-360deg);
}
}
.animate_roll_slow {
animation-name: animate_roll_slow;
animation-duration: 4s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_roll_slow {
0% {
transform: translateX(0) rotate(0deg);
}
100% {
transform: translateX(100%) rotate(360deg);
}
}
.animate_roll_vertical {
animation-name: animate_roll_vertical;
animation-duration: 2s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_roll_vertical {
0% {
transform: translateY(0) rotate(0deg);
}
100% {
transform: translateY(100%) rotate(360deg);
}
}
.animate_scale_expand {
animation-name: animate_scale_expand;
animation-duration: 1s;
animation-timing-function: ease-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_scale_expand {
0%, 100% {
transform: scale(1);
}
50% {
transform: scale(1.2);
}
}
.animate_scale_shrink {
animation-name: animate_scale_shrink;
animation-duration: 1s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_scale_shrink {
0% {
transform: scale(1.2);
}
50% {
transform: scale(0.8);
}
100% {
transform: scale(1.2);
}
}
.animate_shake {
animation-name: animate_shake;
animation-duration: 0.5s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_shake {
0% {
transform: rotate(-10deg);
}
4% {
transform: rotate(10deg);
}
8%, 24% {
transform: rotate(-12deg);
}
12%, 28% {
transform: rotate(12deg);
}
16% {
transform: rotate(-14deg);
}
20% {
transform: rotate(14deg);
}
32% {
transform: rotate(-8deg);
}
36% {
transform: rotate(8deg);
}
40%, 100% {
transform: rotate(0deg);
}
}
.animate_shake_slow {
animation-name: animate_shake_slow;
animation-duration: 1s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_shake_slow {
0%, 100% {
transform: rotate(0deg);
}
10%, 30%, 50%, 70%, 90% {
transform: rotate(-5deg);
}
20%, 40%, 60%, 80% {
transform: rotate(5deg);
}
}
.animate_shake_horizontal {
animation-name: animate_shake_horizontal;
animation-duration: 0.5s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_shake_horizontal {
0%, 100% {
transform: translateX(0);
}
10%, 30%, 50%, 70%, 90% {
transform: translateX(-10px);
}
20%, 40%, 60%, 80% {
transform: translateX(10px);
}
}
.animate_slide_in_left {
animation-name: animate_slide_in_left;
animation-duration: 1s;
animation-timing-function: ease-out;
animation-iteration-count: 1;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_slide_in_left {
from {
transform: translateX(-100%);
opacity: 0;
}
to {
transform: translateX(0);
opacity: 1;
}
}
.animate_slide_in_right {
animation-name: animate_slide_in_right;
animation-duration: 1s;
animation-timing-function: ease-out;
animation-iteration-count: 1;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_slide_in_right {
from {
transform: translateX(100%);
opacity: 0;
}
to {
transform: translateX(0);
opacity: 1;
}
}
.animate_slide_in_up {
animation-name: animate_slide_in_up;
animation-duration: 1s;
animation-timing-function: ease-out;
animation-iteration-count: 1;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_slide_in_up {
from {
transform: translateY(100%);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}
.animate_slide_in_down {
animation-name: animate_slide_in_down;
animation-duration: 1s;
animation-timing-function: ease-out;
animation-iteration-count: 1;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_slide_in_down {
from {
transform: translateY(-100%);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}
.animate_slide_out_left {
animation-name: animate_slide_out_left;
animation-duration: 1s;
animation-timing-function: ease-in;
animation-iteration-count: 1;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: forwards;
animation-play-state: running;
}
@keyframes animate_slide_out_left {
from {
transform: translateX(0);
opacity: 1;
}
to {
transform: translateX(-100%);
opacity: 0;
}
}
.animate_slide_out_right {
animation-name: animate_slide_out_right;
animation-duration: 1s;
animation-timing-function: ease-in;
animation-iteration-count: 1;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: forwards;
animation-play-state: running;
}
@keyframes animate_slide_out_right {
from {
transform: translateX(0);
opacity: 1;
}
to {
transform: translateX(100%);
opacity: 0;
}
}
.animate_slide_out_up {
animation-name: animate_slide_out_up;
animation-duration: 1s;
animation-timing-function: ease-in;
animation-iteration-count: 1;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: forwards;
animation-play-state: running;
}
@keyframes animate_slide_out_up {
from {
transform: translateY(0);
opacity: 1;
}
to {
transform: translateY(-100%);
opacity: 0;
}
}
.animate_slide_out_down {
animation-name: animate_slide_out_down;
animation-duration: 1s;
animation-timing-function: ease-in;
animation-iteration-count: 1;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: forwards;
animation-play-state: running;
}
@keyframes animate_slide_out_down {
from {
transform: translateY(0);
opacity: 1;
}
to {
transform: translateY(100%);
opacity: 0;
}
}
.animate_slide_fade_in_up {
animation-name: animate_slide_fade_in_up;
animation-duration: 1s;
animation-timing-function: ease-out;
animation-iteration-count: 1;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_slide_fade_in_up {
from {
transform: translateY(20px);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}
.animate_slide_fade_in_down {
animation-name: animate_slide_fade_in_down;
animation-duration: 1s;
animation-timing-function: ease-out;
animation-iteration-count: 1;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_slide_fade_in_down {
from {
transform: translateY(-20px);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}
.animate_slide_fade_in_left {
animation-name: animate_slide_fade_in_left;
animation-duration: 1s;
animation-timing-function: ease-out;
animation-iteration-count: 1;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_slide_fade_in_left {
from {
transform: translateX(-20px);
opacity: 0;
}
to {
transform: translateX(0);
opacity: 1;
}
}
.animate_slide_fade_in_right {
animation-name: animate_slide_fade_in_right;
animation-duration: 1s;
animation-timing-function: ease-out;
animation-iteration-count: 1;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_slide_fade_in_right {
from {
transform: translateX(20px);
opacity: 0;
}
to {
transform: translateX(0);
opacity: 1;
}
}
.animate_spin {
animation-name: animate_spin;
animation-duration: 1s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
.animate_spin_reverse {
animation-name: animate_spin_reverse;
animation-duration: 1s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-delay: 0s;
animation-direction: normal;
animation-fill-mode: both;
animation-play-state: running;
}
@keyframes animate_spin_reverse {
from {
transform: rotate(360deg);
}
to {
transform: rotate(0deg);
}
}
.animate_