@charset "utf-8";
/*
==============================================
slideDown 从上到下
==============================================
*/
.slideDown{
	animation-name: slideDown;
	-webkit-animation-name: slideDown;

	animation-duration: 1s;
	-webkit-animation-duration: 1s;

	animation-timing-function: ease;
	-webkit-animation-timing-function: ease;

	visibility: visible !important;
}

@keyframes slideDown {
	0% {
		transform: translateY(-100%);
	}
	50%{
		transform: translateY(8%);
	}
	65%{
		transform: translateY(-4%);
	}
	80%{
		transform: translateY(4%);
	}
	95%{
		transform: translateY(-2%);
	}
	100% {
		transform: translateY(0%);
	}
}

@-webkit-keyframes slideDown {
	0% {
		-webkit-transform: translateY(-100%);
	}
	50%{
		-webkit-transform: translateY(8%);
	}
	65%{
		-webkit-transform: translateY(-4%);
	}
	80%{
		-webkit-transform: translateY(4%);
	}
	95%{
		-webkit-transform: translateY(-2%);
	}
	100% {
		-webkit-transform: translateY(0%);
	}
}

/*
==============================================
slideUp 从下到上
==============================================
*/
.slideUp{
	animation-name: slideUp;
	-webkit-animation-name: slideUp;

	animation-duration: 1s;
	-webkit-animation-duration: 1s;

	animation-timing-function: ease;
	-webkit-animation-timing-function: ease;

	visibility: visible !important;
}

@keyframes slideUp {
	0% {
		transform: translateY(100%);
	}
	50%{
		transform: translateY(-8%);
	}
	65%{
		transform: translateY(4%);
	}
	80%{
		transform: translateY(-4%);
	}
	95%{
		transform: translateY(2%);
	}
	100% {
		transform: translateY(0%);
	}
}

@-webkit-keyframes slideUp {
	0% {
		-webkit-transform: translateY(100%);
	}
	50%{
		-webkit-transform: translateY(-8%);
	}
	65%{
		-webkit-transform: translateY(4%);
	}
	80%{
		-webkit-transform: translateY(-4%);
	}
	95%{
		-webkit-transform: translateY(2%);
	}
	100% {
		-webkit-transform: translateY(0%);
	}
}

/*
==============================================
slideLeft 从右到左
==============================================
*/
.slideLeft{
	animation-name: slideLeft;
	-webkit-animation-name: slideLeft;

	animation-duration: 1s;
	-webkit-animation-duration: 1s;

	animation-timing-function: ease-in-out;
	-webkit-animation-timing-function: ease-in-out;

	visibility: visible !important;
}

@keyframes slideLeft {
	0% {
		transform: translateX(150%);
	}
	50%{
		transform: translateX(-8%);
	}
	65%{
		transform: translateX(4%);
	}
	80%{
		transform: translateX(-4%);
	}
	95%{
		transform: translateX(2%);
	}
	100% {
		transform: translateX(0%);
	}
}

@-webkit-keyframes slideLeft {
	0% {
		-webkit-transform: translateX(150%);
	}
	50%{
		-webkit-transform: translateX(-8%);
	}
	65%{
		-webkit-transform: translateX(4%);
	}
	80%{
		-webkit-transform: translateX(-4%);
	}
	95%{
		-webkit-transform: translateX(2%);
	}
	100% {
		-webkit-transform: translateX(0%);
	}
}

/*
==============================================
slideRight 从左到右
==============================================
*/
.slideRight{
	animation-name: slideRight;
	-webkit-animation-name: slideRight;

	animation-duration: 1s;
	-webkit-animation-duration: 1s;

	animation-timing-function: ease-in-out;
	-webkit-animation-timing-function: ease-in-out;

	visibility: visible !important;
}

@keyframes slideRight {
	0% {
		transform: translateX(-150%);
	}
	50%{
		transform: translateX(8%);
	}
	65%{
		transform: translateX(-4%);
	}
	80%{
		transform: translateX(4%);
	}
	95%{
		transform: translateX(-2%);
	}
	100% {
		transform: translateX(0%);
	}
}

@-webkit-keyframes slideRight {
	0% {
		-webkit-transform: translateX(-150%);
	}
	50%{
		-webkit-transform: translateX(8%);
	}
	65%{
		-webkit-transform: translateX(-4%);
	}
	80%{
		-webkit-transform: translateX(4%);
	}
	95%{
		-webkit-transform: translateX(-2%);
	}
	100% {
		-webkit-transform: translateX(0%);
	}
}

/*
==============================================
slideExpandUp  从下到上再从小到大
==============================================
*/
.slideExpandUp{
	animation-name: slideExpandUp;
	-webkit-animation-name: slideExpandUp;

	animation-duration: 1.6s;
	-webkit-animation-duration: 1.6s;

	animation-timing-function: ease-out;
	-webkit-animation-timing-function: ease -out;

	visibility: visible !important;
}

@keyframes slideExpandUp {
	0% {
		transform: translateY(100%) scaleX(0.5);
	}
	30%{
		transform: translateY(-8%) scaleX(0.5);
	}
	40%{
		transform: translateY(2%) scaleX(0.5);
	}
	50%{
		transform: translateY(0%) scaleX(1.1);
	}
	60%{
		transform: translateY(0%) scaleX(0.9);
	}
	70% {
		transform: translateY(0%) scaleX(1.05);
	}
	80%{
		transform: translateY(0%) scaleX(0.95);
	}
	90% {
		transform: translateY(0%) scaleX(1.02);
	}
	100%{
		transform: translateY(0%) scaleX(1);
	}
}

@-webkit-keyframes slideExpandUp {
	0% {
		-webkit-transform: translateY(100%) scaleX(0.5);
	}
	30%{
		-webkit-transform: translateY(-8%) scaleX(0.5);
	}
	40%{
		-webkit-transform: translateY(2%) scaleX(0.5);
	}
	50%{
		-webkit-transform: translateY(0%) scaleX(1.1);
	}
	60%{
		-webkit-transform: translateY(0%) scaleX(0.9);
	}
	70% {
		-webkit-transform: translateY(0%) scaleX(1.05);
	}
	80%{
		-webkit-transform: translateY(0%) scaleX(0.95);
	}
	90% {
		-webkit-transform: translateY(0%) scaleX(1.02);
	}
	100%{
		-webkit-transform: translateY(0%) scaleX(1);
	}
}

/*
==============================================
expandUp 同时从小到大 从下到上
==============================================
*/
.expandUp{
	animation-name: expandUp;
	-webkit-animation-name: expandUp;

	animation-duration: 0.7s;
	-webkit-animation-duration: 0.7s;

	animation-timing-function: ease;
	-webkit-animation-timing-function: ease;

	visibility: visible !important;
}

@keyframes expandUp {
	0% {
		transform: translateY(100%) scale(0.6) scaleY(0.5);
	}
	60%{
		transform: translateY(-7%) scaleY(1.12);
	}
	75%{
		transform: translateY(3%);
	}
	100% {
		transform: translateY(0%) scale(1) scaleY(1);
	}
}

@-webkit-keyframes expandUp {
	0% {
		-webkit-transform: translateY(100%) scale(0.6) scaleY(0.5);
	}
	60%{
		-webkit-transform: translateY(-7%) scaleY(1.12);
	}
	75%{
		-webkit-transform: translateY(3%);
	}
	100% {
		-webkit-transform: translateY(0%) scale(1) scaleY(1);
	}
}

/*
==============================================
fadeIn 淡入
==============================================
*/
.fadeIn{
	animation-name: fadeIn;
	-webkit-animation-name: fadeIn;

	animation-duration: 1.5s;
	-webkit-animation-duration: 1.5s;

	animation-timing-function: ease-in-out;
	-webkit-animation-timing-function: ease-in-out;

	visibility: visible !important;
}

@keyframes fadeIn {
	0% {
		transform: scale(0);
		opacity: 0.0;
	}
	60% {
		transform: scale(1.1);
	}
	80% {
		transform: scale(0.9);
		opacity: 1;
	}
	100% {
		transform: scale(1);
		opacity: 1;
	}
}

@-webkit-keyframes fadeIn {
	0% {
		-webkit-transform: scale(0);
		opacity: 0.0;
	}
	60% {
		-webkit-transform: scale(1.1);
	}
	80% {
		-webkit-transform: scale(0.9);
		opacity: 1;
	}
	100% {
		-webkit-transform: scale(1);
		opacity: 1;
	}
}

/*
==============================================
expandOpen 从大到小缩放
==============================================
*/
.expandOpen{
	animation-name: expandOpen;
	-webkit-animation-name: expandOpen;

	animation-duration: 1.2s;
	-webkit-animation-duration: 1.2s;

	animation-timing-function: ease-out;
	-webkit-animation-timing-function: ease-out;

	visibility: visible !important;
}

@keyframes expandOpen {
	0% {
		transform: scale(1.8);
	}
	50% {
		transform: scale(0.95);
	}
	80% {
		transform: scale(1.05);
	}
	90% {
		transform: scale(0.98);
	}
	100% {
		transform: scale(1);
	}
}

@-webkit-keyframes expandOpen {
	0% {
		-webkit-transform: scale(1.8);
	}
	50% {
		-webkit-transform: scale(0.95);
	}
	80% {
		-webkit-transform: scale(1.05);
	}
	90% {
		-webkit-transform: scale(0.98);
	}
	100% {
		-webkit-transform: scale(1);
	}
}

/*
==============================================
bigEntrance 从小到大再晃动
==============================================
*/
.bigEntrance{
	animation-name: bigEntrance;
	-webkit-animation-name: bigEntrance;

	animation-duration: 1.6s;
	-webkit-animation-duration: 1.6s;

	animation-timing-function: ease-out;
	-webkit-animation-timing-function: ease-out;

	visibility: visible !important;
}

@keyframes bigEntrance {
	0% {
		transform: scale(0.3) rotate(6deg) translateX(-30%) translateY(30%);
		opacity: 0.2;
	}
	30% {
		transform: scale(1.03) rotate(-2deg) translateX(2%) translateY(-2%);
		opacity: 1;
	}
	45% {
		transform: scale(0.98) rotate(1deg) translateX(0%) translateY(0%);
		opacity: 1;
	}
	60% {
		transform: scale(1.01) rotate(-1deg) translateX(0%) translateY(0%);
		opacity: 1;
	}
	75% {
		transform: scale(0.99) rotate(1deg) translateX(0%) translateY(0%);
		opacity: 1;
	}
	90% {
		transform: scale(1.01) rotate(0deg) translateX(0%) translateY(0%);
		opacity: 1;
	}
	100% {
		transform: scale(1) rotate(0deg) translateX(0%) translateY(0%);
		opacity: 1;
	}
}

@-webkit-keyframes bigEntrance {
	0% {
		-webkit-transform: scale(0.3) rotate(6deg) translateX(-30%) translateY(30%);
		opacity: 0.2;
	}
	30% {
		-webkit-transform: scale(1.03) rotate(-2deg) translateX(2%) translateY(-2%);
		opacity: 1;
	}
	45% {
		-webkit-transform: scale(0.98) rotate(1deg) translateX(0%) translateY(0%);
		opacity: 1;
	}
	60% {
		-webkit-transform: scale(1.01) rotate(-1deg) translateX(0%) translateY(0%);
		opacity: 1;
	}
	75% {
		-webkit-transform: scale(0.99) rotate(1deg) translateX(0%) translateY(0%);
		opacity: 1;
	}
	90% {
		-webkit-transform: scale(1.01) rotate(0deg) translateX(0%) translateY(0%);
		opacity: 1;
	}
	100% {
		-webkit-transform: scale(1) rotate(0deg) translateX(0%) translateY(0%);
		opacity: 1;
	}
}

/*
==============================================
hatch 从下到上拉伸效果
==============================================
*/
.hatch{
	animation-name: hatch;
	-webkit-animation-name: hatch;

	animation-duration: 2s;
	-webkit-animation-duration: 2s;

	animation-timing-function: ease-in-out;
	-webkit-animation-timing-function: ease-in-out;

	transform-origin: 50% 100%;
	-ms-transform-origin: 50% 100%;
	-webkit-transform-origin: 50% 100%;

	visibility: visible !important;
}

@keyframes hatch {
	0% {
		transform: rotate(0deg) scaleY(0.6);
	}
	20% {
		transform: rotate(-2deg) scaleY(1.05);
	}
	35% {
		transform: rotate(2deg) scaleY(1);
	}
	50% {
		transform: rotate(-2deg);
	}
	65% {
		transform: rotate(1deg);
	}
	80% {
		transform: rotate(-1deg);
	}
	100% {
		transform: rotate(0deg);
	}
}

@-webkit-keyframes hatch {
	0% {
		-webkit-transform: rotate(0deg) scaleY(0.6);
	}
	20% {
		-webkit-transform: rotate(-2deg) scaleY(1.05);
	}
	35% {
		-webkit-transform: rotate(2deg) scaleY(1);
	}
	50% {
		-webkit-transform: rotate(-2deg);
	}
	65% {
		-webkit-transform: rotate(1deg);
	}
	80% {
		-webkit-transform: rotate(-1deg);
	}
	100% {
		-webkit-transform: rotate(0deg);
	}
}


/*
==============================================
bounce 轻微抖动
==============================================
*/
.bounce{
	animation-name: bounce;
	-webkit-animation-name: bounce;

	animation-duration: 1.6s;
	-webkit-animation-duration: 1.6s;

	animation-timing-function: ease;
	-webkit-animation-timing-function: ease;

	transform-origin: 50% 100%;
	-ms-transform-origin: 50% 100%;
	-webkit-transform-origin: 50% 100%;
}

@keyframes bounce {
	0% {
		transform: translateY(0%) scaleY(0.6);
	}
	60%{
		transform: translateY(-100%) scaleY(1.1);
	}
	70%{
		transform: translateY(0%) scaleY(0.95) scaleX(1.05);
	}
	80%{
		transform: translateY(0%) scaleY(1.05) scaleX(1);
	}
	90%{
		transform: translateY(0%) scaleY(0.95) scaleX(1);
	}
	100%{
		transform: translateY(0%) scaleY(1) scaleX(1);
	}
}

@-webkit-keyframes bounce {
	0% {
		-webkit-transform: translateY(0%) scaleY(0.6);
	}
	60%{
		-webkit-transform: translateY(-100%) scaleY(1.1);
	}
	70%{
		-webkit-transform: translateY(0%) scaleY(0.95) scaleX(1.05);
	}
	80%{
		-webkit-transform: translateY(0%) scaleY(1.05) scaleX(1);
	}
	90%{
		-webkit-transform: translateY(0%) scaleY(0.95) scaleX(1);
	}
	100%{
		-webkit-transform: translateY(0%) scaleY(1) scaleX(1);
	}
}


/*
==============================================
pulse 循环放大缩小
==============================================
*/
.pulse{
	animation-name: pulse;
	-webkit-animation-name: pulse;

	animation-duration: 1.5s;
	-webkit-animation-duration: 1.5s;

	animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;
}

@keyframes pulse {
	0% {
		transform: scale(0.9);
		opacity: 0.7;
	}
	50% {
		transform: scale(1);
		opacity: 1;
	}
	100% {
		transform: scale(0.9);
		opacity: 0.7;
	}
}

@-webkit-keyframes pulse {
	0% {
		-webkit-transform: scale(0.95);
		opacity: 0.7;
	}
	50% {
		-webkit-transform: scale(1);
		opacity: 1;
	}
	100% {
		-webkit-transform: scale(0.95);
		opacity: 0.7;
	}
}

/*
==============================================
floating 循环上下浮动
==============================================
*/
.floating{
	animation-name: floating;
	-webkit-animation-name: floating;

	animation-duration: 1.5s;
	-webkit-animation-duration: 1.5s;

	animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;
}

@keyframes floating {
	0% {
		transform: translateY(0%);
	}
	50% {
		transform: translateY(8%);
	}
	100% {
		transform: translateY(0%);
	}
}

@-webkit-keyframes floating {
	0% {
		-webkit-transform: translateY(0%);
	}
	50% {
		-webkit-transform: translateY(8%);
	}
	100% {
		-webkit-transform: translateY(0%);
	}
}

/*
==============================================
tossing 钟摆效果
==============================================
*/
.tossing{
	animation-name: tossing;
	-webkit-animation-name: tossing;

	animation-duration: 2.5s;
	-webkit-animation-duration: 2.5s;

	animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;
}

@keyframes tossing {
	0% {
		transform: rotate(-4deg);
	}
	50% {
		transform: rotate(4deg);
	}
	100% {
		transform: rotate(-4deg);
	}
}

@-webkit-keyframes tossing {
	0% {
		-webkit-transform: rotate(-4deg);
	}
	50% {
		-webkit-transform: rotate(4deg);
	}
	100% {
		-webkit-transform: rotate(-4deg);
	}
}

/*
==============================================
pullUp 从下向上拉伸
==============================================
*/
.pullUp{
	animation-name: pullUp;
	-webkit-animation-name: pullUp;

	animation-duration: 1.1s;
	-webkit-animation-duration: 1.1s;

	animation-timing-function: ease-out;
	-webkit-animation-timing-function: ease-out;

	transform-origin: 50% 100%;
	-ms-transform-origin: 50% 100%;
	-webkit-transform-origin: 50% 100%;
}

@keyframes pullUp {
	0% {
		transform: scaleY(0.1);
	}
	40% {
		transform: scaleY(1.02);
	}
	60% {
		transform: scaleY(0.98);
	}
	80% {
		transform: scaleY(1.01);
	}
	100% {
		transform: scaleY(0.98);
	}
	80% {
		transform: scaleY(1.01);
	}
	100% {
		transform: scaleY(1);
	}
}

@-webkit-keyframes pullUp {
	0% {
		-webkit-transform: scaleY(0.1);
	}
	40% {
		-webkit-transform: scaleY(1.02);
	}
	60% {
		-webkit-transform: scaleY(0.98);
	}
	80% {
		-webkit-transform: scaleY(1.01);
	}
	100% {
		-webkit-transform: scaleY(0.98);
	}
	80% {
		-webkit-transform: scaleY(1.01);
	}
	100% {
		-webkit-transform: scaleY(1);
	}
}

/*
==============================================
pullDown 从上向下拉伸
==============================================
*/
.pullDown{
	animation-name: pullDown;
	-webkit-animation-name: pullDown;

	animation-duration: 1.1s;
	-webkit-animation-duration: 1.1s;

	animation-timing-function: ease-out;
	-webkit-animation-timing-function: ease-out;

	transform-origin: 50% 0%;
	-ms-transform-origin: 50% 0%;
	-webkit-transform-origin: 50% 0%;
}

@keyframes pullDown {
	0% {
		transform: scaleY(0.1);
	}
	40% {
		transform: scaleY(1.02);
	}
	60% {
		transform: scaleY(0.98);
	}
	80% {
		transform: scaleY(1.01);
	}
	100% {
		transform: scaleY(0.98);
	}
	80% {
		transform: scaleY(1.01);
	}
	100% {
		transform: scaleY(1);
	}
}

@-webkit-keyframes pullDown {
	0% {
		-webkit-transform: scaleY(0.1);
	}
	40% {
		-webkit-transform: scaleY(1.02);
	}
	60% {
		-webkit-transform: scaleY(0.98);
	}
	80% {
		-webkit-transform: scaleY(1.01);
	}
	100% {
		-webkit-transform: scaleY(0.98);
	}
	80% {
		-webkit-transform: scaleY(1.01);
	}
	100% {
		-webkit-transform: scaleY(1);
	}
}

/*
==============================================
stretchLeft 从右向左拉伸
==============================================
*/
.stretchLeft{
	animation-name: stretchLeft;
	-webkit-animation-name: stretchLeft;

	animation-duration: 1.5s;
	-webkit-animation-duration: 1.5s;

	animation-timing-function: ease-out;
	-webkit-animation-timing-function: ease-out;

	transform-origin: 100% 0%;
	-ms-transform-origin: 100% 0%;
	-webkit-transform-origin: 100% 0%;
}

@keyframes stretchLeft {
	0% {
		transform: scaleX(0.3);
	}
	40% {
		transform: scaleX(1.02);
	}
	60% {
		transform: scaleX(0.98);
	}
	80% {
		transform: scaleX(1.01);
	}
	100% {
		transform: scaleX(0.98);
	}
	80% {
		transform: scaleX(1.01);
	}
	100% {
		transform: scaleX(1);
	}
}

@-webkit-keyframes stretchLeft {
	0% {
		-webkit-transform: scaleX(0.3);
	}
	40% {
		-webkit-transform: scaleX(1.02);
	}
	60% {
		-webkit-transform: scaleX(0.98);
	}
	80% {
		-webkit-transform: scaleX(1.01);
	}
	100% {
		-webkit-transform: scaleX(0.98);
	}
	80% {
		-webkit-transform: scaleX(1.01);
	}
	100% {
		-webkit-transform: scaleX(1);
	}
}

/*
==============================================
stretchRight 从左向右拉伸
==============================================
*/
.stretchRight{
	animation-name: stretchRight;
	-webkit-animation-name: stretchRight;

	animation-duration: 1.5s;
	-webkit-animation-duration: 1.5s;

	animation-timing-function: ease-out;
	-webkit-animation-timing-function: ease-out;

	transform-origin: 0% 0%;
	-ms-transform-origin: 0% 0%;
	-webkit-transform-origin: 0% 0%;
}

@keyframes stretchRight {
	0% {
		transform: scaleX(0.3);
	}
	40% {
		transform: scaleX(1.02);
	}
	60% {
		transform: scaleX(0.98);
	}
	80% {
		transform: scaleX(1.01);
	}
	100% {
		transform: scaleX(0.98);
	}
	80% {
		transform: scaleX(1.01);
	}
	100% {
		transform: scaleX(1);
	}
}

@-webkit-keyframes stretchRight {
	0% {
		-webkit-transform: scaleX(0.3);
	}
	40% {
		-webkit-transform: scaleX(1.02);
	}
	60% {
		-webkit-transform: scaleX(0.98);
	}
	80% {
		-webkit-transform: scaleX(1.01);
	}
	100% {
		-webkit-transform: scaleX(0.98);
	}
	80% {
		-webkit-transform: scaleX(1.01);
	}
	100% {
		-webkit-transform: scaleX(1);
	}
}


/*
==============================================
by ganxb added 2015/06/03
==============================================
*/
/* 通用动画过程 */
.animated {
	-webkit-animation-duration:1s;
	-moz-animation-duration:1s;
	-o-animation-duration:1s;
	animation-duration:1s;
	-webkit-animation-fill-mode:both;
	-moz-animation-fill-mode:both;
	-o-animation-fill-mode:both;
	animation-fill-mode:both
}

/*
==============================================
flash 闪烁2次
==============================================
*/
.flash {
	-webkit-animation-name:flash;
	-moz-animation-name:flash;
	-o-animation-name:flash;
	animation-name:flash
}
@-webkit-keyframes flash {
0%, 50%, 100% {
opacity:1
}
25%, 75% {
opacity:0
}
}
@-moz-keyframes flash {
0%, 50%, 100% {
opacity:1
}
25%, 75% {
opacity:0
}
}
@-o-keyframes flash {
0%, 50%, 100% {
opacity:1
}
25%, 75% {
opacity:0
}
}
@keyframes flash {
0%, 50%, 100% {
opacity:1
}
25%, 75% {
opacity:0
}
}

/*
==============================================
shake 左右移动（适合用在form表单验证）
==============================================
*/
.shake {
	-webkit-animation-name:shake;
	-moz-animation-name:shake;
	-o-animation-name:shake;
	animation-name: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)
}
}
@-o-keyframes shake {
0%, 100% {
-o-transform:translateX(0)
}
10%, 30%, 50%, 70%, 90% {
-o-transform:translateX(-10px)
}
20%, 40%, 60%, 80% {
-o-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 原地上下抖动1次
==============================================
*/
.bounce {
	-webkit-animation-name:bounce;
	-moz-animation-name:bounce;
	-o-animation-name:bounce;
	animation-name: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)
}
}
@-o-keyframes bounce {
0%, 20%, 50%, 80%, 100% {
-o-transform:translateY(0)
}
40% {
-o-transform:translateY(-30px)
}
60% {
-o-transform:translateY(-15px)
}
}
@keyframes bounce {
0%, 20%, 50%, 80%, 100% {
transform:translateY(0)
}
40% {
transform:translateY(-30px)
}
60% {
transform:translateY(-15px)
}
}

/*
==============================================
tada 放大晃动
==============================================
*/
.tada {
	-webkit-animation-name:tada;
	-moz-animation-name:tada;
	-o-animation-name:tada;
	animation-name: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)
}
}
@-o-keyframes tada {
0% {
-o-transform:scale(1)
}
10%, 20% {
-o-transform:scale(0.9) rotate(-3deg)
}
30%, 50%, 70%, 90% {
-o-transform:scale(1.1) rotate(3deg)
}
40%, 60%, 80% {
-o-transform:scale(1.1) rotate(-3deg)
}
100% {
-o-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 悬挂左右晃动
==============================================
*/
.swing {
	-webkit-transform-origin:top center;
	-moz-transform-origin:top center;
	-o-transform-origin:top center;
	transform-origin:top center;
	-webkit-animation-name:swing;
	-moz-animation-name:swing;
	-o-animation-name:swing;
	animation-name: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)
}
}
@-o-keyframes swing {
20% {
-o-transform:rotate(15deg)
}
40% {
-o-transform:rotate(-10deg)
}
60% {
-o-transform:rotate(5deg)
}
80% {
-o-transform:rotate(-5deg)
}
100% {
-o-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)
}
}

/*
==============================================
wobble 定点在下左右晃动
==============================================
*/
.wobble {
	-webkit-animation-name:wobble;
	-moz-animation-name:wobble;
	-o-animation-name:wobble;
	animation-name:wobble
}
@-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%)
}
}
@-o-keyframes wobble {
0% {
-o-transform:translateX(0%)
}
15% {
-o-transform:translateX(-25%) rotate(-5deg)
}
30% {
-o-transform:translateX(20%) rotate(3deg)
}
45% {
-o-transform:translateX(-15%) rotate(-3deg)
}
60% {
-o-transform:translateX(10%) rotate(2deg)
}
75% {
-o-transform:translateX(-5%) rotate(-1deg)
}
100% {
-o-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 循环放大缩小
==============================================
*/
.pulse {
	-webkit-animation-name:pulse;
	-moz-animation-name:pulse;
	-o-animation-name:pulse;
	animation-name: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)
}
}
@-o-keyframes pulse {
0% {
-o-transform:scale(1)
}
50% {
-o-transform:scale(1.1)
}
100% {
-o-transform:scale(1)
}
}
@keyframes pulse {
0% {
transform:scale(1)
}
50% {
transform:scale(1.1)
}
100% {
transform:scale(1)
}
}

/*
==============================================
flip 360度翻转
==============================================
*/
.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
}
@-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
}
}

/*
==============================================
flipInX 水平里外晃动
==============================================
*/
.flipInX {
	-webkit-backface-visibility:visible!important;
	-webkit-animation-name:flipInX;
	-moz-backface-visibility:visible!important;
	-moz-animation-name:flipInX;
	-o-backface-visibility:visible!important;
	-o-animation-name:flipInX;
	backface-visibility:visible!important;
	animation-name:flipInX
}
@-webkit-keyframes flipInX {
0% {
-webkit-transform:perspective(400px) rotateX(90deg);
opacity:0
}
40% {
-webkit-transform:perspective(400px) rotateX(-10deg)
}
70% {
-webkit-transform:perspective(400px) rotateX(10deg)
}
100% {
-webkit-transform:perspective(400px) rotateX(0deg);
opacity:1
}
}
@-moz-keyframes flipInX {
0% {
-moz-transform:perspective(400px) rotateX(90deg);
opacity:0
}
40% {
-moz-transform:perspective(400px) rotateX(-10deg)
}
70% {
-moz-transform:perspective(400px) rotateX(10deg)
}
100% {
-moz-transform:perspective(400px) rotateX(0deg);
opacity:1
}
}
@-o-keyframes flipInX {
0% {
-o-transform:perspective(400px) rotateX(90deg);
opacity:0
}
40% {
-o-transform:perspective(400px) rotateX(-10deg)
}
70% {
-o-transform:perspective(400px) rotateX(10deg)
}
100% {
-o-transform:perspective(400px) rotateX(0deg);
opacity:1
}
}
@keyframes flipInX {
0% {
transform:perspective(400px) rotateX(90deg);
opacity:0
}
40% {
transform:perspective(400px) rotateX(-10deg)
}
70% {
transform:perspective(400px) rotateX(10deg)
}
100% {
transform:perspective(400px) rotateX(0deg);
opacity:1
}
}

/*
==============================================
flipOutX 上下翻转消失
==============================================
*/
.flipOutX {
	-webkit-animation-name:flipOutX;
	-webkit-backface-visibility:visible!important;
	-moz-animation-name:flipOutX;
	-moz-backface-visibility:visible!important;
	-o-animation-name:flipOutX;
	-o-backface-visibility:visible!important;
	animation-name:flipOutX;
	backface-visibility:visible!important
}
@-webkit-keyframes flipOutX {
0% {
-webkit-transform:perspective(400px) rotateX(0deg);
opacity:1
}
100% {
-webkit-transform:perspective(400px) rotateX(90deg);
opacity:0
}
}
@-moz-keyframes flipOutX {
0% {
-moz-transform:perspective(400px) rotateX(0deg);
opacity:1
}
100% {
-moz-transform:perspective(400px) rotateX(90deg);
opacity:0
}
}
@-o-keyframes flipOutX {
0% {
-o-transform:perspective(400px) rotateX(0deg);
opacity:1
}
100% {
-o-transform:perspective(400px) rotateX(90deg);
opacity:0
}
}
@keyframes flipOutX {
0% {
transform:perspective(400px) rotateX(0deg);
opacity:1
}
100% {
transform:perspective(400px) rotateX(90deg);
opacity:0
}
}

/*
==============================================
flipInY Y轴晃动
==============================================
*/
.flipInY {
	-webkit-backface-visibility:visible!important;
	-webkit-animation-name:flipInY;
	-moz-backface-visibility:visible!important;
	-moz-animation-name:flipInY;
	-o-backface-visibility:visible!important;
	-o-animation-name:flipInY;
	backface-visibility:visible!important;
	animation-name:flipInY
}
@-webkit-keyframes flipInY {
0% {
-webkit-transform:perspective(400px) rotateY(90deg);
opacity:0
}
40% {
-webkit-transform:perspective(400px) rotateY(-10deg)
}
70% {
-webkit-transform:perspective(400px) rotateY(10deg)
}
100% {
-webkit-transform:perspective(400px) rotateY(0deg);
opacity:1
}
}
@-moz-keyframes flipInY {
0% {
-moz-transform:perspective(400px) rotateY(90deg);
opacity:0
}
40% {
-moz-transform:perspective(400px) rotateY(-10deg)
}
70% {
-moz-transform:perspective(400px) rotateY(10deg)
}
100% {
-moz-transform:perspective(400px) rotateY(0deg);
opacity:1
}
}
@-o-keyframes flipInY {
0% {
-o-transform:perspective(400px) rotateY(90deg);
opacity:0
}
40% {
-o-transform:perspective(400px) rotateY(-10deg)
}
70% {
-o-transform:perspective(400px) rotateY(10deg)
}
100% {
-o-transform:perspective(400px) rotateY(0deg);
opacity:1
}
}
@keyframes flipInY {
0% {
transform:perspective(400px) rotateY(90deg);
opacity:0
}
40% {
transform:perspective(400px) rotateY(-10deg)
}
70% {
transform:perspective(400px) rotateY(10deg)
}
100% {
transform:perspective(400px) rotateY(0deg);
opacity:1
}
}

/*
==============================================
flipOutY Y轴翻转消失
==============================================
*/
.flipOutY {
	-webkit-backface-visibility:visible!important;
	-webkit-animation-name:flipOutY;
	-moz-backface-visibility:visible!important;
	-moz-animation-name:flipOutY;
	-o-backface-visibility:visible!important;
	-o-animation-name:flipOutY;
	backface-visibility:visible!important;
	animation-name:flipOutY
}
@-webkit-keyframes flipOutY {
0% {
-webkit-transform:perspective(400px) rotateY(0deg);
opacity:1
}
100% {
-webkit-transform:perspective(400px) rotateY(90deg);
opacity:0
}
}
@-moz-keyframes flipOutY {
0% {
-moz-transform:perspective(400px) rotateY(0deg);
opacity:1
}
100% {
-moz-transform:perspective(400px) rotateY(90deg);
opacity:0
}
}
@-o-keyframes flipOutY {
0% {
-o-transform:perspective(400px) rotateY(0deg);
opacity:1
}
100% {
-o-transform:perspective(400px) rotateY(90deg);
opacity:0
}
}
@keyframes flipOutY {
0% {
transform:perspective(400px) rotateY(0deg);
opacity:1
}
100% {
transform:perspective(400px) rotateY(90deg);
opacity:0
}
}

/*
==============================================
fadeIn 淡入
==============================================
*/
.fadeIn {
	-webkit-animation-name:fadeIn;
	-moz-animation-name:fadeIn;
	-o-animation-name:fadeIn;
	animation-name:fadeIn
}
@-webkit-keyframes fadeIn {
0% {
opacity:0
}
100% {
opacity:1
}
}
@-moz-keyframes fadeIn {
0% {
opacity:0
}
100% {
opacity:1
}
}
@-o-keyframes fadeIn {
0% {
opacity:0
}
100% {
opacity:1
}
}
@keyframes fadeIn {
0% {
opacity:0
}
100% {
opacity:1
}
}

/*
==============================================
fadeInUp 从下到上淡入
==============================================
*/
.fadeInUp {
	-webkit-animation-name:fadeInUp;
	-moz-animation-name:fadeInUp;
	-o-animation-name:fadeInUp;
	animation-name:fadeInUp
}
@-webkit-keyframes fadeInUp {
0% {
opacity:0;
-webkit-transform:translateY(20px)
}
100% {
opacity:1;
-webkit-transform:translateY(0)
}
}
@-moz-keyframes fadeInUp {
0% {
opacity:0;
-moz-transform:translateY(20px)
}
100% {
opacity:1;
-moz-transform:translateY(0)
}
}
@-o-keyframes fadeInUp {
0% {
opacity:0;
-o-transform:translateY(20px)
}
100% {
opacity:1;
-o-transform:translateY(0)
}
}
@keyframes fadeInUp {
0% {
opacity:0;
transform:translateY(20px)
}
100% {
opacity:1;
transform:translateY(0)
}
}

/*
==============================================
fadeInDown 从上到下淡入
==============================================
*/
.fadeInDown {
	-webkit-animation-name:fadeInDown;
	-moz-animation-name:fadeInDown;
	-o-animation-name:fadeInDown;
	animation-name:fadeInDown
}
@-webkit-keyframes fadeInDown {
0% {
opacity:0;
-webkit-transform:translateY(-20px)
}
100% {
opacity:1;
-webkit-transform:translateY(0)
}
}
@-moz-keyframes fadeInDown {
0% {
opacity:0;
-moz-transform:translateY(-20px)
}
100% {
opacity:1;
-moz-transform:translateY(0)
}
}
@-o-keyframes fadeInDown {
0% {
opacity:0;
-o-transform:translateY(-20px)
}
100% {
opacity:1;
-o-transform:translateY(0)
}
}
@keyframes fadeInDown {
0% {
opacity:0;
transform:translateY(-20px)
}
100% {
opacity:1;
transform:translateY(0)
}
}

/*
==============================================
fadeInLeft 从左到右淡入
==============================================
*/
.fadeInLeft {
	-webkit-animation-name:fadeInLeft;
	-moz-animation-name:fadeInLeft;
	-o-animation-name:fadeInLeft;
	animation-name:fadeInLeft
}
@-webkit-keyframes fadeInLeft {
0% {
opacity:0;
-webkit-transform:translateX(-20px)
}
100% {
opacity:1;
-webkit-transform:translateX(0)
}
}
@-moz-keyframes fadeInLeft {
0% {
opacity:0;
-moz-transform:translateX(-20px)
}
100% {
opacity:1;
-moz-transform:translateX(0)
}
}
@-o-keyframes fadeInLeft {
0% {
opacity:0;
-o-transform:translateX(-20px)
}
100% {
opacity:1;
-o-transform:translateX(0)
}
}
@keyframes fadeInLeft {
0% {
opacity:0;
transform:translateX(-20px)
}
100% {
opacity:1;
transform:translateX(0)
}
}

/*
==============================================
fadeInRight 从右到左淡入
==============================================
*/
.fadeInRight {
	-webkit-animation-name:fadeInRight;
	-moz-animation-name:fadeInRight;
	-o-animation-name:fadeInRight;
	animation-name:fadeInRight
}
@-webkit-keyframes fadeInRight {
0% {
opacity:0;
-webkit-transform:translateX(20px)
}
100% {
opacity:1;
-webkit-transform:translateX(0)
}
}
@-moz-keyframes fadeInRight {
0% {
opacity:0;
-moz-transform:translateX(20px)
}
100% {
opacity:1;
-moz-transform:translateX(0)
}
}
@-o-keyframes fadeInRight {
0% {
opacity:0;
-o-transform:translateX(20px)
}
100% {
opacity:1;
-o-transform:translateX(0)
}
}
@keyframes fadeInRight {
0% {
opacity:0;
transform:translateX(20px)
}
100% {
opacity:1;
transform:translateX(0)
}
}

/*
==============================================
fadeInUpBig 从下到上
==============================================
*/
.fadeInUpBig {
	-webkit-animation-name:fadeInUpBig;
	-moz-animation-name:fadeInUpBig;
	-o-animation-name:fadeInUpBig;
	animation-name:fadeInUpBig
}
@-webkit-keyframes fadeInUpBig {
0% {
opacity:0;
-webkit-transform:translateY(2000px)
}
100% {
opacity:1;
-webkit-transform:translateY(0)
}
}
@-moz-keyframes fadeInUpBig {
0% {
opacity:0;
-moz-transform:translateY(2000px)
}
100% {
opacity:1;
-moz-transform:translateY(0)
}
}
@-o-keyframes fadeInUpBig {
0% {
opacity:0;
-o-transform:translateY(2000px)
}
100% {
opacity:1;
-o-transform:translateY(0)
}
}
@keyframes fadeInUpBig {
0% {
opacity:0;
transform:translateY(2000px)
}
100% {
opacity:1;
transform:translateY(0)
}
}

/*
==============================================
fadeInDownBig 从上到下
==============================================
*/
.fadeInDownBig {
	-webkit-animation-name:fadeInDownBig;
	-moz-animation-name:fadeInDownBig;
	-o-animation-name:fadeInDownBig;
	animation-name:fadeInDownBig
}
@-webkit-keyframes fadeInDownBig {
0% {
opacity:0;
-webkit-transform:translateY(-2000px)
}
100% {
opacity:1;
-webkit-transform:translateY(0)
}
}
@-moz-keyframes fadeInDownBig {
0% {
opacity:0;
-moz-transform:translateY(-2000px)
}
100% {
opacity:1;
-moz-transform:translateY(0)
}
}
@-o-keyframes fadeInDownBig {
0% {
opacity:0;
-o-transform:translateY(-2000px)
}
100% {
opacity:1;
-o-transform:translateY(0)
}
}
@keyframes fadeInDownBig {
0% {
opacity:0;
transform:translateY(-2000px)
}
100% {
opacity:1;
transform:translateY(0)
}
}

/*
==============================================
fadeInLeftBig 从左到右
==============================================
*/
.fadeInLeftBig {
	-webkit-animation-name:fadeInLeftBig;
	-moz-animation-name:fadeInLeftBig;
	-o-animation-name:fadeInLeftBig;
	animation-name:fadeInLeftBig
}
@-webkit-keyframes fadeInLeftBig {
0% {
opacity:0;
-webkit-transform:translateX(-2000px)
}
100% {
opacity:1;
-webkit-transform:translateX(0)
}
}
@-moz-keyframes fadeInLeftBig {
0% {
opacity:0;
-moz-transform:translateX(-2000px)
}
100% {
opacity:1;
-moz-transform:translateX(0)
}
}
@-o-keyframes fadeInLeftBig {
0% {
opacity:0;
-o-transform:translateX(-2000px)
}
100% {
opacity:1;
-o-transform:translateX(0)
}
}
@keyframes fadeInLeftBig {
0% {
opacity:0;
transform:translateX(-2000px)
}
100% {
opacity:1;
transform:translateX(0)
}
}

/*
==============================================
fadeInRightBig 从右到左
==============================================
*/
.fadeInRightBig {
	-webkit-animation-name:fadeInRightBig;
	-moz-animation-name:fadeInRightBig;
	-o-animation-name:fadeInRightBig;
	animation-name:fadeInRightBig
}
@-webkit-keyframes fadeInRightBig {
0% {
opacity:0;
-webkit-transform:translateX(2000px)
}
100% {
opacity:1;
-webkit-transform:translateX(0)
}
}
@-moz-keyframes fadeInRightBig {
0% {
opacity:0;
-moz-transform:translateX(2000px)
}
100% {
opacity:1;
-moz-transform:translateX(0)
}
}
@-o-keyframes fadeInRightBig {
0% {
opacity:0;
-o-transform:translateX(2000px)
}
100% {
opacity:1;
-o-transform:translateX(0)
}
}
@keyframes fadeInRightBig {
0% {
opacity:0;
transform:translateX(2000px)
}
100% {
opacity:1;
transform:translateX(0)
}
}

/*
==============================================
fadeOut 淡出
==============================================
*/
.fadeOut {
	-webkit-animation-name:fadeOut;
	-moz-animation-name:fadeOut;
	-o-animation-name:fadeOut;
	animation-name:fadeOut
}
@-webkit-keyframes fadeOut {
0% {
opacity:1
}
100% {
opacity:0
}
}
@-moz-keyframes fadeOut {
0% {
opacity:1
}
100% {
opacity:0
}
}
@-o-keyframes fadeOut {
0% {
opacity:1
}
100% {
opacity:0
}
}
@keyframes fadeOut {
0% {
opacity:1
}
100% {
opacity:0
}
}

/*
==============================================
fadeOutUp 从下到上淡出
==============================================
*/
.fadeOutUp {
	-webkit-animation-name:fadeOutUp;
	-moz-animation-name:fadeOutUp;
	-o-animation-name:fadeOutUp;
	animation-name:fadeOutUp
}
@-webkit-keyframes fadeOutUp {
0% {
opacity:1;
-webkit-transform:translateY(0)
}
100% {
opacity:0;
-webkit-transform:translateY(-20px)
}
}
@-moz-keyframes fadeOutUp {
0% {
opacity:1;
-moz-transform:translateY(0)
}
100% {
opacity:0;
-moz-transform:translateY(-20px)
}
}
@-o-keyframes fadeOutUp {
0% {
opacity:1;
-o-transform:translateY(0)
}
100% {
opacity:0;
-o-transform:translateY(-20px)
}
}
@keyframes fadeOutUp {
0% {
opacity:1;
transform:translateY(0)
}
100% {
opacity:0;
transform:translateY(-20px)
}
}

/*
==============================================
fadeOutDown 从上到下淡出
==============================================
*/
.fadeOutDown {
	-webkit-animation-name:fadeOutDown;
	-moz-animation-name:fadeOutDown;
	-o-animation-name:fadeOutDown;
	animation-name:fadeOutDown
}
@-webkit-keyframes fadeOutDown {
0% {
opacity:1;
-webkit-transform:translateY(0)
}
100% {
opacity:0;
-webkit-transform:translateY(20px)
}
}
@-moz-keyframes fadeOutDown {
0% {
opacity:1;
-moz-transform:translateY(0)
}
100% {
opacity:0;
-moz-transform:translateY(20px)
}
}
@-o-keyframes fadeOutDown {
0% {
opacity:1;
-o-transform:translateY(0)
}
100% {
opacity:0;
-o-transform:translateY(20px)
}
}
@keyframes fadeOutDown {
0% {
opacity:1;
transform:translateY(0)
}
100% {
opacity:0;
transform:translateY(20px)
}
}

/*
==============================================
fadeOutLeft 从右到左淡出
==============================================
*/
.fadeOutLeft {
	-webkit-animation-name:fadeOutLeft;
	-moz-animation-name:fadeOutLeft;
	-o-animation-name:fadeOutLeft;
	animation-name:fadeOutLeft
}
@-webkit-keyframes fadeOutLeft {
0% {
opacity:1;
-webkit-transform:translateX(0)
}
100% {
opacity:0;
-webkit-transform:translateX(-20px)
}
}
@-moz-keyframes fadeOutLeft {
0% {
opacity:1;
-moz-transform:translateX(0)
}
100% {
opacity:0;
-moz-transform:translateX(-20px)
}
}
@-o-keyframes fadeOutLeft {
0% {
opacity:1;
-o-transform:translateX(0)
}
100% {
opacity:0;
-o-transform:translateX(-20px)
}
}
@keyframes fadeOutLeft {
0% {
opacity:1;
transform:translateX(0)
}
100% {
opacity:0;
transform:translateX(-20px)
}
}

/*
==============================================
fadeOutRight 从左到右淡出
==============================================
*/
.fadeOutRight {
	-webkit-animation-name:fadeOutRight;
	-moz-animation-name:fadeOutRight;
	-o-animation-name:fadeOutRight;
	animation-name:fadeOutRight
}
@-webkit-keyframes fadeOutRight {
0% {
opacity:1;
-webkit-transform:translateX(0)
}
100% {
opacity:0;
-webkit-transform:translateX(20px)
}
}
@-moz-keyframes fadeOutRight {
0% {
opacity:1;
-moz-transform:translateX(0)
}
100% {
opacity:0;
-moz-transform:translateX(20px)
}
}
@-o-keyframes fadeOutRight {
0% {
opacity:1;
-o-transform:translateX(0)
}
100% {
opacity:0;
-o-transform:translateX(20px)
}
}
@keyframes fadeOutRight {
0% {
opacity:1;
transform:translateX(0)
}
100% {
opacity:0;
transform:translateX(20px)
}
}

/*
==============================================
fadeOutUpBig 从下到上移动出去
==============================================
*/
.fadeOutUpBig {
	-webkit-animation-name:fadeOutUpBig;
	-moz-animation-name:fadeOutUpBig;
	-o-animation-name:fadeOutUpBig;
	animation-name:fadeOutUpBig
}
@-webkit-keyframes fadeOutUpBig {
0% {
opacity:1;
-webkit-transform:translateY(0)
}
100% {
opacity:0;
-webkit-transform:translateY(-2000px)
}
}
@-moz-keyframes fadeOutUpBig {
0% {
opacity:1;
-moz-transform:translateY(0)
}
100% {
opacity:0;
-moz-transform:translateY(-2000px)
}
}
@-o-keyframes fadeOutUpBig {
0% {
opacity:1;
-o-transform:translateY(0)
}
100% {
opacity:0;
-o-transform:translateY(-2000px)
}
}
@keyframes fadeOutUpBig {
0% {
opacity:1;
transform:translateY(0)
}
100% {
opacity:0;
transform:translateY(-2000px)
}
}

/*
==============================================
fadeOutDownBig 从上到下移动出去
==============================================
*/
.fadeOutDownBig {
	-webkit-animation-name:fadeOutDownBig;
	-moz-animation-name:fadeOutDownBig;
	-o-animation-name:fadeOutDownBig;
	animation-name:fadeOutDownBig
}
@-webkit-keyframes fadeOutDownBig {
0% {
opacity:1;
-webkit-transform:translateY(0)
}
100% {
opacity:0;
-webkit-transform:translateY(2000px)
}
}
@-moz-keyframes fadeOutDownBig {
0% {
opacity:1;
-moz-transform:translateY(0)
}
100% {
opacity:0;
-moz-transform:translateY(2000px)
}
}
@-o-keyframes fadeOutDownBig {
0% {
opacity:1;
-o-transform:translateY(0)
}
100% {
opacity:0;
-o-transform:translateY(2000px)
}
}
@keyframes fadeOutDownBig {
0% {
opacity:1;
transform:translateY(0)
}
100% {
opacity:0;
transform:translateY(2000px)
}
}

/*
==============================================
fadeOutLeftBig 从右到左移动出去
==============================================
*/
.fadeOutLeftBig {
	-webkit-animation-name:fadeOutLeftBig;
	-moz-animation-name:fadeOutLeftBig;
	-o-animation-name:fadeOutLeftBig;
	animation-name:fadeOutLeftBig
}
@-webkit-keyframes fadeOutLeftBig {
0% {
opacity:1;
-webkit-transform:translateX(0)
}
100% {
opacity:0;
-webkit-transform:translateX(-2000px)
}
}
@-moz-keyframes fadeOutLeftBig {
0% {
opacity:1;
-moz-transform:translateX(0)
}
100% {
opacity:0;
-moz-transform:translateX(-2000px)
}
}
@-o-keyframes fadeOutLeftBig {
0% {
opacity:1;
-o-transform:translateX(0)
}
100% {
opacity:0;
-o-transform:translateX(-2000px)
}
}
@keyframes fadeOutLeftBig {
0% {
opacity:1;
transform:translateX(0)
}
100% {
opacity:0;
transform:translateX(-2000px)
}
}

/*
==============================================
fadeOutRightBig 从左到右移动出去
==============================================
*/
.fadeOutRightBig {
	-webkit-animation-name:fadeOutRightBig;
	-moz-animation-name:fadeOutRightBig;
	-o-animation-name:fadeOutRightBig;
	animation-name:fadeOutRightBig
}
@-webkit-keyframes fadeOutRightBig {
0% {
opacity:1;
-webkit-transform:translateX(0)
}
100% {
opacity:0;
-webkit-transform:translateX(2000px)
}
}
@-moz-keyframes fadeOutRightBig {
0% {
opacity:1;
-moz-transform:translateX(0)
}
100% {
opacity:0;
-moz-transform:translateX(2000px)
}
}
@-o-keyframes fadeOutRightBig {
0% {
opacity:1;
-o-transform:translateX(0)
}
100% {
opacity:0;
-o-transform:translateX(2000px)
}
}
@keyframes fadeOutRightBig {
0% {
opacity:1;
transform:translateX(0)
}
100% {
opacity:0;
transform:translateX(2000px)
}
}

/*
==============================================
bounceIn 从中心放大
==============================================
*/
.bounceIn {
	-webkit-animation-name:bounceIn;
	-moz-animation-name:bounceIn;
	-o-animation-name:bounceIn;
	animation-name:bounceIn
}
@-webkit-keyframes bounceIn {
0% {
opacity:0;
-webkit-transform:scale(.3)
}
50% {
opacity:1;
-webkit-transform:scale(1.05)
}
70% {
-webkit-transform:scale(.9)
}
100% {
-webkit-transform:scale(1)
}
}
@-moz-keyframes bounceIn {
0% {
opacity:0;
-moz-transform:scale(.3)
}
50% {
opacity:1;
-moz-transform:scale(1.05)
}
70% {
-moz-transform:scale(.9)
}
100% {
-moz-transform:scale(1)
}
}
@-o-keyframes bounceIn {
0% {
opacity:0;
-o-transform:scale(.3)
}
50% {
opacity:1;
-o-transform:scale(1.05)
}
70% {
-o-transform:scale(.9)
}
100% {
-o-transform:scale(1)
}
}
@keyframes bounceIn {
0% {
opacity:0;
transform:scale(.3)
}
50% {
opacity:1;
transform:scale(1.05)
}
70% {
transform:scale(.9)
}
100% {
transform:scale(1)
}
}

/*
==============================================
bounceInUp 从下到上缓冲
==============================================
*/
.bounceInUp {
	-webkit-animation-name:bounceInUp;
	-moz-animation-name:bounceInUp;
	-o-animation-name:bounceInUp;
	animation-name:bounceInUp
}
@-webkit-keyframes bounceInUp {
0% {
opacity:0;
-webkit-transform:translateY(2000px)
}
60% {
opacity:1;
-webkit-transform:translateY(-30px)
}
80% {
-webkit-transform:translateY(10px)
}
100% {
-webkit-transform:translateY(0)
}
}
@-moz-keyframes bounceInUp {
0% {
opacity:0;
-moz-transform:translateY(2000px)
}
60% {
opacity:1;
-moz-transform:translateY(-30px)
}
80% {
-moz-transform:translateY(10px)
}
100% {
-moz-transform:translateY(0)
}
}
@-o-keyframes bounceInUp {
0% {
opacity:0;
-o-transform:translateY(2000px)
}
60% {
opacity:1;
-o-transform:translateY(-30px)
}
80% {
-o-transform:translateY(10px)
}
100% {
-o-transform:translateY(0)
}
}
@keyframes bounceInUp {
0% {
opacity:0;
transform:translateY(2000px)
}
60% {
opacity:1;
transform:translateY(-30px)
}
80% {
transform:translateY(10px)
}
100% {
transform:translateY(0)
}
}

/*
==============================================
bounceInDown 从上到下缓冲
==============================================
*/
.bounceInDown {
	-webkit-animation-name:bounceInDown;
	-moz-animation-name:bounceInDown;
	-o-animation-name:bounceInDown;
	animation-name:bounceInDown
}
@-webkit-keyframes bounceInDown {
0% {
opacity:0;
-webkit-transform:translateY(-2000px)
}
60% {
opacity:1;
-webkit-transform:translateY(30px)
}
80% {
-webkit-transform:translateY(-10px)
}
100% {
-webkit-transform:translateY(0)
}
}
@-moz-keyframes bounceInDown {
0% {
opacity:0;
-moz-transform:translateY(-2000px)
}
60% {
opacity:1;
-moz-transform:translateY(30px)
}
80% {
-moz-transform:translateY(-10px)
}
100% {
-moz-transform:translateY(0)
}
}
@-o-keyframes bounceInDown {
0% {
opacity:0;
-o-transform:translateY(-2000px)
}
60% {
opacity:1;
-o-transform:translateY(30px)
}
80% {
-o-transform:translateY(-10px)
}
100% {
-o-transform:translateY(0)
}
}
@keyframes bounceInDown {
0% {
opacity:0;
transform:translateY(-2000px)
}
60% {
opacity:1;
transform:translateY(30px)
}
80% {
transform:translateY(-10px)
}
100% {
transform:translateY(0)
}
}

/*
==============================================
bounceInLeft 从左到右缓冲
==============================================
*/
.bounceInLeft {
	-webkit-animation-name:bounceInLeft;
	-moz-animation-name:bounceInLeft;
	-o-animation-name:bounceInLeft;
	animation-name:bounceInLeft
}
@-webkit-keyframes bounceInLeft {
0% {
opacity:0;
-webkit-transform:translateX(-2000px)
}
60% {
opacity:1;
-webkit-transform:translateX(30px)
}
80% {
-webkit-transform:translateX(-10px)
}
100% {
-webkit-transform:translateX(0)
}
}
@-moz-keyframes bounceInLeft {
0% {
opacity:0;
-moz-transform:translateX(-2000px)
}
60% {
opacity:1;
-moz-transform:translateX(30px)
}
80% {
-moz-transform:translateX(-10px)
}
100% {
-moz-transform:translateX(0)
}
}
@-o-keyframes bounceInLeft {
0% {
opacity:0;
-o-transform:translateX(-2000px)
}
60% {
opacity:1;
-o-transform:translateX(30px)
}
80% {
-o-transform:translateX(-10px)
}
100% {
-o-transform:translateX(0)
}
}
@keyframes bounceInLeft {
0% {
opacity:0;
transform:translateX(-2000px)
}
60% {
opacity:1;
transform:translateX(30px)
}
80% {
transform:translateX(-10px)
}
100% {
transform:translateX(0)
}
}

/*
==============================================
bounceInRight 从右到左缓冲
==============================================
*/
.bounceInRight {
	-webkit-animation-name:bounceInRight;
	-moz-animation-name:bounceInRight;
	-o-animation-name:bounceInRight;
	animation-name:bounceInRight
}
@-webkit-keyframes bounceInRight {
0% {
opacity:0;
-webkit-transform:translateX(2000px)
}
60% {
opacity:1;
-webkit-transform:translateX(-30px)
}
80% {
-webkit-transform:translateX(10px)
}
100% {
-webkit-transform:translateX(0)
}
}
@-moz-keyframes bounceInRight {
0% {
opacity:0;
-moz-transform:translateX(2000px)
}
60% {
opacity:1;
-moz-transform:translateX(-30px)
}
80% {
-moz-transform:translateX(10px)
}
100% {
-moz-transform:translateX(0)
}
}
@-o-keyframes bounceInRight {
0% {
opacity:0;
-o-transform:translateX(2000px)
}
60% {
opacity:1;
-o-transform:translateX(-30px)
}
80% {
-o-transform:translateX(10px)
}
100% {
-o-transform:translateX(0)
}
}
@keyframes bounceInRight {
0% {
opacity:0;
transform:translateX(2000px)
}
60% {
opacity:1;
transform:translateX(-30px)
}
80% {
transform:translateX(10px)
}
100% {
transform:translateX(0)
}
}

/*
==============================================
bounceOut 从大到小缩放消失
==============================================
*/
.bounceOut {
	-webkit-animation-name:bounceOut;
	-moz-animation-name:bounceOut;
	-o-animation-name:bounceOut;
	animation-name:bounceOut
}
@-webkit-keyframes bounceOut {
0% {
-webkit-transform:scale(1)
}
25% {
-webkit-transform:scale(.95)
}
50% {
opacity:1;
-webkit-transform:scale(1.1)
}
100% {
opacity:0;
-webkit-transform:scale(.3)
}
}
@-moz-keyframes bounceOut {
0% {
-moz-transform:scale(1)
}
25% {
-moz-transform:scale(.95)
}
50% {
opacity:1;
-moz-transform:scale(1.1)
}
100% {
opacity:0;
-moz-transform:scale(.3)
}
}
@-o-keyframes bounceOut {
0% {
-o-transform:scale(1)
}
25% {
-o-transform:scale(.95)
}
50% {
opacity:1;
-o-transform:scale(1.1)
}
100% {
opacity:0;
-o-transform:scale(.3)
}
}
@keyframes bounceOut {
0% {
transform:scale(1)
}
25% {
transform:scale(.95)
}
50% {
opacity:1;
transform:scale(1.1)
}
100% {
opacity:0;
transform:scale(.3)
}
}

/*
==============================================
bounceOutUp 快速向上消失
==============================================
*/
.bounceOutUp {
	-webkit-animation-name:bounceOutUp;
	-moz-animation-name:bounceOutUp;
	-o-animation-name:bounceOutUp;
	animation-name:bounceOutUp
}
@-webkit-keyframes bounceOutUp {
0% {
-webkit-transform:translateY(0)
}
20% {
opacity:1;
-webkit-transform:translateY(20px)
}
100% {
opacity:0;
-webkit-transform:translateY(-2000px)
}
}
@-moz-keyframes bounceOutUp {
0% {
-moz-transform:translateY(0)
}
20% {
opacity:1;
-moz-transform:translateY(20px)
}
100% {
opacity:0;
-moz-transform:translateY(-2000px)
}
}
@-o-keyframes bounceOutUp {
0% {
-o-transform:translateY(0)
}
20% {
opacity:1;
-o-transform:translateY(20px)
}
100% {
opacity:0;
-o-transform:translateY(-2000px)
}
}
@keyframes bounceOutUp {
0% {
transform:translateY(0)
}
20% {
opacity:1;
transform:translateY(20px)
}
100% {
opacity:0;
transform:translateY(-2000px)
}
}

/*
==============================================
bounceOutDown 快速向下消失
==============================================
*/
.bounceOutDown {
	-webkit-animation-name:bounceOutDown;
	-moz-animation-name:bounceOutDown;
	-o-animation-name:bounceOutDown;
	animation-name:bounceOutDown
}
@-webkit-keyframes bounceOutDown {
0% {
-webkit-transform:translateY(0)
}
20% {
opacity:1;
-webkit-transform:translateY(-20px)
}
100% {
opacity:0;
-webkit-transform:translateY(2000px)
}
}
@-moz-keyframes bounceOutDown {
0% {
-moz-transform:translateY(0)
}
20% {
opacity:1;
-moz-transform:translateY(-20px)
}
100% {
opacity:0;
-moz-transform:translateY(2000px)
}
}
@-o-keyframes bounceOutDown {
0% {
-o-transform:translateY(0)
}
20% {
opacity:1;
-o-transform:translateY(-20px)
}
100% {
opacity:0;
-o-transform:translateY(2000px)
}
}
@keyframes bounceOutDown {
0% {
transform:translateY(0)
}
20% {
opacity:1;
transform:translateY(-20px)
}
100% {
opacity:0;
transform:translateY(2000px)
}
}

/*
==============================================
bounceOutLeft 快速向左消失
==============================================
*/
.bounceOutLeft {
	-webkit-animation-name:bounceOutLeft;
	-moz-animation-name:bounceOutLeft;
	-o-animation-name:bounceOutLeft;
	animation-name:bounceOutLeft
}
@-webkit-keyframes bounceOutLeft {
0% {
-webkit-transform:translateX(0)
}
20% {
opacity:1;
-webkit-transform:translateX(20px)
}
100% {
opacity:0;
-webkit-transform:translateX(-2000px)
}
}
@-moz-keyframes bounceOutLeft {
0% {
-moz-transform:translateX(0)
}
20% {
opacity:1;
-moz-transform:translateX(20px)
}
100% {
opacity:0;
-moz-transform:translateX(-2000px)
}
}
@-o-keyframes bounceOutLeft {
0% {
-o-transform:translateX(0)
}
20% {
opacity:1;
-o-transform:translateX(20px)
}
100% {
opacity:0;
-o-transform:translateX(-2000px)
}
}
@keyframes bounceOutLeft {
0% {
transform:translateX(0)
}
20% {
opacity:1;
transform:translateX(20px)
}
100% {
opacity:0;
transform:translateX(-2000px)
}
}

/*
==============================================
bounceOutRight 快速向右消失
==============================================
*/
.bounceOutRight {
	-webkit-animation-name:bounceOutRight;
	-moz-animation-name:bounceOutRight;
	-o-animation-name:bounceOutRight;
	animation-name:bounceOutRight
}
@-webkit-keyframes bounceOutRight {
0% {
-webkit-transform:translateX(0)
}
20% {
opacity:1;
-webkit-transform:translateX(-20px)
}
100% {
opacity:0;
-webkit-transform:translateX(2000px)
}
}
@-moz-keyframes bounceOutRight {
0% {
-moz-transform:translateX(0)
}
20% {
opacity:1;
-moz-transform:translateX(-20px)
}
100% {
opacity:0;
-moz-transform:translateX(2000px)
}
}
@-o-keyframes bounceOutRight {
0% {
-o-transform:translateX(0)
}
20% {
opacity:1;
-o-transform:translateX(-20px)
}
100% {
opacity:0;
-o-transform:translateX(2000px)
}
}
@keyframes bounceOutRight {
0% {
transform:translateX(0)
}
20% {
opacity:1;
transform:translateX(-20px)
}
100% {
opacity:0;
transform:translateX(2000px)
}
}

/*
==============================================
rotateIn 水平旋转360淡入
==============================================
*/
.rotateIn {
	-webkit-animation-name:rotateIn;
	-moz-animation-name:rotateIn;
	-o-animation-name:rotateIn;
	animation-name:rotateIn
}
@-webkit-keyframes rotateIn {
0% {
-webkit-transform-origin:center center;
-webkit-transform:rotate(-200deg);
opacity:0
}
100% {
-webkit-transform-origin:center center;
-webkit-transform:rotate(0);
opacity:1
}
}
@-moz-keyframes rotateIn {
0% {
-moz-transform-origin:center center;
-moz-transform:rotate(-200deg);
opacity:0
}
100% {
-moz-transform-origin:center center;
-moz-transform:rotate(0);
opacity:1
}
}
@-o-keyframes rotateIn {
0% {
-o-transform-origin:center center;
-o-transform:rotate(-200deg);
opacity:0
}
100% {
-o-transform-origin:center center;
-o-transform:rotate(0);
opacity:1
}
}
@keyframes rotateIn {
0% {
transform-origin:center center;
transform:rotate(-200deg);
opacity:0
}
100% {
transform-origin:center center;
transform:rotate(0);
opacity:1
}
}

/*
==============================================
rotateInUpLeft 左下为基点向上旋转淡入
==============================================
*/
.rotateInUpLeft {
	-webkit-animation-name:rotateInUpLeft;
	-moz-animation-name:rotateInUpLeft;
	-o-animation-name:rotateInUpLeft;
	animation-name:rotateInUpLeft
}
@-webkit-keyframes rotateInUpLeft {
0% {
-webkit-transform-origin:left bottom;
-webkit-transform:rotate(90deg);
opacity:0
}
100% {
-webkit-transform-origin:left bottom;
-webkit-transform:rotate(0);
opacity:1
}
}
@-moz-keyframes rotateInUpLeft {
0% {
-moz-transform-origin:left bottom;
-moz-transform:rotate(90deg);
opacity:0
}
100% {
-moz-transform-origin:left bottom;
-moz-transform:rotate(0);
opacity:1
}
}
@-o-keyframes rotateInUpLeft {
0% {
-o-transform-origin:left bottom;
-o-transform:rotate(90deg);
opacity:0
}
100% {
-o-transform-origin:left bottom;
-o-transform:rotate(0);
opacity:1
}
}
@keyframes rotateInUpLeft {
0% {
transform-origin:left bottom;
transform:rotate(90deg);
opacity:0
}
100% {
transform-origin:left bottom;
transform:rotate(0);
opacity:1
}
}

/*
==============================================
rotateInDownLeft 左下为基点向下旋转淡入
==============================================
*/
.rotateInDownLeft {
	-webkit-animation-name:rotateInDownLeft;
	-moz-animation-name:rotateInDownLeft;
	-o-animation-name:rotateInDownLeft;
	animation-name:rotateInDownLeft
}
@-webkit-keyframes rotateInDownLeft {
0% {
-webkit-transform-origin:left bottom;
-webkit-transform:rotate(-90deg);
opacity:0
}
100% {
-webkit-transform-origin:left bottom;
-webkit-transform:rotate(0);
opacity:1
}
}
@-moz-keyframes rotateInDownLeft {
0% {
-moz-transform-origin:left bottom;
-moz-transform:rotate(-90deg);
opacity:0
}
100% {
-moz-transform-origin:left bottom;
-moz-transform:rotate(0);
opacity:1
}
}
@-o-keyframes rotateInDownLeft {
0% {
-o-transform-origin:left bottom;
-o-transform:rotate(-90deg);
opacity:0
}
100% {
-o-transform-origin:left bottom;
-o-transform:rotate(0);
opacity:1
}
}
@keyframes rotateInDownLeft {
0% {
transform-origin:left bottom;
transform:rotate(-90deg);
opacity:0
}
100% {
transform-origin:left bottom;
transform:rotate(0);
opacity:1
}
}

/*
==============================================
rotateInUpRight 右下为基点向上旋转
==============================================
*/
.rotateInUpRight {
	-webkit-animation-name:rotateInUpRight;
	-moz-animation-name:rotateInUpRight;
	-o-animation-name:rotateInUpRight;
	animation-name:rotateInUpRight
}
@-webkit-keyframes rotateInUpRight {
0% {
-webkit-transform-origin:right bottom;
-webkit-transform:rotate(-90deg);
opacity:0
}
100% {
-webkit-transform-origin:right bottom;
-webkit-transform:rotate(0);
opacity:1
}
}
@-moz-keyframes rotateInUpRight {
0% {
-moz-transform-origin:right bottom;
-moz-transform:rotate(-90deg);
opacity:0
}
100% {
-moz-transform-origin:right bottom;
-moz-transform:rotate(0);
opacity:1
}
}
@-o-keyframes rotateInUpRight {
0% {
-o-transform-origin:right bottom;
-o-transform:rotate(-90deg);
opacity:0
}
100% {
-o-transform-origin:right bottom;
-o-transform:rotate(0);
opacity:1
}
}
@keyframes rotateInUpRight {
0% {
transform-origin:right bottom;
transform:rotate(-90deg);
opacity:0
}
100% {
transform-origin:right bottom;
transform:rotate(0);
opacity:1
}
}

/*
==============================================
rotateInDownRight 右下为基点向下旋转
==============================================
*/
.rotateInDownRight {
	-webkit-animation-name:rotateInDownRight;
	-moz-animation-name:rotateInDownRight;
	-o-animation-name:rotateInDownRight;
	animation-name:rotateInDownRight
}
@-webkit-keyframes rotateInDownRight {
0% {
-webkit-transform-origin:right bottom;
-webkit-transform:rotate(90deg);
opacity:0
}
100% {
-webkit-transform-origin:right bottom;
-webkit-transform:rotate(0);
opacity:1
}
}
@-moz-keyframes rotateInDownRight {
0% {
-moz-transform-origin:right bottom;
-moz-transform:rotate(90deg);
opacity:0
}
100% {
-moz-transform-origin:right bottom;
-moz-transform:rotate(0);
opacity:1
}
}
@-o-keyframes rotateInDownRight {
0% {
-o-transform-origin:right bottom;
-o-transform:rotate(90deg);
opacity:0
}
100% {
-o-transform-origin:right bottom;
-o-transform:rotate(0);
opacity:1
}
}
@keyframes rotateInDownRight {
0% {
transform-origin:right bottom;
transform:rotate(90deg);
opacity:0
}
100% {
transform-origin:right bottom;
transform:rotate(0);
opacity:1
}
}

/*
==============================================
rotateInDownRight 旋转360淡出
==============================================
*/
.rotateOut {
	-webkit-animation-name:rotateOut;
	-moz-animation-name:rotateOut;
	-o-animation-name:rotateOut;
	animation-name:rotateOut
}
@-webkit-keyframes rotateOut {
0% {
-webkit-transform-origin:center center;
-webkit-transform:rotate(0);
opacity:1
}
100% {
-webkit-transform-origin:center center;
-webkit-transform:rotate(200deg);
opacity:0
}
}
@-moz-keyframes rotateOut {
0% {
-moz-transform-origin:center center;
-moz-transform:rotate(0);
opacity:1
}
100% {
-moz-transform-origin:center center;
-moz-transform:rotate(200deg);
opacity:0
}
}
@-o-keyframes rotateOut {
0% {
-o-transform-origin:center center;
-o-transform:rotate(0);
opacity:1
}
100% {
-o-transform-origin:center center;
-o-transform:rotate(200deg);
opacity:0
}
}
@keyframes rotateOut {
0% {
transform-origin:center center;
transform:rotate(0);
opacity:1
}
100% {
transform-origin:center center;
transform:rotate(200deg);
opacity:0
}
}

/*
==============================================
rotateOutUpLeft 左下基点向上消失
==============================================
*/
.rotateOutUpLeft {
	-webkit-animation-name:rotateOutUpLeft;
	-moz-animation-name:rotateOutUpLeft;
	-o-animation-name:rotateOutUpLeft;
	animation-name:rotateOutUpLeft
}
@-webkit-keyframes rotateOutUpLeft {
0% {
-webkit-transform-origin:left bottom;
-webkit-transform:rotate(0);
opacity:1
}
100% {
-webkit-transform-origin:left bottom;
-webkit-transform:rotate(-90deg);
opacity:0
}
}
@-moz-keyframes rotateOutUpLeft {
0% {
-moz-transform-origin:left bottom;
-moz-transform:rotate(0);
opacity:1
}
100% {
-moz-transform-origin:left bottom;
-moz-transform:rotate(-90deg);
opacity:0
}
}
@-o-keyframes rotateOutUpLeft {
0% {
-o-transform-origin:left bottom;
-o-transform:rotate(0);
opacity:1
}
100% {
-o-transform-origin:left bottom;
-o-transform:rotate(-90deg);
opacity:0
}
}
@keyframes rotateOutUpLeft {
0% {
transform-origin:left bottom;
transform:rotate(0);
opacity:1
}
100% {
transform-origin:left bottom;
transform:rotate(-90deg);
opacity:0
}
}

/*
==============================================
rotateOutDownLeft 左下基点向下消失
==============================================
*/
.rotateOutDownLeft {
	-webkit-animation-name:rotateOutDownLeft;
	-moz-animation-name:rotateOutDownLeft;
	-o-animation-name:rotateOutDownLeft;
	animation-name:rotateOutDownLeft
}
@-webkit-keyframes rotateOutDownLeft {
0% {
-webkit-transform-origin:left bottom;
-webkit-transform:rotate(0);
opacity:1
}
100% {
-webkit-transform-origin:left bottom;
-webkit-transform:rotate(90deg);
opacity:0
}
}
@-moz-keyframes rotateOutDownLeft {
0% {
-moz-transform-origin:left bottom;
-moz-transform:rotate(0);
opacity:1
}
100% {
-moz-transform-origin:left bottom;
-moz-transform:rotate(90deg);
opacity:0
}
}
@-o-keyframes rotateOutDownLeft {
0% {
-o-transform-origin:left bottom;
-o-transform:rotate(0);
opacity:1
}
100% {
-o-transform-origin:left bottom;
-o-transform:rotate(90deg);
opacity:0
}
}
@keyframes rotateOutDownLeft {
0% {
transform-origin:left bottom;
transform:rotate(0);
opacity:1
}
100% {
transform-origin:left bottom;
transform:rotate(90deg);
opacity:0
}
}

/*
==============================================
rotateOutUpRight 右下基点向上消失
==============================================
*/
.rotateOutUpRight {
	-webkit-animation-name:rotateOutUpRight;
	-moz-animation-name:rotateOutUpRight;
	-o-animation-name:rotateOutUpRight;
	animation-name:rotateOutUpRight
}
@-webkit-keyframes rotateOutUpRight {
0% {
-webkit-transform-origin:right bottom;
-webkit-transform:rotate(0);
opacity:1
}
100% {

-webkit-transform-origin:right bottom;
-webkit-transform:rotate(90deg);
opacity:0
}
}
@-moz-keyframes rotateOutUpRight {
0% {
-moz-transform-origin:right bottom;
-moz-transform:rotate(0);
opacity:1
}
100% {
-moz-transform-origin:right bottom;
-moz-transform:rotate(90deg);
opacity:0
}
}
@-o-keyframes rotateOutUpRight {
0% {
-o-transform-origin:right bottom;
-o-transform:rotate(0);
opacity:1
}
100% {
-o-transform-origin:right bottom;
-o-transform:rotate(90deg);
opacity:0
}
}
@keyframes rotateOutUpRight {
0% {
transform-origin:right bottom;
transform:rotate(0);
opacity:1
}
100% {
transform-origin:right bottom;
transform:rotate(90deg);
opacity:0
}
}

/*
==============================================
rotateOutDownRight 右下基点向下消失
==============================================
*/
.rotateOutDownRight {
	-webkit-animation-name:rotateOutDownRight;
	-moz-animation-name:rotateOutDownRight;
	-o-animation-name:rotateOutDownRight;
	animation-name:rotateOutDownRight
}
@-webkit-keyframes rotateOutDownRight {
0% {
-webkit-transform-origin:right bottom;
-webkit-transform:rotate(0);
opacity:1
}
100% {
-webkit-transform-origin:right bottom;
-webkit-transform:rotate(-90deg);
opacity:0
}
}
@-moz-keyframes rotateOutDownRight {
0% {
-moz-transform-origin:right bottom;
-moz-transform:rotate(0);
opacity:1
}
100% {
-moz-transform-origin:right bottom;
-moz-transform:rotate(-90deg);
opacity:0
}
}
@-o-keyframes rotateOutDownRight {
0% {
-o-transform-origin:right bottom;
-o-transform:rotate(0);
opacity:1
}
100% {
-o-transform-origin:right bottom;
-o-transform:rotate(-90deg);
opacity:0
}
}
@keyframes rotateOutDownRight {
0% {
transform-origin:right bottom;
transform:rotate(0);
opacity:1
}
100% {
transform-origin:right bottom;
transform:rotate(-90deg);
opacity:0
}
}

/*
==============================================
hinge 右上悬挂掉下去
==============================================
*/
.hinge {
	-webkit-animation-name:hinge;
	-moz-animation-name:hinge;
	-o-animation-name:hinge;
	animation-name:hinge
}
/* 悬挂后掉下去 */
.animated.hinge {
	-webkit-animation-duration:2s;
	-moz-animation-duration:2s;
	-o-animation-duration:2s;
	animation-duration:2s
}
@-webkit-keyframes hinge {
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 hinge {
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 hinge {
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 hinge {
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
}
}

/*
==============================================
rollIn 从左到右滚入
==============================================
*/
.rollIn {
	-webkit-animation-name:rollIn;
	-moz-animation-name:rollIn;
	-o-animation-name:rollIn;
	animation-name:rollIn
}
@-webkit-keyframes rollIn {
0% {
opacity:0;
-webkit-transform:translateX(-100%) rotate(-120deg)
}
100% {
opacity:1;
-webkit-transform:translateX(0px) rotate(0deg)
}
}
@-moz-keyframes rollIn {
0% {
opacity:0;
-moz-transform:translateX(-100%) rotate(-120deg)
}
100% {
opacity:1;
-moz-transform:translateX(0px) rotate(0deg)
}
}
@-o-keyframes rollIn {
0% {
opacity:0;
-o-transform:translateX(-100%) rotate(-120deg)
}
100% {
opacity:1;
-o-transform:translateX(0px) rotate(0deg)
}
}
@keyframes rollIn {
0% {
opacity:0;
transform:translateX(-100%) rotate(-120deg)
}
100% {
opacity:1;
transform:translateX(0px) rotate(0deg)
}
}

/*
==============================================
rollOut 从左到右滚出
==============================================
*/
.rollOut {
	-webkit-animation-name:rollOut;
	-moz-animation-name:rollOut;
	-o-animation-name:rollOut;
	animation-name:rollOut
}
@-webkit-keyframes rollOut {
0% {
opacity:1;
-webkit-transform:translateX(0px) rotate(0deg)
}
100% {
opacity:0;
-webkit-transform:translateX(100%) rotate(120deg)
}
}
@-moz-keyframes rollOut {
0% {
opacity:1;
-moz-transform:translateX(0px) rotate(0deg)
}
100% {
opacity:0;
-moz-transform:translateX(100%) rotate(120deg)
}
}
@-o-keyframes rollOut {
0% {
opacity:1;
-o-transform:translateX(0px) rotate(0deg)
}
100% {
opacity:0;
-o-transform:translateX(100%) rotate(120deg)
}
}
@keyframes rollOut {
0% {
opacity:1;
transform:translateX(0px) rotate(0deg)
}
100% {
opacity:0;
transform:translateX(100%) rotate(120deg)
}
}

/*
==============================================
lightSpeedIn 速度效果淡入
==============================================
*/
.lightSpeedIn {
	-webkit-animation-name:lightSpeedIn;
	-moz-animation-name:lightSpeedIn;
	-o-animation-name:lightSpeedIn;
	animation-name:lightSpeedIn;
	-webkit-animation-timing-function:ease-out;
	-moz-animation-timing-function:ease-out;
	-o-animation-timing-function:ease-out;
	animation-timing-function:ease-out
}
.animated.lightSpeedIn {
-webkit-animation-duration:.5s;
-moz-animation-duration:.5s;
-o-animation-duration:.5s;
animation-duration:.5s
}

@-webkit-keyframes lightSpeedIn {
0% {
-webkit-transform:translateX(100%) skewX(-30deg);
opacity:0
}
60% {
-webkit-transform:translateX(-20%) skewX(30deg);
opacity:1
}
80% {
-webkit-transform:translateX(0%) skewX(-15deg);
opacity:1
}
100% {
-webkit-transform:translateX(0%) skewX(0deg);
opacity:1
}
}
@-moz-keyframes lightSpeedIn {
0% {
-moz-transform:translateX(100%) skewX(-30deg);
opacity:0
}
60% {
-moz-transform:translateX(-20%) skewX(30deg);
opacity:1
}
80% {
-moz-transform:translateX(0%) skewX(-15deg);
opacity:1
}
100% {
-moz-transform:translateX(0%) skewX(0deg);
opacity:1
}
}
@-o-keyframes lightSpeedIn {
0% {
-o-transform:translateX(100%) skewX(-30deg);
opacity:0
}
60% {
-o-transform:translateX(-20%) skewX(30deg);
opacity:1
}
80% {
-o-transform:translateX(0%) skewX(-15deg);
opacity:1
}
100% {
-o-transform:translateX(0%) skewX(0deg);
opacity:1
}
}
@keyframes lightSpeedIn {
0% {
transform:translateX(100%) skewX(-30deg);
opacity:0
}
60% {
transform:translateX(-20%) skewX(30deg);
opacity:1
}
80% {
transform:translateX(0%) skewX(-15deg);
opacity:1
}
100% {
transform:translateX(0%) skewX(0deg);
opacity:1
}
}

/*
==============================================
lightSpeedOut 速度效果淡出
==============================================
*/
.lightSpeedOut {
	-webkit-animation-name:lightSpeedOut;
	-moz-animation-name:lightSpeedOut;
	-o-animation-name:lightSpeedOut;
	animation-name:lightSpeedOut;
	-webkit-animation-timing-function:ease-in;
	-moz-animation-timing-function:ease-in;
	-o-animation-timing-function:ease-in;
	animation-timing-function:ease-in
}
.animated.lightSpeedOut {
-webkit-animation-duration:.25s;
-moz-animation-duration:.25s;
-o-animation-duration:.25s;
animation-duration:.25s
}
@-webkit-keyframes lightSpeedOut {
0% {
-webkit-transform:translateX(0%) skewX(0deg);
opacity:1
}
100% {
-webkit-transform:translateX(100%) skewX(-30deg);
opacity:0
}
}
@-moz-keyframes lightSpeedOut {
0% {
-moz-transform:translateX(0%) skewX(0deg);
opacity:1
}
100% {
-moz-transform:translateX(100%) skewX(-30deg);
opacity:0
}
}
@-o-keyframes lightSpeedOut {
0% {
-o-transform:translateX(0%) skewX(0deg);
opacity:1
}
100% {
-o-transform:translateX(100%) skewX(-30deg);
opacity:0
}
}
@keyframes lightSpeedOut {
0% {
transform:translateX(0%) skewX(0deg);
opacity:1
}
100% {
transform:translateX(100%) skewX(-30deg);
opacity:0
}
}

/*
==============================================
wiggle 水波效果
==============================================
*/
.wiggle {
	-webkit-animation-name:wiggle;
	-moz-animation-name:wiggle;
	-o-animation-name:wiggle;
	animation-name:wiggle;
	-webkit-animation-timing-function:ease-in;
	-moz-animation-timing-function:ease-in;
	-o-animation-timing-function:ease-in;
	animation-timing-function:ease-in
}
.animated.wiggle {
-webkit-animation-duration:.75s;
-moz-animation-duration:.75s;
-o-animation-duration:.75s;
animation-duration:.75s
}
@-webkit-keyframes wiggle {
0% {
-webkit-transform:skewX(9deg)
}
10% {
-webkit-transform:skewX(-8deg)
}
20% {
-webkit-transform:skewX(7deg)
}
30% {
-webkit-transform:skewX(-6deg)
}
40% {
-webkit-transform:skewX(5deg)
}
50% {
-webkit-transform:skewX(-4deg)
}
60% {
-webkit-transform:skewX(3deg)
}
70% {
-webkit-transform:skewX(-2deg)
}
80% {
-webkit-transform:skewX(1deg)
}
90% {
-webkit-transform:skewX(0deg)
}
100% {
-webkit-transform:skewX(0deg)
}
}
@-moz-keyframes wiggle {
0% {
-moz-transform:skewX(9deg)
}
10% {
-moz-transform:skewX(-8deg)
}
20% {
-moz-transform:skewX(7deg)
}
30% {
-moz-transform:skewX(-6deg)
}
40% {
-moz-transform:skewX(5deg)
}
50% {
-moz-transform:skewX(-4deg)
}
60% {
-moz-transform:skewX(3deg)
}
70% {
-moz-transform:skewX(-2deg)
}
80% {
-moz-transform:skewX(1deg)
}
90% {
-moz-transform:skewX(0deg)
}
100% {
-moz-transform:skewX(0deg)
}
}
@-o-keyframes wiggle {
0% {
-o-transform:skewX(9deg)
}
10% {
-o-transform:skewX(-8deg)
}
20% {
-o-transform:skewX(7deg)
}
30% {
-o-transform:skewX(-6deg)
}
40% {
-o-transform:skewX(5deg)
}
50% {
-o-transform:skewX(-4deg)
}
60% {
-o-transform:skewX(3deg)
}
70% {
-o-transform:skewX(-2deg)
}
80% {
-o-transform:skewX(1deg)
}
90% {
-o-transform:skewX(0deg)
}
100% {
-o-transform:skewX(0deg)
}
}
@keyframes wiggle {
0% {
transform:skewX(9deg)
}
10% {
transform:skewX(-8deg)
}
20% {
transform:skewX(7deg)
}
30% {
transform:skewX(-6deg)
}
40% {
transform:skewX(5deg)
}
50% {
transform:skewX(-4deg)
}
60% {
transform:skewX(3deg)
}
70% {
transform:skewX(-2deg)
}
80% {
transform:skewX(1deg)
}
90% {
transform:skewX(0deg)
}
100% {
transform:skewX(0deg)
}
}


/* by ganxb added 3dbook */
/*
==============================================
rotate3dbook
==============================================
*/

.rotate3dbook{
	animation-name: rotate3dbook;
	-webkit-animation-name: rotate3dbook;

/*
	animation-duration: 1s;
	-webkit-animation-duration: 1s;

	animation-timing-function: ease;
	-webkit-animation-timing-function: ease;
*/
	transform-style: preserve-3d;
	transform-origin:left top;
	transform: rotate3d(0, 1, 0, 0deg);

	-moz-transform-style: preserve-3d;
	-moz-transform-origin:left top;
	-moz-transform: rotate3d(0, 1, 0, 0deg);

	-webkit-transform-style: preserve-3d;
	-webkit-transform-origin:left top;
	-webkit-transform: rotate3d(0, 1, 0, 0deg);

	visibility: visible !important;

}

@keyframes rotate3dbook {
	0% {
		transform: rotate3d(0 , 1, 0, 0deg);
	}
	100% {
		transform: rotate3d(0 , 1, 0, 180deg);
	}
}

@-webkit-keyframes rotate3dbook {
	0% {
		-webkit-transform: rotate3d(0 , 1, 0, 0deg);
	}
	100% {
		-webkit-transform: rotate3d(0 , 1, 0, 180deg);
	}
}

@-moz-keyframes rotate3dbook {
	0% {
		-moz-transform: rotate3d(0 , 1, 0, 0deg);
	}
	100% {
		-moz-transform: rotate3d(0 , 1, 0, 180deg);
	}
}