/*!
 * WickedCSS v1.0 (https://github.com/kristofferandreasen/wickedCSS)
 * Copyright 2015 Kristoffer Andreasen
 * MIT License
 */
 
 /*
==========
Rotation
==========
*/
.rotation{
	animation-name: rotation;
	-webkit-animation-name: rotation;	

	animation-duration: 4s;	
	-webkit-animation-duration: 4s;

	animation-timing-function: linear;	
	-webkit-animation-timing-function: linear;

	-webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;	

	visibility: visible !important;						
}
@-webkit-keyframes rotation {
    from { -webkit-transform: rotate(0deg) translateX(50%) rotate(0deg); }
    to   { -webkit-transform: rotate(360deg) translateX(50%) rotate(-360deg); }
}
@keyframes rotation {
    from { transform: rotate(0deg) translateX(50%) rotate(0deg); }
    to   { transform: rotate(360deg) translateX(50%) rotate(-360deg); }
}
 
 /*
==========
sideToSide
==========
*/
.sideToSide{
	animation-name: sideToSide;
	-webkit-animation-name: sideToSide;	

	animation-duration: 3s;	
	-webkit-animation-duration: 3s;

	animation-timing-function: ease;	
	-webkit-animation-timing-function: ease;

	-webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;	

	visibility: visible !important;						
}
@-webkit-keyframes sideToSide {
  0% {
    -webkit-transform: translate(100%, 0);
  }
  50% {
  	-webkit-transform: translate(-100%, 0);
  }
  100% {
  	-webkit-transform: translate(100%, 0);
  }
}
@keyframes sideToSide {
  0% {
    transform: translate(100%, 0);
  }
  50% {
  	transform: translate(-100%, 0);
  }
  100% {
  	transform: translate(100%, 0);
  }
}

/*
==========
zoomer
==========
*/
.zoomer{
	animation-name: zoomer;
	-webkit-animation-name: zoomer;	

	animation-duration: 1s;	
	-webkit-animation-duration: 1s;

	animation-timing-function: cubic-bezier(0.5, 0.2, 0.3, 1.0);	
	-webkit-animation-timing-function: cubic-bezier(0.5, 0.2, 0.3, 1.0);

	-webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;	

	visibility: visible !important;						
}
@-webkit-keyframes zoomer {
  0% {
    -webkit-transform: scale(.3);
  }
  100% {
    -webkit-transform: scale(1);
  }
}
@keyframes zoomer {
  0% {
    transform: scale(.3);
  }
  100% {
    transform: scale(1);
  }
}

/*
==========
zoomerOut
==========
*/
.zoomerOut{
	animation-name: zoomerOut;
	-webkit-animation-name: zoomerOut;	

	animation-duration: 1s;	
	-webkit-animation-duration: 1s;

	animation-timing-function: cubic-bezier(0.5, 0.2, 0.3, 1.0);	
	-webkit-animation-timing-function: cubic-bezier(0.5, 0.2, 0.3, 1.0);

	-webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;

    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;	

	visibility: visible !important;						
}
@-webkit-keyframes zoomerOut {
  0% {
    -webkit-transform: scale(1);
  }
  100% {
    -webkit-transform: scale(0);
  }
}
@keyframes zoomerOut {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(0);
  }
}

/*
==========
spinner
==========
*/
.spinner{
	animation-name: spinner;
	-webkit-animation-name: spinner;	

	animation-duration: 2s;	
	-webkit-animation-duration: 2s;

	animation-timing-function: linear;	
	-webkit-animation-timing-function: linear;

	-webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;	

	visibility: visible !important;						
}
@-webkit-keyframes spinner {
    from { -webkit-transform: rotate(0deg); }
    to { -webkit-transform: rotate(360deg); }
}
@keyframes spinner {
    from {transform:rotate(0deg);}
    to {transform:rotate(360deg);}
}

/*
==========
pulse
==========
*/
.pulse{
	animation-name: pulse;
	-webkit-animation-name: pulse;	

	animation-duration: 2s;	
	-webkit-animation-duration: 2s;

	animation-timing-function: linear;	
	-webkit-animation-timing-function: linear;

	animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;

	visibility: visible !important;	
}

@keyframes pulse {
	0% {
		transform: scale(0.9);
		opacity: 0.9;		
	}
	50% {
		transform: scale(1);
		opacity: 1;	
	}	
	100% {
		transform: scale(0.9);
		opacity: 0.9;	
	}			
}

@-webkit-keyframes pulse {
	0% {
		-webkit-transform: scale(0.95);
		opacity: 0.9;		
	}
	50% {
		-webkit-transform: scale(1);
		opacity: 1;	
	}	
	100% {
		-webkit-transform: scale(0.95);
		opacity: 0.9;	
	}			
}



/*
==========
shake
==========
*/
.shake{
	animation-name: shake;
	-webkit-animation-name: shake;	

	animation-duration: 0.4s;	
	-webkit-animation-duration: 0.4s;

	animation-timing-function: ease;	
	-webkit-animation-timing-function: ease;

	animation-iteration-count: 1;
	-webkit-animation-iteration-count: 1;

	visibility: visible !important;	
}

@keyframes shake {
	0%, 100% {transform: translateX(0);}
    16%, 50%, 83% {transform: translateX(-10px);}
    33%, 66% {transform: translateX(10px);}
}

@-webkit-keyframes shake {
	0%, 100% {-webkit-transform: translateX(0);}
    16%, 50%, 83% {-webkit-transform: translateX(-10px);}
    33%, 66% {-webkit-transform: translateX(10px);}	
}

/*
==========
barrelRoll
==========
*/
.barrelRoll{
	animation-name: barrelRoll;
	-webkit-animation-name: barrelRoll;	

	animation-duration: 0.4s;	
	-webkit-animation-duration: 0.4s;

	animation-timing-function: ease;	
	-webkit-animation-timing-function: ease;

	animation-iteration-count: 1;
	-webkit-animation-iteration-count: 1;

	visibility: visible !important;	
}

@keyframes barrelRoll {
    from { transform: rotate(0deg) }
    to   { transform: rotate(360deg) }
}

@-webkit-keyframes barrelRoll {
    from { -webkit-transform: rotate(0deg) }
    to   { -webkit-transform: rotate(360deg) }
}


/*
=========
floater
=========
*/

.floater{
	animation-name: floater;
	-webkit-animation-name: floater;

	animation-duration: 1.5s;	
	-webkit-animation-duration: 1.5s;

	animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;

	visibility: visible !important;	
}

@keyframes floater {
	0% {
		transform: translateY(0%);	
	}
	50% {
		transform: translateY(8%);	
	}	
	100% {
		transform: translateY(0%);
	}			
}

@-webkit-keyframes floater {
	0% {
		-webkit-transform: translateY(0%);	
	}
	50% {
		-webkit-transform: translateY(8%);	
	}	
	100% {
		-webkit-transform: translateY(0%);
	}			
}


/*
======
wiggle
======
*/

.wiggle{
	animation-name: wiggle;
	-webkit-animation-name: wiggle;	

	animation-duration: 2.5s;	
	-webkit-animation-duration: 2.5s;

	animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;

	visibility: visible !important;	
}

@keyframes wiggle {
	0% {
		transform: rotate(-4deg);	
	}
	50% {
		transform: rotate(4deg);
	}
	100% {
		transform: rotate(-4deg);	
	}						
}

@-webkit-keyframes wiggle {
	0% {
		-webkit-transform: rotate(-4deg);	
	}
	50% {
		-webkit-transform: rotate(4deg);
	}
	100% {
		-webkit-transform: rotate(-4deg);	
	}				
}

/*
======
pound
======
*/

.pound{
	animation-name: pound;
	-webkit-animation-name: pound;	

	animation-duration: 0.5s;	
	-webkit-animation-duration: 0.5s;

	animation-timing-function: ease;	
	-webkit-animation-timing-function: ease;

	animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;

	visibility: visible !important;	
}
@keyframes pound {
	to { transform: scale(1.2); }
}
@-webkit-keyframes pound {
	to { transform: scale(1.2); }
}

/*
======
heartbeat
======
*/

.heartbeat{
	animation-name: heartbeat;
	-webkit-animation-name: heartbeat;	

	animation-duration: 3s;	
	-webkit-animation-duration: 3s;

	animation-timing-function: ease;	
	-webkit-animation-timing-function: ease;

	animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;

	visibility: visible !important;	
}

@keyframes heartbeat {
	0% {
		transform: scale(1);	
	}
	10% {
		transform: scale(1.2);
	}
	20% {
		transform: scale(1.4);
	}
	100% {
		transform: scale(1);	
	}						
}

@-webkit-keyframes heartbeat {
	0% {
		-webkit-transform: scale(1);	
	}
	10% {
		-webkit-transform: scale(1.2);
	}
	20% {
		-webkit-transform: scale(1.4);
	}
	100% {
		-webkit-transform: scale(1);	
	}				
}


/*
======
rollerRight
======
*/

.rollerRight{
	animation-name: rollerRight;
	-webkit-animation-name: rollerRight;	

	animation-duration: 2s;	
	-webkit-animation-duration: 2s;

	animation-timing-function: ease;	
	-webkit-animation-timing-function: ease;

	animation-iteration-count: 1;
	-webkit-animation-iteration-count: 1;

	-webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;

}
@keyframes rollerRight {
  0% {
  	transform: translateX(-200px) rotate(0);
  	opacity: 0;	
  }				
  100% {
  	transform: translateX(0) rotate(2turn);
  	opacity: 1;
  }
}
@-webkit-keyframes rollerRight {
  0% {
  	-webkit-transform: translateX(-200px) rotate(0);
	opacity: 0;	
  }				
100% {
	-webkit-transform: translateX(0) rotate(2turn);
	opacity: 1;	
  }
}

/*
======
rollerLeft
======
*/

.rollerLeft{
	animation-name: rollerLeft;
	-webkit-animation-name: rollerLeft;	

	animation-duration: 2s;	
	-webkit-animation-duration: 2s;

	animation-timing-function: ease;	
	-webkit-animation-timing-function: ease;

	animation-iteration-count: 1;
	-webkit-animation-iteration-count: 1;

	-webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;

}
@keyframes rollerLeft {
  0% {
  	transform: translateX(200px) rotate(0);
  	opacity: 0;	
  }	
  100% {
  	transform: translateX(0) rotate(-2turn);
  	opacity: 1;	
  }
}
@-webkit-keyframes rollerLeft {
  0% {
  	-webkit-transform: translateX(200px) rotate(0);
  	opacity: 0;	
  }				
  100% {
  	-webkit-transform: translateX(0) rotate(-2turn);
	opacity: 1;	
  }
}


/*
==========
Boring ones from here on down
==========
*/

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

@keyframes slideDown {
	0% {
		transform: translateY(-100%);
		opacity: 0;
	}	
	100% {
		transform: translateY(0%);
		opacity: 1;
	}		
}

@-webkit-keyframes slideDown {
	0% {
		-webkit-transform: translateY(-100%);
		opacity: 0;
	}		
	100% {
		-webkit-transform: translateY(0%);
		opacity: 1;
	}	
}

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

@keyframes slideUp {
	0% {
		transform: translateY(100%);
		opacity: 0;
	}
	100% {
		transform: translateY(0%);
		opacity: 1;
	}	
}

@-webkit-keyframes slideUp {
	0% {
		-webkit-transform: translateY(100%);
		opacity: 0;
	}	
	100% {
		-webkit-transform: translateY(0%);
		opacity: 1;
	}	
}

/*
==========
slideLeft
==========
*/


.slideLeft{
	animation-name: slideLeft;
	-webkit-animation-name: slideLeft;	

	animation-duration: 1s;	
	-webkit-animation-duration: 1s;

	animation-timing-function: ease;	
	-webkit-animation-timing-function: ease;		

}

@keyframes slideLeft {
	0% {
		transform: translateX(150%);
		opacity: 0;
	}		
	100% {
		transform: translateX(0%);
		opacity: 1;
	}	
}

@-webkit-keyframes slideLeft {
	0% {
		-webkit-transform: translateX(150%);
		opacity: 0;
	}		
	100% {
		-webkit-transform: translateX(0%);
		opacity: 1;
	}
}

/*
==========
slideRight
==========
*/


.slideRight{
	animation-name: slideRight;
	-webkit-animation-name: slideRight;	

	animation-duration: 1s;	
	-webkit-animation-duration: 1s;

	animation-timing-function: ease;	
	-webkit-animation-timing-function: ease;		

}

@keyframes slideRight {
	0% {
		transform: translateX(-150%);
		opacity: 0;
	}		
	100% {
		transform: translateX(0%);
		opacity: 1;
	}	
}

@-webkit-keyframes slideRight {
	0% {
		-webkit-transform: translateX(-150%);
		opacity: 0;
	}		
	100% {
		-webkit-transform: translateX(0%);
		opacity: 1;
	}
}

/*
==========
fadeIn
==========
*/


.fadeIn{
	animation-name: fadeIn;
	-webkit-animation-name: fadeIn;	

	animation-duration: 2s;	
	-webkit-animation-duration: 2s;

	animation-timing-function: ease;	
	-webkit-animation-timing-function: ease;	

	visibility: visible !important;		
}

@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}	
}

@-webkit-keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}


/*
==========
fadeOut
==========
*/


.fadeOut{
	animation-name: fadeOut;
	-webkit-animation-name: fadeOut;	

	animation-duration: 2s;	
	-webkit-animation-duration: 2s;

	animation-timing-function: ease;	
	-webkit-animation-timing-function: ease;

	-webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;		
}

@keyframes fadeOut {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}	
}

@-webkit-keyframes fadeOut {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}


/*
==========
rotateInRight
==========
*/
.rotateInRight{
	animation-name: rotateInRight;
	-webkit-animation-name: rotateInRight;	

	animation-duration: 3s;	
	-webkit-animation-duration: 3s;

	animation-timing-function: ease-in-out;	
	-webkit-animation-timing-function: ease-in-out;

	-webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;	
					
}
@-webkit-keyframes rotateInRight {
    from { 
    	-webkit-transform: rotate(0deg) translateX(100%) rotate(0deg); 
    }
    to   { 
    	-webkit-transform: rotate(360deg) translateX(0) rotate(-360deg); 
    }
}
@keyframes rotateInRight {
    from { 
    	transform: rotate(0deg) translateX(100%) rotate(0deg); 
    }
    to   { 
    	transform: rotate(360deg) translateX(0) rotate(-360deg); 
    }
}

/*
==========
rotateInLeft
==========
*/
.rotateInLeft{
	animation-name: rotateInLeft;
	-webkit-animation-name: rotateInLeft;	

	animation-duration: 3s;	
	-webkit-animation-duration: 3s;

	animation-timing-function: ease-in-out;	
	-webkit-animation-timing-function: ease-in-out;

	-webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;	
					
}
@-webkit-keyframes rotateInLeft {
    from { 
    	-webkit-transform: rotate(0deg) translateX(-100%) rotate(0deg); 
    }
    to   { 
    	-webkit-transform: rotate(360deg) translateX(0) rotate(-360deg); 
    }
}
@keyframes rotateInLeft {
    from { 
    	transform: rotate(0deg) translateX(-100%) rotate(0deg); 
    }
    to   { 
    	transform: rotate(360deg) translateX(0) rotate(-360deg); 
    }
}

/*
==========
rotateIn
==========
*/
.rotateIn {
 animation-name: rotateIn;
 -webkit-animation-name: rotateIn;

 animation-duration: 3s;	
 -webkit-animation-duration: 3s;

 animation-timing-function: ease;	
 -webkit-animation-timing-function: ease;

 -webkit-animation-iteration-count: 1;
 animation-iteration-count: 1;	

 -webkit-transform-origin: center;
 transform-origin: center;
		
}


@-webkit-keyframes rotateIn {
  0% {
    -webkit-transform: rotate3d(0, 0, 1, -720deg);
    transform: rotate3d(0, 0, 1, -720deg);
    opacity: 0;
  }

  100% {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateIn {
  0% {
    -webkit-transform: rotate3d(0, 0, 1, -720deg);
    transform: rotate3d(0, 0, 1, -720deg);
    opacity: 0;
  }

  100% {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}


/*
==========
bounceIn
==========
*/

.bounceIn{
   
   -webkit-animation-name: bounceIn;
  animation-name: bounceIn;

  -webkit-animation-duration: .8s;
  animation-duration: .8s;

  -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
   animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
}

@-webkit-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    -webkit-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .9);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }

  80% {
    -webkit-transform: scale3d(.97, .97, .97);
    transform: scale3d(.97, .97, .97);
  }

  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    -webkit-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .9);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }

  80% {
    -webkit-transform: scale3d(.97, .97, .97);
    transform: scale3d(.97, .97, .97);
  }

  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}