/* hipertextos anime.css */
/* by Acozar */
/* www.hipertextos.net */
/* General MIT License (MIT) */
/* Copyright (c) 2013 by Acozar (hipertextos.net) */
/* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: */
/* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. */
/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */

/* Inspired in Dan Eden's "animate.css" (http://daneden.me/animate/), Codrops (http://tympanus.net/codrops/2013/05/07/a-collection-of-page-transitions/) and ElementTransitions.css (http://dan-silver.github.io/ElementTransitions.js/) */

/* Slides */

.slide-wrapper {
	background: #fff;
	display: block;
	height: 256px;
	margin: 0;
	position: relative;
	-webkit-perspective: 1200px;
	-moz-perspective: 1200px;
	perspective: 1200px;
	overflow: hidden;
	z-index: 1;
}
.content-fullscreen .slide-wrapper  {
	height: 100%;
}
.content-fullscreen .slide-wrapper,
.content-fullscreen .slide-page,
.content-fullscreen .slide-wrapper article,
.content-fullscreen .slide-wrapper aside,
.content-fullscreen .slide-wrapper section {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}
.content-fullscreen .slide-wrapper article,
.content-fullscreen .slide-wrapper aside,
.content-fullscreen .slide-wrapper section {
	overflow: auto;
	border: none;
}
@media (max-width: 768px) {
	.content-fullscreen .slide-wrapper article,
	.content-fullscreen .slide-wrapper aside,
	.content-fullscreen .slide-wrapper section {
		left: .1em;
		right: .1em;
		bottom: .1em;
		top: .1em;
	}
}
.slide-content {
	padding-top: 192px;
}
@media (max-width: 480px) {
	.slide-content {
		padding-top: 48px;
	}
}
.slide-page {
	width: 100%;
	height: 100%;
	padding: 1em;
	position: absolute;
	top: 0;
	left: 0;
	visibility: hidden;
	overflow: hidden;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	-webkit-transform-style: preserve-3d;
	-moz-transform-style: preserve-3d;
	transform-style: preserve-3d;
}
.slide-page-current,
.no-js .slide-page {
	visibility: visible;
	z-index: 1;
}
.no-js body {
	overflow: auto;
}
.slide-page-ontop {
	z-index: 999;
}

/* Triggers (menu and button) */
.slide-trigger {
  cursor: pointer;
}
button.slide-trigger {
	position: absolute;
	bottom: 0; 
	right: 12px;
	z-index: 100;
}
button.slide-trigger.middle {
	bottom: 45%;
}
button.slide-trigger.previous {
	right: auto;
	left: 12px;
}
@media (max-width: 768px) {
	button.slide-trigger.middle {
		bottom: 0;
	}
}

/* anime it */

[class*='anm-'],
.anime {
	-webkit-animation-duration: 1s;
	   -moz-animation-duration: 1s;
	        animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	   -moz-animation-fill-mode: both;
	        animation-fill-mode: both;
}
[class*='anm-'].fast,
.anime.fast {
	-webkit-animation-duration: .5s;
	   -moz-animation-duration: .5s;
	        animation-duration: .5s;
}
[class*='anm-'].slow,
.anime.slow {
	-webkit-animation-duration: 2s;
	   -moz-animation-duration: 2s;
	        animation-duration: 2s;
}
[class*='anm-'].extra-slow,
.anime.extra-slow {
	-webkit-animation-duration: 3s;
	   -moz-animation-duration: 3s;
	        animation-duration: 3s;
}

/* animation sets */

/* Basic animations */

.anm-flash {
	-webkit-animation-name: flash;
	-moz-animation-name: flash;
	animation-name: flash;
}
.anm-shake {
	-webkit-animation-name: shake;
	-moz-animation-name: shake;
	animation-name: shake;
}
.anm-bounce {
	-webkit-animation-name: bounce;
	-moz-animation-name: bounce;
	animation-name: bounce;
}
.anm-tada {
	-webkit-animation-name: tada;
	-moz-animation-name: tada;
	animation-name: tada;
}
.anm-wobble {
	-webkit-animation-name: wobble;
	-moz-animation-name: wobble;
	animation-name: wobble;
}
.anm-pulse {
	-webkit-animation-name: pulse;
	-moz-animation-name: pulse;
	animation-name: pulse;
}
.anm-fall {
	-webkit-animation-name: fall;
	-moz-animation-name: fall;
	-o-animation-name: fall;
	animation-name: fall;
}

/********************************* keyframes **************************************/

@-webkit-keyframes flash {
	0%, 50%, 100% {opacity: 1;}	
	25%, 75% {opacity: 0;}
}
@-moz-keyframes flash {
	0%, 50%, 100% {opacity: 1;}	
	25%, 75% {opacity: 0;}
}
@keyframes flash {
	0%, 50%, 100% {opacity: 1;}	
	25%, 75% {opacity: 0;}
}


/* shake */

@-webkit-keyframes shake {
	0%, 100% {-webkit-transform: translateX(0);}	10%, 30%, 50%, 70%, 90% {-webkit-transform: translateX(-10px);}	20%, 40%, 60%, 80% {-webkit-transform: translateX(10px);}
}
@-moz-keyframes shake {
	0%, 100% {-moz-transform: translateX(0);}	10%, 30%, 50%, 70%, 90% {-moz-transform: translateX(-10px);}	20%, 40%, 60%, 80% {-moz-transform: translateX(10px);}
}
@keyframes shake {
	0%, 100% {transform: translateX(0);}	10%, 30%, 50%, 70%, 90% {transform: translateX(-10px);}	20%, 40%, 60%, 80% {transform: translateX(10px);}
}

/* bounce */

@-webkit-keyframes bounce {
	0%, 20%, 50%, 80%, 100% {-webkit-transform: translateY(0);}	40% {-webkit-transform: translateY(-30px);}	60% {-webkit-transform: translateY(-15px);}
}
@-moz-keyframes bounce {
	0%, 20%, 50%, 80%, 100% {-moz-transform: translateY(0);}	40% {-moz-transform: translateY(-30px);}	60% {-moz-transform: translateY(-15px);}
}
@keyframes bounce {
	0%, 20%, 50%, 80%, 100% {transform: translateY(0);}	40% {transform: translateY(-30px);}	60% {transform: translateY(-15px);}
}

/* tada */

@-webkit-keyframes tada {
	0% {-webkit-transform: scale(1);}	
	10%, 20% {-webkit-transform: scale(0.9) rotate(-3deg);}	30%, 50%, 70%, 90% {-webkit-transform: scale(1.1) rotate(3deg);}	40%, 60%, 80% {-webkit-transform: scale(1.1) rotate(-3deg);}	100% {-webkit-transform: scale(1) rotate(0);}
}
@-moz-keyframes tada {
	0% {-moz-transform: scale(1);}	
	10%, 20% {-moz-transform: scale(0.9) rotate(-3deg);}	30%, 50%, 70%, 90% {-moz-transform: scale(1.1) rotate(3deg);}	40%, 60%, 80% {-moz-transform: scale(1.1) rotate(-3deg);}	100% {-moz-transform: scale(1) rotate(0);}
}
@keyframes tada {
	0% {transform: scale(1);}	
	10%, 20% {transform: scale(0.9) rotate(-3deg);}	30%, 50%, 70%, 90% {transform: scale(1.1) rotate(3deg);}	40%, 60%, 80% {transform: scale(1.1) rotate(-3deg);}	100% {transform: scale(1) rotate(0);}
}

/* swing */

@-webkit-keyframes swing {
	20%, 40%, 60%, 80%, 100% { -webkit-transform-origin: top center; }	20% { -webkit-transform: rotate(15deg); }	
	40% { -webkit-transform: rotate(-10deg); }	60% { -webkit-transform: rotate(5deg); }	
	80% { -webkit-transform: rotate(-5deg); }	
	100% { -webkit-transform: rotate(0deg); }
}
@-moz-keyframes swing {
	20% { -moz-transform: rotate(15deg); }	
	40% { -moz-transform: rotate(-10deg); }	60% { -moz-transform: rotate(5deg); }	
	80% { -moz-transform: rotate(-5deg); }	
	100% { -moz-transform: rotate(0deg); }
}
@keyframes swing {
	20% { transform: rotate(15deg); }	
	40% { transform: rotate(-10deg); }	60% { transform: rotate(5deg); }	
	80% { transform: rotate(-5deg); }	
	100% { transform: rotate(0deg); }
}

/* woble */ 

@-webkit-keyframes wobble {
  0% { -webkit-transform: translateX(0%); }  15% { -webkit-transform: translateX(-25%) rotate(-5deg); }  30% { -webkit-transform: translateX(20%) rotate(3deg); }  45% { -webkit-transform: translateX(-15%) rotate(-3deg); }  60% { -webkit-transform: translateX(10%) rotate(2deg); }  75% { -webkit-transform: translateX(-5%) rotate(-1deg); }  100% { -webkit-transform: translateX(0%); }
}
@-moz-keyframes wobble {
  0% { -moz-transform: translateX(0%); }  15% { -moz-transform: translateX(-25%) rotate(-5deg); }  30% { -moz-transform: translateX(20%) rotate(3deg); }  45% { -moz-transform: translateX(-15%) rotate(-3deg); }  60% { -moz-transform: translateX(10%) rotate(2deg); }  75% { -moz-transform: translateX(-5%) rotate(-1deg); }  100% { -moz-transform: translateX(0%); }
}
@keyframes wobble {
  0% { transform: translateX(0%); }  15% { transform: translateX(-25%) rotate(-5deg); }  30% { transform: translateX(20%) rotate(3deg); }  45% { transform: translateX(-15%) rotate(-3deg); }  60% { transform: translateX(10%) rotate(2deg); }  75% { transform: translateX(-5%) rotate(-1deg); }  100% { transform: translateX(0%); }
}


/* pulse */

@-webkit-keyframes pulse {
    0% { -webkit-transform: scale(1); }	
	50% { -webkit-transform: scale(1.1); }    100% { -webkit-transform: scale(1); }
}
@-moz-keyframes pulse {
    0% { -moz-transform: scale(1); }	
	50% { -moz-transform: scale(1.1); }    100% { -moz-transform: scale(1); }
}
@keyframes pulse {
    0% { transform: scale(1); }	
	50% { transform: scale(1.1); }    100% { transform: scale(1); }
}

/* Fall */

@-webkit-keyframes fall {
	0% { -webkit-transform: rotate(0); -webkit-transform-origin: top left; -webkit-animation-timing-function: ease-in-out; }	
	20%, 60% { -webkit-transform: rotate(80deg); -webkit-transform-origin: top left; -webkit-animation-timing-function: ease-in-out; }	
	40% { -webkit-transform: rotate(60deg); -webkit-transform-origin: top left; -webkit-animation-timing-function: ease-in-out; }	
	80% { -webkit-transform: rotate(60deg) translateY(0); opacity: 1; -webkit-transform-origin: top left; -webkit-animation-timing-function: ease-in-out; }	
	100% { -webkit-transform: translateY(700px); opacity: 0; }
}
@-moz-keyframes fall {
	0% { -moz-transform: rotate(0); -moz-transform-origin: top left; -moz-animation-timing-function: ease-in-out; }	
	20%, 60% { -moz-transform: rotate(80deg); -moz-transform-origin: top left; -moz-animation-timing-function: ease-in-out; }	
	40% { -moz-transform: rotate(60deg); -moz-transform-origin: top left; -moz-animation-timing-function: ease-in-out; }	
	80% { -moz-transform: rotate(60deg) translateY(0); opacity: 1; -moz-transform-origin: top left; -moz-animation-timing-function: ease-in-out; }	
	100% { -moz-transform: translateY(700px); opacity: 0; }
}
@-o-keyframes fall {
	0% { -o-transform: rotate(0); -o-transform-origin: top left; -o-animation-timing-function: ease-in-out; }	
	20%, 60% { -o-transform: rotate(80deg); -o-transform-origin: top left; -o-animation-timing-function: ease-in-out; }	
	40% { -o-transform: rotate(60deg); -o-transform-origin: top left; -o-animation-timing-function: ease-in-out; }	
	80% { -o-transform: rotate(60deg) translateY(0); opacity: 1; -o-transform-origin: top left; -o-animation-timing-function: ease-in-out; }	
	100% { -o-transform: translateY(700px); opacity: 0; }
}
@keyframes fall {
	0% { transform: rotate(0); transform-origin: top left; animation-timing-function: ease-in-out; }	
	20%, 60% { transform: rotate(80deg); transform-origin: top left; animation-timing-function: ease-in-out; }	
	40% { transform: rotate(60deg); transform-origin: top left; animation-timing-function: ease-in-out; }	
	80% { transform: rotate(60deg) translateY(0); opacity: 1; transform-origin: top left; animation-timing-function: ease-in-out; }	
	100% { transform: translateY(700px); opacity: 0; }
} /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */


/* move from / to  */

.anm-moveToLeft {
	-webkit-animation: moveToLeft .6s ease both;
	-moz-animation: moveToLeft .6s ease both;
	animation: moveToLeft .6s ease both;
}
.anm-moveFromLeft {
	-webkit-animation: moveFromLeft .6s ease both;
	-moz-animation: moveFromLeft .6s ease both;
	animation: moveFromLeft .6s ease both;
}
.anm-moveToRight {
	-webkit-animation: moveToRight .6s ease both;
	-moz-animation: moveToRight .6s ease both;
	animation: moveToRight .6s ease both;
}
.anm-moveFromRight {
	-webkit-animation: moveFromRight .6s ease both;
	-moz-animation: moveFromRight .6s ease both;
	animation: moveFromRight .6s ease both;
}
.anm-moveToTop {
	-webkit-animation: moveToTop .6s ease both;
	-moz-animation: moveToTop .6s ease both;
	animation: moveToTop .6s ease both;
}
.anm-moveFromTop {
	-webkit-animation: moveFromTop .6s ease both;
	-moz-animation: moveFromTop .6s ease both;
	animation: moveFromTop .6s ease both;
}
.anm-moveToBottom {
	-webkit-animation: moveToBottom .6s ease both;
	-moz-animation: moveToBottom .6s ease both;
	animation: moveToBottom .6s ease both;
}
.anm-moveFromBottom {
	-webkit-animation: moveFromBottom .6s ease both;
	-moz-animation: moveFromBottom .6s ease both;
	animation: moveFromBottom .6s ease both;
}

/* fade */

.anm-fadeIn {
	-webkit-animation: fadeIn .7s ease both;
	-moz-animation: fadeIn .7s ease both;
	animation: fadeIn .7s ease both;
}
.anm-fadeOut {
	-webkit-animation: fadeOut .7s ease both;
	-moz-animation: fadeOut .7s ease both;
	animation: fadeOut .7s ease both;
}

/* move from / to and fade */

.anm-moveToLeftFade {
	-webkit-animation: moveToLeftFade .7s ease both;
	-moz-animation: moveToLeftFade .7s ease both;
	animation: moveToLeftFade .7s ease both;
}
.anm-moveFromLeftFade {
	-webkit-animation: moveFromLeftFade .7s ease both;
	-moz-animation: moveFromLeftFade .7s ease both;
	animation: moveFromLeftFade .7s ease both;
}
.anm-moveToRightFade {
	-webkit-animation: moveToRightFade .7s ease both;
	-moz-animation: moveToRightFade .7s ease both;
	animation: moveToRightFade .7s ease both;
}
.anm-moveFromRightFade {
	-webkit-animation: moveFromRightFade .7s ease both;
	-moz-animation: moveFromRightFade .7s ease both;
	animation: moveFromRightFade .7s ease both;
}
.anm-moveToTopFade {
	-webkit-animation: moveToTopFade .7s ease both;
	-moz-animation: moveToTopFade .7s ease both;
	animation: moveToTopFade .7s ease both;
}
.anm-moveFromTopFade {
	-webkit-animation: moveFromTopFade .7s ease both;
	-moz-animation: moveFromTopFade .7s ease both;
	animation: moveFromTopFade .7s ease both;
}
.anm-moveToBottomFade {
	-webkit-animation: moveToBottomFade .7s ease both;
	-moz-animation: moveToBottomFade .7s ease both;
	animation: moveToBottomFade .7s ease both;
}
.anm-moveFromBottomFade {
	-webkit-animation: moveFromBottomFade .7s ease both;
	-moz-animation: moveFromBottomFade .7s ease both;
	animation: moveFromBottomFade .7s ease both;
}

/* move from with different easing */

.anm-moveFromLeftEasing {
	-webkit-animation: moveFromLeft .7s ease-in-out both;
	-moz-animation: moveFromLeft .7s ease-in-out both;
	animation: moveFromLeft .7s ease-in-out both;
}
.anm-moveFromRightEasing {
	-webkit-animation: moveFromRight .7s ease-in-out both;
	-moz-animation: moveFromRight .7s ease-in-out both;
	animation: moveFromRight .7s ease-in-out both;
}
.anm-moveFromTopEasing {
	-webkit-animation: moveFromTop .7s ease-in-out both;
	-moz-animation: moveFromTop .7s ease-in-out both;
	animation: moveFromTop .7s ease-in-out both;
}
.anm-moveFromBottomEasing {
	-webkit-animation: moveFromBottom .7s ease-in-out both;
	-moz-animation: moveFromBottom .7s ease-in-out both;
	animation: moveFromBottom .7s ease-in-out both;
}

/* move to with different easing */

.anm-moveToLeftEasing {
	-webkit-animation: moveToLeft .7s ease-in-out both;
	-moz-animation: moveToLeft .7s ease-in-out both;
	animation: moveToLeft .7s ease-in-out both;
}
.anm-moveToRightEasing {
	-webkit-animation: moveToRight .7s ease-in-out both;
	-moz-animation: moveToRight .7s ease-in-out both;
	animation: moveToRight .7s ease-in-out both;
}
.anm-moveToTopEasing {
	-webkit-animation: moveToTop .7s ease-in-out both;
	-moz-animation: moveToTop .7s ease-in-out both;
	animation: moveToTop .7s ease-in-out both;
}
.anm-moveToBottomEasing {
	-webkit-animation: moveToBottom .7s ease-in-out both;
	-moz-animation: moveToBottom .7s ease-in-out both;
	animation: moveToBottom .7s ease-in-out both;
}

/********************************* keyframes **************************************/

/* move from / to  */

@-webkit-keyframes moveToLeft {
	to { -webkit-transform: translateX(-100%); }
}
@-moz-keyframes moveToLeft {
	to { -moz-transform: translateX(-100%); }
}
@keyframes moveToLeft {
	to { transform: translateX(-100%); }
}

@-webkit-keyframes moveFromLeft {
	from { -webkit-transform: translateX(-100%); }
}
@-moz-keyframes moveFromLeft {
	from { -moz-transform: translateX(-100%); }
}
@keyframes moveFromLeft {
	from { transform: translateX(-100%); }
}

@-webkit-keyframes moveToRight { 
	to { -webkit-transform: translateX(100%); }
}
@-moz-keyframes moveToRight { 
	to { -moz-transform: translateX(100%); }
}
@keyframes moveToRight { 
	to { transform: translateX(100%); }
}

@-webkit-keyframes moveFromRight {
	from { -webkit-transform: translateX(100%); }
}
@-moz-keyframes moveFromRight {
	from { -moz-transform: translateX(100%); }
}
@keyframes moveFromRight {
	from { transform: translateX(100%); }
}

@-webkit-keyframes moveToTop {
	to { -webkit-transform: translateY(-100%); }
}
@-moz-keyframes moveToTop {
	to { -moz-transform: translateY(-100%); }
}
@keyframes moveToTop {
	to { transform: translateY(-100%); }
}

@-webkit-keyframes moveFromTop {
	from { -webkit-transform: translateY(-100%); }
}
@-moz-keyframes moveFromTop {
	from { -moz-transform: translateY(-100%); }
}
@keyframes moveFromTop {
	from { transform: translateY(-100%); }
}

@-webkit-keyframes moveToBottom {
	to { -webkit-transform: translateY(100%); }
}
@-moz-keyframes moveToBottom {
	to { -moz-transform: translateY(100%); }
}
@keyframes moveToBottom {
	to { transform: translateY(100%); }
}

@-webkit-keyframes moveFromBottom {
	from { -webkit-transform: translateY(100%); }
}
@-moz-keyframes moveFromBottom {
	from { -moz-transform: translateY(100%); }
}
@keyframes moveFromBottom {
	from { transform: translateY(100%); }
}

/* fade */

@-webkit-keyframes fadeIn {
	from { opacity: 0; }
}
@-moz-keyframes fadeIn {
	from { opacity: 0; }
}
@keyframes fadeIn {
	from { opacity: 0; }
}

@-webkit-keyframes fadeOut {
	to { opacity: 0; }
}
@-moz-keyframes fadeOut {
	to { opacity: 0; }
}
@keyframes fadeOut {
	to { opacity: 0; }
}

/* move from / to and fade */

@-webkit-keyframes moveToLeftFade {
	to { opacity: 0; -webkit-transform: translateX(-100%); }
}
@-moz-keyframes moveToLeftFade {
	to { opacity: 0; -moz-transform: translateX(-100%); }
}
@keyframes moveToLeftFade {
	to { opacity: 0; transform: translateX(-100%); }
}

@-webkit-keyframes moveFromLeftFade {
	from { opacity: 0; -webkit-transform: translateX(-100%); }
}
@-moz-keyframes moveFromLeftFade {
	from { opacity: 0; -moz-transform: translateX(-100%); }
}
@keyframes moveFromLeftFade {
	from { opacity: 0; transform: translateX(-100%); }
}

@-webkit-keyframes moveToRightFade {
	to { opacity: 0; -webkit-transform: translateX(100%); }
}
@-moz-keyframes moveToRightFade {
	to { opacity: 0; -moz-transform: translateX(100%); }
}
@keyframes moveToRightFade {
	to { opacity: 0; transform: translateX(100%); }
}

@-webkit-keyframes moveFromRightFade {
	from { opacity: 0; -webkit-transform: translateX(100%); }
}
@-moz-keyframes moveFromRightFade {
	from { opacity: 0; -moz-transform: translateX(100%); }
}
@keyframes moveFromRightFade {
	from { opacity: 0; transform: translateX(100%); }
}

@-webkit-keyframes moveToTopFade {
	to { opacity: 0; -webkit-transform: translateY(-100%); }
}
@-moz-keyframes moveToTopFade {
	to { opacity: 0; -moz-transform: translateY(-100%); }
}
@keyframes moveToTopFade {
	to { opacity: 0; transform: translateY(-100%); }
}

@-webkit-keyframes moveFromTopFade {
	from { opacity: 0; -webkit-transform: translateY(-100%); }
}
@-moz-keyframes moveFromTopFade {
	from { opacity: 0; -moz-transform: translateY(-100%); }
}
@keyframes moveFromTopFade {
	from { opacity: 0; transform: translateY(-100%); }
}

@-webkit-keyframes moveToBottomFade {
	to { opacity: 0; -webkit-transform: translateY(100%); }
}
@-moz-keyframes moveToBottomFade {
	to { opacity: 0; -moz-transform: translateY(100%); }
}
@keyframes moveToBottomFade {
	to { opacity: 0; transform: translateY(100%); }
}

@-webkit-keyframes moveFromBottomFade {
	from { opacity: 0; -webkit-transform: translateY(100%); }
}
@-moz-keyframes moveFromBottomFade {
	from { opacity: 0; -moz-transform: translateY(100%); }
}
@keyframes moveFromBottomFade {
	from { opacity: 0; transform: translateY(100%); }
}

/* scale and fade */

.anm-scaleDown {
	-webkit-animation: scaleDown .7s ease both;
	-moz-animation: scaleDown .7s ease both;
	animation: scaleDown .7s ease both;
}
.anm-scaleUp {
	-webkit-animation: scaleUp .7s ease both;
	-moz-animation: scaleUp .7s ease both;
	animation: scaleUp .7s ease both;
}
.anm-scaleUpDown {
	-webkit-animation: scaleUpDown .5s ease both;
	-moz-animation: scaleUpDown .5s ease both;
	animation: scaleUpDown .5s ease both;
}
.anm-scaleDownUp {
	-webkit-animation: scaleDownUp .5s ease both;
	-moz-animation: scaleDownUp .5s ease both;
	animation: scaleDownUp .5s ease both;
}
.anm-scaleDownCenter {
	-webkit-animation: scaleDownCenter .4s ease-in both;
	-moz-animation: scaleDownCenter .4s ease-in both;
	animation: scaleDownCenter .4s ease-in both;
}
.anm-scaleUpCenter {
	-webkit-animation: scaleUpCenter .4s ease-out both;
	-moz-animation: scaleUpCenter .4s ease-out both;
	animation: scaleUpCenter .4s ease-out both;
}

/********************************* keyframes **************************************/

/* scale and fade */

@-webkit-keyframes scaleDown {
	to { opacity: 0; -webkit-transform: scale(.8); }
}
@-moz-keyframes scaleDown {
	to { opacity: 0; -moz-transform: scale(.8); }
}
@keyframes scaleDown {
	to { opacity: 0; transform: scale(.8); }
}

@-webkit-keyframes scaleUp {
	from { opacity: 0; -webkit-transform: scale(.8); }
}
@-moz-keyframes scaleUp {
	from { opacity: 0; -moz-transform: scale(.8); }
}
@keyframes scaleUp {
	from { opacity: 0; transform: scale(.8); }
}

@-webkit-keyframes scaleUpDown {
	from { opacity: 0; -webkit-transform: scale(1.2); }
}
@-moz-keyframes scaleUpDown {
	from { opacity: 0; -moz-transform: scale(1.2); }
}
@keyframes scaleUpDown {
	from { opacity: 0; transform: scale(1.2); }
}

@-webkit-keyframes scaleDownUp {
	to { opacity: 0; -webkit-transform: scale(1.2); }
}
@-moz-keyframes scaleDownUp {
	to { opacity: 0; -moz-transform: scale(1.2); }
}
@keyframes scaleDownUp {
	to { opacity: 0; transform: scale(1.2); }
}

@-webkit-keyframes scaleDownCenter {
	to { opacity: 0; -webkit-transform: scale(.7); }
}
@-moz-keyframes scaleDownCenter {
	to { opacity: 0; -moz-transform: scale(.7); }
}
@keyframes scaleDownCenter {
	to { opacity: 0; transform: scale(.7); }
}

@-webkit-keyframes scaleUpCenter {
	from { opacity: 0; -webkit-transform: scale(.7); }
}
@-moz-keyframes scaleUpCenter {
	from { opacity: 0; -moz-transform: scale(.7); }
}
@keyframes scaleUpCenter {
	from { opacity: 0; transform: scale(.7); }
}

/* rotate sides first and scale */

.anm-rotateRightSideFirst {
	-webkit-transform-origin: 0% 50%;
	-webkit-animation: rotateRightSideFirst .8s both ease-in;
	-moz-transform-origin: 0% 50%;
	-moz-animation: rotateRightSideFirst .8s both ease-in;
	transform-origin: 0% 50%;
	animation: rotateRightSideFirst .8s both ease-in;
}
.anm-rotateLeftSideFirst {
	-webkit-transform-origin: 100% 50%;
	-webkit-animation: rotateLeftSideFirst .8s both ease-in;
	-moz-transform-origin: 100% 50%;
	-moz-animation: rotateLeftSideFirst .8s both ease-in;
	transform-origin: 100% 50%;
	animation: rotateLeftSideFirst .8s both ease-in;
}
.anm-rotateTopSideFirst {
	-webkit-transform-origin: 50% 100%;
	-webkit-animation: rotateTopSideFirst .8s both ease-in;
	-moz-transform-origin: 50% 100%;
	-moz-animation: rotateTopSideFirst .8s both ease-in;
	transform-origin: 50% 100%;
	animation: rotateTopSideFirst .8s both ease-in;
}
.anm-rotateBottomSideFirst {
	-webkit-transform-origin: 50% 0%;
	-webkit-animation: rotateBottomSideFirst .8s both ease-in;
	-moz-transform-origin: 50% 0%;
	-moz-animation: rotateBottomSideFirst .8s both ease-in;
	transform-origin: 50% 0%;
	animation: rotateBottomSideFirst .8s both ease-in;
}

/* zoom */

.anm-zoomIn {
  -webkit-animation-name: zoomIn;
  -moz-animation-name: zoomIn;
          animation-name: zoomIn;
}
.anm-zoomInDown {
  -webkit-animation-name: zoomInDown;
  -moz-animation-name: zoomInDown;
          animation-name: zoomInDown;
}
.anm-zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  -moz-animation-name: zoomInLeft;
          animation-name: zoomInLeft;
}
.anm-zoomInRight {
  -webkit-animation-name: zoomInRight;
  -moz-animation-name: zoomInRight;
          animation-name: zoomInRight;
}
.anm-zoomInUp {
  -webkit-animation-name: zoomInUp;
  -moz-animation-name: zoomInUp;
          animation-name: zoomInUp;
}
.anm-zoomOut {
  -webkit-animation-name: zoomOut;
  -moz-animation-name: zoomOut;
          animation-name: zoomOut;
}
.anm-zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  -moz-animation-name: zoomOutDown;
          animation-name: zoomOutDown;
}
.anm-zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  -moz-animation-name: zoomOutLeft;
          animation-name: zoomOutLeft;
}
.anm-zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  -moz-animation-name: zoomOutRight;
          animation-name: zoomOutRight;
}
.anm-zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  -moz-animation-name: zoomOutUp;
          animation-name: zoomOutUp;
}

/* zoom */

@-webkit-keyframes zoomIn {
	0% { opacity: 0; -webkit-transform: scale3d(.3, .3, .3); -moz-transform: scale3d(.3, .3, .3); transform: scale3d(.3, .3, .3); }
	50% { opacity: 1; }
}
@keyframes zoomIn {
	0% { opacity: 0; -webkit-transform: scale3d(.3, .3, .3); -moz-transform: scale3d(.3, .3, .3); transform: scale3d(.3, .3, .3); }
	50% { opacity: 1; }
}
@-webkit-keyframes zoomInDown {
	0% { opacity: 0; -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); -moz-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); -moz-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); }
	60% { opacity: 1; -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); -moz-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); -moz-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); }
}
@keyframes zoomInDown {
	0% { opacity: 0; -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); -moz-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); -moz-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); }
	60% { opacity: 1; -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); -moz-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); -moz-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); }
}
@-webkit-keyframes zoomInLeft {
	0% { opacity: 0; -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); -moz-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); -moz-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); }
	60% { opacity: 1; -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); -moz-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); -moz-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); }
}
@keyframes zoomInLeft {
	0% { opacity: 0; -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); -moz-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); -moz-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); }
	60% { opacity: 1; -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); -moz-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); }
}
@-webkit-keyframes zoomInRight {
	0% { opacity: 0; -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); -moz-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); -moz-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); }
	60% { opacity: 1; -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); -moz-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); -moz-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); }
}
@keyframes zoomInRight {
	0% { opacity: 0; -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); -moz-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); -moz-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); }
	60% { opacity: 1; -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); -moz-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); -moz-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); }
}
@-webkit-keyframes zoomInUp {
	0% { opacity: 0; -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); -moz-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); -moz-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); }
	60% { opacity: 1; -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); -moz-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); -moz-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); }
}
@keyframes zoomInUp {
	0% { opacity: 0; -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); -moz-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); -moz-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); }
	60% { opacity: 1; -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); -moz-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); -moz-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); }
}
@-webkit-keyframes zoomOut {
	0% { opacity: 1; }
	50% { opacity: 0; -webkit-transform: scale3d(.3, .3, .3); -moz-transform: scale3d(.3, .3, .3); transform: scale3d(.3, .3, .3); }
	100% { opacity: 0; }
}
@keyframes zoomOut {
	0% { opacity: 1; }
	50% { opacity: 0; -webkit-transform: scale3d(.3, .3, .3); -moz-transform: scale3d(.3, .3, .3); transform: scale3d(.3, .3, .3); }
	100% { opacity: 0; }
}
@-webkit-keyframes zoomOutDown {
	40% { opacity: 1; -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); -moz-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); }
	100% { opacity: 0; -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); -moz-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); -webkit-transform-origin: center bottom; -moz-transform-origin: center bottom; transform-origin: center bottom; -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); -moz-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); }
}
@keyframes zoomOutDown {
	40% { opacity: 1; -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); -moz-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); -moz-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); }
	100% { opacity: 0; -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); -moz-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); -webkit-transform-origin: center bottom; -moz-transform-origin: center bottom; transform-origin: center bottom; -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); -moz-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); }
}
@-webkit-keyframes zoomOutLeft {
	40% { opacity: 1; -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); -moz-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); }
	100% { opacity: 0; -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); -moz-transform: scale(.1) translate3d(-2000px, 0, 0); transform: scale(.1) translate3d(-2000px, 0, 0); -webkit-transform-origin: left center; -moz-transform-origin: left center; transform-origin: left center; }
}
@keyframes zoomOutLeft {
	40% { opacity: 1; -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); -moz-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); }
	100% { opacity: 0; -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); -moz-transform: scale(.1) translate3d(-2000px, 0, 0); transform: scale(.1) translate3d(-2000px, 0, 0); -webkit-transform-origin: left center; -moz-transform-origin: left center; transform-origin: left center; }
}
@-webkit-keyframes zoomOutRight {
	40% { opacity: 1; -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); -moz-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); }
	100% { opacity: 0; -webkit-transform: scale(.1) translate3d(2000px, 0, 0); -moz-transform: scale(.1) translate3d(2000px, 0, 0); transform: scale(.1) translate3d(2000px, 0, 0); -webkit-transform: scale(.1) translate3d(2000px, 0, 0); -moz-transform: scale(.1) translate3d(2000px, 0, 0); transform-origin: right center; }
}
@keyframes zoomOutRight {
	40% { opacity: 1; -webkit-transform: scale(.1) translate3d(2000px, 0, 0); -moz-transform: scale(.1) translate3d(2000px, 0, 0); transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); }
	100% { opacity: 0; -webkit-transform: scale(.1) translate3d(2000px, 0, 0); -moz-transform: scale(.1) translate3d(2000px, 0, 0); transform: scale(.1) translate3d(2000px, 0, 0); -webkit-transform: scale(.1) translate3d(2000px, 0, 0); -moz-transform: scale(.1) translate3d(2000px, 0, 0); transform-origin: right center; }
}
@-webkit-keyframes zoomOutUp {
	40% { opacity: 1; -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); -moz-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); -moz-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); }
	100% { opacity: 0; -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); -moz-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); -moz-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); transform-origin: center bottom; -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); -moz-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); }
}
@keyframes zoomOutUp {
	40% { opacity: 1; -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); -moz-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); -moz-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); }
	100% { opacity: 0; -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); -moz-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); -webkit-transform-origin: center bottom; -moz-transform-origin: center bottom; transform-origin: center bottom; -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); -moz-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); }
}

/* RotateIn */

.anm-rotateIn {
  -webkit-animation-name: rotateIn;
  -moz-animation-name: rotateIn;
          animation-name: rotateIn;
}
.anm-rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  -moz-animation-name: rotateInDownLeft;
          animation-name: rotateInDownLeft;
}
.anm-rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  -moz-animation-name: rotateInDownRight;
          animation-name: rotateInDownRight;
}
.anm-rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  -moz-animation-name: rotateInUpLeft;
          animation-name: rotateInUpLeft;
}
.anm-rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  -moz-animation-name: rotateInUpRight;
          animation-name: rotateInUpRight;
}
.anm-rotateOut {
  -webkit-animation-name: rotateOut;
  -moz-animation-name: rotateOut;
          animation-name: rotateOut;
}
.anm-rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  -moz-animation-name: rotateOutUpLeft;
          animation-name: rotateOutUpLeft;
}
.anm-rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  -moz-animation-name: rotateOutUpRight;
          animation-name: rotateOutUpRight;
}
.anm-rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  -moz-animation-name: rotateOutDownLeft;
          animation-name: rotateOutDownLeft;
}
.anm-rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  -moz-animation-name: rotateOutDownRight;
          animation-name: rotateOutDownRight;
}


/* flip */

.anm-flip {
	-webkit-backface-visibility: visible !important;
	-webkit-animation-name: flip;
	-moz-backface-visibility: visible !important;
	-moz-animation-name: flip;
	-o-backface-visibility: visible !important;
	-o-animation-name: flip;
	backface-visibility: visible !important;
	animation-name: flip;
}
.anm-flipOutRight {
	-webkit-transform-origin: 50% 50%;
	-webkit-animation: flipOutRight .5s both ease-in;
	-moz-transform-origin: 50% 50%;
	-moz-animation: flipOutRight .5s both ease-in;
	transform-origin: 50% 50%;
	animation: flipOutRight .5s both ease-in;
}
.anm-flipInLeft {
	-webkit-transform-origin: 50% 50%;
	-webkit-animation: flipInLeft .5s both ease-out;
	-moz-transform-origin: 50% 50%;
	-moz-animation: flipInLeft .5s both ease-out;
	transform-origin: 50% 50%;
	animation: flipInLeft .5s both ease-out;
}
.anm-flipOutLeft {
	-webkit-transform-origin: 50% 50%;
	-webkit-animation: flipOutLeft .5s both ease-in;
	-moz-transform-origin: 50% 50%;
	-moz-animation: flipOutLeft .5s both ease-in;
	transform-origin: 50% 50%;
	animation: flipOutLeft .5s both ease-in;
}
.anm-flipInRight {
	-webkit-transform-origin: 50% 50%;
	-webkit-animation: flipInRight .5s both ease-out;
	-moz-transform-origin: 50% 50%;
	-moz-animation: flipInRight .5s both ease-out;
	transform-origin: 50% 50%;
	animation: flipInRight .5s both ease-out;
}
.anm-flipOutTop {
	-webkit-transform-origin: 50% 50%;
	-webkit-animation: flipOutTop .5s both ease-in;
	-moz-transform-origin: 50% 50%;
	-moz-animation: flipOutTop .5s both ease-in;
	transform-origin: 50% 50%;
	animation: flipOutTop .5s both ease-in;
}
.anm-flipInBottom {
	-webkit-transform-origin: 50% 50%;
	-webkit-animation: flipInBottom .5s both ease-out;
	-moz-transform-origin: 50% 50%;
	-moz-animation: flipInBottom .5s both ease-out;
	transform-origin: 50% 50%;
	animation: flipInBottom .5s both ease-out;
}
.anm-flipOutBottom {
	-webkit-transform-origin: 50% 50%;
	-webkit-animation: flipOutBottom .5s both ease-in;
	-moz-transform-origin: 50% 50%;
	-moz-animation: flipOutBottom .5s both ease-in;
	transform-origin: 50% 50%;
	animation: flipOutBottom .5s both ease-in;
}
.anm-flipInTop {
	-webkit-transform-origin: 50% 50%;
	-webkit-animation: flipInTop .5s both ease-out;
	-moz-transform-origin: 50% 50%;
	-moz-animation: flipInTop .5s both ease-out;
	transform-origin: 50% 50%;
	animation: flipInTop .5s both ease-out;
}

/* rotate fall */

.anm-rotateFall {
	-webkit-transform-origin: 0% 0%;
	-webkit-animation: rotateFall 1s both ease-in;
	-moz-transform-origin: 0% 0%;
	-moz-animation: rotateFall 1s both ease-in;
	transform-origin: 0% 0%;
	animation: rotateFall 1s both ease-in;
}

/* rotate newspaper */

.anm-rotateOutNewspaper {
	-webkit-transform-origin: 50% 50%;
	-webkit-animation: rotateOutNewspaper .5s both ease-in;
	-moz-transform-origin: 50% 50%;
	-moz-animation: rotateOutNewspaper .5s both ease-in;
	transform-origin: 50% 50%;
	animation: rotateOutNewspaper .5s both ease-in;
}
.anm-rotateInNewspaper {
	-webkit-transform-origin: 50% 50%;
	-webkit-animation: rotateInNewspaper .5s both ease-out;
	-moz-transform-origin: 50% 50%;
	-moz-animation: rotateInNewspaper .5s both ease-out;
	transform-origin: 50% 50%;
	animation: rotateInNewspaper .5s both ease-out;
}

/* push */
.anm-rotatePushLeft {
	-webkit-transform-origin: 0% 50%;
	-webkit-animation: rotatePushLeft .8s both ease;
	-moz-transform-origin: 0% 50%;
	-moz-animation: rotatePushLeft .8s both ease;
	transform-origin: 0% 50%;
	animation: rotatePushLeft .8s both ease;
}
.anm-rotatePushRight {
	-webkit-transform-origin: 100% 50%;
	-webkit-animation: rotatePushRight .8s both ease;
	-moz-transform-origin: 100% 50%;
	-moz-animation: rotatePushRight .8s both ease;
	transform-origin: 100% 50%;
	animation: rotatePushRight .8s both ease;
}
.anm-rotatePushTop {
	-webkit-transform-origin: 50% 0%;
	-webkit-animation: rotatePushTop .8s both ease;
	-moz-transform-origin: 50% 0%;
	-moz-animation: rotatePushTop .8s both ease;
	transform-origin: 50% 0%;
	animation: rotatePushTop .8s both ease;
}
.anm-rotatePushBottom {
	-webkit-transform-origin: 50% 100%;
	-webkit-animation: rotatePushBottom .8s both ease;
	-moz-transform-origin: 50% 100%;
	-moz-animation: rotatePushBottom .8s both ease;
	transform-origin: 50% 100%;
	animation: rotatePushBottom .8s both ease;
}

/* pull */

.anm-rotatePullRight {
	-webkit-transform-origin: 100% 50%;
	-webkit-animation: rotatePullRight .5s both ease;
	-moz-transform-origin: 100% 50%;
	-moz-animation: rotatePullRight .5s both ease;
	transform-origin: 100% 50%;
	animation: rotatePullRight .5s both ease;
}
.anm-rotatePullLeft {
	-webkit-transform-origin: 0% 50%;
	-webkit-animation: rotatePullLeft .5s both ease;
	-moz-transform-origin: 0% 50%;
	-moz-animation: rotatePullLeft .5s both ease;
	transform-origin: 0% 50%;
	animation: rotatePullLeft .5s both ease;
}
.anm-rotatePullTop {
	-webkit-transform-origin: 50% 0%;
	-webkit-animation: rotatePullTop .5s both ease;
	-moz-transform-origin: 50% 0%;
	-moz-animation: rotatePullTop .5s both ease;
	transform-origin: 50% 0%;
	animation: rotatePullTop .5s both ease;
}
.anm-rotatePullBottom {
	-webkit-transform-origin: 50% 100%;
	-webkit-animation: rotatePullBottom .5s both ease;
	-moz-transform-origin: 50% 100%;
	-moz-animation: rotatePullBottom .5s both ease;
	transform-origin: 50% 100%;
	animation: rotatePullBottom .5s both ease;
}

/* fold */

.anm-rotateFoldRight {
	-webkit-transform-origin: 0% 50%;
	-webkit-animation: rotateFoldRight .7s both ease;
	-moz-transform-origin: 0% 50%;
	-moz-animation: rotateFoldRight .7s both ease;
	transform-origin: 0% 50%;
	animation: rotateFoldRight .7s both ease;
}
.anm-rotateFoldLeft {
	-webkit-transform-origin: 100% 50%;
	-webkit-animation: rotateFoldLeft .7s both ease;
	-moz-transform-origin: 100% 50%;
	-moz-animation: rotateFoldLeft .7s both ease;
	transform-origin: 100% 50%;
	animation: rotateFoldLeft .7s both ease;
}
.anm-rotateFoldTop {
	-webkit-transform-origin: 50% 100%;
	-webkit-animation: rotateFoldTop .7s both ease;
	-moz-transform-origin: 50% 100%;
	-moz-animation: rotateFoldTop .7s both ease;
	transform-origin: 50% 100%;
	animation: rotateFoldTop .7s both ease;
}
.anm-rotateFoldBottom {
	-webkit-transform-origin: 50% 0%;
	-webkit-animation: rotateFoldBottom .7s both ease;
	-moz-transform-origin: 50% 0%;
	-moz-animation: rotateFoldBottom .7s both ease;
	transform-origin: 50% 0%;
	animation: rotateFoldBottom .7s both ease;
}

/* unfold */

.anm-rotateUnfoldLeft {
	-webkit-transform-origin: 100% 50%;
	-webkit-animation: rotateUnfoldLeft .7s both ease;
	-moz-transform-origin: 100% 50%;
	-moz-animation: rotateUnfoldLeft .7s both ease;
	transform-origin: 100% 50%;
	animation: rotateUnfoldLeft .7s both ease;
}
.anm-rotateUnfoldRight {
	-webkit-transform-origin: 0% 50%;
	-webkit-animation: rotateUnfoldRight .7s both ease;
	-moz-transform-origin: 0% 50%;
	-moz-animation: rotateUnfoldRight .7s both ease;
	transform-origin: 0% 50%;
	animation: rotateUnfoldRight .7s both ease;
}
.anm-rotateUnfoldTop {
	-webkit-transform-origin: 50% 100%;
	-webkit-animation: rotateUnfoldTop .7s both ease;
	-moz-transform-origin: 50% 100%;
	-moz-animation: rotateUnfoldTop .7s both ease;
	transform-origin: 50% 100%;
	animation: rotateUnfoldTop .7s both ease;
}
.anm-rotateUnfoldBottom {
	-webkit-transform-origin: 50% 0%;
	-webkit-animation: rotateUnfoldBottom .7s both ease;
	-moz-transform-origin: 50% 0%;
	-moz-animation: rotateUnfoldBottom .7s both ease;
	transform-origin: 50% 0%;
	animation: rotateUnfoldBottom .7s both ease;
}

/* room walls */

.anm-rotateRoomLeftOut {
	-webkit-transform-origin: 100% 50%;
	-webkit-animation: rotateRoomLeftOut .8s both ease;
	-moz-transform-origin: 100% 50%;
	-moz-animation: rotateRoomLeftOut .8s both ease;
	transform-origin: 100% 50%;
	animation: rotateRoomLeftOut .8s both ease;
}
.anm-rotateRoomLeftIn {
	-webkit-transform-origin: 0% 50%;
	-webkit-animation: rotateRoomLeftIn .8s both ease;
	-moz-transform-origin: 0% 50%;
	-moz-animation: rotateRoomLeftIn .8s both ease;
	transform-origin: 0% 50%;
	animation: rotateRoomLeftIn .8s both ease;
}
.anm-rotateRoomRightOut {
	-webkit-transform-origin: 0% 50%;
	-webkit-animation: rotateRoomRightOut .8s both ease;
	-moz-transform-origin: 0% 50%;
	-moz-animation: rotateRoomRightOut .8s both ease;
	transform-origin: 0% 50%;
	animation: rotateRoomRightOut .8s both ease;
}
.anm-rotateRoomRightIn {
	-webkit-transform-origin: 100% 50%;
	-webkit-animation: rotateRoomRightIn .8s both ease;
	-moz-transform-origin: 100% 50%;
	-moz-animation: rotateRoomRightIn .8s both ease;
	transform-origin: 100% 50%;
	animation: rotateRoomRightIn .8s both ease;
}
.anm-rotateRoomTopOut {
	-webkit-transform-origin: 50% 100%;
	-webkit-animation: rotateRoomTopOut .8s both ease;
	-moz-transform-origin: 50% 100%;
	-moz-animation: rotateRoomTopOut .8s both ease;
	transform-origin: 50% 100%;
	animation: rotateRoomTopOut .8s both ease;
}
.anm-rotateRoomTopIn {
	-webkit-transform-origin: 50% 0%;
	-webkit-animation: rotateRoomTopIn .8s both ease;
	-moz-transform-origin: 50% 0%;
	-moz-animation: rotateRoomTopIn .8s both ease;
	transform-origin: 50% 0%;
	animation: rotateRoomTopIn .8s both ease;
}
.anm-rotateRoomBottomOut {
	-webkit-transform-origin: 50% 0%;
	-webkit-animation: rotateRoomBottomOut .8s both ease;
	-moz-transform-origin: 50% 0%;
	-moz-animation: rotateRoomBottomOut .8s both ease;
	transform-origin: 50% 0%;
	animation: rotateRoomBottomOut .8s both ease;
}
.anm-rotateRoomBottomIn {
	-webkit-transform-origin: 50% 100%;
	-webkit-animation: rotateRoomBottomIn .8s both ease;
	-moz-transform-origin: 50% 100%;
	-moz-animation: rotateRoomBottomIn .8s both ease;
	transform-origin: 50% 100%;
	animation: rotateRoomBottomIn .8s both ease;
}

/* cube */
.anm-rotateCubeLeftOut {
	-webkit-transform-origin: 100% 50%;
	-webkit-animation: rotateCubeLeftOut .6s both ease-in;
	-moz-transform-origin: 100% 50%;
	-moz-animation: rotateCubeLeftOut .6s both ease-in;
	transform-origin: 100% 50%;
	animation: rotateCubeLeftOut .6s both ease-in;
}
.anm-rotateCubeLeftIn {
	-webkit-transform-origin: 0% 50%;
	-webkit-animation: rotateCubeLeftIn .6s both ease-in;
	-moz-transform-origin: 0% 50%;
	-moz-animation: rotateCubeLeftIn .6s both ease-in;
	transform-origin: 0% 50%;
	animation: rotateCubeLeftIn .6s both ease-in;
}
.anm-rotateCubeRightOut {
	-webkit-transform-origin: 0% 50%;
	-webkit-animation: rotateCubeRightOut .6s both ease-in;
	-moz-transform-origin: 0% 50%;
	-moz-animation: rotateCubeRightOut .6s both ease-in;
	transform-origin: 0% 50%;
	animation: rotateCubeRightOut .6s both ease-in;
}
.anm-rotateCubeRightIn {
	-webkit-transform-origin: 100% 50%;
	-webkit-animation: rotateCubeRightIn .6s both ease-in;
	-moz-transform-origin: 100% 50%;
	-moz-animation: rotateCubeRightIn .6s both ease-in;
	transform-origin: 100% 50%;
	animation: rotateCubeRightIn .6s both ease-in;
}
.anm-rotateCubeTopOut {
	-webkit-transform-origin: 50% 100%;
	-webkit-animation: rotateCubeTopOut .6s both ease-in;
	-moz-transform-origin: 50% 100%;
	-moz-animation: rotateCubeTopOut .6s both ease-in;
	transform-origin: 50% 100%;
	animation: rotateCubeTopOut .6s both ease-in;
}
.anm-rotateCubeTopIn {
	-webkit-transform-origin: 50% 0%;
	-webkit-animation: rotateCubeTopIn .6s both ease-in;
	-moz-transform-origin: 50% 0%;
	-moz-animation: rotateCubeTopIn .6s both ease-in;
	transform-origin: 50% 0%;
	animation: rotateCubeTopIn .6s both ease-in;
}
.anm-rotateCubeBottomOut {
	-webkit-transform-origin: 50% 0%;
	-webkit-animation: rotateCubeBottomOut .6s both ease-in;
	-moz-transform-origin: 50% 0%;
	-moz-animation: rotateCubeBottomOut .6s both ease-in;
	transform-origin: 50% 0%;
	animation: rotateCubeBottomOut .6s both ease-in;
}
.anm-rotateCubeBottomIn {
	-webkit-transform-origin: 50% 100%;
	-webkit-animation: rotateCubeBottomIn .6s both ease-in;
	-moz-transform-origin: 50% 100%;
	-moz-animation: rotateCubeBottomIn .6s both ease-in;
	transform-origin: 50% 100%;
	animation: rotateCubeBottomIn .6s both ease-in;
}

/* carousel */
.anm-rotateCarouselLeftOut {
	-webkit-transform-origin: 100% 50%;
	-webkit-animation: rotateCarouselLeftOut .8s both ease;
	-moz-transform-origin: 100% 50%;
	-moz-animation: rotateCarouselLeftOut .8s both ease;
	transform-origin: 100% 50%;
	animation: rotateCarouselLeftOut .8s both ease;
}
.anm-rotateCarouselLeftIn {
	-webkit-transform-origin: 0% 50%;
	-webkit-animation: rotateCarouselLeftIn .8s both ease;
	-moz-transform-origin: 0% 50%;
	-moz-animation: rotateCarouselLeftIn .8s both ease;
	transform-origin: 0% 50%;
	animation: rotateCarouselLeftIn .8s both ease;
}
.anm-rotateCarouselRightOut {
	-webkit-transform-origin: 0% 50%;
	-webkit-animation: rotateCarouselRightOut .8s both ease;
	-moz-transform-origin: 0% 50%;
	-moz-animation: rotateCarouselRightOut .8s both ease;
	transform-origin: 0% 50%;
	animation: rotateCarouselRightOut .8s both ease;
}
.anm-rotateCarouselRightIn {
	-webkit-transform-origin: 100% 50%;
	-webkit-animation: rotateCarouselRightIn .8s both ease;
	-moz-transform-origin: 100% 50%;
	-moz-animation: rotateCarouselRightIn .8s both ease;
	transform-origin: 100% 50%;
	animation: rotateCarouselRightIn .8s both ease;
}
.anm-rotateCarouselTopOut {
	-webkit-transform-origin: 50% 100%;
	-webkit-animation: rotateCarouselTopOut .8s both ease;
	-moz-transform-origin: 50% 100%;
	-moz-animation: rotateCarouselTopOut .8s both ease;
	transform-origin: 50% 100%;
	animation: rotateCarouselTopOut .8s both ease;
}
.anm-rotateCarouselTopIn {
	-webkit-transform-origin: 50% 0%;
	-webkit-animation: rotateCarouselTopIn .8s both ease;
	-moz-transform-origin: 50% 0%;
	-moz-animation: rotateCarouselTopIn .8s both ease;
	transform-origin: 50% 0%;
	animation: rotateCarouselTopIn .8s both ease;
}
.anm-rotateCarouselBottomOut {
	-webkit-transform-origin: 50% 0%;
	-webkit-animation: rotateCarouselBottomOut .8s both ease;
	-moz-transform-origin: 50% 0%;
	-moz-animation: rotateCarouselBottomOut .8s both ease;
	transform-origin: 50% 0%;
	animation: rotateCarouselBottomOut .8s both ease;
}
.anm-rotateCarouselBottomIn {
	-webkit-transform-origin: 50% 100%;
	-webkit-animation: rotateCarouselBottomIn .8s both ease;
	-moz-transform-origin: 50% 100%;
	-moz-animation: rotateCarouselBottomIn .8s both ease;
	transform-origin: 50% 100%;
	animation: rotateCarouselBottomIn .8s both ease;
}

/* sides */
.anm-rotateSidesOut {
	-webkit-transform-origin: -50% 50%;
	-webkit-animation: rotateSidesOut .5s both ease-in;
	-moz-transform-origin: -50% 50%;
	-moz-animation: rotateSidesOut .5s both ease-in;
	transform-origin: -50% 50%;
	animation: rotateSidesOut .5s both ease-in;
}
.anm-rotateSidesIn {
	-webkit-transform-origin: 150% 50%;
	-webkit-animation: rotateSidesIn .5s both ease-out;
	-moz-transform-origin: 150% 50%;
	-moz-animation: rotateSidesIn .5s both ease-out;
	transform-origin: 150% 50%;
	animation: rotateSidesIn .5s both ease-out;
}

/* slide */

.anm-rotateSlideOut {
	-webkit-animation: rotateSlideOut 1s both ease;
	-moz-animation: rotateSlideOut 1s both ease;
	animation: rotateSlideOut 1s both ease;
}
.anm-rotateSlideIn {
	-webkit-animation: rotateSlideIn 1s both ease;
	-moz-animation: rotateSlideIn 1s both ease;
	animation: rotateSlideIn 1s both ease;
}

/********************************* keyframes **************************************/

/* rotate sides first and scale */

@-webkit-keyframes rotateRightSideFirst {
	40% { -webkit-transform: rotateY(15deg); opacity: .8; -webkit-animation-timing-function: ease-out; }
	100% { -webkit-transform: scale(0.8) translateZ(-200px); opacity:0; }
}
@-moz-keyframes rotateRightSideFirst {
	40% { -moz-transform: rotateY(15deg); opacity: .8; -moz-animation-timing-function: ease-out; }
	100% { -moz-transform: scale(0.8) translateZ(-200px); opacity:0; }
}
@keyframes rotateRightSideFirst {
	40% { transform: rotateY(15deg); opacity: .8; animation-timing-function: ease-out; }
	100% { transform: scale(0.8) translateZ(-200px); opacity:0; }
}

@-webkit-keyframes rotateLeftSideFirst {
	40% { -webkit-transform: rotateY(-15deg); opacity: .8; -webkit-animation-timing-function: ease-out; }
	100% { -webkit-transform: scale(0.8) translateZ(-200px); opacity:0; }
}
@-moz-keyframes rotateLeftSideFirst {
	40% { -moz-transform: rotateY(-15deg); opacity: .8; -moz-animation-timing-function: ease-out; }
	100% { -moz-transform: scale(0.8) translateZ(-200px); opacity:0; }
}
@keyframes rotateLeftSideFirst {
	40% { transform: rotateY(-15deg); opacity: .8; animation-timing-function: ease-out; }
	100% { transform: scale(0.8) translateZ(-200px); opacity:0; }
}

@-webkit-keyframes rotateTopSideFirst {
	40% { -webkit-transform: rotateX(15deg); opacity: .8; -webkit-animation-timing-function: ease-out; }
	100% { -webkit-transform: scale(0.8) translateZ(-200px); opacity:0; }
}
@-moz-keyframes rotateTopSideFirst {
	40% { -moz-transform: rotateX(15deg); opacity: .8; -moz-animation-timing-function: ease-out; }
	100% { -moz-transform: scale(0.8) translateZ(-200px); opacity:0; }
}
@keyframes rotateTopSideFirst {
	40% { transform: rotateX(15deg); opacity: .8; animation-timing-function: ease-out; }
	100% { transform: scale(0.8) translateZ(-200px); opacity:0; }
}

@-webkit-keyframes rotateBottomSideFirst {
	40% { -webkit-transform: rotateX(-15deg); opacity: .8; -webkit-animation-timing-function: ease-out; }
	100% { -webkit-transform: scale(0.8) translateZ(-200px); opacity:0; }
}
@-moz-keyframes rotateBottomSideFirst {
	40% { -moz-transform: rotateX(-15deg); opacity: .8; -moz-animation-timing-function: ease-out; }
	100% { -moz-transform: scale(0.8) translateZ(-200px); opacity:0; }
}
@keyframes rotateBottomSideFirst {
	40% { transform: rotateX(-15deg); opacity: .8; animation-timing-function: ease-out; }
	100% { transform: scale(0.8) translateZ(-200px); opacity:0; }
}

/* rotateIn */

@keyframes rotateIn {
	0% { -webkit-transform-origin: center; -moz-transform-origin: center; transform-origin: center; -webkit-transform: rotate3d(0, 0, 1, -200deg); -moz-transform: rotate3d(0, 0, 1, -200deg); transform: rotate3d(0, 0, 1, -200deg); opacity: 0; }
	100% { -webkit-transform-origin: center; -moz-transform-origin: center; transform-origin: center; -webkit-transform: none; -moz-transform: none; transform: none; opacity: 1; }
}
@-webkit-keyframes rotateIn {
	0% { -webkit-transform-origin: center; -moz-transform-origin: center; transform-origin: center; -webkit-transform: rotate3d(0, 0, 1, -200deg); -moz-transform: rotate3d(0, 0, 1, -200deg); transform: rotate3d(0, 0, 1, -200deg); opacity: 0; }
	100% { -webkit-transform-origin: center; -moz-transform-origin: center; transform-origin: center; -webkit-transform: none; -moz-transform: none; transform: none; opacity: 1; }
}
@-webkit-keyframes rotateInDownLeft {
	0% { -webkit-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate3d(0, 0, 1, -45deg); transform: rotate3d(0, 0, 1, -45deg); opacity: 0; }
	100% { -webkit-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: none; transform: none; opacity: 1; }
}
@keyframes rotateInDownLeft {
	0% { -webkit-transform-origin: left bottom; -moz-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate3d(0, 0, 1, -45deg); -moz-transform: rotate3d(0, 0, 1, -45deg); transform: rotate3d(0, 0, 1, -45deg); opacity: 0; }
	100% { -webkit-transform-origin: left bottom; -moz-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: none; -moz-transform: none; transform: none; opacity: 1; }
}
@-webkit-keyframes rotateInDownRight {
	0% { -webkit-transform-origin: right bottom; -moz-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate3d(0, 0, 1, 45deg); -moz-transform: rotate3d(0, 0, 1, 45deg); transform: rotate3d(0, 0, 1, 45deg); opacity: 0; }
	100% { -webkit-transform-origin: right bottom; -moz-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: none; -moz-transform: none; transform: none; opacity: 1; }
}
@keyframes rotateInDownRight {
	0% { -webkit-transform-origin: right bottom; -moz-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate3d(0, 0, 1, 45deg); -moz-transform: rotate3d(0, 0, 1, 45deg); transform: rotate3d(0, 0, 1, 45deg); opacity: 0; }
	100% { -webkit-transform-origin: right bottom; -moz-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: none; -moz-transform: none; transform: none; opacity: 1; }
}
@-webkit-keyframes rotateInUpLeft {
	0% { -webkit-transform-origin: left bottom; -moz-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate3d(0, 0, 1, 45deg); -moz-transform: rotate3d(0, 0, 1, 45deg); transform: rotate3d(0, 0, 1, 45deg); opacity: 0; }
	100% { -webkit-transform-origin: left bottom; -moz-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: none; -moz-transform: none; transform: none; opacity: 1; }
}
@keyframes rotateInUpLeft {
	0% { -webkit-transform-origin: left bottom; -moz-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate3d(0, 0, 1, 45deg); -moz-transform: rotate3d(0, 0, 1, 45deg); transform: rotate3d(0, 0, 1, 45deg); opacity: 0; }
	100% { -webkit-transform-origin: left bottom; -moz-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: none; -moz-transform: none; transform: none; opacity: 1; }
}
@-webkit-keyframes rotateInUpRight {
	0% { -webkit-transform-origin: right bottom; -moz-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate3d(0, 0, 1, -90deg); -moz-transform: rotate3d(0, 0, 1, -90deg); transform: rotate3d(0, 0, 1, -90deg); opacity: 0; }
	100% { -webkit-transform-origin: right bottom; -moz-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: none; -moz-transform: none; transform: none; opacity: 1; }
}
@keyframes rotateInUpRight {
	0% { -webkit-transform-origin: right bottom; -moz-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate3d(0, 0, 1, -90deg); -moz-transform: rotate3d(0, 0, 1, -90deg); transform: rotate3d(0, 0, 1, -90deg); opacity: 0; }
	100% { -webkit-transform-origin: right bottom; -moz-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: none; -moz-transform: none; transform: none; opacity: 1; }
}
@-webkit-keyframes rotateOut {
	0% { -webkit-transform-origin: center; -moz-transform-origin: center; transform-origin: center; opacity: 1; }
	100% { -webkit-transform-origin: center; -moz-transform-origin: center; transform-origin: center; -webkit-transform: rotate3d(0, 0, 1, 200deg); -moz-transform: rotate3d(0, 0, 1, 200deg); transform: rotate3d(0, 0, 1, 200deg); opacity: 0; }
}
@keyframes rotateOut {
	0% { -webkit-transform-origin: center; -moz-transform-origin: center; transform-origin: center; opacity: 1; }
	100% { -webkit-transform-origin: center; -moz-transform-origin: center; transform-origin: center; -webkit-transform: rotate3d(0, 0, 1, 200deg); -moz-transform: rotate3d(0, 0, 1, 200deg); transform: rotate3d(0, 0, 1, 200deg); opacity: 0; }
}
@-webkit-keyframes rotateOutDownLeft {
	0% { -webkit-transform-origin: left bottom; -moz-transform-origin: left bottom; transform-origin: left bottom; opacity: 1; }
	100% { -webkit-transform-origin: left bottom; -moz-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate3d(0, 0, 1, 45deg); -moz-transform: rotate3d(0, 0, 1, 45deg); transform: rotate3d(0, 0, 1, 45deg); opacity: 0; }
}
@keyframes rotateOutDownLeft {
	0% { -webkit-transform-origin: left bottom; -moz-transform-origin: left bottom; transform-origin: left bottom; opacity: 1; }
	100% { -webkit-transform-origin: left bottom; -moz-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate3d(0, 0, 1, 45deg); -moz-transform: rotate3d(0, 0, 1, 45deg); transform: rotate3d(0, 0, 1, 45deg); opacity: 0; }
}
@-webkit-keyframes rotateOutDownRight {
	0% { -webkit-transform-origin: right bottom; -moz-transform-origin: right bottom; transform-origin: right bottom; opacity: 1; }
	100% { -webkit-transform-origin: right bottom; -moz-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate3d(0, 0, 1, -45deg); -moz-transform: rotate3d(0, 0, 1, -45deg); transform: rotate3d(0, 0, 1, -45deg); opacity: 0; }
}
@keyframes rotateOutDownRight {
	0% { -webkit-transform-origin: right bottom; -moz-transform-origin: right bottom; transform-origin: right bottom; opacity: 1; }
	100% { -webkit-transform-origin: right bottom; -moz-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate3d(0, 0, 1, -45deg); -moz-transform: rotate3d(0, 0, 1, -45deg); transform: rotate3d(0, 0, 1, -45deg); opacity: 0; }
}
@-webkit-keyframes rotateOutUpLeft {
	0% { -webkit-transform-origin: left bottom; -moz-transform-origin: left bottom; transform-origin: left bottom; opacity: 1; }
	100% { -webkit-transform-origin: left bottom; -moz-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate3d(0, 0, 1, -45deg); -moz-transform: rotate3d(0, 0, 1, -45deg); transform: rotate3d(0, 0, 1, -45deg); opacity: 0; }
}
@keyframes rotateOutUpLeft {
	0% { -webkit-transform-origin: left bottom; -moz-transform-origin: left bottom; transform-origin: left bottom; opacity: 1; }
	100% { -webkit-transform-origin: left bottom; -moz-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate3d(0, 0, 1, -45deg); -moz-transform: rotate3d(0, 0, 1, -45deg); transform: rotate3d(0, 0, 1, -45deg); opacity: 0; }
}
@-webkit-keyframes rotateOutUpRight {
	0% { -webkit-transform-origin: right bottom; -moz-transform-origin: right bottom; transform-origin: right bottom; opacity: 1; }
	100% { -webkit-transform-origin: right bottom; -moz-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate3d(0, 0, 1, 90deg); -moz-transform: rotate3d(0, 0, 1, 90deg); transform: rotate3d(0, 0, 1, 90deg); opacity: 0; }
}
@keyframes rotateOutUpRight {
	0% { -webkit-transform-origin: right bottom; -moz-transform-origin: right bottom; transform-origin: right bottom; opacity: 1; }
	100% { -webkit-transform-origin: right bottom; -moz-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate3d(0, 0, 1, 90deg); -moz-transform: rotate3d(0, 0, 1, 90deg); transform: rotate3d(0, 0, 1, 90deg); opacity: 0; }
}

/* flip */

@-webkit-keyframes flip {
	0% {
		-webkit-transform: perspective(400px) rotateY(0);
		-webkit-animation-timing-function: ease-out;
	}	40% {
		-webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
		-webkit-animation-timing-function: ease-out;
	}	50% {
		-webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
		-webkit-animation-timing-function: ease-in;
	}	80% {
		-webkit-transform: perspective(400px) rotateY(360deg) scale(.95);
		-webkit-animation-timing-function: ease-in;
	}	100% {
		-webkit-transform: perspective(400px) scale(1);
		-webkit-animation-timing-function: ease-in;
	}
}
@-moz-keyframes flip {
	0% {
		-moz-transform: perspective(400px) rotateY(0);
		-moz-animation-timing-function: ease-out;
	}	40% {
		-moz-transform: perspective(400px) translateZ(150px) rotateY(170deg);
		-moz-animation-timing-function: ease-out;
	}	50% {
		-moz-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
		-moz-animation-timing-function: ease-in;
	}	80% {
		-moz-transform: perspective(400px) rotateY(360deg) scale(.95);
		-moz-animation-timing-function: ease-in;
	}	100% {
		-moz-transform: perspective(400px) scale(1);
		-moz-animation-timing-function: ease-in;
	}
}
@-o-keyframes flip {
	0% {
		-o-transform: perspective(400px) rotateY(0);
		-o-animation-timing-function: ease-out;
	}	40% {
		-o-transform: perspective(400px) translateZ(150px) rotateY(170deg);
		-o-animation-timing-function: ease-out;
	}	50% {
		-o-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
		-o-animation-timing-function: ease-in;
	}	80% {
		-o-transform: perspective(400px) rotateY(360deg) scale(.95);
		-o-animation-timing-function: ease-in;
	}	100% {
		-o-transform: perspective(400px) scale(1);
		-o-animation-timing-function: ease-in;
	}
}
@keyframes flip {
	0% {
		transform: perspective(400px) rotateY(0);
		animation-timing-function: ease-out;
	}	40% {
		transform: perspective(400px) translateZ(150px) rotateY(170deg);
		animation-timing-function: ease-out;
	}	50% {
		transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
		animation-timing-function: ease-in;
	}	80% {
		transform: perspective(400px) rotateY(360deg) scale(.95);
		animation-timing-function: ease-in;
	}	100% {
		transform: perspective(400px) scale(1);
		animation-timing-function: ease-in;
	}
}

@-webkit-keyframes flipOutRight {
	to { -webkit-transform: translateZ(-1000px) rotateY(90deg); opacity: 0.2; }
}
@-moz-keyframes flipOutRight {
	to { -moz-transform: translateZ(-1000px) rotateY(90deg); opacity: 0.2; }
}
@keyframes flipOutRight {
	to { transform: translateZ(-1000px) rotateY(90deg); opacity: 0.2; }
}

@-webkit-keyframes flipInLeft {
	from { -webkit-transform: translateZ(-1000px) rotateY(-90deg); opacity: 0.2; }
}
@-moz-keyframes flipInLeft {
	from { -moz-transform: translateZ(-1000px) rotateY(-90deg); opacity: 0.2; }
}
@keyframes flipInLeft {
	from { transform: translateZ(-1000px) rotateY(-90deg); opacity: 0.2; }
}

@-webkit-keyframes flipOutLeft {
	to { -webkit-transform: translateZ(-1000px) rotateY(-90deg); opacity: 0.2; }
}
@-moz-keyframes flipOutLeft {
	to { -moz-transform: translateZ(-1000px) rotateY(-90deg); opacity: 0.2; }
}
@keyframes flipOutLeft {
	to { transform: translateZ(-1000px) rotateY(-90deg); opacity: 0.2; }
}

@-webkit-keyframes flipInRight {
	from { -webkit-transform: translateZ(-1000px) rotateY(90deg); opacity: 0.2; }
}
@-moz-keyframes flipInRight {
	from { -moz-transform: translateZ(-1000px) rotateY(90deg); opacity: 0.2; }
}
@keyframes flipInRight {
	from { transform: translateZ(-1000px) rotateY(90deg); opacity: 0.2; }
}

@-webkit-keyframes flipOutTop {
	to { -webkit-transform: translateZ(-1000px) rotateX(90deg); opacity: 0.2; }
}
@-moz-keyframes flipOutTop {
	to { -moz-transform: translateZ(-1000px) rotateX(90deg); opacity: 0.2; }
}
@keyframes flipOutTop {
	to { transform: translateZ(-1000px) rotateX(90deg); opacity: 0.2; }
}

@-webkit-keyframes flipInBottom {
	from { -webkit-transform: translateZ(-1000px) rotateX(-90deg); opacity: 0.2; }
}
@-moz-keyframes flipInBottom {
	from { -moz-transform: translateZ(-1000px) rotateX(-90deg); opacity: 0.2; }
}
@keyframes flipInBottom {
	from { transform: translateZ(-1000px) rotateX(-90deg); opacity: 0.2; }
}

@-webkit-keyframes flipOutBottom {
	to { -webkit-transform: translateZ(-1000px) rotateX(-90deg); opacity: 0.2; }
}
@-moz-keyframes flipOutBottom {
	to { -moz-transform: translateZ(-1000px) rotateX(-90deg); opacity: 0.2; }
}
@keyframes flipOutBottom {
	to { transform: translateZ(-1000px) rotateX(-90deg); opacity: 0.2; }
}

@-webkit-keyframes flipInTop {
	from { -webkit-transform: translateZ(-1000px) rotateX(90deg); opacity: 0.2; }
}
@-moz-keyframes flipInTop {
	from { -moz-transform: translateZ(-1000px) rotateX(90deg); opacity: 0.2; }
}
@keyframes flipInTop {
	from { 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); }
}
@-moz-keyframes rotateFall {
	0% { -moz-transform: rotateZ(0deg); }
	20% { -moz-transform: rotateZ(10deg); -moz-animation-timing-function: ease-out; }
	40% { -moz-transform: rotateZ(17deg); }
	60% { -moz-transform: rotateZ(16deg); }
	100% { -moz-transform: translateY(100%) rotateZ(17deg); }
}
@keyframes rotateFall {
	0% { transform: rotateZ(0deg); }
	20% { transform: rotateZ(10deg); animation-timing-function: ease-out; }
	40% { transform: rotateZ(17deg); }
	60% { transform: rotateZ(16deg); }
	100% { transform: translateY(100%) rotateZ(17deg); }
}

/* newspaper */

@-webkit-keyframes rotateOutNewspaper {
	to { -webkit-transform: translateZ(-3000px) rotateZ(360deg); opacity: 0; }
}
@-moz-keyframes rotateOutNewspaper {
	to { -moz-transform: translateZ(-3000px) rotateZ(360deg); opacity: 0; }
}
@keyframes rotateOutNewspaper {
	to { transform: translateZ(-3000px) rotateZ(360deg); opacity: 0; }
}

@-webkit-keyframes rotateInNewspaper {
	from { -webkit-transform: translateZ(-3000px) rotateZ(-360deg); opacity: 0; }
}
@-moz-keyframes rotateInNewspaper {
	from { -moz-transform: translateZ(-3000px) rotateZ(-360deg); opacity: 0; }
}
@keyframes rotateInNewspaper {
	from { transform: translateZ(-3000px) rotateZ(-360deg); opacity: 0; }
}

/* push */

@-webkit-keyframes rotatePushLeft {
	to { opacity: 0; -webkit-transform: rotateY(90deg); }
}
@-moz-keyframes rotatePushLeft {
	to { opacity: 0; -moz-transform: rotateY(90deg); }
}
@keyframes rotatePushLeft {
	to { opacity: 0; transform: rotateY(90deg); }
}

@-webkit-keyframes rotatePushRight {
	to { opacity: 0; -webkit-transform: rotateY(-90deg); }
}
@-moz-keyframes rotatePushRight {
	to { opacity: 0; -moz-transform: rotateY(-90deg); }
}
@keyframes rotatePushRight {
	to { opacity: 0; transform: rotateY(-90deg); }
}

@-webkit-keyframes rotatePushTop {
	to { opacity: 0; -webkit-transform: rotateX(-90deg); }
}
@-moz-keyframes rotatePushTop {
	to { opacity: 0; -moz-transform: rotateX(-90deg); }
}
@keyframes rotatePushTop {
	to { opacity: 0; transform: rotateX(-90deg); }
}

@-webkit-keyframes rotatePushBottom {
	to { opacity: 0; -webkit-transform: rotateX(90deg); }
}
@-moz-keyframes rotatePushBottom {
	to { opacity: 0; -moz-transform: rotateX(90deg); }
}
@keyframes rotatePushBottom {
	to { opacity: 0; transform: rotateX(90deg); }
}

/* pull */

@-webkit-keyframes rotatePullRight {
	from { opacity: 0; -webkit-transform: rotateY(-90deg); }
}
@-moz-keyframes rotatePullRight {
	from { opacity: 0; -moz-transform: rotateY(-90deg); }
}
@keyframes rotatePullRight {
	from { opacity: 0; transform: rotateY(-90deg); }
}

@-webkit-keyframes rotatePullLeft {
	from { opacity: 0; -webkit-transform: rotateY(90deg); }
}
@-moz-keyframes rotatePullLeft {
	from { opacity: 0; -moz-transform: rotateY(90deg); }
}
@keyframes rotatePullLeft {
	from { opacity: 0; transform: rotateY(90deg); }
}

@-webkit-keyframes rotatePullTop {
	from { opacity: 0; -webkit-transform: rotateX(-90deg); }
}
@-moz-keyframes rotatePullTop {
	from { opacity: 0; -moz-transform: rotateX(-90deg); }
}
@keyframes rotatePullTop {
	from { opacity: 0; transform: rotateX(-90deg); }
}

@-webkit-keyframes rotatePullBottom {
	from { opacity: 0; -webkit-transform: rotateX(90deg); }
}
@-moz-keyframes rotatePullBottom {
	from { opacity: 0; -moz-transform: rotateX(90deg); }
}
@keyframes rotatePullBottom {
	from { opacity: 0; transform: rotateX(90deg); }
}

/* fold */

@-webkit-keyframes rotateFoldRight {
	to { opacity: 0; -webkit-transform: translateX(100%) rotateY(90deg); }
}
@-moz-keyframes rotateFoldRight {
	to { opacity: 0; -moz-transform: translateX(100%) rotateY(90deg); }
}
@keyframes rotateFoldRight {
	to { opacity: 0; transform: translateX(100%) rotateY(90deg); }
}

@-webkit-keyframes rotateFoldLeft {
	to { opacity: 0; -webkit-transform: translateX(-100%) rotateY(-90deg); }
}
@-moz-keyframes rotateFoldLeft {
	to { opacity: 0; -moz-transform: translateX(-100%) rotateY(-90deg); }
}
@keyframes rotateFoldLeft {
	to { opacity: 0; transform: translateX(-100%) rotateY(-90deg); }
}

@-webkit-keyframes rotateFoldTop {
	to { opacity: 0; -webkit-transform: translateY(-100%) rotateX(90deg); }
}
@-moz-keyframes rotateFoldTop {
	to { opacity: 0; -moz-transform: translateY(-100%) rotateX(90deg); }
}
@keyframes rotateFoldTop {
	to { opacity: 0; transform: translateY(-100%) rotateX(90deg); }
}

@-webkit-keyframes rotateFoldBottom {
	to { opacity: 0; -webkit-transform: translateY(100%) rotateX(-90deg); }
}
@-moz-keyframes rotateFoldBottom {
	to { opacity: 0; -moz-transform: translateY(100%) rotateX(-90deg); }
}
@keyframes rotateFoldBottom {
	to { opacity: 0; transform: translateY(100%) rotateX(-90deg); }
}

/* unfold */

@-webkit-keyframes rotateUnfoldLeft {
	from { opacity: 0; -webkit-transform: translateX(-100%) rotateY(-90deg); }
}
@-moz-keyframes rotateUnfoldLeft {
	from { opacity: 0; -moz-transform: translateX(-100%) rotateY(-90deg); }
}
@keyframes rotateUnfoldLeft {
	from { opacity: 0; transform: translateX(-100%) rotateY(-90deg); }
}

@-webkit-keyframes rotateUnfoldRight {
	from { opacity: 0; -webkit-transform: translateX(100%) rotateY(90deg); }
}
@-moz-keyframes rotateUnfoldRight {
	from { opacity: 0; -moz-transform: translateX(100%) rotateY(90deg); }
}
@keyframes rotateUnfoldRight {
	from { opacity: 0; transform: translateX(100%) rotateY(90deg); }
}

@-webkit-keyframes rotateUnfoldTop {
	from { opacity: 0; -webkit-transform: translateY(-100%) rotateX(90deg); }
}
@-moz-keyframes rotateUnfoldTop {
	from { opacity: 0; -moz-transform: translateY(-100%) rotateX(90deg); }
}
@keyframes rotateUnfoldTop {
	from { opacity: 0; transform: translateY(-100%) rotateX(90deg); }
}

@-webkit-keyframes rotateUnfoldBottom {
	from { opacity: 0; -webkit-transform: translateY(100%) rotateX(-90deg); }
}
@-moz-keyframes rotateUnfoldBottom {
	from { opacity: 0; -moz-transform: translateY(100%) rotateX(-90deg); }
}
@keyframes rotateUnfoldBottom {
	from { opacity: 0; transform: translateY(100%) rotateX(-90deg); }
}

/* room walls */

@-webkit-keyframes rotateRoomLeftOut {
	to { opacity: .3; -webkit-transform: translateX(-100%) rotateY(90deg); }
}
@-moz-keyframes rotateRoomLeftOut {
	to { opacity: .3; -moz-transform: translateX(-100%) rotateY(90deg); }
}
@keyframes rotateRoomLeftOut {
	to { opacity: .3; transform: translateX(-100%) rotateY(90deg); }
}

@-webkit-keyframes rotateRoomLeftIn {
	from { opacity: .3; -webkit-transform: translateX(100%) rotateY(-90deg); }
}
@-moz-keyframes rotateRoomLeftIn {
	from { opacity: .3; -moz-transform: translateX(100%) rotateY(-90deg); }
}
@keyframes rotateRoomLeftIn {
	from { opacity: .3; transform: translateX(100%) rotateY(-90deg); }
}

@-webkit-keyframes rotateRoomRightOut {
	to { opacity: .3; -webkit-transform: translateX(100%) rotateY(-90deg); }
}
@-moz-keyframes rotateRoomRightOut {
	to { opacity: .3; -moz-transform: translateX(100%) rotateY(-90deg); }
}
@keyframes rotateRoomRightOut {
	to { opacity: .3; transform: translateX(100%) rotateY(-90deg); }
}

@-webkit-keyframes rotateRoomRightIn {
	from { opacity: .3; -webkit-transform: translateX(-100%) rotateY(90deg); }
}
@-moz-keyframes rotateRoomRightIn {
	from { opacity: .3; -moz-transform: translateX(-100%) rotateY(90deg); }
}
@keyframes rotateRoomRightIn {
	from { opacity: .3; transform: translateX(-100%) rotateY(90deg); }
}

@-webkit-keyframes rotateRoomTopOut {
	to { opacity: .3; -webkit-transform: translateY(-100%) rotateX(-90deg); }
}
@-moz-keyframes rotateRoomTopOut {
	to { opacity: .3; -moz-transform: translateY(-100%) rotateX(-90deg); }
}
@keyframes rotateRoomTopOut {
	to { opacity: .3; transform: translateY(-100%) rotateX(-90deg); }
}

@-webkit-keyframes rotateRoomTopIn {
	from { opacity: .3; -webkit-transform: translateY(100%) rotateX(90deg); }
}
@-moz-keyframes rotateRoomTopIn {
	from { opacity: .3; -moz-transform: translateY(100%) rotateX(90deg); }
}
@keyframes rotateRoomTopIn {
	from { opacity: .3; transform: translateY(100%) rotateX(90deg); }
}

@-webkit-keyframes rotateRoomBottomOut {
	to { opacity: .3; -webkit-transform: translateY(100%) rotateX(90deg); }
}
@-moz-keyframes rotateRoomBottomOut {
	to { opacity: .3; -moz-transform: translateY(100%) rotateX(90deg); }
}
@keyframes rotateRoomBottomOut {
	to { opacity: .3; transform: translateY(100%) rotateX(90deg); }
}

@-webkit-keyframes rotateRoomBottomIn {
	from { opacity: .3; -webkit-transform: translateY(-100%) rotateX(-90deg); }
}
@-moz-keyframes rotateRoomBottomIn {
	from { opacity: .3; -moz-transform: translateY(-100%) rotateX(-90deg); }
}
@keyframes rotateRoomBottomIn {
	from { opacity: .3; transform: translateY(-100%) rotateX(-90deg); }
}

/* cube */

@-webkit-keyframes rotateCubeLeftOut {
	50% { -webkit-animation-timing-function: ease-out;  -webkit-transform: translateX(-50%) translateZ(-200px) rotateY(-45deg); }
	100% { opacity: .3; -webkit-transform: translateX(-100%) rotateY(-90deg); }
}
@-moz-keyframes rotateCubeLeftOut {
	50% { -moz-animation-timing-function: ease-out;  -moz-transform: translateX(-50%) translateZ(-200px) rotateY(-45deg); }
	100% { opacity: .3; -moz-transform: translateX(-100%) rotateY(-90deg); }
}
@keyframes rotateCubeLeftOut {
	50% { animation-timing-function: ease-out;  transform: translateX(-50%) translateZ(-200px) rotateY(-45deg); }
	100% { opacity: .3; 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); }
}
@-moz-keyframes rotateCubeLeftIn {
	0% { opacity: .3; -moz-transform: translateX(100%) rotateY(90deg); }
	50% { -moz-animation-timing-function: ease-out;  -moz-transform: translateX(50%) translateZ(-200px) rotateY(45deg); }
}
@keyframes rotateCubeLeftIn {
	0% { opacity: .3; transform: translateX(100%) rotateY(90deg); }
	50% { animation-timing-function: ease-out;  transform: translateX(50%) translateZ(-200px) rotateY(45deg); }
}

@-webkit-keyframes rotateCubeRightOut {
	50% { -webkit-animation-timing-function: ease-out; -webkit-transform: translateX(50%) translateZ(-200px) rotateY(45deg); }
	100% { opacity: .3; -webkit-transform: translateX(100%) rotateY(90deg); }
}
@-moz-keyframes rotateCubeRightOut {
	50% { -moz-animation-timing-function: ease-out; -moz-transform: translateX(50%) translateZ(-200px) rotateY(45deg); }
	100% { opacity: .3; -moz-transform: translateX(100%) rotateY(90deg); }
}
@keyframes rotateCubeRightOut {
	50% { animation-timing-function: ease-out; transform: translateX(50%) translateZ(-200px) rotateY(45deg); }
	100% { opacity: .3; 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); }
}
@-moz-keyframes rotateCubeRightIn {
	0% { opacity: .3; -moz-transform: translateX(-100%) rotateY(-90deg); }
	50% { -moz-animation-timing-function: ease-out; -moz-transform: translateX(-50%) translateZ(-200px) rotateY(-45deg); }
}
@keyframes rotateCubeRightIn {
	0% { opacity: .3; transform: translateX(-100%) rotateY(-90deg); }
	50% { animation-timing-function: ease-out; transform: translateX(-50%) translateZ(-200px) rotateY(-45deg); }
}

@-webkit-keyframes rotateCubeTopOut {
	50% { -webkit-animation-timing-function: ease-out; -webkit-transform: translateY(-50%) translateZ(-200px) rotateX(45deg); }
	100% { opacity: .3; -webkit-transform: translateY(-100%) rotateX(90deg); }
}
@-moz-keyframes rotateCubeTopOut {
	50% { -moz-animation-timing-function: ease-out; -moz-transform: translateY(-50%) translateZ(-200px) rotateX(45deg); }
	100% { opacity: .3; -moz-transform: translateY(-100%) rotateX(90deg); }
}
@keyframes rotateCubeTopOut {
	50% { animation-timing-function: ease-out; transform: translateY(-50%) translateZ(-200px) rotateX(45deg); }
	100% { opacity: .3; 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); }
}
@-moz-keyframes rotateCubeTopIn {
	0% { opacity: .3; -moz-transform: translateY(100%) rotateX(-90deg); }
	50% { -moz-animation-timing-function: ease-out; -moz-transform: translateY(50%) translateZ(-200px) rotateX(-45deg); }
}
@keyframes rotateCubeTopIn {
	0% { opacity: .3; transform: translateY(100%) rotateX(-90deg); }
	50% { animation-timing-function: ease-out; transform: translateY(50%) translateZ(-200px) rotateX(-45deg); }
}

@-webkit-keyframes rotateCubeBottomOut {
	50% { -webkit-animation-timing-function: ease-out; -webkit-transform: translateY(50%) translateZ(-200px) rotateX(-45deg); }
	100% { opacity: .3; -webkit-transform: translateY(100%) rotateX(-90deg); }
}
@-moz-keyframes rotateCubeBottomOut {
	50% { -moz-animation-timing-function: ease-out; -moz-transform: translateY(50%) translateZ(-200px) rotateX(-45deg); }
	100% { opacity: .3; -moz-transform: translateY(100%) rotateX(-90deg); }
}
@keyframes rotateCubeBottomOut {
	50% { animation-timing-function: ease-out; transform: translateY(50%) translateZ(-200px) rotateX(-45deg); }
	100% { opacity: .3; 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); }
}
@-moz-keyframes rotateCubeBottomIn {
	0% { opacity: .3; -moz-transform: translateY(-100%) rotateX(90deg); }
	50% { -moz-animation-timing-function: ease-out; -moz-transform: translateY(-50%) translateZ(-200px) rotateX(45deg); }
}
@keyframes rotateCubeBottomIn {
	0% { opacity: .3; transform: translateY(-100%) rotateX(90deg); }
	50% { animation-timing-function: ease-out; transform: translateY(-50%) translateZ(-200px) rotateX(45deg); }
}

/* carousel */

@-webkit-keyframes rotateCarouselLeftOut {
	to { opacity: .3; -webkit-transform: translateX(-150%) scale(.4) rotateY(-65deg); }
}
@-moz-keyframes rotateCarouselLeftOut {
	to { opacity: .3; -moz-transform: translateX(-150%) scale(.4) rotateY(-65deg); }
}
@keyframes rotateCarouselLeftOut {
	to { opacity: .3; transform: translateX(-150%) scale(.4) rotateY(-65deg); }
}

@-webkit-keyframes rotateCarouselLeftIn {
	from { opacity: .3; -webkit-transform: translateX(200%) scale(.4) rotateY(65deg); }
}
@-moz-keyframes rotateCarouselLeftIn {
	from { opacity: .3; -moz-transform: translateX(200%) scale(.4) rotateY(65deg); }
}
@keyframes rotateCarouselLeftIn {
	from { opacity: .3; transform: translateX(200%) scale(.4) rotateY(65deg); }
}

@-webkit-keyframes rotateCarouselRightOut {
	to { opacity: .3; -webkit-transform: translateX(200%) scale(.4) rotateY(65deg); }
}
@-moz-keyframes rotateCarouselRightOut {
	to { opacity: .3; -moz-transform: translateX(200%) scale(.4) rotateY(65deg); }
}
@keyframes rotateCarouselRightOut {
	to { opacity: .3; transform: translateX(200%) scale(.4) rotateY(65deg); }
}

@-webkit-keyframes rotateCarouselRightIn {
	from { opacity: .3; -webkit-transform: translateX(-200%) scale(.4) rotateY(-65deg); }
}
@-moz-keyframes rotateCarouselRightIn {
	from { opacity: .3; -moz-transform: translateX(-200%) scale(.4) rotateY(-65deg); }
}
@keyframes rotateCarouselRightIn {
	from { opacity: .3; transform: translateX(-200%) scale(.4) rotateY(-65deg); }
}

@-webkit-keyframes rotateCarouselTopOut {
	to { opacity: .3; -webkit-transform: translateY(-200%) scale(.4) rotateX(65deg); }
}
@-moz-keyframes rotateCarouselTopOut {
	to { opacity: .3; -moz-transform: translateY(-200%) scale(.4) rotateX(65deg); }
}
@keyframes rotateCarouselTopOut {
	to { opacity: .3; transform: translateY(-200%) scale(.4) rotateX(65deg); }
}

@-webkit-keyframes rotateCarouselTopIn {
	from { opacity: .3; -webkit-transform: translateY(200%) scale(.4) rotateX(-65deg); }
}
@-moz-keyframes rotateCarouselTopIn {
	from { opacity: .3; -moz-transform: translateY(200%) scale(.4) rotateX(-65deg); }
}
@keyframes rotateCarouselTopIn {
	from { opacity: .3; transform: translateY(200%) scale(.4) rotateX(-65deg); }
}

@-webkit-keyframes rotateCarouselBottomOut {
	to { opacity: .3; -webkit-transform: translateY(200%) scale(.4) rotateX(-65deg); }
}
@-moz-keyframes rotateCarouselBottomOut {
	to { opacity: .3; -moz-transform: translateY(200%) scale(.4) rotateX(-65deg); }
}
@keyframes rotateCarouselBottomOut {
	to { opacity: .3; transform: translateY(200%) scale(.4) rotateX(-65deg); }
}

@-webkit-keyframes rotateCarouselBottomIn {
	from { opacity: .3; -webkit-transform: translateY(-200%) scale(.4) rotateX(65deg); }
}
@-moz-keyframes rotateCarouselBottomIn {
	from { opacity: .3; -moz-transform: translateY(-200%) scale(.4) rotateX(65deg); }
}
@keyframes rotateCarouselBottomIn {
	from { opacity: .3; transform: translateY(-200%) scale(.4) rotateX(65deg); }
}

/* sides */

@-webkit-keyframes rotateSidesOut {
	to { opacity: 0; -webkit-transform: translateZ(-500px) rotateY(90deg); }
}
@-moz-keyframes rotateSidesOut {
	to { opacity: 0; -moz-transform: translateZ(-500px) rotateY(90deg); }
}
@keyframes rotateSidesOut {
	to { opacity: 0; transform: translateZ(-500px) rotateY(90deg); }
}

@-webkit-keyframes rotateSidesIn {
	from { opacity: 0; -webkit-transform: translateZ(-500px) rotateY(-90deg); }
}
@-moz-keyframes rotateSidesIn {
	from { opacity: 0; -moz-transform: translateZ(-500px) rotateY(-90deg); }
}
@keyframes rotateSidesIn {
	from { opacity: 0; transform: translateZ(-500px) rotateY(-90deg); }
}

/* slide */

@-webkit-keyframes rotateSlideOut {
	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%); }
}
@-moz-keyframes rotateSlideOut {
	25% { opacity: .5; -moz-transform: translateZ(-500px); }
	75% { opacity: .5; -moz-transform: translateZ(-500px) translateX(-200%); }
	100% { opacity: .5; -moz-transform: translateZ(-500px) translateX(-200%); }
}
@keyframes rotateSlideOut {
	25% { opacity: .5; transform: translateZ(-500px); }
	75% { opacity: .5; transform: translateZ(-500px) translateX(-200%); }
	100% { opacity: .5; 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); }
}
@-moz-keyframes rotateSlideIn {
	0%, 25% { opacity: .5; -moz-transform: translateZ(-500px) translateX(200%); }
	75% { opacity: .5; -moz-transform: translateZ(-500px); }
	100% { opacity: 1; -moz-transform: translateZ(0) translateX(0); }
}
@keyframes rotateSlideIn {
	0%, 25% { opacity: .5; transform: translateZ(-500px) translateX(200%); }
	75% { opacity: .5; transform: translateZ(-500px); }
	100% { opacity: 1; transform: translateZ(0) translateX(0); }
}


/* Loops */

.loopRotate {
	-webkit-animation: loopRotate 10s infinite linear;
	-moz-animation: loopRotate 10s infinite linear;
	animation: loopRotate 10s infinite linear;
}
.loopRotateX {
	-webkit-animation: loopRotateX 10s infinite linear;
	-moz-animation: loopRotateX 10s infinite linear;
	animation: loopRotateX 10s infinite linear;
}
.loopRotateY {
	-webkit-animation: loopRotateY 10s infinite linear;
	-moz-animation: loopRotateY 10s infinite linear;
	animation: loopRotateY 10s infinite linear;
}
.loopExpandFade {
	-webkit-animation: loopExpandFade 5s linear infinite;
	-moz-animation: loopExpandFade 5s linear infinite;
	animation: loopExpandFade 5s linear infinite;
}
.loopToLeft {
	-webkit-animation: loopToLeft 30s infinite linear;
	-moz-animation: loopToLeft 30s infinite linear;
	animation: loopToLeft 30s infinite linear;
}
.loopToRight {
	-webkit-animation: loopToRight 30s infinite linear;
	-moz-animation: loopToRight 30s infinite linear;
	animation: loopToRight 30s infinite linear;
}
.loopToBottom {
	-webkit-animation: loopToBottom 30s infinite linear;
	-moz-animation: loopToBottom 30s infinite linear;
	animation: loopToBottom 30s infinite linear;
}
.loopToTop {
	-webkit-animation: loopToTop 30s infinite linear;
	-moz-animation: loopToTop 30s infinite linear;
	animation: loopToTop 30s infinite linear;
}

/* Keyframes */

@-webkit-keyframes loopRotate {
  from { -webkit-transform:  rotateZ(0deg); }
  to { -webkit-transform:  rotateZ(360deg); }
}
@-moz-keyframes loopRotate {
  from { -moz-transform:  rotateZ(0deg); }
  to { -moz-transform:  rotateZ(360deg); }
}
@keyframes loopRotate {
  from { transform:  rotateZ(0deg); }
  to { transform:  rotateZ(360deg); }
}

@-webkit-keyframes loopRotateX {
  0% { -webkit-transform:  rotateX(0deg); }
  100% { -webkit-transform:  rotateX(360deg); }
}
@-moz-keyframes loopRotateX {
  0%, 100% { -moz-transform:  rotateX(0deg); }
  50% { -moz-transform:  rotateX(180deg); }
  100% { -moz-transform:  rotateX(360deg); }
}
@keyframes loopRotateX {
  0%, 100% { transform:  rotateX(0deg); }
  50% { transform:  rotateX(180deg); }
  100% { transform:  rotateX(360deg); }
}

@-webkit-keyframes loopRotateY {
  0% { -webkit-transform:  rotateY(0deg); }
  50% { -webkit-transform:  rotateY(180deg); }
  100% { -webkit-transform:  rotateY(360deg); }
}
@-moz-keyframes loopRotateY {
  0%, 100% { -moz-transform:  rotateY(0deg); }
  50% { -moz-transform:  rotateY(180deg); }
  100% { -moz-transform:  rotateY(360deg); }
}
@keyframes loopRotateY {
  0%, 100% { transform:  rotateY(0deg); }
  50% { transform:  rotateY(180deg); }
  100% { transform:  rotateY(360deg); }
}

@-webkit-keyframes loopExpandFade {
	0% { opacity: .8; -webkit-transform: scale(0.1); }
	100% { opacity: 0; -webkit-transform: scale(5); }
}
@-moz-keyframes loopExpandFade {
	0% { opacity: .8; -moz-transform: scale(0.1); }
	100% { opacity: 0; -moz-transform: scale(5); }
}
@keyframes loopExpandFade {
	0% { opacity: .8; transform: scale(0.1); }
	100% { opacity: 0; transform: scale(5); }
}

@-webkit-keyframes loopToLeft {
  0% { -webkit-transform: translateX(-1800px); }
  100% { -webkit-transform:  translateX(1800px); }
}
@-moz-keyframes loopToLeft {
  0% { -moz-transform: translateX(-1800px); }
  100% { -moz-transform:  translateX(1800px); }
}
@keyframes loopToLeft {
  0% { transform: translateX(-1800px); }
  100% { transform:  translateX(1800px); }
}

@-webkit-keyframes loopToRight {
  0% { -webkit-transform: translateX(1800px); }
  100% { -webkit-transform:  translateX(-1800px); }
}
@-moz-keyframes loopToRight {
  0% { -moz-transform: translateX(1800px); }
  100% { -moz-transform:  translateX(-1800px); }
}
@keyframes loopToRight {
  0% { transform: translateX(1800px); }
  100% { transform:  translateX(-1800px); }
}

@-webkit-keyframes loopToBottom {
  0% { -webkit-transform: translateY(1800px); }
  100% { -webkit-transform:  translateY(-1800px); }
}
@-moz-keyframes loopToBottom {
  0% { -moz-transform: translateY(1800px); }
  100% { -moz-transform:  translateY(-1800px); }
}
@keyframes loopToBottom {
  0% { transform: translateY(1800px); }
  100% { transform:  translateY(-1800px); }
}

@-webkit-keyframes loopToTop {
  0% { -webkit-transform: translateY(-1800px); }
  100% { -webkit-transform:  translateY(1800px); }
}
@-moz-keyframes loopToTop {
  0% { -moz-transform: translateY(-1800px); }
  100% { -moz-transform:  translateY(1800px); }
}
@keyframes loopToTop {
  0% { transform: translateY(-1800px); }
  100% { transform:  translateY(1800px); }
}

/* animation delay classes */

.delay-100 {
	-webkit-animation-delay: .1s;
	-moz-animation-delay: .1s;
	animation-delay: .1s;
}
.delay-200 {
	-webkit-animation-delay: .2s;
	-moz-animation-delay: .2s;
	animation-delay: .2s;
}
.delay-300 {
	-webkit-animation-delay: .3s;
	-moz-animation-delay: .3s;
	animation-delay: .3s;
}
.delay-400 {
	-webkit-animation-delay: .4s;
	-moz-animation-delay: .4s;
	animation-delay: .4s;
}
.delay-500 {
	-webkit-animation-delay: .5s;
	-moz-animation-delay: .5s;
	animation-delay: .5s;
}
.delay-600 {
	-webkit-animation-delay: .6s;
	-moz-animation-delay: .6s;
	animation-delay: .6s;
}
.delay-700 {
	-webkit-animation-delay: .7s;
	-moz-animation-delay: .7s;
	animation-delay: .7s;
}
.delay-800 {
	-webkit-animation-delay: .8s;
	-moz-animation-delay: .8s;
	animation-delay: .8s;
}
.delay-900 {
	-webkit-animation-delay: .9s;
	-moz-animation-delay: .9s;
	animation-delay: .9s;
}
.delay-1000 {
	-webkit-animation-delay: 1s;
	-moz-animation-delay: 1s;
	animation-delay: 1s;
}
.delay-1500 {
	-webkit-animation-delay: 1.5s;
	-moz-animation-delay: 1.5s;
	animation-delay: 1.5s;
}
.delay-2000 {
	-webkit-animation-delay: 2s;
	-moz-animation-delay: 2s;
	animation-delay: 2s;
}
.delay-3000 {
	-webkit-animation-delay: 3s;
	-moz-animation-delay: 3s;
	animation-delay: 3s;
}
.delay-4000 {
	-webkit-animation-delay: 4s;
	-moz-animation-delay: 4s;
	animation-delay: 4s;
}
.delay-5000 {
	-webkit-animation-delay: 5s;
	-moz-animation-delay: 5s;
	animation-delay: 5s;
}
.delay-6000 {
	-webkit-animation-delay: 6s;
	-moz-animation-delay: 6s;
	animation-delay: 6s;
}
.delay-7000 {
	-webkit-animation-delay: 7s;
	-moz-animation-delay: 7s;
	animation-delay: 7s;
}
.delay-8000 {
	-webkit-animation-delay: 8s;
	-moz-animation-delay: 8s;
	animation-delay: 8s;
}
.delay-9000 {
	-webkit-animation-delay: 9s;
	-moz-animation-delay: 9s;
	animation-delay: 9s;
}