/*
==============================================
css3 animation cheat sheet
==============================================

made by justin aguilar

www.justinaguilar.com/animations/

questions, comments, concerns, love letters:
justin@justinaguilar.com
==============================================
*/

/*
==============================================
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: 3s;	
	-webkit-animation-duration: 3s;

	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);
	}		
}