/* animation sets */
/* move from / to */
/* fade */
/* move from / to and fade */
/* move to with different easing */
/********************************* keyframes **************************************/
/* move from / to */
@-webkit-keyframes "moveToLeft" {
from {
}
to {
-webkit-transform: translateX(-100%);
}
}
@keyframes "moveToLeft" {
from {
}
to {
-webkit-transform: translateX(-100%);
transform: translateX(-100%);
}
}
@-webkit-keyframes "moveFromLeft" {
from {
-webkit-transform: translateX(-100%);
}
}
@keyframes "moveFromLeft" {
from {
-webkit-transform: translateX(-100%);
transform: translateX(-100%);
}
}
@-webkit-keyframes "moveToRight" {
from {
}
to {
-webkit-transform: translateX(100%);
}
}
@keyframes "moveToRight" {
from {
}
to {
-webkit-transform: translateX(100%);
transform: translateX(100%);
}
}
@-webkit-keyframes "moveFromRight" {
from {
-webkit-transform: translateX(100%);
}
}
@keyframes "moveFromRight" {
from {
-webkit-transform: translateX(100%);
transform: translateX(100%);
}
}
@-webkit-keyframes "moveToTop" {
from {
}
to {
-webkit-transform: translateY(-100%);
}
}
@keyframes "moveToTop" {
from {
}
to {
-webkit-transform: translateY(-100%);
transform: translateY(-100%);
}
}
@-webkit-keyframes "moveFromTop" {
from {
-webkit-transform: translateY(-100%);
}
}
@keyframes "moveFromTop" {
from {
-webkit-transform: translateY(-100%);
transform: translateY(-100%);
}
}
@-webkit-keyframes "moveToBottom" {
from {
}
to {
-webkit-transform: translateY(100%);
}
}
@keyframes "moveToBottom" {
from {
}
to {
-webkit-transform: translateY(100%);
transform: translateY(100%);
}
}
@-webkit-keyframes "moveFromBottom" {
from {
-webkit-transform: translateY(100%);
}
}
@keyframes "moveFromBottom" {
from {
-webkit-transform: translateY(100%);
transform: translateY(100%);
}
}
/* fade */
@-webkit-keyframes "fade" {
from {
}
to {
opacity: 0.3;
}
}
@keyframes "fade" {
from {
}
to {
opacity: 0.3;
}
}
/* move from / to and fade */
@-webkit-keyframes "moveToLeftFade" {
from {
}
to {
opacity: 0.3;
-webkit-transform: translateX(-100%);
}
}
@keyframes "moveToLeftFade" {
from {
}
to {
opacity: 0.3;
-webkit-transform: translateX(-100%);
transform: translateX(-100%);
}
}
@-webkit-keyframes "moveFromLeftFade" {
from {
opacity: 0.3;
-webkit-transform: translateX(-100%);
}
}
@keyframes "moveFromLeftFade" {
from {
opacity: 0.3;
-webkit-transform: translateX(-100%);
transform: translateX(-100%);
}
}
@-webkit-keyframes "moveToRightFade" {
from {
}
to {
opacity: 0.3;
-webkit-transform: translateX(100%);
}
}
@keyframes "moveToRightFade" {
from {
}
to {
opacity: 0.3;
-webkit-transform: translateX(100%);
transform: translateX(100%);
}
}
@-webkit-keyframes "moveFromRightFade" {
from {
opacity: 0.3;
-webkit-transform: translateX(100%);
}
}
@keyframes "moveFromRightFade" {
from {
opacity: 0.3;
-webkit-transform: translateX(100%);
transform: translateX(100%);
}
}
@-webkit-keyframes "moveToTopFade" {
from {
}
to {
opacity: 0.3;
-webkit-transform: translateY(-100%);
}
}
@keyframes "moveToTopFade" {
from {
}
to {
opacity: 0.3;
-webkit-transform: translateY(-100%);
transform: translateY(-100%);
}
}
@-webkit-keyframes "moveFromTopFade" {
from {
opacity: 0.3;
-webkit-transform: translateY(-100%);
}
}
@keyframes "moveFromTopFade" {
from {
opacity: 0.3;
-webkit-transform: translateY(-100%);
transform: translateY(-100%);
}
}
@-webkit-keyframes "moveToBottomFade" {
from {
}
to {
opacity: 0.3;
-webkit-transform: translateY(100%);
}
}
@keyframes "moveToBottomFade" {
from {
}
to {
opacity: 0.3;
-webkit-transform: translateY(100%);
transform: translateY(100%);
}
}
@-webkit-keyframes "moveFromBottomFade" {
from {
opacity: 0.3;
-webkit-transform: translateY(100%);
}
}
@keyframes "moveFromBottomFade" {
from {
opacity: 0.3;
-webkit-transform: translateY(100%);
transform: translateY(100%);
}
}
/* scale and fade */
/********************************* keyframes **************************************/
/* scale and fade */
@-webkit-keyframes "scaleDown" {
from {
}
to {
opacity: 0;
-webkit-transform: scale(.8);
}
}
@keyframes "scaleDown" {
from {
}
to {
opacity: 0;
-webkit-transform: scale(.8);
transform: scale(.8);
}
}
@-webkit-keyframes "scaleUp" {
from {
opacity: 0;
-webkit-transform: scale(.8);
}
}
@keyframes "scaleUp" {
from {
opacity: 0;
-webkit-transform: scale(.8);
transform: scale(.8);
}
}
@-webkit-keyframes "scaleUpDown" {
from {
opacity: 0;
-webkit-transform: scale(1.2);
}
}
@keyframes "scaleUpDown" {
from {
opacity: 0;
-webkit-transform: scale(1.2);
transform: scale(1.2);
}
}
@-webkit-keyframes "scaleDownUp" {
from {
}
to {
opacity: 0;
-webkit-transform: scale(1.2);
}
}
@keyframes "scaleDownUp" {
from {
}
to {
opacity: 0;
-webkit-transform: scale(1.2);
transform: scale(1.2);
}
}
@-webkit-keyframes "scaleDownCenter" {
from {
}
to {
opacity: 0;
-webkit-transform: scale(.7);
}
}
@keyframes "scaleDownCenter" {
from {
}
to {
opacity: 0;
-webkit-transform: scale(.7);
transform: scale(.7);
}
}
@-webkit-keyframes "scaleUpCenter" {
from {
opacity: 0;
-webkit-transform: scale(.7);
}
}
@keyframes "scaleUpCenter" {
from {
opacity: 0;
-webkit-transform: scale(.7);
transform: scale(.7);
}
}
/* rotate sides first and scale */
/* flip */
/* rotate fall */
/* rotate newspaper */
/* push */
/* pull */
/* fold */
/* unfold */
/* room walls */
/* cube */
/* carousel */
/* sides */
/* slide */
/********************************* keyframes **************************************/
/* rotate sides first and scale */
@-webkit-keyframes "rotateRightSideFirst" {
0% {
}
40% {
-webkit-transform: rotateY(15deg);
opacity: .8;
-webkit-animation-timing-function: ease-out;
}
100% {
-webkit-transform: scale(0.8) translateZ(-200px);
opacity: 0;
}
}
@keyframes "rotateRightSideFirst" {
0% {
}
40% {
-webkit-transform: rotateY(15deg);
transform: rotateY(15deg);
opacity: .8;
-webkit-animation-timing-function: ease-out;
animation-timing-function: ease-out;
}
100% {
-webkit-transform: scale(0.8) translateZ(-200px);
transform: scale(0.8) translateZ(-200px);
opacity: 0;
}
}
@-webkit-keyframes "rotateLeftSideFirst" {
0% {
}
40% {
-webkit-transform: rotateY(-15deg);
opacity: .8;
-webkit-animation-timing-function: ease-out;
}
100% {
-webkit-transform: scale(0.8) translateZ(-200px);
opacity: 0;
}
}
@keyframes "rotateLeftSideFirst" {
0% {
}
40% {
-webkit-transform: rotateY(-15deg);
transform: rotateY(-15deg);
opacity: .8;
-webkit-animation-timing-function: ease-out;
animation-timing-function: ease-out;
}
100% {
-webkit-transform: scale(0.8) translateZ(-200px);
transform: scale(0.8) translateZ(-200px);
opacity: 0;
}
}
@-webkit-keyframes "rotateTopSideFirst" {
0% {
}
40% {
-webkit-transform: rotateX(15deg);
opacity: .8;
-webkit-animation-timing-function: ease-out;
}
100% {
-webkit-transform: scale(0.8) translateZ(-200px);
opacity: 0;
}
}
@keyframes "rotateTopSideFirst" {
0% {
}
40% {
-webkit-transform: rotateX(15deg);
transform: rotateX(15deg);
opacity: .8;
-webkit-animation-timing-function: ease-out;
animation-timing-function: ease-out;
}
100% {
-webkit-transform: scale(0.8) translateZ(-200px);
transform: scale(0.8) translateZ(-200px);
opacity: 0;
}
}
@-webkit-keyframes "rotateBottomSideFirst" {
0% {
}
40% {
-webkit-transform: rotateX(-15deg);
opacity: .8;
-webkit-animation-timing-function: ease-out;
}
100% {
-webkit-transform: scale(0.8) translateZ(-200px);
opacity: 0;
}
}
@keyframes "rotateBottomSideFirst" {
0% {
}
40% {
-webkit-transform: rotateX(-15deg);
transform: rotateX(-15deg);
opacity: .8;
-webkit-animation-timing-function: ease-out;
animation-timing-function: ease-out;
}
100% {
-webkit-transform: scale(0.8) translateZ(-200px);
transform: scale(0.8) translateZ(-200px);
opacity: 0;
}
}
/* flip */
@-webkit-keyframes "flipOutRight" {
from {
}
to {
-webkit-transform: translateZ(-1000px) rotateY(90deg);
opacity: 0.2;
}
}
@keyframes "flipOutRight" {
from {
}
to {
-webkit-transform: translateZ(-1000px) rotateY(90deg);
transform: translateZ(-1000px) rotateY(90deg);
opacity: 0.2;
}
}
@-webkit-keyframes "flipInLeft" {
from {
-webkit-transform: translateZ(-1000px) rotateY(-90deg);
opacity: 0.2;
}
}
@keyframes "flipInLeft" {
from {
-webkit-transform: translateZ(-1000px) rotateY(-90deg);
transform: translateZ(-1000px) rotateY(-90deg);
opacity: 0.2;
}
}
@-webkit-keyframes "flipOutLeft" {
from {
}
to {
-webkit-transform: translateZ(-1000px) rotateY(-90deg);
opacity: 0.2;
}
}
@keyframes "flipOutLeft" {
from {
}
to {
-webkit-transform: translateZ(-1000px) rotateY(-90deg);
transform: translateZ(-1000px) rotateY(-90deg);
opacity: 0.2;
}
}
@-webkit-keyframes "flipInRight" {
from {
-webkit-transform: translateZ(-1000px) rotateY(90deg);
opacity: 0.2;
}
}
@keyframes "flipInRight" {
from {
-webkit-transform: translateZ(-1000px) rotateY(90deg);
transform: translateZ(-1000px) rotateY(90deg);
opacity: 0.2;
}
}
@-webkit-keyframes "flipOutTop" {
from {
}
to {
-webkit-transform: translateZ(-1000px) rotateX(90deg);
opacity: 0.2;
}
}
@keyframes "flipOutTop" {
from {
}
to {
-webkit-transform: translateZ(-1000px) rotateX(90deg);
transform: translateZ(-1000px) rotateX(90deg);
opacity: 0.2;
}
}
@-webkit-keyframes "flipInBottom" {
from {
-webkit-transform: translateZ(-1000px) rotateX(-90deg);
opacity: 0.2;
}
}
@keyframes "flipInBottom" {
from {
-webkit-transform: translateZ(-1000px) rotateX(-90deg);
transform: translateZ(-1000px) rotateX(-90deg);
opacity: 0.2;
}
}
@-webkit-keyframes "flipOutBottom" {
from {
}
to {
-webkit-transform: translateZ(-1000px) rotateX(-90deg);
opacity: 0.2;
}
}
@keyframes "flipOutBottom" {
from {
}
to {
-webkit-transform: translateZ(-1000px) rotateX(-90deg);
transform: translateZ(-1000px) rotateX(-90deg);
opacity: 0.2;
}
}
@-webkit-keyframes "flipInTop" {
from {
-webkit-transform: translateZ(-1000px) rotateX(90deg);
opacity: 0.2;
}
}
@keyframes "flipInTop" {
from {
-webkit-transform: translateZ(-1000px) rotateX(90deg);
transform: translateZ(-1000px) rotateX(90deg);
opacity: 0.2;
}
}
/* fall */
@-webkit-keyframes "rotateFall" {
0% {
-webkit-transform: rotateZ(0deg);
}
20% {
-webkit-transform: rotateZ(10deg);
-webkit-animation-timing-function: ease-out;
}
40% {
-webkit-transform: rotateZ(17deg);
}
60% {
-webkit-transform: rotateZ(16deg);
}
100% {
-webkit-transform: translateY(100%) rotateZ(17deg);
}
}
@keyframes "rotateFall" {
0% {
-webkit-transform: rotateZ(0deg);
transform: rotateZ(0deg);
}
20% {
-webkit-transform: rotateZ(10deg);
transform: rotateZ(10deg);
-webkit-animation-timing-function: ease-out;
animation-timing-function: ease-out;
}
40% {
-webkit-transform: rotateZ(17deg);
transform: rotateZ(17deg);
}
60% {
-webkit-transform: rotateZ(16deg);
transform: rotateZ(16deg);
}
100% {
-webkit-transform: translateY(100%) rotateZ(17deg);
transform: translateY(100%) rotateZ(17deg);
}
}
/* newspaper */
@-webkit-keyframes "rotateOutNewspaper" {
from {
}
to {
-webkit-transform: translateZ(-3000px) rotateZ(360deg);
opacity: 0;
}
}
@keyframes "rotateOutNewspaper" {
from {
}
to {
-webkit-transform: translateZ(-3000px) rotateZ(360deg);
transform: translateZ(-3000px) rotateZ(360deg);
opacity: 0;
}
}
@-webkit-keyframes "rotateInNewspaper" {
from {
-webkit-transform: translateZ(-3000px) rotateZ(-360deg);
opacity: 0;
}
}
@keyframes "rotateInNewspaper" {
from {
-webkit-transform: translateZ(-3000px) rotateZ(-360deg);
transform: translateZ(-3000px) rotateZ(-360deg);
opacity: 0;
}
}
/* push */
@-webkit-keyframes "rotatePushLeft" {
from {
}
to {
opacity: 0;
-webkit-transform: rotateY(90deg);
}
}
@keyframes "rotatePushLeft" {
from {
}
to {
opacity: 0;
-webkit-transform: rotateY(90deg);
transform: rotateY(90deg);
}
}
@-webkit-keyframes "rotatePushRight" {
from {
}
to {
opacity: 0;
-webkit-transform: rotateY(-90deg);
}
}
@keyframes "rotatePushRight" {
from {
}
to {
opacity: 0;
-webkit-transform: rotateY(-90deg);
transform: rotateY(-90deg);
}
}
@-webkit-keyframes "rotatePushTop" {
from {
}
to {
opacity: 0;
-webkit-transform: rotateX(-90deg);
}
}
@keyframes "rotatePushTop" {
from {
}
to {
opacity: 0;
-webkit-transform: rotateX(-90deg);
transform: rotateX(-90deg);
}
}
@-webkit-keyframes "rotatePushBottom" {
from {
}
to {
opacity: 0;
-webkit-transform: rotateX(90deg);
}
}
@keyframes "rotatePushBottom" {
from {
}
to {
opacity: 0;
-webkit-transform: rotateX(90deg);
transform: rotateX(90deg);
}
}
/* pull */
@-webkit-keyframes "rotatePullRight" {
from {
opacity: 0;
-webkit-transform: rotateY(-90deg);
}
}
@keyframes "rotatePullRight" {
from {
opacity: 0;
-webkit-transform: rotateY(-90deg);
transform: rotateY(-90deg);
}
}
@-webkit-keyframes "rotatePullLeft" {
from {
opacity: 0;
-webkit-transform: rotateY(90deg);
}
}
@keyframes "rotatePullLeft" {
from {
opacity: 0;
-webkit-transform: rotateY(90deg);
transform: rotateY(90deg);
}
}
@-webkit-keyframes "rotatePullTop" {
from {
opacity: 0;
-webkit-transform: rotateX(-90deg);
}
}
@keyframes "rotatePullTop" {
from {
opacity: 0;
-webkit-transform: rotateX(-90deg);
transform: rotateX(-90deg);
}
}
@-webkit-keyframes "rotatePullBottom" {
from {
opacity: 0;
-webkit-transform: rotateX(90deg);
}
}
@keyframes "rotatePullBottom" {
from {
opacity: 0;
-webkit-transform: rotateX(90deg);
transform: rotateX(90deg);
}
}
/* fold */
@-webkit-keyframes "rotateFoldRight" {
from {
}
to {
opacity: 0;
-webkit-transform: translateX(100%) rotateY(90deg);
}
}
@keyframes "rotateFoldRight" {
from {
}
to {
opacity: 0;
-webkit-transform: translateX(100%) rotateY(90deg);
transform: translateX(100%) rotateY(90deg);
}
}
@-webkit-keyframes "rotateFoldLeft" {
from {
}
to {
opacity: 0;
-webkit-transform: translateX(-100%) rotateY(-90deg);
}
}
@keyframes "rotateFoldLeft" {
from {
}
to {
opacity: 0;
-webkit-transform: translateX(-100%) rotateY(-90deg);
transform: translateX(-100%) rotateY(-90deg);
}
}
@-webkit-keyframes "rotateFoldTop" {
from {
}
to {
opacity: 0;
-webkit-transform: translateY(-100%) rotateX(90deg);
}
}
@keyframes "rotateFoldTop" {
from {
}
to {
opacity: 0;
-webkit-transform: translateY(-100%) rotateX(90deg);
transform: translateY(-100%) rotateX(90deg);
}
}
@-webkit-keyframes "rotateFoldBottom" {
from {
}
to {
opacity: 0;
-webkit-transform: translateY(100%) rotateX(-90deg);
}
}
@keyframes "rotateFoldBottom" {
from {
}
to {
opacity: 0;
-webkit-transform: translateY(100%) rotateX(-90deg);
transform: translateY(100%) rotateX(-90deg);
}
}
/* unfold */
@-webkit-keyframes "rotateUnfoldLeft" {
from {
opacity: 0;
-webkit-transform: translateX(-100%) rotateY(-90deg);
}
}
@keyframes "rotateUnfoldLeft" {
from {
opacity: 0;
-webkit-transform: translateX(-100%) rotateY(-90deg);
transform: translateX(-100%) rotateY(-90deg);
}
}
@-webkit-keyframes "rotateUnfoldRight" {
from {
opacity: 0;
-webkit-transform: translateX(100%) rotateY(90deg);
}
}
@keyframes "rotateUnfoldRight" {
from {
opacity: 0;
-webkit-transform: translateX(100%) rotateY(90deg);
transform: translateX(100%) rotateY(90deg);
}
}
@-webkit-keyframes "rotateUnfoldTop" {
from {
opacity: 0;
-webkit-transform: translateY(-100%) rotateX(90deg);
}
}
@keyframes "rotateUnfoldTop" {
from {
opacity: 0;
-webkit-transform: translateY(-100%) rotateX(90deg);
transform: translateY(-100%) rotateX(90deg);
}
}
@-webkit-keyframes "rotateUnfoldBottom" {
from {
opacity: 0;
-webkit-transform: translateY(100%) rotateX(-90deg);
}
}
@keyframes "rotateUnfoldBottom" {
from {
opacity: 0;
-webkit-transform: translateY(100%) rotateX(-90deg);
transform: translateY(100%) rotateX(-90deg);
}
}
/* room walls */
@-webkit-keyframes "rotateRoomLeftOut" {
from {
}
to {
opacity: .3;
-webkit-transform: translateX(-100%) rotateY(90deg);
}
}
@keyframes "rotateRoomLeftOut" {
from {
}
to {
opacity: .3;
-webkit-transform: translateX(-100%) rotateY(90deg);
transform: translateX(-100%) rotateY(90deg);
}
}
@-webkit-keyframes "rotateRoomLeftIn" {
from {
opacity: .3;
-webkit-transform: translateX(100%) rotateY(-90deg);
}
}
@keyframes "rotateRoomLeftIn" {
from {
opacity: .3;
-webkit-transform: translateX(100%) rotateY(-90deg);
transform: translateX(100%) rotateY(-90deg);
}
}
@-webkit-keyframes "rotateRoomRightOut" {
from {
}
to {
opacity: .3;
-webkit-transform: translateX(100%) rotateY(-90deg);
}
}
@keyframes "rotateRoomRightOut" {
from {
}
to {
opacity: .3;
-webkit-transform: translateX(100%) rotateY(-90deg);
transform: translateX(100%) rotateY(-90deg);
}
}
@-webkit-keyframes "rotateRoomRightIn" {
from {
opacity: .3;
-webkit-transform: translateX(-100%) rotateY(90deg);
}
}
@keyframes "rotateRoomRightIn" {
from {
opacity: .3;
-webkit-transform: translateX(-100%) rotateY(90deg);
transform: translateX(-100%) rotateY(90deg);
}
}
@-webkit-keyframes "rotateRoomTopOut" {
from {
}
to {
opacity: .3;
-webkit-transform: translateY(-100%) rotateX(-90deg);
}
}
@keyframes "rotateRoomTopOut" {
from {
}
to {
opacity: .3;
-webkit-transform: translateY(-100%) rotateX(-90deg);
transform: translateY(-100%) rotateX(-90deg);
}
}
@-webkit-keyframes "rotateRoomTopIn" {
from {
opacity: .3;
-webkit-transform: translateY(100%) rotateX(90deg);
}
}
@keyframes "rotateRoomTopIn" {
from {
opacity: .3;
-webkit-transform: translateY(100%) rotateX(90deg);
transform: translateY(100%) rotateX(90deg);
}
}
@-webkit-keyframes "rotateRoomBottomOut" {
from {
}
to {
opacity: .3;
-webkit-transform: translateY(100%) rotateX(90deg);
}
}
@keyframes "rotateRoomBottomOut" {
from {
}
to {
opacity: .3;
-webkit-transform: translateY(100%) rotateX(90deg);
transform: translateY(100%) rotateX(90deg);
}
}
@-webkit-keyframes "rotateRoomBottomIn" {
from {
opacity: .3;
-webkit-transform: translateY(-100%) rotateX(-90deg);
}
}
@keyframes "rotateRoomBottomIn" {
from {
opacity: .3;
-webkit-transform: translateY(-100%) rotateX(-90deg);
transform: translateY(-100%) rotateX(-90deg);
}
}
/* cube */
@-webkit-keyframes "rotateCubeLeftOut" {
0% {
}
50% {
-webkit-animation-timing-function: ease-out;
-webkit-transform: translateX(-50%) translateZ(-200px) rotateY(-45deg);
}
100% {
opacity: .3;
-webkit-transform: translateX(-100%) rotateY(-90deg);
}
}
@keyframes "rotateCubeLeftOut" {
0% {
}
50% {
-webkit-animation-timing-function: ease-out;
animation-timing-function: ease-out;
-webkit-transform: translateX(-50%) translateZ(-200px) rotateY(-45deg);
transform: translateX(-50%) translateZ(-200px) rotateY(-45deg);
}
100% {
opacity: .3;
-webkit-transform: translateX(-100%) rotateY(-90deg);
transform: translateX(-100%) rotateY(-90deg);
}
}
@-webkit-keyframes "rotateCubeLeftIn" {
0% {
opacity: .3;
-webkit-transform: translateX(100%) rotateY(90deg);
}
50% {
-webkit-animation-timing-function: ease-out;
-webkit-transform: translateX(50%) translateZ(-200px) rotateY(45deg);
}
}
@keyframes "rotateCubeLeftIn" {
0% {
opacity: .3;
-webkit-transform: translateX(100%) rotateY(90deg);
transform: translateX(100%) rotateY(90deg);
}
50% {
-webkit-animation-timing-function: ease-out;
animation-timing-function: ease-out;
-webkit-transform: translateX(50%) translateZ(-200px) rotateY(45deg);
transform: translateX(50%) translateZ(-200px) rotateY(45deg);
}
}
@-webkit-keyframes "rotateCubeRightOut" {
0% {
}
50% {
-webkit-animation-timing-function: ease-out;
-webkit-transform: translateX(50%) translateZ(-200px) rotateY(45deg);
}
100% {
opacity: .3;
-webkit-transform: translateX(100%) rotateY(90deg);
}
}
@keyframes "rotateCubeRightOut" {
0% {
}
50% {
-webkit-animation-timing-function: ease-out;
animation-timing-function: ease-out;
-webkit-transform: translateX(50%) translateZ(-200px) rotateY(45deg);
transform: translateX(50%) translateZ(-200px) rotateY(45deg);
}
100% {
opacity: .3;
-webkit-transform: translateX(100%) rotateY(90deg);
transform: translateX(100%) rotateY(90deg);
}
}
@-webkit-keyframes "rotateCubeRightIn" {
0% {
opacity: .3;
-webkit-transform: translateX(-100%) rotateY(-90deg);
}
50% {
-webkit-animation-timing-function: ease-out;
-webkit-transform: translateX(-50%) translateZ(-200px) rotateY(-45deg);
}
}
@keyframes "rotateCubeRightIn" {
0% {
opacity: .3;
-webkit-transform: translateX(-100%) rotateY(-90deg);
transform: translateX(-100%) rotateY(-90deg);
}
50% {
-webkit-animation-timing-function: ease-out;
animation-timing-function: ease-out;
-webkit-transform: translateX(-50%) translateZ(-200px) rotateY(-45deg);
transform: translateX(-50%) translateZ(-200px) rotateY(-45deg);
}
}
@-webkit-keyframes "rotateCubeTopOut" {
0% {
}
50% {
-webkit-animation-timing-function: ease-out;
-webkit-transform: translateY(-50%) translateZ(-200px) rotateX(45deg);
}
100% {
opacity: .3;
-webkit-transform: translateY(-100%) rotateX(90deg);
}
}
@keyframes "rotateCubeTopOut" {
0% {
}
50% {
-webkit-animation-timing-function: ease-out;
animation-timing-function: ease-out;
-webkit-transform: translateY(-50%) translateZ(-200px) rotateX(45deg);
transform: translateY(-50%) translateZ(-200px) rotateX(45deg);
}
100% {
opacity: .3;
-webkit-transform: translateY(-100%) rotateX(90deg);
transform: translateY(-100%) rotateX(90deg);
}
}
@-webkit-keyframes "rotateCubeTopIn" {
0% {
opacity: .3;
-webkit-transform: translateY(100%) rotateX(-90deg);
}
50% {
-webkit-animation-timing-function: ease-out;
-webkit-transform: translateY(50%) translateZ(-200px) rotateX(-45deg);
}
}
@keyframes "rotateCubeTopIn" {
0% {
opacity: .3;
-webkit-transform: translateY(100%) rotateX(-90deg);
transform: translateY(100%) rotateX(-90deg);
}
50% {
-webkit-animation-timing-function: ease-out;
animation-timing-function: ease-out;
-webkit-transform: translateY(50%) translateZ(-200px) rotateX(-45deg);
transform: translateY(50%) translateZ(-200px) rotateX(-45deg);
}
}
@-webkit-keyframes "rotateCubeBottomOut" {
0% {
}
50% {
-webkit-animation-timing-function: ease-out;
-webkit-transform: translateY(50%) translateZ(-200px) rotateX(-45deg);
}
100% {
opacity: .3;
-webkit-transform: translateY(100%) rotateX(-90deg);
}
}
@keyframes "rotateCubeBottomOut" {
0% {
}
50% {
-webkit-animation-timing-function: ease-out;
animation-timing-function: ease-out;
-webkit-transform: translateY(50%) translateZ(-200px) rotateX(-45deg);
transform: translateY(50%) translateZ(-200px) rotateX(-45deg);
}
100% {
opacity: .3;
-webkit-transform: translateY(100%) rotateX(-90deg);
transform: translateY(100%) rotateX(-90deg);
}
}
@-webkit-keyframes "rotateCubeBottomIn" {
0% {
opacity: .3;
-webkit-transform: translateY(-100%) rotateX(90deg);
}
50% {
-webkit-animation-timing-function: ease-out;
-webkit-transform: translateY(-50%) translateZ(-200px) rotateX(45deg);
}
}
@keyframes "rotateCubeBottomIn" {
0% {
opacity: .3;
-webkit-transform: translateY(-100%) rotateX(90deg);
transform: translateY(-100%) rotateX(90deg);
}
50% {
-webkit-animation-timing-function: ease-out;
animation-timing-function: ease-out;
-webkit-transform: translateY(-50%) translateZ(-200px) rotateX(45deg);
transform: translateY(-50%) translateZ(-200px) rotateX(45deg);
}
}
/* carousel */
@-webkit-keyframes "rotateCarouselLeftOut" {
from {
}
to {
opacity: .3;
-webkit-transform: translateX(-150%) scale(.4) rotateY(-65deg);
}
}
@keyframes "rotateCarouselLeftOut" {
from {
}
to {
opacity: .3;
-webkit-transform: translateX(-150%) scale(.4) rotateY(-65deg);
transform: translateX(-150%) scale(.4) rotateY(-65deg);
}
}
@-webkit-keyframes "rotateCarouselLeftIn" {
from {
opacity: .3;
-webkit-transform: translateX(200%) scale(.4) rotateY(65deg);
}
}
@keyframes "rotateCarouselLeftIn" {
from {
opacity: .3;
-webkit-transform: translateX(200%) scale(.4) rotateY(65deg);
transform: translateX(200%) scale(.4) rotateY(65deg);
}
}
@-webkit-keyframes "rotateCarouselRightOut" {
from {
}
to {
opacity: .3;
-webkit-transform: translateX(200%) scale(.4) rotateY(65deg);
}
}
@keyframes "rotateCarouselRightOut" {
from {
}
to {
opacity: .3;
-webkit-transform: translateX(200%) scale(.4) rotateY(65deg);
transform: translateX(200%) scale(.4) rotateY(65deg);
}
}
@-webkit-keyframes "rotateCarouselRightIn" {
from {
opacity: .3;
-webkit-transform: translateX(-200%) scale(.4) rotateY(-65deg);
}
}
@keyframes "rotateCarouselRightIn" {
from {
opacity: .3;
-webkit-transform: translateX(-200%) scale(.4) rotateY(-65deg);
transform: translateX(-200%) scale(.4) rotateY(-65deg);
}
}
@-webkit-keyframes "rotateCarouselTopOut" {
from {
}
to {
opacity: .3;
-webkit-transform: translateY(-200%) scale(.4) rotateX(65deg);
}
}
@keyframes "rotateCarouselTopOut" {
from {
}
to {
opacity: .3;
-webkit-transform: translateY(-200%) scale(.4) rotateX(65deg);
transform: translateY(-200%) scale(.4) rotateX(65deg);
}
}
@-webkit-keyframes "rotateCarouselTopIn" {
from {
opacity: .3;
-webkit-transform: translateY(200%) scale(.4) rotateX(-65deg);
}
}
@keyframes "rotateCarouselTopIn" {
from {
opacity: .3;
-webkit-transform: translateY(200%) scale(.4) rotateX(-65deg);
transform: translateY(200%) scale(.4) rotateX(-65deg);
}
}
@-webkit-keyframes "rotateCarouselBottomOut" {
from {
}
to {
opacity: .3;
-webkit-transform: translateY(200%) scale(.4) rotateX(-65deg);
}
}
@keyframes "rotateCarouselBottomOut" {
from {
}
to {
opacity: .3;
-webkit-transform: translateY(200%) scale(.4) rotateX(-65deg);
transform: translateY(200%) scale(.4) rotateX(-65deg);
}
}
@-webkit-keyframes "rotateCarouselBottomIn" {
from {
opacity: .3;
-webkit-transform: translateY(-200%) scale(.4) rotateX(65deg);
}
}
@keyframes "rotateCarouselBottomIn" {
from {
opacity: .3;
-webkit-transform: translateY(-200%) scale(.4) rotateX(65deg);
transform: translateY(-200%) scale(.4) rotateX(65deg);
}
}
/* sides */
@-webkit-keyframes "rotateSidesOut" {
from {
}
to {
opacity: 0;
-webkit-transform: translateZ(-500px) rotateY(90deg);
}
}
@keyframes "rotateSidesOut" {
from {
}
to {
opacity: 0;
-webkit-transform: translateZ(-500px) rotateY(90deg);
transform: translateZ(-500px) rotateY(90deg);
}
}
@-webkit-keyframes "rotateSidesIn" {
from {
opacity: 0;
-webkit-transform: translateZ(-500px) rotateY(-90deg);
}
}
@keyframes "rotateSidesIn" {
from {
opacity: 0;
-webkit-transform: translateZ(-500px) rotateY(-90deg);
transform: translateZ(-500px) rotateY(-90deg);
}
}
/* slide */
@-webkit-keyframes "rotateSlideOut" {
0% {
}
25% {
opacity: .5;
-webkit-transform: translateZ(-500px);
}
75% {
opacity: .5;
-webkit-transform: translateZ(-500px) translateX(-200%);
}
100% {
opacity: .5;
-webkit-transform: translateZ(-500px) translateX(-200%);
}
}
@keyframes "rotateSlideOut" {
0% {
}
25% {
opacity: .5;
-webkit-transform: translateZ(-500px);
transform: translateZ(-500px);
}
75% {
opacity: .5;
-webkit-transform: translateZ(-500px) translateX(-200%);
transform: translateZ(-500px) translateX(-200%);
}
100% {
opacity: .5;
-webkit-transform: translateZ(-500px) translateX(-200%);
transform: translateZ(-500px) translateX(-200%);
}
}
@-webkit-keyframes "rotateSlideIn" {
0%,25% {
opacity: .5;
-webkit-transform: translateZ(-500px) translateX(200%);
}
75% {
opacity: .5;
-webkit-transform: translateZ(-500px);
}
100% {
opacity: 1;
-webkit-transform: translateZ(0) translateX(0);
}
}
@keyframes "rotateSlideIn" {
0%,25% {
opacity: .5;
-webkit-transform: translateZ(-500px) translateX(200%);
transform: translateZ(-500px) translateX(200%);
}
75% {
opacity: .5;
-webkit-transform: translateZ(-500px);
transform: translateZ(-500px);
}
100% {
opacity: 1;
-webkit-transform: translateZ(0) translateX(0);
transform: translateZ(0) translateX(0);
}
}
/* animation delay classes */
.page--moveToLeft {
-webkit-animation: moveToLeft .6s ease both;
animation: moveToLeft .6s ease both;
}
.page--moveFromLeft {
-webkit-animation: moveFromLeft .6s ease both;
animation: moveFromLeft .6s ease both;
}
.page--moveToRight {
-webkit-animation: moveToRight .6s ease both;
animation: moveToRight .6s ease both;
}
.page--moveFromRight {
-webkit-animation: moveFromRight .6s ease both;
animation: moveFromRight .6s ease both;
}
.page--moveToTop {
-webkit-animation: moveToTop .6s ease both;
animation: moveToTop .6s ease both;
}
.page--moveFromTop {
-webkit-animation: moveFromTop .6s ease both;
animation: moveFromTop .6s ease both;
}
.page--moveToBottom {
-webkit-animation: moveToBottom .6s ease both;
animation: moveToBottom .6s ease both;
}
.page--moveFromBottom {
-webkit-animation: moveFromBottom .6s ease both;
animation: moveFromBottom .6s ease both;
}
.page--fade {
-webkit-animation: fade .7s ease both;
animation: fade .7s ease both;
}
.page--moveToLeftFade {
-webkit-animation: moveToLeftFade .7s ease both;
animation: moveToLeftFade .7s ease both;
}
.page--moveFromLeftFade {
-webkit-animation: moveFromLeftFade .7s ease both;
animation: moveFromLeftFade .7s ease both;
}
.page--moveToRightFade {
-webkit-animation: moveToRightFade .7s ease both;
animation: moveToRightFade .7s ease both;
}
.page--moveFromRightFade {
-webkit-animation: moveFromRightFade .7s ease both;
animation: moveFromRightFade .7s ease both;
}
.page--moveToTopFade {
-webkit-animation: moveToTopFade .7s ease both;
animation: moveToTopFade .7s ease both;
}
.page--moveFromTopFade {
-webkit-animation: moveFromTopFade .7s ease both;
animation: moveFromTopFade .7s ease both;
}
.page--moveToBottomFade {
-webkit-animation: moveToBottomFade .7s ease both;
animation: moveToBottomFade .7s ease both;
}
.page--moveFromBottomFade {
-webkit-animation: moveFromBottomFade .7s ease both;
animation: moveFromBottomFade .7s ease both;
}
.page--moveToLeftEasing {
-webkit-animation: moveToLeft .7s ease-in-out both;
animation: moveToLeft .7s ease-in-out both;
}
.page--moveToRightEasing {
-webkit-animation: moveToRight .7s ease-in-out both;
animation: moveToRight .7s ease-in-out both;
}
.page--moveToTopEasing {
-webkit-animation: moveToTop .7s ease-in-out both;
animation: moveToTop .7s ease-in-out both;
}
.page--moveToBottomEasing {
-webkit-animation: moveToBottom .7s ease-in-out both;
animation: moveToBottom .7s ease-in-out both;
}
.page--scaleDown {
-webkit-animation: scaleDown .7s ease both;
animation: scaleDown .7s ease both;
}
.page--scaleUp {
-webkit-animation: scaleUp .7s ease both;
animation: scaleUp .7s ease both;
}
.page--scaleUpDown {
-webkit-animation: scaleUpDown .5s ease both;
animation: scaleUpDown .5s ease both;
}
.page--scaleDownUp {
-webkit-animation: scaleDownUp .5s ease both;
animation: scaleDownUp .5s ease both;
}
.page--scaleDownCenter {
-webkit-animation: scaleDownCenter .4s ease-in both;
animation: scaleDownCenter .4s ease-in both;
}
.page--scaleUpCenter {
-webkit-animation: scaleUpCenter .4s ease-out both;
animation: scaleUpCenter .4s ease-out both;
}
.page--rotateRightSideFirst {
-webkit-transform-origin: 0% 50%;
transform-origin: 0% 50%;
-webkit-animation: rotateRightSideFirst .8s both ease-in;
animation: rotateRightSideFirst .8s both ease-in;
}
.page--rotateLeftSideFirst {
-webkit-transform-origin: 100% 50%;
transform-origin: 100% 50%;
-webkit-animation: rotateLeftSideFirst .8s both ease-in;
animation: rotateLeftSideFirst .8s both ease-in;
}
.page--rotateTopSideFirst {
-webkit-transform-origin: 50% 100%;
transform-origin: 50% 100%;
-webkit-animation: rotateTopSideFirst .8s both ease-in;
animation: rotateTopSideFirst .8s both ease-in;
}
.page--rotateBottomSideFirst {
-webkit-transform-origin: 50% 0%;
transform-origin: 50% 0%;
-webkit-animation: rotateBottomSideFirst .8s both ease-in;
animation: rotateBottomSideFirst .8s both ease-in;
}
.page--flipOutRight {
-webkit-transform-origin: 50% 50%;
transform-origin: 50% 50%;
-webkit-animation: flipOutRight .5s both ease-in;
animation: flipOutRight .5s both ease-in;
}
.page--flipInLeft {
-webkit-transform-origin: 50% 50%;
transform-origin: 50% 50%;
-webkit-animation: flipInLeft .5s both ease-out;
animation: flipInLeft .5s both ease-out;
}
.page--flipOutLeft {
-webkit-transform-origin: 50% 50%;
transform-origin: 50% 50%;
-webkit-animation: flipOutLeft .5s both ease-in;
animation: flipOutLeft .5s both ease-in;
}
.page--flipInRight {
-webkit-transform-origin: 50% 50%;
transform-origin: 50% 50%;
-webkit-animation: flipInRight .5s both ease-out;
animation: flipInRight .5s both ease-out;
}
.page--flipOutTop {
-webkit-transform-origin: 50% 50%;
transform-origin: 50% 50%;
-webkit-animation: flipOutTop .5s both ease-in;
animation: flipOutTop .5s both ease-in;
}
.page--flipInBottom {
-webkit-transform-origin: 50% 50%;
transform-origin: 50% 50%;
-webkit-animation: flipInBottom .5s both ease-out;
animation: flipInBottom .5s both ease-out;
}
.page--flipOutBottom {
-webkit-transform-origin: 50% 50%;
transform-origin: 50% 50%;
-webkit-animation: flipOutBottom .5s both ease-in;
animation: flipOutBottom .5s both ease-in;
}
.page--flipInTop {
-webkit-transform-origin: 50% 50%;
transform-origin: 50% 50%;
-webkit-animation: flipInTop .5s both ease-out;
animation: flipInTop .5s both ease-out;
}
.page--rotateFall {
-webkit-transform-origin: 0% 0%;
transform-origin: 0% 0%;
-webkit-animation: rotateFall 1s both ease-in;
animation: rotateFall 1s both ease-in;
}
.page--rotateOutNewspaper {
-webkit-transform-origin: 50% 50%;
transform-origin: 50% 50%;
-webkit-animation: rotateOutNewspaper .5s both ease-in;
animation: rotateOutNewspaper .5s both ease-in;
}
.page--rotateInNewspaper {
-webkit-transform-origin: 50% 50%;
transform-origin: 50% 50%;
-webkit-animation: rotateInNewspaper .5s both ease-out;
animation: rotateInNewspaper .5s both ease-out;
}
.page--rotatePushLeft {
-webkit-transform-origin: 0% 50%;
transform-origin: 0% 50%;
-webkit-animation: rotatePushLeft .8s both ease;
animation: rotatePushLeft .8s both ease;
}
.page--rotatePushRight {
-webkit-transform-origin: 100% 50%;
transform-origin: 100% 50%;
-webkit-animation: rotatePushRight .8s both ease;
animation: rotatePushRight .8s both ease;
}
.page--rotatePushTop {
-webkit-transform-origin: 50% 0%;
transform-origin: 50% 0%;
-webkit-animation: rotatePushTop .8s both ease;
animation: rotatePushTop .8s both ease;
}
.page--rotatePushBottom {
-webkit-transform-origin: 50% 100%;
transform-origin: 50% 100%;
-webkit-animation: rotatePushBottom .8s both ease;
animation: rotatePushBottom .8s both ease;
}
.page--rotatePullRight {
-webkit-transform-origin: 100% 50%;
transform-origin: 100% 50%;
-webkit-animation: rotatePullRight .5s both ease;
animation: rotatePullRight .5s both ease;
}
.page--rotatePullLeft {
-webkit-transform-origin: 0% 50%;
transform-origin: 0% 50%;
-webkit-animation: rotatePullLeft .5s both ease;
animation: rotatePullLeft .5s both ease;
}
.page--rotatePullTop {
-webkit-transform-origin: 50% 0%;
transform-origin: 50% 0%;
-webkit-animation: rotatePullTop .5s both ease;
animation: rotatePullTop .5s both ease;
}
.page--rotatePullBottom {
-webkit-transform-origin: 50% 100%;
transform-origin: 50% 100%;
-webkit-animation: rotatePullBottom .5s both ease;
animation: rotatePullBottom .5s both ease;
}
.page--rotateFoldRight {
-webkit-transform-origin: 0% 50%;
transform-origin: 0% 50%;
-webkit-animation: rotateFoldRight .7s both ease;
animation: rotateFoldRight .7s both ease;
}
.page--rotateFoldLeft {
-webkit-transform-origin: 100% 50%;
transform-origin: 100% 50%;
-webkit-animation: rotateFoldLeft .7s both ease;
animation: rotateFoldLeft .7s both ease;
}
.page--rotateFoldTop {
-webkit-transform-origin: 50% 100%;
transform-origin: 50% 100%;
-webkit-animation: rotateFoldTop .7s both ease;
animation: rotateFoldTop .7s both ease;
}
.page--rotateFoldBottom {
-webkit-transform-origin: 50% 0%;
transform-origin: 50% 0%;
-webkit-animation: rotateFoldBottom .7s both ease;
animation: rotateFoldBottom .7s both ease;
}
.page--rotateUnfoldLeft {
-webkit-transform-origin: 100% 50%;
transform-origin: 100% 50%;
-webkit-animation: rotateUnfoldLeft .7s both ease;
animation: rotateUnfoldLeft .7s both ease;
}
.page--rotateUnfoldRight {
-webkit-transform-origin: 0% 50%;
transform-origin: 0% 50%;
-webkit-animation: rotateUnfoldRight .7s both ease;
animation: rotateUnfoldRight .7s both ease;
}
.page--rotateUnfoldTop {
-webkit-transform-origin: 50% 100%;
transform-origin: 50% 100%;
-webkit-animation: rotateUnfoldTop .7s both ease;
animation: rotateUnfoldTop .7s both ease;
}
.page--rotateUnfoldBottom {
-webkit-transform-origin: 50% 0%;
transform-origin: 50% 0%;
-webkit-animation: rotateUnfoldBottom .7s both ease;
animation: rotateUnfoldBottom .7s both ease;
}
.page--rotateRoomLeftOut {
-webkit-transform-origin: 100% 50%;
transform-origin: 100% 50%;
-webkit-animation: rotateRoomLeftOut .8s both ease;
animation: rotateRoomLeftOut .8s both ease;
}
.page--rotateRoomLeftIn {
-webkit-transform-origin: 0% 50%;
transform-origin: 0% 50%;
-webkit-animation: rotateRoomLeftIn .8s both ease;
animation: rotateRoomLeftIn .8s both ease;
}
.page--rotateRoomRightOut {
-webkit-transform-origin: 0% 50%;
transform-origin: 0% 50%;
-webkit-animation: rotateRoomRightOut .8s both ease;
animation: rotateRoomRightOut .8s both ease;
}
.page--rotateRoomRightIn {
-webkit-transform-origin: 100% 50%;
transform-origin: 100% 50%;
-webkit-animation: rotateRoomRightIn .8s both ease;
animation: rotateRoomRightIn .8s both ease;
}
.page--rotateRoomTopOut {
-webkit-transform-origin: 50% 100%;
transform-origin: 50% 100%;
-webkit-animation: rotateRoomTopOut .8s both ease;
animation: rotateRoomTopOut .8s both ease;
}
.page--rotateRoomTopIn {
-webkit-transform-origin: 50% 0%;
transform-origin: 50% 0%;
-webkit-animation: rotateRoomTopIn .8s both ease;
animation: rotateRoomTopIn .8s both ease;
}
.page--rotateRoomBottomOut {
-webkit-transform-origin: 50% 0%;
transform-origin: 50% 0%;
-webkit-animation: rotateRoomBottomOut .8s both ease;
animation: rotateRoomBottomOut .8s both ease;
}
.page--rotateRoomBottomIn {
-webkit-transform-origin: 50% 100%;
transform-origin: 50% 100%;
-webkit-animation: rotateRoomBottomIn .8s both ease;
animation: rotateRoomBottomIn .8s both ease;
}
.page--rotateCubeLeftOut {
-webkit-transform-origin: 100% 50%;
transform-origin: 100% 50%;
-webkit-animation: rotateCubeLeftOut .6s both ease-in;
animation: rotateCubeLeftOut .6s both ease-in;
}
.page--rotateCubeLeftIn {
-webkit-transform-origin: 0% 50%;
transform-origin: 0% 50%;
-webkit-animation: rotateCubeLeftIn .6s both ease-in;
animation: rotateCubeLeftIn .6s both ease-in;
}
.page--rotateCubeRightOut {
-webkit-transform-origin: 0% 50%;
transform-origin: 0% 50%;
-webkit-animation: rotateCubeRightOut .6s both ease-in;
animation: rotateCubeRightOut .6s both ease-in;
}
.page--rotateCubeRightIn {
-webkit-transform-origin: 100% 50%;
transform-origin: 100% 50%;
-webkit-animation: rotateCubeRightIn .6s both ease-in;
animation: rotateCubeRightIn .6s both ease-in;
}
.page--rotateCubeTopOut {
-webkit-transform-origin: 50% 100%;
transform-origin: 50% 100%;
-webkit-animation: rotateCubeTopOut .6s both ease-in;
animation: rotateCubeTopOut .6s both ease-in;
}
.page--rotateCubeTopIn {
-webkit-transform-origin: 50% 0%;
transform-origin: 50% 0%;
-webkit-animation: rotateCubeTopIn .6s both ease-in;
animation: rotateCubeTopIn .6s both ease-in;
}
.page--rotateCubeBottomOut {
-webkit-transform-origin: 50% 0%;
transform-origin: 50% 0%;
-webkit-animation: rotateCubeBottomOut .6s both ease-in;
animation: rotateCubeBottomOut .6s both ease-in;
}
.page--rotateCubeBottomIn {
-webkit-transform-origin: 50% 100%;
transform-origin: 50% 100%;
-webkit-animation: rotateCubeBottomIn .6s both ease-in;
animation: rotateCubeBottomIn .6s both ease-in;
}
.page--rotateCarouselLeftOut {
-webkit-transform-origin: 100% 50%;
transform-origin: 100% 50%;
-webkit-animation: rotateCarouselLeftOut .8s both ease;
animation: rotateCarouselLeftOut .8s both ease;
}
.page--rotateCarouselLeftIn {
-webkit-transform-origin: 0% 50%;
transform-origin: 0% 50%;
-webkit-animation: rotateCarouselLeftIn .8s both ease;
animation: rotateCarouselLeftIn .8s both ease;
}
.page--rotateCarouselRightOut {
-webkit-transform-origin: 0% 50%;
transform-origin: 0% 50%;
-webkit-animation: rotateCarouselRightOut .8s both ease;
animation: rotateCarouselRightOut .8s both ease;
}
.page--rotateCarouselRightIn {
-webkit-transform-origin: 100% 50%;
transform-origin: 100% 50%;
-webkit-animation: rotateCarouselRightIn .8s both ease;
animation: rotateCarouselRightIn .8s both ease;
}
.page--rotateCarouselTopOut {
-webkit-transform-origin: 50% 100%;
transform-origin: 50% 100%;
-webkit-animation: rotateCarouselTopOut .8s both ease;
animation: rotateCarouselTopOut .8s both ease;
}
.page--rotateCarouselTopIn {
-webkit-transform-origin: 50% 0%;
transform-origin: 50% 0%;
-webkit-animation: rotateCarouselTopIn .8s both ease;
animation: rotateCarouselTopIn .8s both ease;
}
.page--rotateCarouselBottomOut {
-webkit-transform-origin: 50% 0%;
transform-origin: 50% 0%;
-webkit-animation: rotateCarouselBottomOut .8s both ease;
animation: rotateCarouselBottomOut .8s both ease;
}
.page--rotateCarouselBottomIn {
-webkit-transform-origin: 50% 100%;
transform-origin: 50% 100%;
-webkit-animation: rotateCarouselBottomIn .8s both ease;
animation: rotateCarouselBottomIn .8s both ease;
}
.page--rotateSidesOut {
-webkit-transform-origin: -50% 50%;
transform-origin: -50% 50%;
-webkit-animation: rotateSidesOut .5s both ease-in;
animation: rotateSidesOut .5s both ease-in;
}
.page--rotateSidesIn {
-webkit-transform-origin: 150% 50%;
transform-origin: 150% 50%;
-webkit-animation: rotateSidesIn .5s both ease-out;
animation: rotateSidesIn .5s both ease-out;
}
.page--rotateSlideOut {
-webkit-animation: rotateSlideOut 1s both ease;
animation: rotateSlideOut 1s both ease;
}
.page--rotateSlideIn {
-webkit-animation: rotateSlideIn 1s both ease;
animation: rotateSlideIn 1s both ease;
}
.page--delay100 {
-webkit-animation-delay: .1s;
animation-delay: .1s;
}
.page--delay180 {
-webkit-animation-delay: .180s;
animation-delay: .180s;
}
.page--delay200 {
-webkit-animation-delay: .2s;
animation-delay: .2s;
}
.page--delay300 {
-webkit-animation-delay: .3s;
animation-delay: .3s;
}
.page--delay400 {
-webkit-animation-delay: .4s;
animation-delay: .4s;
}
.page--delay500 {
-webkit-animation-delay: .5s;
animation-delay: .5s;
}
.page--delay700 {
-webkit-animation-delay: .7s;
animation-delay: .7s;
}
.page--delay1000 {
-webkit-animation-delay: 1s;
animation-delay: 1s;
}
/**
* @name pagetransition
* @author nathannguyen282
* @description description
* @version 1.0
* @options
* item
* itemActiveClass
* starterId
* nav
* navContainer
* navContainerClass
* navElement
* navClass
* navActiveClass
s * @methods
* init
* initNav
* setActivePage
* goToNextPage
* destroy
*/
;(function (factory) {
'use strict';
if (typeof define === 'function' && define.amd) {
define(['jquery'], factory);
} else if (typeof exports !== 'undefined') {
module.exports = factory(require('jquery'));
} else {
factory(jQuery);
}
})(function($) {
'use strict';
var pluginName = 'pageTransition';
var $pages,
pageData = {},
isAnimating = false,
nav,
$currPage,
$tempCurrPage,
inClass,
outClass,
isDup = false;
var animations = {
max: 67
},
endCurrPage = false,
endNextPage = false;
var pfx = ['webkit', 'moz', 'MS', 'o', ''];
var animationType = '';
for (var i in pfx) {
animationType = animationType + pfx[i] + 'AnimationEnd ';
}
function checkPage (page) {
if (!(page in pageData)) {
return false;
} else {
return true;
}
}
function resetPage($outpage, $inpage) {
$outpage.removeClass(outClass);
$inpage.removeClass(inClass);
isDup = false;
}
function onEndAnimation($outpage, $inpage) {
endCurrPage = false;
endNextPage = false;
resetPage($outpage, $inpage);
isAnimating = false;
}
function checkAnimationEnd() {
if (endCurrPage && endNextPage) {
onEndAnimation($tempCurrPage, $currPage);
}
}
function PageTransition(element, options) {
this.element = $(element);
this.options = $.extend({}, $.fn[pluginName].defaults, this.element.data(), options);
this.init();
}
PageTransition.prototype = {
init: function() {
var that = this,
$el = that.element,
opt = that.options,
starterPage;
// Get all pages
$pages = $el.children(opt.item);
// Cross check to get starter page ID
if (location.hash !== '') {
starterPage = location.hash.replace('#', '');
} else if ($pages.hasClass(opt.itemActiveClass)) {
starterPage = $pages.filter('.' + opt.itemActiveClass).data('id');
} else {
starterPage = opt.starterId;
}
// Get all data-id of pages
// if page doesn't have data-id, it will replace with index
$pages.each(function(index) {
var $page = $(this);
var id;
if ($page.data('id') === undefined) {
return;
} else {
id = $page.data('id');
}
$page.data('id', index);
pageData[id] = $page.data();
});
// Define nav
this.initNav();
// Active on startup
this.setActivePage(starterPage);
window.onhashchange = function() {
if (!isDup) {
var page = location.hash.replace('#', '');
that.goToNextPage(page);
}
};
},
/**
* Initialize nav
*/
initNav: function() {
var that = this;
var opt = this.options;
var $el = this.element;
var navPos = (opt.nav) ? document.querySelector(opt.nav) : '';
var container = document.createElement(opt.navContainer);
container.className = opt.navContainerClass;
var keys = Object.keys(pageData);
for (var i = 0, l = keys.length; i < l; i++) {
var text = (pageData[keys[i]]['navText'] === undefined || ' ') ? keys[i] : pageData[keys[i]]['navText'];
var child = document.createElement(opt.navElement);
if (opt.navElement === 'a') {child.href = 'javascript:void(0)';}
child.className = opt.navClass;
child.setAttribute('data-target', keys[i]);
child.innerHTML = text;
container.appendChild(child);
}
if (!navPos) {
$el.append(container);
} else {
$.each(navPos.attributes,function(index, value){
container.setAttribute(value.name, value.value + ' ' + container.getAttribute(value.name));
});
$(navPos).replaceWith(container);
}
nav = container;
// nav click event
$(nav).on('click.' + pluginName, opt.navElement, function(e) {
e.preventDefault();
isDup = true;
var target = $(this).data('target');
that.goToNextPage(target);
});
},
/**
* set active page
*
* @param {string} page
*/
setActivePage: function(page) {
var opt = this.options;
if (!checkPage(page)) {return false;}
var id = pageData[page]['id'];
$currPage = $pages.eq(id);
$pages.removeClass(opt.itemActiveClass).eq(id).addClass(opt.itemActiveClass);
$(nav).children(opt.navElement).removeClass(opt.navActiveClass).filter('[data-target*="' + page + '"]').addClass(opt.navActiveClass);
location.hash = '#' + page;
},
/**
* animate to next page
*
* @param {string} page
*/
goToNextPage: function(page) {
if (!checkPage(page)) {return false;}
var animation = pageData[page]['animation'].toString();
// Check if the delimiter '-' is present then create an animation array list.
if(animation.indexOf('-') !== -1) {
var randomAnimList = animation.split('-');
animation = parseInt(randomAnimList[(Math.floor(Math.random() * randomAnimList.length))]);
} else {
animation = parseInt(animation);
}
// Checking if the animation number is out of bound, max allowed value is 1 to 67.
if (animation > animations.max) {
alert('Transition.js : Invalid "data-animation" attribute configuration. Animation number should not be greater than 67');
return false;
}
if(isAnimating) {
return false;
}
isAnimating = true;
this.setActivePage(page);
$tempCurrPage = $currPage;
$currPage = $pages.eq(pageData[page]['id']);
switch(animation) {
case 1:
inClass = 'page--moveFromRight';
outClass = 'page--moveToLeft';
break;
case 2:
inClass = 'page--moveFromLeft';
outClass = 'page--moveToRight';
break;
case 3:
inClass = 'page--moveFromBottom';
outClass = 'page--moveToTop';
break;
case 4:
inClass = 'page--moveFromTop';
outClass = 'page--moveToBottom';
break;
case 5:
inClass = 'page--moveFromRight page--ontop';
outClass = 'page--fade';
break;
case 6:
inClass = 'page--moveFromLeft page--ontop';
outClass = 'page--fade';
break;
case 7:
inClass = 'page--moveFromBottom page--ontop';
outClass = 'page--fade';
break;
case 8:
inClass = 'page--moveFromTop page--ontop';
outClass = 'page--fade';
break;
case 9:
inClass = 'page--moveFromRightFade';
outClass = 'page--moveToLeftFade';
break;
case 10:
inClass = 'page--moveFromLeftFade';
outClass = 'page--moveToRightFade';
break;
case 11:
inClass = 'page--moveFromBottomFade';
outClass = 'page--moveToTopFade';
break;
case 12:
inClass = 'page--moveFromTopFade';
outClass = 'page--moveToBottomFade';
break;
case 13:
inClass = 'page--moveFromRight';
outClass = 'page--moveToLeftEasing page--ontop';
break;
case 14:
inClass = 'page--moveFromLeft';
outClass = 'page--moveToRightEasing page--ontop';
break;
case 15:
inClass = 'page--moveFromBottom';
outClass = 'page--moveToTopEasing page--ontop';
break;
case 16:
inClass = 'page--moveFromTop';
outClass = 'page--moveToBottomEasing page--ontop';
break;
case 17:
inClass = 'page--moveFromRight page--ontop';
outClass = 'page--scaleDown';
break;
case 18:
inClass = 'page--moveFromLeft page--ontop';
outClass = 'page--scaleDown';
break;
case 19:
inClass = 'page--moveFromBottom page--ontop';
outClass = 'page--scaleDown';
break;
case 20:
inClass = 'page--moveFromTop page--ontop';
outClass = 'page--scaleDown';
break;
case 21:
inClass = 'page--scaleUpDown page--delay300';
outClass = 'page--scaleDown';
break;
case 22:
inClass = 'page--scaleUp page--delay300';
outClass = 'page--scaleDownUp';
break;
case 23:
inClass = 'page--scaleUp';
outClass = 'page--moveToLeft page--ontop';
break;
case 24:
inClass = 'page--scaleUp';
outClass = 'page--moveToRight page--ontop';
break;
case 25:
inClass = 'page--scaleUp';
outClass = 'page--moveToTop page--ontop';
break;
case 26:
inClass = 'page--scaleUp';
outClass = 'page--moveToBottom page--ontop';
break;
case 27:
inClass = 'page--scaleUpCenter page--delay400';
outClass = 'page--scaleDownCenter';
break;
case 28:
inClass = 'page--moveFromRight page--delay200 page--ontop';
outClass = 'page--rotateRightSideFirst';
break;
case 29:
inClass = 'page--moveFromLeft page--delay200 page--ontop';
outClass = 'page--rotateLeftSideFirst';
break;
case 30:
inClass = 'page--moveFromTop page--delay200 page--ontop';
outClass = 'page--rotateTopSideFirst';
break;
case 31:
inClass = 'page--moveFromBottom page--delay200 page--ontop';
outClass = 'page--rotateBottomSideFirst';
break;
case 32:
inClass = 'page--flipInLeft page--delay500';
outClass = 'page--flipOutRight';
break;
case 33:
inClass = 'page--flipInRight page--delay500';
outClass = 'page--flipOutLeft';
break;
case 34:
inClass = 'page--flipInBottom page--delay500';
outClass = 'page--flipOutTop';
break;
case 35:
inClass = 'page--flipInTop page--delay500';
outClass = 'page--flipOutBottom';
break;
case 36:
inClass = 'page--scaleUp';
outClass = 'page--rotateFall page--ontop';
break;
case 37:
inClass = 'page--rotateInNewspaper page--delay500';
outClass = 'page--rotateOutNewspaper';
break;
case 38:
inClass = 'page--moveFromRight';
outClass = 'page--rotatePushLeft';
break;
case 39:
inClass = 'page--moveFromLeft';
outClass = 'page--rotatePushRight';
break;
case 40:
inClass = 'page--moveFromBottom';
outClass = 'page--rotatePushTop';
break;
case 41:
inClass = 'page--moveFromTop';
outClass = 'page--rotatePushBottom';
break;
case 42:
inClass = 'page--rotatePullRight page--delay180';
outClass = 'page--rotatePushLeft';
break;
case 43:
inClass = 'page--rotatePullLeft page--delay180';
outClass = 'page--rotatePushRight';
break;
case 44:
inClass = 'page--rotatePullBottom page--delay180';
outClass = 'page--rotatePushTop';
break;
case 45:
inClass = 'page--rotatePullTop page--delay180';
outClass = 'page--rotatePushBottom';
break;
case 46:
inClass = 'page--moveFromRightFade';
outClass = 'page--rotateFoldLeft';
break;
case 47:
inClass = 'page--moveFromLeftFade';
outClass = 'page--rotateFoldRight';
break;
case 48:
inClass = 'page--moveFromBottomFade';
outClass = 'page--rotateFoldTop';
break;
case 49:
inClass = 'page--moveFromTopFade';
outClass = 'page--rotateFoldBottom';
break;
case 50:
inClass = 'page--rotateUnfoldLeft';
outClass = 'page--moveToRightFade';
break;
case 51:
inClass = 'page--rotateUnfoldRight';
outClass = 'page--moveToLeftFade';
break;
case 52:
inClass = 'page--rotateUnfoldTop';
outClass = 'page--moveToBottomFade';
break;
case 53:
inClass = 'page--rotateUnfoldBottom';
outClass = 'page--moveToTopFade';
break;
case 54:
inClass = 'page--rotateRoomLeftIn';
outClass = 'page--rotateRoomLeftOut page--ontop';
break;
case 55:
inClass = 'page--rotateRoomRightIn';
outClass = 'page--rotateRoomRightOut page--ontop';
break;
case 56:
inClass = 'page--rotateRoomTopIn';
outClass = 'page--rotateRoomTopOut page--ontop';
break;
case 57:
inClass = 'page--rotateRoomBottomIn';
outClass = 'page--rotateRoomBottomOut page--ontop';
break;
case 58:
inClass = 'page--rotateCubeLeftIn';
outClass = 'page--rotateCubeLeftOut page--ontop';
break;
case 59:
inClass = 'page--rotateCubeRightIn';
outClass = 'page--rotateCubeRightOut page--ontop';
break;
case 60:
inClass = 'page--rotateCubeTopIn';
outClass = 'page--rotateCubeTopOut page--ontop';
break;
case 61:
inClass = 'page--rotateCubeBottomIn';
outClass = 'page--rotateCubeBottomOut page--ontop';
break;
case 62:
inClass = 'page--rotateCarouselLeftIn';
outClass = 'page--rotateCarouselLeftOut page--ontop';
break;
case 63:
inClass = 'page--rotateCarouselRightIn';
outClass = 'page--rotateCarouselRightOut page--ontop';
break;
case 64:
inClass = 'page--rotateCarouselTopIn';
outClass = 'page--rotateCarouselTopOut page--ontop';
break;
case 65:
inClass = 'page--rotateCarouselBottomIn';
outClass = 'page--rotateCarouselBottomOut page--ontop';
break;
case 66:
inClass = 'page--rotateSidesIn page--delay200';
outClass = 'page--rotateSidesOut';
break;
case 67:
inClass = 'page--rotateSlideIn';
outClass = 'page--rotateSlideOut';
break;
}
$tempCurrPage.addClass(outClass).one(animationType, function() {
endCurrPage = true;
checkAnimationEnd();
});
$currPage.addClass(inClass).one(animationType, function() {
endNextPage = true;
checkAnimationEnd();
});
},
/**
* Unbinds the plugin.
*/
destroy: function() {
$.removeData(this.element[0], pluginName);
}
};
$.fn[pluginName] = function(options, params) {
return this.each(function() {
var instance = $.data(this, pluginName);
if (!instance) {
$.data(this, pluginName, new PageTransition(this, options));
} else if (instance[options]) {
instance[options](params);
}
});
};
$.fn[pluginName].defaults = {
item: '.page',
itemActiveClass: 'page--active',
starterId: 0,
nav: '',
navContainer: 'nav',
navContainerClass: 'nav',
navElement: 'a',
navClass: '',
navActiveClass: 'active'
};
$(function() {
$('[data-' + pluginName + ']').on('customEvent', function() {
});
$('[data-' + pluginName + ']')[pluginName]({
});
});
});