.ani-main {
	position: absolute;
	top: 0; left: 0;
	visibility: hidden;
	transform: translate3d(0, 0, 0);
}

.ani-currentOut {
	visibility: visible;
}

.ani-current {
	visibility: visible;
	z-index: 1;
}

.ani-moveToLeft {
	-webkit-animation: moveToLeft .6s ease both;
	-moz-animation: moveToLeft .6s ease both;
	animation: moveToLeft .6s ease both;
}

.ani-moveFromLeft {
	-webkit-animation: moveFromLeft .6s ease both;
	-moz-animation: moveFromLeft .6s ease both;
	animation: moveFromLeft .6s ease both;
}

.ani-moveToRight {
	-webkit-animation: moveToRight .6s ease both;
	-moz-animation: moveToRight .6s ease both;
	animation: moveToRight .6s ease both;
}

.ani-moveFromRight {
	-webkit-animation: moveFromRight .6s ease both;
	-moz-animation: moveFromRight .6s ease both;
	animation: moveFromRight .6s ease both;
}

.ani-moveToTop {
	-webkit-animation: moveToTop .6s ease both;
	-moz-animation: moveToTop .6s ease both;
	animation: moveToTop .6s ease both;
}

.ani-moveFromTop {
	-webkit-animation: moveFromTop .6s ease both;
	-moz-animation: moveFromTop .6s ease both;
	animation: moveFromTop .6s ease both;
}

.ani-moveToBottom {
	-webkit-animation: moveToBottom .6s ease both;
	-moz-animation: moveToBottom .6s ease both;
	animation: moveToBottom .6s ease both;
}

.ani-moveFromBottom {
	-webkit-animation: moveFromBottom .6s ease both;
	-moz-animation: moveFromBottom .6s ease both;
	animation: moveFromBottom .6s ease both;
}

/* fade */

.ani-fade {
	-webkit-animation: fade .7s ease both;
	-moz-animation: fade .7s ease both;
	animation: fade .7s ease both;
}

/* move from / to and fade */

.ani-moveToLeftFade {
	-webkit-animation: moveToLeftFade .7s ease both;
	-moz-animation: moveToLeftFade .7s ease both;
	animation: moveToLeftFade .7s ease both;
}

.ani-moveFromLeftFade {
	-webkit-animation: moveFromLeftFade .7s ease both;
	-moz-animation: moveFromLeftFade .7s ease both;
	animation: moveFromLeftFade .7s ease both;
}

.ani-moveToRightFade {
	-webkit-animation: moveToRightFade .7s ease both;
	-moz-animation: moveToRightFade .7s ease both;
	animation: moveToRightFade .7s ease both;
}

.ani-moveFromRightFade {
	-webkit-animation: moveFromRightFade .7s ease both;
	-moz-animation: moveFromRightFade .7s ease both;
	animation: moveFromRightFade .7s ease both;
}

.ani-moveToTopFade {
	-webkit-animation: moveToTopFade .7s ease both;
	-moz-animation: moveToTopFade .7s ease both;
	animation: moveToTopFade .7s ease both;
}

.ani-moveFromTopFade {
	-webkit-animation: moveFromTopFade .7s ease both;
	-moz-animation: moveFromTopFade .7s ease both;
	animation: moveFromTopFade .7s ease both;
}

.ani-moveToBottomFade {
	-webkit-animation: moveToBottomFade .7s ease both;
	-moz-animation: moveToBottomFade .7s ease both;
	animation: moveToBottomFade .7s ease both;
}

.ani-moveFromBottomFade {
	-webkit-animation: moveFromBottomFade .7s ease both;
	-moz-animation: moveFromBottomFade .7s ease both;
	animation: moveFromBottomFade .7s ease both;
}

/* move to with different easing */

.ani-moveToLeftEasing {
	-webkit-animation: moveToLeft .7s ease-in-out both;
	-moz-animation: moveToLeft .7s ease-in-out both;
	animation: moveToLeft .7s ease-in-out both;
}
.ani-moveToRightEasing {
	-webkit-animation: moveToRight .7s ease-in-out both;
	-moz-animation: moveToRight .7s ease-in-out both;
	animation: moveToRight .7s ease-in-out both;
}
.ani-moveToTopEasing {
	-webkit-animation: moveToTop .7s ease-in-out both;
	-moz-animation: moveToTop .7s ease-in-out both;
	animation: moveToTop .7s ease-in-out both;
}
.ani-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 fade {
	to { opacity: 0.3; }
}
@-moz-keyframes fade {
	to { opacity: 0.3; }
}
@keyframes fade {
	to { opacity: 0.3; }
}

/* 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.3; -webkit-transform: translateX(-100%); }
}
@-moz-keyframes moveFromLeftFade {
	from { opacity: 0.3; -moz-transform: translateX(-100%); }
}
@keyframes moveFromLeftFade {
	from { opacity: 0.3; transform: translateX(-100%); }
}

@-webkit-keyframes moveToRightFade {
	to { opacity: 0.3; -webkit-transform: translateX(100%); }
}
@-moz-keyframes moveToRightFade {
	to { opacity: 0.3; -moz-transform: translateX(100%); }
}
@keyframes moveToRightFade {
	to { opacity: 0.3; 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.3; -webkit-transform: translateY(-100%); }
}
@-moz-keyframes moveToTopFade {
	to { opacity: 0.3; -moz-transform: translateY(-100%); }
}
@keyframes moveToTopFade {
	to { opacity: 0.3; transform: translateY(-100%); }
}

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

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

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

/* scale and fade */

.ani-scaleDown {
	-webkit-animation: scaleDown .7s ease both;
	-moz-animation: scaleDown .7s ease both;
	animation: scaleDown .7s ease both;
}

.ani-scaleUp {
	-webkit-animation: scaleUp .7s ease both;
	-moz-animation: scaleUp .7s ease both;
	animation: scaleUp .7s ease both;
}

.ani-scaleUpDown {
	-webkit-animation: scaleUpDown .5s ease both;
	-moz-animation: scaleUpDown .5s ease both;
	animation: scaleUpDown .5s ease both;
}

.ani-scaleDownUp {
	-webkit-animation: scaleDownUp .5s ease both;
	-moz-animation: scaleDownUp .5s ease both;
	animation: scaleDownUp .5s ease both;
}

.ani-scaleDownCenter {
	-webkit-animation: scaleDownCenter .4s ease-in both;
	-moz-animation: scaleDownCenter .4s ease-in both;
	animation: scaleDownCenter .4s ease-in both;
}

.ani-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 */

.ani-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;
}
.ani-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;
}
.ani-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;
}
.ani-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;
}

/* flip */

.ani-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;
}
.ani-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;
}
.ani-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;
}
.ani-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;
}
.ani-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;
}
.ani-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;
}
.ani-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;
}
.ani-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 */

.ani-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 */
.ani-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;
}
.ani-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 */
.ani-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;
}
.ani-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;
}
.ani-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;
}
.ani-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 */
.ani-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;
}
.ani-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;
}
.ani-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;
}
.ani-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 */
.ani-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;
}
.ani-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;
}
.ani-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;
}
.ani-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 */
.ani-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;
}
.ani-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;
}
.ani-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;
}
.ani-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 */
.ani-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;
}
.ani-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;
}
.ani-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;
}
.ani-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;
}
.ani-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;
}
.ani-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;
}
.ani-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;
}
.ani-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 */
.ani-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;
}
.ani-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;
}
.ani-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;
}
.ani-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;
}
.ani-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;
}
.ani-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;
}
.ani-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;
}
.ani-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 */
.ani-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;
}
.ani-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;
}
.ani-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;
}
.ani-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;
}
.ani-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;
}
.ani-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;
}
.ani-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;
}
.ani-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 */
.ani-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;
}
.ani-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 */
.ani-rotateSlideOut {
	-webkit-animation: rotateSlideOut 1s both ease;
	-moz-animation: rotateSlideOut 1s both ease;
	animation: rotateSlideOut 1s both ease;
}
.ani-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; }
}

/* flip */

@-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); }
}

/* animation delay classes */

.ani-delay100 {
	-webkit-animation-delay: .1s;
	-moz-animation-delay: .1s;
	animation-delay: .1s;
}
.ani-delay180 {
	-webkit-animation-delay: .180s;
	-moz-animation-delay: .180s;
	animation-delay: .180s;
}
.ani-delay200 {
	-webkit-animation-delay: .2s;
	-moz-animation-delay: .2s;
	animation-delay: .2s;
}
.ani-delay300 {
	-webkit-animation-delay: .3s;
	-moz-animation-delay: .3s;
	animation-delay: .3s;
}
.ani-delay400 {
	-webkit-animation-delay: .4s;
	-moz-animation-delay: .4s;
	animation-delay: .4s;
}
.ani-delay500 {
	-webkit-animation-delay: .5s;
	-moz-animation-delay: .5s;
	animation-delay: .5s;
}
.ani-delay700 {
	-webkit-animation-delay: .7s;
	-moz-animation-delay: .7s;
	animation-delay: .7s;
}
.ani-delay1000 {
	-webkit-animation-delay: 1s;
	-moz-animation-delay: 1s;
	animation-delay: 1s;
}

@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA') format('woff');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-container-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-container-multirow>.swiper-wrapper{flex-wrap:wrap}.swiper-container-multirow-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-container-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-container-3d{perspective:1200px}.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-container-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-container-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-container-horizontal.swiper-container-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-container-vertical.swiper-container-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(-1 * var(--swiper-navigation-size)/ 2);z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;text-transform:none;font-variant:initial;line-height:1}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{left:10px;right:auto}.swiper-button-prev:after,.swiper-container-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{right:10px;left:auto}.swiper-button-next:after,.swiper-container-rtl .swiper-button-prev:after{content:'next'}.swiper-button-next.swiper-button-white,.swiper-button-prev.swiper-button-white{--swiper-navigation-color:#ffffff}.swiper-button-next.swiper-button-black,.swiper-button-prev.swiper-button-black{--swiper-navigation-color:#000000}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:100%;background:#000;opacity:.2}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet-active{opacity:1;background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;transform:translate3d(0px,-50%,0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:6px 0;display:block}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 4px}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progressbar,.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-container-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-white{--swiper-pagination-color:#ffffff}.swiper-pagination-black{--swiper-pagination-color:#000000}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;animation:swiper-preloader-spin 1s infinite linear;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{100%{transform:rotate(360deg)}}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-container-fade.swiper-container-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube{overflow:visible}.swiper-container-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube.swiper-container-rtl .swiper-slide{transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;background:#000;opacity:.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-flip{overflow:visible}.swiper-container-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}