.pos-relative{
	position: relative;	
}
.pos-absolute{
	position: absolute;
}
.cf:before,
.cf:after {
	content: '\0020';
	display: block;
	overflow: hidden;
	visibility: hidden;
	width: 0;
	height: 0; 
}
.cf:after {
	clear: both; 
}
.cf {
 	zoom: 1; 
}

/* CSS for Shake */
.shake{
	-webkit-animation: shake 1.5s ease-in-out 2;
	-moz-animation: shake 1.5s ease-in-out 2;
	-o-animation: shake 1.5s ease-in-out 2;
	animation: shake 1.5s ease-in-out 2;
}
.shake:hover{
	-webkit-animation: none;
	-moz-animation: none;
	-o-animation: none;
	animation: none;	
}
@-webkit-keyframes shake{
	20% { 
		-webkit-transform: translateX(-10%) rotate(-10deg); 
		-moz-transform: translateX(-10%) rotate(-10deg);
		-o-transform: translateX(-10%) rotate(-10deg);
		-ms-transform: translateX(-10%) rotate(-10deg);
		transform: translateX(-10%) rotate(-10deg);-
	}
	40% { 
		-webkit-transform: translateX(5%) rotate(5deg); 
		-moz-transform: translateX(5%) rotate(5deg);
		-o-transform: translateX(5%) rotate(5deg);
		-ms-transform: translateX(5%) rotate(5deg);	
		transform: translateX(5%) rotate(5deg);	
	}
	60% { 
		-webkit-transform: translateX(-5%) rotate(-5deg); 
		-moz-transform: translateX(-5%) rotate(-5deg);
		-o-transform: translateX(-5%) rotate(-5deg);
		-ms-transform: translateX(-5%) rotate(-5deg);
		transform: translateX(5%) rotate(5deg);	
	}
	80% { 
		-webkit-transform: translateX(3%) rotate(3deg); 
		-moz-transform: translateX(3%) rotate(3deg);
		-o-transform: translateX(3%) rotate(3deg);
		-ms-transform: translateX(3%) rotate(3deg);
		transform: translateX(5%) rotate(5deg);	
	}
	100% { 
		-webkit-transform: translateX(-1%) rotate(-1deg); 
		-moz-transform: translateX(-1%) rotate(-1deg);
		-o-transform: translateX(-1%) rotate(-1deg);
		-ms-transform: translateX(-1%) rotate(-1deg);
		transform: translateX(5%) rotate(5deg);	
	}
}
@keyframes shake{
	20% { 
		-webkit-transform: translateX(-10%) rotate(-10deg); 
		-moz-transform: translateX(-10%) rotate(-10deg);
		-o-transform: translateX(-10%) rotate(-10deg);
		-ms-transform: translateX(-10%) rotate(-10deg);
		transform: translateX(-10%) rotate(-10deg);
	}
	40% { 
		-webkit-transform: translateX(5%) rotate(5deg); 
		-moz-transform: translateX(5%) rotate(5deg);
		-o-transform: translateX(5%) rotate(5deg);
		-ms-transform: translateX(5%) rotate(5deg);	
		transform: translateX(5%) rotate(5deg);	
	}
	60% { 
		-webkit-transform: translateX(-5%) rotate(-5deg); 
		-moz-transform: translateX(-5%) rotate(-5deg);
		-o-transform: translateX(-5%) rotate(-5deg);
		-ms-transform: translateX(-5%) rotate(-5deg);
		transform: translateX(5%) rotate(5deg);	
	}
	80% { 
		-webkit-transform: translateX(3%) rotate(3deg); 
		-moz-transform: translateX(3%) rotate(3deg);
		-o-transform: translateX(3%) rotate(3deg);
		-ms-transform: translateX(3%) rotate(3deg);
		transform: translateX(5%) rotate(5deg);	
	}
	100% { 
		-webkit-transform: translateX(-1%) rotate(-1deg); 
		-moz-transform: translateX(-1%) rotate(-1deg);
		-o-transform: translateX(-1%) rotate(-1deg);
		-ms-transform: translateX(-1%) rotate(-1deg);
		transform: translateX(5%) rotate(5deg);	
	}
}

/* CSS for Horizontal Shake */
.h-shake{
	-webkit-animation: h-shake 0.2s ease 4;
	-moz-animation: h-shake 0.2s ease 4;
	-o-animation: h-shake 0.2s ease 4;
	animation: h-shake 0.2s ease 4;
	position: absolute;
}
.h-shake:hover{
	-webkit-animation: none;
	-moz-animation: none;
	-o-animation: none;
	animation: none;	
}
@-webkit-keyframes h-shake{
	0% { 
		left:0;
	}
	25% { 
		left:-10px;
	}
	50% { 
		left:0;
	}
	75% { 
		left:10px;
	}
	100% { 
		left:0;
	}
}
@keyframes h-shake{
	0% { 
		left:0;
	}
	25% { 
		left:-20px;
	}
	50% { 
		left:0;
	}
	75% { 
		left:20px;
	}
	100% { 
		left:0;
	}
}

/* CSS for Vertical Shake */
.v-shake{
	-webkit-animation: v-shake 0.2s ease 4;
	-moz-animation: v-shak 0.2s ease 4;
	-o-animation: v-shak 0.2s ease 4;
	animation: v-shak 0.2s ease 4;
	position: absolute;
}
.v-shake:hover{
	-webkit-animation: none;
	-moz-animation: none;
	-o-animation: none;
	animation: none;	
}
@-webkit-keyframes v-shake{
	0% { 
		top:0;
	}
	25% { 
		top:-20px;
	}
	50% { 
		top:0;
	}
	75% { 
		top:20px;
	}
	100% { 
		top:0;
	}
}
@keyframes v-shake{
	0% { 
		top:0;
	}
	25% { 
		top:-20px;
	}
	50% { 
		top:0;
	}
	75% { 
		top:20px;
	}
	100% { 
		top:0;
	}
}

/* CSS for Swing */
.swing{
	-webkit-transform-origin: 50% 0%;
	-moz-transform-origin: 50% 0%;
	-o-transform-origin: 50% 0%;
	-ms-transform-origin: 50% 0%;
	transform-origin: 50% 0%; 

	/*-webkit-animation: swing 2s ease-in-out infinite alternate;
	-moz-animation: swing 2s ease-in-out infinite alternate;
	-o-animation: swing 2s ease-in-out infinite alternate;
	animation: swing 2s ease-in-out infinite alternate;*/

	-webkit-animation: swing 2s ease-in-out alternate 4;
	-moz-animation: swing 2s ease-in-out alternate 4;
	-o-animation: swing 2s ease-in-out alternate 4;
	animation: swing 2s ease-in-out alternate 4;
}
.swing:hover{
	-webkit-animation: none;
	-moz-animation: none;
	-o-animation: none;
	animation: none;
}
@-webkit-keyframes swing{
	from{ 
		-webkit-transform: rotate(0deg); 
		-moz-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		transform: rotate(0deg); 
	}
	50%{ 
		-webkit-transform: rotate(15deg); 
		-moz-transform: rotate(15deg);
		-o-transform: rotate(15deg);
		-ms-transform: rotate(15deg);
		transform: rotate(15deg);
	}
	to{ 
		-webkit-transform: rotate(-15deg); 
		-moz-transform: rotate(-15deg);
		-o-transform: rotate(-15deg);
		-ms-transform: rotate(-15deg);
		transform: rotate(-15deg);
	}
}
@keyframes swing{
	from{ 
		-webkit-transform: rotate(0deg); 
		-moz-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		transform: rotate(0deg); 
	}
	50%{ 
		-webkit-transform: rotate(15deg); 
		-moz-transform: rotate(15deg);
		-o-transform: rotate(15deg);
		-ms-transform: rotate(15deg);
		transform: rotate(15deg);
	}
	to{ 
		-webkit-transform: rotate(-15deg); 
		-moz-transform: rotate(-15deg);
		-o-transform: rotate(-15deg);
		-ms-transform: rotate(-15deg);
		transform: rotate(-15deg);
	}
}

/* CSS for Rotate */
.rotate{
	-webkit-animation: rotate 2s ease-in-out;
	-moz-animation: rotate 2s ease-in-out;
	-o-animation: rotate 2s ease-in-out;
	animation: rotate 2s ease-in-out;
}
.rotate:hover{
	-webkit-animation: none;
	-moz-animation: none;
	-o-animation: none;
	animation: none;
}
@-webkit-keyframes rotate{
	from{ 
		-webkit-transform: rotate(0deg); 
		-moz-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		transform: rotate(0deg); 
	}
	to{ 
		-webkit-transform: rotate(360deg); 
		-moz-transform: rotate(360deg);
		-o-transform: rotate(360deg);
		-ms-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
@keyframes rotate{
	from{ 
		-webkit-transform: rotate(0deg); 
		-moz-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		transform: rotate(0deg); 
	}
	to{ 
		-webkit-transform: rotate(360deg); 
		-moz-transform: rotate(360deg);
		-o-transform: rotate(360deg);
		-ms-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

/* CSS for Rotate-Anti Clock */
.r-rotate{
	-webkit-animation: r-rotate 2s ease-in-out;
	-moz-animation: r-rotate 2s ease-in-out;
	-o-animation: r-rotate 2s ease-in-out;
	animation: r-rotate 2s ease-in-out;
}
.r-rotate:hover{
	-webkit-animation: none;
	-moz-animation: none;
	-o-animation: none;
	animation: none;
}
@-webkit-keyframes r-rotate{
	from{ 
		-webkit-transform: rotate(0deg); 
		-moz-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		transform: rotate(0deg); 
	}
	to{ 
		-webkit-transform: rotate(-360deg); 
		-moz-transform: rotate(-360deg);
		-o-transform: rotate(-360deg);
		-ms-transform: rotate(-360deg);
		transform: rotate(-360deg);
	}
}
@keyframes r-rotate{
	from{ 
		-webkit-transform: rotate(0deg); 
		-moz-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		transform: rotate(0deg); 
	}
	to{ 
		-webkit-transform: rotate(360deg); 
		-moz-transform: rotate(360deg);
		-o-transform: rotate(360deg);
		-ms-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

/* CSS for Zoom-in */
.zoom-in{
	-webkit-animation: zoom-in 1.5s ease-in-out 2;
	-moz-animation: zoom-in 1.5s ease-in-out 2;
	-o-animation: zoom-in 1.5s ease-in-out 2;
	animation: zoom-in 1.5s ease-in-out 2;
}
.zoom-in:hover{
	-webkit-animation: none;
	-moz-animation: none;
	-o-animation: none;
	animation: none;
}
@-webkit-keyframes zoom-in{
	from{ 
		-webkit-transform: scale(1,1); 
		-moz-transform: scale(1,1);
		-o-transform: scale(1,1);
		-ms-transform: scale(1,1);
		transform: scale(1,1); 
	}
	50%{
		-webkit-transform: scale(1.2,1.2); 
		-moz-transform: scale(1.2,1.2);
		-o-transform: scale(1.2,1.2);
		-ms-transform: scale(1.2,1.2);
		transform: scale(1.2,1.2); 	
	}
	to{ 
		-webkit-transform: scale(1,1); 
		-moz-transform: scale(1,1);
		-o-transform: scale(1,1);
		-ms-transform: scale(1,1);
		transform: scale(1,1);
	}
}
@keyframes zoom-in{
	from{ 
		-webkit-transform: scale(1,1); 
		-moz-transform: scale(1,1);
		-o-transform: scale(1,1);
		-ms-transform: scale(1,1);
		transform: scale(1,1); 
	}
	50%{
		-webkit-transform: scale(1.2,1.2); 
		-moz-transform: scale(1.2,1.2);
		-o-transform: scale(1.2,1.2);
		-ms-transform: scale(1.2,1.2);
		transform: scale(1.2,1.2); 	
	}
	to{ 
		-webkit-transform: scale(1,1); 
		-moz-transform: scale(1,1);
		-o-transform: scale(1,1);
		-ms-transform: scale(1,1);
		transform: scale(1,1);
	}
}

/* CSS for Zoom-out */
.zoom-out{
	-webkit-animation: zoom-out 1.5s ease-in-out 2;
	-moz-animation: zoom-out 1.5s ease-in-out 2;
	-o-animation: zoom-out 1.5s ease-in-out 2;
	animation: zoom-out 1.5s ease-in-out 2;
}
.zoom-out:hover{
	-webkit-animation: none;
	-moz-animation: none;
	-o-animation: none;
	animation: none;
}
@-webkit-keyframes zoom-out{
	from{ 
		-webkit-transform: scale(1,1); 
		-moz-transform: scale(1,1);
		-o-transform: scale(1,1);
		-ms-transform: scale(1,1);
		transform: scale(1,1); 
	}
	50%{
		-webkit-transform: scale(0.8,0.8); 
		-moz-transform: scale(0.8,0.8);
		-o-transform: scale(0.8,0.8);
		-ms-transform: scale(0.8,0.8);
		transform: scale(0.8,0.8); 	
	}
	to{ 
		-webkit-transform: scale(1,1); 
		-moz-transform: scale(1,1);
		-o-transform: scale(1,1);
		-ms-transform: scale(1,1);
		transform: scale(1,1);
	}
}
@keyframes zoom-out{
	from{ 
		-webkit-transform: scale(1,1); 
		-moz-transform: scale(1,1);
		-o-transform: scale(1,1);
		-ms-transform: scale(1,1);
		transform: scale(1,1); 
	}
	50%{
		-webkit-transform: scale(0.8,0.8); 
		-moz-transform: scale(0.8,0.8);
		-o-transform: scale(0.8,0.8);
		-ms-transform: scale(0.8,0.8);
		transform: scale(0.8,0.8); 	
	}
	to{ 
		-webkit-transform: scale(1,1); 
		-moz-transform: scale(1,1);
		-o-transform: scale(1,1);
		-ms-transform: scale(1,1);
		transform: scale(1,1);
	}
}

/* CSS for Fade */
.fade{
	-webkit-animation: fade 3s ease-in-out 3;
	-moz-animation: fade 3s ease-in-out 3;
	-o-animation: fade 3s ease-in-out 3;
	animation: fade 3s ease-in-out 3;
}
.fade:hover{
	-webkit-animation: none;
	-moz-animation: none;
	-o-animation: none;
	animation: none;
}
@-webkit-keyframes fade{
	from{ 
		filter: alpha(opacity=1);
		-moz-opacity:1;
		opacity: 1;
	}
	50%{
		filter: alpha(opacity=50);
		-moz-opacity:0.5;
		opacity: 0.5;	
	}
	to{ 
		filter: alpha(opacity=1);
		-moz-opacity:1;
		opacity: 1;
	}
}
@keyframes fade{
	from{ 
		filter: alpha(opacity=1);
		-moz-opacity:1;
		opacity: 1;
	}
	50%{
		filter: alpha(opacity=50);
		-moz-opacity:0.5;
		opacity: 0.5;	
	}
	to{ 
		filter: alpha(opacity=1);
		-moz-opacity:1;
		opacity: 1;
	}
}