<link href="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
<script src="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<!------ Include the above in your HEAD tag ---------->
<div class="cssanimation leSnake sequence"> Example </div>
/**
* cssanimation.css
* Current Version: 1.0.3
* 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, .cssanimation span {
animation-duration: 1s;
animation-fill-mode: both;
}
.cssanimation span { display: inline-block }
.infinite { animation-iteration-count: infinite !important }
/*************************************************************
Striking
**************************************************************/
.hu__hu__ { animation: hu__hu__ infinite 2s ease-in-out }
@keyframes hu__hu__ {
50% { transform: translateY(30px) }
}
.leSnake span { animation: leSnake 1.5s ease-in-out; animation-iteration-count: infinite }
@keyframes leSnake {
from, to { transform: translateY(0px) }
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, .1), 0 0 5px rgba(0, 0, 0, .1), 0 1px 3px rgba(0, 0, 0, .3), 0 3px 5px rgba(0, 0, 0, .2), 0 5px 10px rgba(0, 0, 0, .25), 0 10px 10px rgba(0, 0, 0, .2), 0 20px 20px rgba(0, 0, 0, .15)
}
}
.leRainDrop span { animation-name: leRainDrop; animation-iteration-count: infinite; }
@keyframes leRainDrop {
0%, 25%, 55%, 75%, 87%, 97%, 100% { transform: scaleX(1.0) }
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 {
from, 33%, 66%, to { transform: rotate(4deg) }
16%, 50%, 83% { transform: rotate(-4deg) }
}
.leWaterWave span { animation: leWaterWave .2s linear infinite }
@keyframes leWaterWave {
50% { transform: skewY(1deg) skewX(-1deg) scale(1.06) }
}
.lightning { animation-name: lightning }
@keyframes lightning {
from, 50%, 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 .2s steps(12, end) infinite;
}
@keyframes typing {
from { width: 0 }
}
@keyframes cursor {
50% { border-color: transparent }
}
.electricity { animation-name: electricity; animation-iteration-count: infinite }
@keyframes electricity {
from, 37%, 67%, 85%, 93% { transform: translateY(30px) }
4%, 64%, 88% { transform: translateY(10px) }
8%, 24%, 32%, 44% { transform: translateY(5px) }
12%, 52%, 60%, 20% { transform: translateY(10px) }
16%, 40% { transform: translateY(5px) }
28%, 56% { transform: translateY(10px) }
48%, 72%, 80%, 96% { transform: translateY(30px) }
76%, to { transform: translateY(40px) }
}
.wipe {
width: 473px;
overflow: hidden;
margin: 0 auto;
display: inline-flex;
animation-name: wipe;
}
@keyframes wipe {
to { width: 0 }
}
.open {
width: 473px;
margin: 0 auto;
overflow: hidden;
display: inline-flex;
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) }
}
/*************************************************************
Letter Fade in
**************************************************************/
.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 }
}
/************************************************************
Letter Fade Out
*************************************************************/
.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%);
}
}
/*************************************************************
Moving Back
**************************************************************/
.leMovingBackFromRight span { animation-name: leMovingBackFromRight; transform-origin: bottom }
@keyframes leMovingBackFromRight {
40% { transform: rotate(45deg) }
100% {
transform: rotate(0deg);
animation-timing-function: cubic-bezier(0,.9,.7,1.45)
}
}
.leMovingBackFromLeft span { animation-name: leMovingBackFromLeft; transform-origin: bottom }
@keyframes leMovingBackFromLeft {
40% { transform: rotate(-45deg) }
100% {
transform: rotate(0deg);
animation-timing-function: cubic-bezier(0,.9,.7,1.45)
}
}
/*************************************************************
Kick out
**************************************************************/
.leKickOutBehind span { animation-name: leKickOutFront; transform-origin: top }
@keyframes leKickOutFront {
40% { transform: rotate(45deg) }
100% {
transform: rotate(0deg);
animation-timing-function: cubic-bezier(0,.9,.7,1.45)
}
}
.leKickOutFront span { animation-name: leKickOutBehind; transform-origin: top }
@keyframes leKickOutBehind {
40% { transform: rotate(-45deg) }
100% {
transform: rotate(0deg);
animation-timing-function: cubic-bezier(0,.9,.7,1.45)
}
}
/************************************************************
Letter Skate
*************************************************************/
.leSkateX span { animation-name: leScaleX; animation-iteration-count: infinite }
@keyframes leScaleX {
50% { transform: scaleX(0.4) }
}
.leSkateY span { animation-name: leSkateY; animation-iteration-count: infinite }
@keyframes leSkateY {
50% { transform: scaleY(0.4) }
}
.leSkateXY span { animation-name: leSkateXY; animation-iteration-count: infinite; 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) }
}
/************************************************************
Letter Scale
*************************************************************/
.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 }
}
/*************************************************************
Letter Jump
**************************************************************/
.leJump span { animation-name: leJump; animation-iteration-count: infinite }
@keyframes leJump {
to { transform: translateY(-20px) }
}
/*************************************************************
Letter Fly
**************************************************************/
.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
}
}
/*************************************************************
Letter Fly In
**************************************************************/
.leFlyInTop span { animation-name: leFlyInTop }
@keyframes leFlyInTop {
0% {
transform: translate(0px, -80px);
opacity: 0
}
50% {
transform: translate(10px, 50px);
animation-timing-function: ease-in-out
}
}
.leFlyInLeft span { animation-name: leFlyInLeft; animation-timing-function: ease-in-out }
@keyframes leFlyInLeft {
0% {
transform: translate(-40px, 0px);
opacity: 0;
}
50% { transform: translate(40px, 0px) }
}
.leFlyInRight span { animation-name: leFlyInRight; animation-timing-function: ease-in-out }
@keyframes leFlyInRight {
0% {
transform: translate(40px, 0px);
opacity: 0;
}
50% { transform: translate(-40px, 0px) }
}
.leFlyInBottom span { animation-name: leFlyInBottom }
@keyframes leFlyInBottom {
0% {
transform: translate(0px, 80px);
opacity: 0
}
50% {
transform: translate(10px, -50px);
animation-timing-function: ease-in-out
}
}
/*************************************************************
Letter Fly Out
**************************************************************/
.leFlyOutTop span { animation-name: leFlyOutTop }
@keyframes leFlyOutTop {
50% { transform: translate(0px, 50px) }
to {
transform: translate(0px, -100px);
opacity: 0;
}
}
.leFlyOutLeft span { animation-name: leFlyOutLeft; animation-timing-function: ease-in-out }
@keyframes leFlyOutLeft {
50% { transform: translate(40px, 0px) }
to {
transform: translate(-100px, 0px);
opacity: 0;
}
}
.leFlyOutRight span { animation-name: leFlyOutRight; animation-timing-function: ease-in-out }
@keyframes leFlyOutRight {
50% { transform: translate(-40px, 0px) }
to {
transform: translate(100px, 0px);
opacity: 0;
}
}
.leFlyOutBottom span { animation-name: leFlyOutBottom }
@keyframes leFlyOutBottom {
50% { transform: translate(0px, -40px) }
to {
transform: translate(0px, 100px);
opacity: 0;
}
}
/*************************************************************
Letter Door Open & Close
**************************************************************/
.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
}
}
/*************************************************************
Letter Hang And Drop
**************************************************************/
.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;
}
}
/*************************************************************
Letter Shake
**************************************************************/
.leRencontre span { animation: leRencontre .4s; animation-iteration-count: infinite }
@keyframes leRencontre {
0%, 33%, 100% {
transform-origin: bottom;
animation-timing-function: cubic-bezier(.17,.67,.79,1.83)
}
33% { transform: translateY(-2px) rotate(-3deg) }
66% { transform: translateY(2px) rotate(3deg) }
}
.lePulseShake span { animation-name: lePulseShake; animation-iteration-count: infinite }
@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; animation-iteration-count: infinite }
@keyframes leHorizontalShake {
3%, 12%, 21%, 30%, 39%, 48%, 57%, 65%, 74%, 3%, 92% { transform: translateX(5px) }
6%, 15%, 24%, 33%, 42%, 51%, 60%, 68%, 77%, 86%, 95% { transform: translateX(3px) }
9%, 18%, 27%, 36%, 45%, 54%, 63%, 71%, 80%, 89%, 98% { transform: translateX(-5px) }
}
.leVerticalShake span { animation-name: leVerticalShake; animation-iteration-count: infinite }
@keyframes leVerticalShake {
3%, 12%, 21%, 30%, 39%, 48%, 57%, 65%, 74%, 83%, 92% { transform: translateY(5px) }
6%, 15%, 24%, 33%, 42%, 51%, 60%, 68%, 77%, 86%, 95% { transform: translateY(3px) }
9%, 18%, 27%, 36%, 45%, 54%, 63%, 71%, 80%, 89%, 98% { transform: translateY(-5px) }
}
.leMadMax span { animation-name: leMadMax; animation-iteration-count: infinite }
@keyframes leMadMax {
3%, 12%, 21%, 30%, 39%, 48%, 57%, 65%, 74%, 83%, 92% { transform: translateY(5px) scale(1.1) }
6%, 15%, 24%, 33%, 42%, 51%, 60%, 68%, 77%, 86%, 95% { transform: translateY(3px) scale(.8) }
9%, 18%, 27%, 36%, 45%, 54%, 63%, 71%, 80%, 89%, 98% { transform: translateY(-5px) scale(1.1) }
}
.leHorizontalTremble span { animation-name: leHorizontalTremble; animation-iteration-count: infinite }
@keyframes leHorizontalTremble {
3%, 21%, 39%, 57%, 74%, 92% { transform: translateX(5px) }
6%, 24%, 42%, 60%, 77%, 95% { transform: translateX(3px) }
9%, 27%, 45%, 63%, 80%, 98% { transform: translateX(-5px) }
}
.leVerticalTremble span { animation-name: leVerticalTremble; animation-iteration-count: infinite }
@keyframes leVerticalTremble {
3%, 21%, 39%, 57%, 74%, 92% { transform: translateY(5px) }
6%, 24%, 42%, 60%, 77%, 95% { transform: translateY(3px) }
9%, 27%, 45%, 63%, 80%, 98% { transform: translateY(-5px) }
}
.leCrazyCool span { animation-name: leCrazyCool; animation-iteration-count: infinite }
@keyframes leCrazyCool {
3%, 21%, 39%, 57%, 74%, 92% { transform: translateY(5px) scale(1.1) }
6%, 24%, 42%, 60%, 77%, 95% { transform: translateY(3px) scale(.8) }
9%, 27%, 45%, 63%, 80%, 98% { transform: translateY(-5px) scale(1.1) }
}
.leVibration span { animation: leVibration .1s linear infinite }
@keyframes leVibration {
50% { transform: skewY(1deg) skewX(-1deg) scale(1.06) }
}
/*************************************************************
Letter Push Release
**************************************************************/
.lePushReleaseFrom span { animation-name: lePushReleaseFrom }
@keyframes lePushReleaseFrom {
from {
transform: scale(3, 3);
opacity: 0;
}
50% { transform: scale(.5, .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(.5, .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
}
}
/*************************************************************
Letter Flip
**************************************************************/
.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 {
transform: perspective(600px);
opacity: 0
}
70% {
transform: perspective(600px) rotateX(180deg);
transform-origin: 0 0;
animation-timing-function: ease-out;
}
to { transform: perspective(600px) }
}
.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 {
transform: perspective(600px);
opacity: 0
}
70% {
transform: perspective(600px) rotateX(180deg);
transform-origin: bottom;
animation-timing-function: ease-out;
}
to { transform: perspective(600px) }
}
/*************************************************************
Letter Elevate
**************************************************************/
.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(0deg);
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(0deg);
transform-origin: left;
}
}
/*************************************************************
Letter Roll From
**************************************************************/
.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
}
}
/*************************************************************
Letter Roll To
**************************************************************/
.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
}
}
/*************************************************************
Letter Rotate In skate
**************************************************************/
.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;
}
}
/*************************************************************
Letter Rotate Out skate
**************************************************************/
.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;
}
}
/*************************************************************
Letter Rotation
**************************************************************/
.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;
}
}
/*************************************************************
Letter Rotate
**************************************************************/
.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;
}
}
/*************************************************************
Letter Spin
**************************************************************/
.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;
}
}
/*************************************************************
Letter Blur In
**************************************************************/
.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;
}
}
/*************************************************************
Letter Blur Out
**************************************************************/
.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;
}
}
/*************************************************************
Letter Pop Up
**************************************************************/
.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;
}
}
/*************************************************************
Letter Pop Out
**************************************************************/
.lePopOut span { animation-name: lePopOut }
@keyframes lePopOut {
50% { transform: scale(.5) }
}
.lePopOutLeft span { animation-name: lePopOutLeft }
@keyframes lePopOutLeft {
50% {
transform: translateX(-50px) scale(.5);
animation-timing-function: ease-in;
}
}
.lePopOutRight span { animation-name: lePopOutRight }
@keyframes lePopOutRight {
50% {
transform: translateX(50px) scale(.5);
animation-timing-function: ease-in;
}
}
/*************************************************************
Letter Bouncing
**************************************************************/
.leBounceFromTop span { animation-name: leBounceFromTop }
@keyframes leBounceFromTop {
0%, 25%, 55%, 85%, 100% {
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%, 25%, 55%, 85%, 100% {
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%, 25%, 55%, 85%, 100% {
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%, 25%, 55%, 85%, 100% {
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%, 25%, 55%, 85%, 100% {
animation-timing-function: ease-out;
transform: scale(1);
}
41%, 44% {
animation-timing-function: ease-in;
transform: scale(.5);
}
70% {
animation-timing-function: ease-in;
transform: scale(.7);
}
90% { transform: scale(.9) }
}
/*************************************************************
Letter Perspective
**************************************************************/
.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;
}
}
/*************************************************************
Letter Zoom In
**************************************************************/
.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;
}
}
/*************************************************************
Letter Zoom Out
**************************************************************/
.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;
}
}
/*************************************************************
Letter Dance In
**************************************************************/
.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) }
}
/*************************************************************
Letter Dance Out
**************************************************************/
.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 }
}
/*************************************************************
One After One Fade in
**************************************************************/
.oaoFadeIn span:nth-child(even) { animation-name: leoaoFadeInTop; animation-duration: .7s; animation-timing-function: ease-out; }
@keyframes leoaoFadeInTop {
from {
transform: translateY(-100px);
opacity: 0;
}
}
.oaoFadeIn span:nth-child(odd) { animation-name: leoaoFadeInBottom; animation-duration: .7s; animation-timing-function: ease-out; }
@keyframes leoaoFadeInBottom {
from {
transform: translateY(100px);
opacity: 0;
}
}
.oaoFadeOut span:nth-child(even) { animation-name: leoaoFadeOutop; animation-duration: .7s; animation-timing-function: ease-in; }
@keyframes leoaoFadeOutop {
to {
transform: translateY(-100px);
opacity: 0;
}
}
.oaoFadeOut span:nth-child(odd) { animation-name: leoaoFadeOutBottom; animation-duration: .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;
}
}
/*************************************************************
Fade in
**************************************************************/
.fadeIn { animation-name: fadeIn }
@keyframes fadeIn {
from { opacity: 0 }
to { opacity: 1 }
}
.fadeInLeft { animation-name: fadeInLeft }
@keyframes fadeInLeft {
from {
opacity: 0;
transform: translateX(-100%);
}
to { opacity: 1 }
}
.fadeInRight { animation-name: fadeInRight }
@keyframes fadeInRight {
from {
opacity: 0;
transform: translateX(100%);
}
to { opacity: 1 }
}
.fadeInTop { animation-name: fadeInTop }
@keyframes fadeInTop {
from {
opacity: 0;
transform: translateY(-100%);
}
to { opacity: 1 }
}
.fadeInBottom { animation-name: fadeInBottom }
@keyframes fadeInBottom {
from {
opacity: 0;
transform: translateY(100%);
}
to { opacity: 1 }
}
/**************************************************************
Fade Out
**************************************************************/
.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%);
}
}
/*************************************************************
Move From
**************************************************************/
.moveFromLeft { animation-name: moveFromLeft }
@keyframes moveFromLeft {
from { transform: translateX(-800px) }
}
.moveFromRight { animation-name: moveFromRight }
@keyframes moveFromRight {
from { transform: translateX(800px) }
}
.moveFromTop { animation-name: moveFromTop }
@keyframes moveFromTop {
from { transform: translateY(-800px) }
}
.moveFromBottom { animation-name: moveFromBottom }
@keyframes moveFromBottom {
from { transform: translateY(800px) }
}
/*************************************************************
Move To
**************************************************************/
.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) }
}
/*************************************************************
Door
**************************************************************/
.doorCloseFromLeft { animation-name: doorCloseFromLeft }
@keyframes doorCloseFromLeft {
from {
transform: perspective(400px) rotateY(90deg);
transform-origin: left;
opacity: 0;
}
50%, to {
transform: perspective(400px) rotateY(0deg);
transform-origin: left;
opacity: 1;
}
}
.doorOpenFromRight { animation-name: doorOpenFromRight }
@keyframes doorOpenFromRight {
from {
transform: perspective(400px) rotateY(0deg);
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(0deg);
transform-origin: right;
opacity: 1;
}
}
.doorOpenFromLeft { animation-name: doorOpenFromLeft }
@keyframes doorOpenFromLeft {
from {
transform: perspective(400px) rotateY(0deg);
transform-origin: right;
opacity: 1;
}
50%, to {
transform: perspective(400px) rotateY(-90deg);
transform-origin: right;
opacity: 0;
}
}
/*************************************************************
Heartbeat
**************************************************************/
.heartbeatSlow { animation-name: heartbeatSlow; animation-iteration-count: infinite; animation-duration: .5s }
@keyframes heartbeatSlow {
35%, 65% { transform: scale(1.2) }
}
.heartbeatFast { animation-name: heartbeatFast; animation-iteration-count: infinite }
@keyframes heartbeatFast {
14%, 42% { transform: scale(1.3) }
28%, 70% { transform: scale(1) }
}
/*************************************************************
Hang On
**************************************************************/
.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;
}
}
/*************************************************************
Hang And Drop
**************************************************************/
.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
}
}
/*************************************************************
Shake
**************************************************************/
.pulseShake { animation-name: pulseShake; animation-iteration-count: infinite }
@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; animation-iteration-count: infinite }
@keyframes horizontalShake {
3%, 12%, 21%, 30%, 39%, 48%, 57%, 65%, 74%, 83%, 92% { transform: translateX(5px) }
6%, 15%, 24%, 33%, 42%, 51%, 60%, 68%, 77%, 86%, 95% { transform: translateX(3px) }
9%, 18%, 27%, 36%, 45%, 54%, 63%, 71%, 80%, 89%, 98% { transform: translateX(-5px) }
}
.verticalShake { animation-name: verticalShake; animation-iteration-count: infinite }
@keyframes verticalShake {
3%, 12%, 21%, 30%, 39%, 48%, 57%, 65%, 74%, 83%, 92% { transform: translateY(5px) }
6%, 15%, 24%, 33%, 42%, 51%, 60%, 68%, 77%, 86%, 95% { transform: translateY(3px) }
9%, 18%, 27%, 36%, 45%, 54%, 63%, 71%, 80%, 89%, 98% { transform: translateY(-5px) }
}
.madMax { animation-name: madMax; animation-iteration-count: infinite }
@keyframes madMax {
3%, 12%, 21%, 30%, 39%, 48%, 57%, 65%, 74%, 83%, 92% { transform: translateY(5px) scale(1.1) }
6%, 15%, 24%, 33%, 42%, 51%, 60%, 68%, 77%, 86%, 95% { transform: translateY(3px) scale(.8) }
9%, 18%, 27%, 36%, 45%, 54%, 63%, 71%, 80%, 89%, 98% { transform: translateY(-5px) scale(1.1) }
}
.coolHorizontalShake { animation-name: coolHorizontalShake; animation-iteration-count: infinite }
@keyframes coolHorizontalShake {
3%, 21%, 39%, 57%, 74%, 92% { transform: translateX(5px) }
6%, 24%, 42%, 60%, 77%, 95% { transform: translateX(3px) }
9%, 27%, 45%, 63%, 80%, 98% { transform: translateX(-5px) }
}
.coolVerticalShake { animation-name: coolVerticalShake; animation-iteration-count: infinite }
@keyframes coolVerticalShake {
3%, 21%, 39%, 57%, 74%, 92% { transform: translateY(5px) }
6%, 24%, 42%, 60%, 77%, 95% { transform: translateY(3px) }
9%, 27%, 45%, 63%, 80%, 98% { transform: translateY(-5px) }
}
.quietMad { animation-name: quietMad; animation-iteration-count: infinite }
@keyframes quietMad {
3%, 21%, 39%, 57%, 74%, 92% { transform: translateY(5px) scale(1.1) }
6%, 24%, 42%, 60%, 77%, 95% { transform: translateY(3px) scale(.8) }
9%, 27%, 45%, 63%, 80%, 98% { transform: translateY(-5px) scale(1.1) }
}
.vibration { animation: vibration .1s linear infinite }
@keyframes vibration {
50% { transform: skewY(1deg) skewX(-1deg) scale(1.06) }
}
/*************************************************************
Push Release From
**************************************************************/
.pushReleaseFrom { animation-name: pushReleaseFrom }
@keyframes pushReleaseFrom {
from {
transform: scale(3, 3);
opacity: 0;
}
30% { transform: scale(.5, .5) }
}
.pushReleaseFromLeft { animation-name: pushReleaseFromLeft }
@keyframes pushReleaseFromLeft {
from { transform: translateX(-100%) }
30% { transform: translateX(100px) }
}
.pushReleaseFromRight { animation-name: pushReleaseFromRight }
@keyframes pushReleaseFromRight {
from { transform: translateX(100%) }
30% { transform: translateX(-100px) }
}
.pushReleaseFromTop { animation-name: pushReleaseFromTop }
@keyframes pushReleaseFromTop {
from { transform: translateY(-100%) }
30% { transform: translateY(100px) }
}
.pushReleaseFromBottom { animation-name: pushReleaseFromBottom }
@keyframes pushReleaseFromBottom {
from { transform: translateY(100%) }
30% { transform: translateY(-100px) }
}
/*************************************************************
Push Release To
**************************************************************/
.pushReleaseTo { animation-name: pushReleaseTo }
@keyframes pushReleaseTo {
30% { transform: scale(.5, .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;
}
}
/*************************************************************
Flip X
**************************************************************/
.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(0deg) 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(.7);
animation-timing-function: ease-in;
}
to { transform: scale(1) }
}
.flipXZoomOut { animation-name: flipXZoomOut }
@keyframes flipXZoomOut {
from {
transform: perspective(600px) rotateX(0deg) 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(.7);
animation-timing-function: ease-in;
}
to { transform: scale(1) }
}
/*************************************************************
Flip Y
**************************************************************/
.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(0deg) 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(.7);
animation-timing-function: ease-in;
}
to { transform: scale(1) }
}
.flipYZoomOut { animation-name: flipYZoomOut }
@keyframes flipYZoomOut {
from {
transform: perspective(600px) rotateY(0deg) scale(1);
animation-timing-function: ease-out;
}
40% {
transform: perspective(600px) rotateY(180deg) scale(.6);
animation-timing-function: ease-out;
}
80% {
transform: perspective(600px) rotateY(360deg) scale(1.8);
animation-timing-function: ease-in;
}
to { transform: scale(1) }
}
/*************************************************************
Skew
**************************************************************/
.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(-100%) skewX(-40deg)
}
70% { transform: skewX(-30deg) }
}
.skewInRight { animation-name: skewInRight }
@keyframes skewInRight {
from {
opacity: 0;
transform: translateX(100%) 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
}
}
/*************************************************************
Shock In
**************************************************************/
.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) }
}
/*************************************************************
Pull release
**************************************************************/
.pullRelease { animation-name: pullRelease }
@keyframes pullRelease {
15% { transform: scale(1.8) }
}
.pushRelease { animation-name: pushRelease }
@keyframes pushRelease {
15% { transform: scale(.5) }
}
/*************************************************************
Swing In
**************************************************************/
.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) }
}
/*************************************************************
Elevate
**************************************************************/
.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(0deg);
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(0deg);
transform-origin: left;
}
}
/*************************************************************
Roll From
**************************************************************/
.rollFromLeft { animation-name: rollFromLeft }
@keyframes rollFromLeft {
from {
transform: translateX(-100%) perspective(600px) rotateY(180deg);
opacity: 0
}
to {
transform: translateX(0) perspective(600px) rotateY(0deg);
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(0deg);
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(0deg);
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(0deg);
opacity: 1
}
}
/*************************************************************
Roll To
**************************************************************/
.rollToLeft { animation-name: rollToLeft }
@keyframes rollToLeft {
from {
transform: translateX(0) perspective(600px) rotateY(0deg);
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(0deg);
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(0deg);
opacity: 1
}
to {
transform: translateY(-100%) perspective(600px) rotateX(180deg);
opacity: 0
}
}
.rollToBottom { animation-name: rollToBottom }
@keyframes rollToBottom {
to {
transform: translateY(0) perspective(600px) rotateX(0deg);
opacity: 1
}
to {
transform: translateY(100%) perspective(600px) rotateX(-180deg);
opacity: 0
}
}
/*************************************************************
Rotation
**************************************************************/
.rotate { animation-name: rotate; animation-timing-function: ease-in-out }
@keyframes rotate {
from { transform: rotate(0deg) }
to { transform: rotate(360deg) }
}
.rotateX { animation-name: rotateX }
@keyframes rotateX {
from { transform: perspective(600px) rotateX(0deg) }
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(0deg) }
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;
}
}
/*************************************************************
Rotate In
**************************************************************/
.rotateInLeft { animation-name: rotateInLeft }
@keyframes rotateInLeft {
from {
opacity: 0;
transform: translateX(-100%) rotate(0deg)
}
to { transform: translateX(0px) rotate(360deg) }
}
.rotateInRight { animation-name: rotateInRight }
@keyframes rotateInRight {
from {
opacity: 0;
transform: translateX(100%) rotate(0deg)
}
to { transform: translateX(0px) rotate(-360deg) }
}
.rotateInTop { animation-name: rotateInTop }
@keyframes rotateInTop {
from {
opacity: 0;
transform: translateY(-400%) rotate(0deg)
}
to { transform: translateX(0px) rotate(360deg) }
}
.rotateInBottom { animation-name: rotateInBottom }
@keyframes rotateInBottom {
from {
opacity: 0;
transform: translateY(400%) rotate(0deg)
}
to { transform: translateX(0px) rotate(360deg) }
}
/*************************************************************
Rotate Out
**************************************************************/
.rotateOutLeft { animation-name: rotateOutLeft }
@keyframes rotateOutLeft {
from { transform: translateX(0px) rotate(360deg) }
to {
transform: translateX(-800px) rotate(0deg);
opacity: 0
}
}
.rotateOutRight { animation-name: rotateOutRight }
@keyframes rotateOutRight {
from { transform: translateX(0px) rotate(-360deg) }
to {
transform: translateX(800px) rotate(0deg);
opacity: 0
}
}
.rotateOutTop { animation-name: rotateOutTop }
@keyframes rotateOutTop {
from { transform: translateX(0px) rotate(360deg) }
to {
transform: translateY(-800px) rotate(0deg);
opacity: 0
}
}
.rotateOutBottom { animation-name: rotateOutBottom }
@keyframes rotateOutBottom {
from { transform: translateX(0px) rotate(360deg) }
to {
transform: translateY(800px) rotate(0deg);
opacity: 0
}
}
/*************************************************************
Spin To
**************************************************************/
.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;
}
}
/*************************************************************
Spin From
**************************************************************/
.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;
}
}
/*************************************************************
Blur In
**************************************************************/
.blurIn { animation-name: blurIn }
@keyframes blurIn {
from {
filter: blur(20px);
opacity: 0;
}
}
.blurInLeft { animation-name: blurInLeft }
@keyframes blurInLeft {
from {
transform: translateX(100%);
filter: blur(20px);
opacity: 0;
}
}
.blurInRight { animation-name: blurInRight }
@keyframes blurInRight {
from {
transform: translateX(-100%);
filter: blur(20px);
opacity: 0;
}
}
.blurInTop { animation-name: blurInTop }
@keyframes blurInTop {
from {
transform: translateY(100%);
filter: blur(20px);
opacity: 0;
}
}
.blurInBottom { animation-name: blurInBottom }
@keyframes blurInBottom {
from {
transform: translateY(-100%);
filter: blur(20px);
opacity: 0;
}
}
/*************************************************************
Blur Out
**************************************************************/
.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 }
}
/*************************************************************
Bounce
**************************************************************/
.bounceFromTop { animation-name: bounceFromTop }
@keyframes bounceFromTop {
0%, 25%, 55%, 85%, 100% {
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%, 25%, 55%, 85%, 100% {
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%, 25%, 55%, 85%, 100% {
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%, 25%, 55%, 85%, 100% {
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%, 25%, 55%, 85%, 100% {
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%, 25%, 55%, 85%, 100% {
animation-timing-function: ease-out;
transform: scale(1);
}
41%, 44% {
animation-timing-function: ease-in;
transform: scale(.3);
}
70% {
animation-timing-function: ease-in;
transform: scale(.5);
}
90% { transform: scale(.9) }
}
/*************************************************************
Bounce In
**************************************************************/
.bounceInTop { animation-name: bounceInTop }
@keyframes bounceInTop {
0% { transform: translate3d(0, -300%, 0) }
58% { transform: translate3d(0, 27px, 0) }
73% { transform: translate3d(0, -12px, 0) }
88% { transform: translate3d(0, 7px, 0) }
}
.bounceInBottom { animation-name: bounceInBottom }
@keyframes bounceInBottom {
0% { transform: translate3d(0, 300%, 0) }
58% { transform: translate3d(0, -27px, 0) }
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) }
}
/*************************************************************
Bounce Out
**************************************************************/
.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)
}
}
/*************************************************************
Perspective
**************************************************************/
.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;
}
}
/*************************************************************
Zoom In
**************************************************************/
.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;
}
}
/*************************************************************
Zoom Out
**************************************************************/
.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;
}
}
/*************************************************************
Dance
**************************************************************/
.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) }
}
}
/**
* letteranimation.js
* Current Version: 1.0.3
* 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
**/
function animateSequence(){for(var n=document.getElementsByClassName("sequence"),a=0;a<n.length;a++){var e=n[a],t=e.innerHTML;t=t.trim();var i="",m=100;for(l=0;l<t.length;l++)" "!=t[l]?(i+='<span style="animation-delay:'+m+"ms; -moz-animation-delay:"+m+"ms; -webkit-animation-delay:"+m+'ms; ">'+t[l]+"</span>",m+=150):i+=t[l];e.innerHTML=i}}function animateRandom(){for(var n=document.getElementsByClassName("random"),a=0;a<n.length;a++){var e=n[a],t=e.innerHTML;t=t.trim();var i=70,m=new Array,o=new Array;for(j=0;j<t.length;j++){for(;;){var r=getRandomInt(0,t.length-1);if(-1==m.indexOf(r))break}m[j]=r}for(l=0;l<m.length;l++){var s="",d=m[l];" "!=t[d]?(s='<span style="animation-delay:'+i+"ms; -moz-animation-delay:"+i+"ms; -webkit-animation-delay:"+i+'ms; ">'+t[d]+"</span>",o[d]=s):o[d]=t[d],i+=80}o=o.join(""),e.innerHTML=o}}function getRandomInt(n,a){return Math.floor(Math.random()*(a-n+1))+n}window.onload=function(){animateSequence(),animateRandom()};