/*!
 * stroll.js 1.2 - CSS scroll effects
 * http://lab.hakim.se/scroll-effects
 * MIT licensed
 * 
 * Copyright (C) 2012 Hakim El Hattab, http://hakim.se
 */


/**
 * Shrink styles
 */
.cards {
	-webkit-perspective: 300px;
	   -moz-perspective: 300px;
	    -ms-perspective: 300px;
	     -o-perspective: 300px;
	        perspective: 300px;

	-webkit-perspective-origin: 50% 50%;
	   -moz-perspective-origin: 50% 50%;
	    -ms-perspective-origin: 50% 50%;
	     -o-perspective-origin: 50% 50%;
	        perspective-origin: 50% 50%;
}

	.cards li {
		-webkit-transition: all 600ms ease;
		   -moz-transition: all 600ms ease;
		    -ms-transition: all 600ms ease;
		     -o-transition: all 600ms ease;
		        transition: all 600ms ease;

		-webkit-transform-origin: 100% 50%;
		   -moz-transform-origin: 100% 50%;
		    -ms-transform-origin: 100% 50%;
		     -o-transform-origin: 100% 50%;
		        transform-origin: 100% 50%;
	}
		.cards li.past {
			-webkit-transform: translate3d( 0, -100px, -100px ) rotateX( -90deg );
			   -moz-transform: translate3d( 0, -100px, -100px ) rotateX( -90deg );
			    -ms-transform: translate3d( 0, -100px, -100px ) rotateX( -90deg );
			     -o-transform: translate3d( 0, -100px, -100px ) rotateX( -90deg );
			        transform: translate3d( 0, -100px, -100px ) rotateX( -90deg );
		}
		.cards li.future {
			-webkit-transform: translate3d( 0, 100px, -100px ) rotateX( 90deg );
			   -moz-transform: translate3d( 0, 100px, -100px ) rotateX( 90deg );
			    -ms-transform: translate3d( 0, 100px, -100px ) rotateX( 90deg );
			     -o-transform: translate3d( 0, 100px, -100px ) rotateX( 90deg );
			        transform: translate3d( 0, 100px, -100px ) rotateX( 90deg );
		}


/**
 * Grow styles
 */
.grow li {
	-webkit-transition: all 600ms ease;
	   -moz-transition: all 600ms ease;
	    -ms-transition: all 600ms ease;
	     -o-transition: all 600ms ease;
	        transition: all 600ms ease;

	-webkit-transform-origin: 50% 50%;
	   -moz-transform-origin: 50% 50%;
	    -ms-transform-origin: 50% 50%;
	     -o-transform-origin: 50% 50%;
	        transform-origin: 50% 50%;
}
	.grow li.past {
		-webkit-transform: scale( 0.01 );
		   -moz-transform: scale( 0.01 );
		    -ms-transform: scale( 0.01 );
		     -o-transform: scale( 0.01 );
		        transform: scale( 0.01 );
	}
	.grow li.future {
		-webkit-transform: scale( 0.01 );
		   -moz-transform: scale( 0.01 );
		    -ms-transform: scale( 0.01 );
		     -o-transform: scale( 0.01 );
		        transform: scale( 0.01 );
	}


/**
 * Flip styles
 */
.flip {
	-webkit-perspective: 400px;
	   -moz-perspective: 400px;
	    -ms-perspective: 400px;
	     -o-perspective: 400px;
	        perspective: 400px;

	-webkit-perspective-origin: 50% 50%;
	   -moz-perspective-origin: 50% 50%;
	    -ms-perspective-origin: 50% 50%;
	     -o-perspective-origin: 50% 50%;
	        perspective-origin: 50% 50%;
}

	.flip li {
		-webkit-transition: all 600ms ease,
							opacity 300ms ease;
		   -moz-transition: all 600ms ease;
		    -ms-transition: all 600ms ease,
		    				opacity 300ms ease;
		     -o-transition: all 600ms ease,
		    				opacity 300ms ease;
		        transition: all 600ms ease,
		        			opacity 300ms ease;

		-webkit-transform-origin: 0% 0%;
		   -moz-transform-origin: 0% 0%;
		    -ms-transform-origin: 0% 0%;
		     -o-transform-origin: 0% 0%;
		        transform-origin: 0% 0%;
	}
		.flip li.past {
			opacity: 0;

			-webkit-transform-origin: 0% 100%;
			   -moz-transform-origin: 0% 100%;
			    -ms-transform-origin: 0% 100%;
			     -o-transform-origin: 0% 100%;
			        transform-origin: 0% 100%;

			-webkit-transform: rotateX( 80deg );
			   -moz-transform: rotateX( 80deg );
			    -ms-transform: rotateX( 80deg );
			     -o-transform: rotateX( 80deg );
			        transform: rotateX( 80deg );
		}
		.flip li.future {
			opacity: 0;

			-webkit-transform: rotateX( -80deg );
			   -moz-transform: rotateX( -80deg );
			    -ms-transform: rotateX( -80deg );
			     -o-transform: rotateX( -80deg );
			        transform: rotateX( -80deg );
		}

/**
 * Fly styles
 */
.fly {
	-webkit-perspective: 400px;
	   -moz-perspective: 400px;
	    -ms-perspective: 400px;
	     -o-perspective: 400px;
	        perspective: 400px;

	-webkit-perspective-origin: 50% 50%;
	   -moz-perspective-origin: 50% 50%;
	    -ms-perspective-origin: 50% 50%;
	     -o-perspective-origin: 50% 50%;
	        perspective-origin: 50% 50%;
}

	.fly li {
		-webkit-transition: all 600ms ease, opacity 300ms ease;
		   -moz-transition: all 600ms ease;
		    -ms-transition: all 600ms ease, opacity 300ms ease;
		     -o-transition: all 600ms ease, opacity 300ms ease;
		        transition: all 600ms ease, opacity 300ms ease;

		-webkit-transform-origin: 50% 50% -50px;
		   -moz-transform-origin: 50% 50% -50px;
		    -ms-transform-origin: 50% 50% -50px;
		     -o-transform-origin: 50% 50% -50px;
		        transform-origin: 50% 50% -50px;
	}
		.fly li.past {
			opacity: 0;

			-webkit-transform: rotateX( 180deg );
			   -moz-transform: rotateX( 180deg );
			    -ms-transform: rotateX( 180deg );
			     -o-transform: rotateX( 180deg );
			        transform: rotateX( 180deg );
		}
		.fly li.future {
			opacity: 0;

			-webkit-transform: rotateX( -180deg );
			   -moz-transform: rotateX( -180deg );
			    -ms-transform: rotateX( -180deg );
			     -o-transform: rotateX( -180deg );
			        transform: rotateX( -180deg );
		}

.fly-simplified {
	-webkit-perspective: 300px;
	   -moz-perspective: 300px;
	    -ms-perspective: 300px;
	     -o-perspective: 300px;
	        perspective: 300px;

	-webkit-perspective-origin: 50% 50%;
	   -moz-perspective-origin: 50% 50%;
	    -ms-perspective-origin: 50% 50%;
	     -o-perspective-origin: 50% 50%;
	        perspective-origin: 50% 50%;
}

	.fly-simplified li {
		-webkit-transition: all 600ms ease;
		   -moz-transition: all 600ms ease;
		    -ms-transition: all 600ms ease;
		     -o-transition: all 600ms ease;
		        transition: all 600ms ease;

		-webkit-transform-origin: 100% 50%;
		   -moz-transform-origin: 100% 50%;
		    -ms-transform-origin: 100% 50%;
		     -o-transform-origin: 100% 50%;
		        transform-origin: 100% 50%;
	}
		.fly-simplified li.past {
			-webkit-transform: translate3d( 0, -100px, -100px ) rotateX( 90deg );
			   -moz-transform: translate3d( 0, -100px, -100px ) rotateX( 90deg );
			    -ms-transform: translate3d( 0, -100px, -100px ) rotateX( 90deg );
			     -o-transform: translate3d( 0, -100px, -100px ) rotateX( 90deg );
			        transform: translate3d( 0, -100px, -100px ) rotateX( 90deg );
		}
		.fly-simplified li.future {
			-webkit-transform: translate3d( 0, 100px, -100px ) rotateX( -90deg );
			   -moz-transform: translate3d( 0, 100px, -100px ) rotateX( -90deg );
			    -ms-transform: translate3d( 0, 100px, -100px ) rotateX( -90deg );
			     -o-transform: translate3d( 0, 100px, -100px ) rotateX( -90deg );
			        transform: translate3d( 0, 100px, -100px ) rotateX( -90deg );
		}

/**
 * Reverse fly styles
 */
.fly-reverse {
	-webkit-perspective: 400px;
	   -moz-perspective: 400px;
	    -ms-perspective: 400px;
	     -o-perspective: 400px;
	        perspective: 400px;

	-webkit-perspective-origin: 50% 50%;
	   -moz-perspective-origin: 50% 50%;
	    -ms-perspective-origin: 50% 50%;
	     -o-perspective-origin: 50% 50%;
	        perspective-origin: 50% 50%;
}

	.fly-reverse li {
		-webkit-transition: all 600ms ease, opacity 300ms ease;
		   -moz-transition: all 600ms ease;
		    -ms-transition: all 600ms ease, opacity 300ms ease;
		     -o-transition: all 600ms ease, opacity 300ms ease;
		        transition: all 600ms ease, opacity 300ms ease;

		-webkit-transform-origin: 50% 50% -50px;
		   -moz-transform-origin: 50% 50% -50px;
		    -ms-transform-origin: 50% 50% -50px;
		     -o-transform-origin: 50% 50% -50px;
		        transform-origin: 50% 50% -50px;
	}
		.fly-reverse li.past {
			opacity: 0;

			-webkit-transform: rotateX( -180deg );
			   -moz-transform: rotateX( -180deg );
			    -ms-transform: rotateX( -180deg );
			     -o-transform: rotateX( -180deg );
			        transform: rotateX( -180deg );
		}
		.fly-reverse li.future {
			opacity: 0;

			-webkit-transform: rotateX( 180deg );
			   -moz-transform: rotateX( 180deg );
			    -ms-transform: rotateX( 180deg );
			     -o-transform: rotateX( 180deg );
			        transform: rotateX( 180deg );
		}

/**
 * Skew
 */
 .skew {
 	-webkit-perspective: 600px;
 	   -moz-perspective: 600px;
 	    -ms-perspective: 600px;
 	     -o-perspective: 600px;
 	        perspective: 600px;

 	-webkit-perspective-origin: 0% 50%;
 	   -moz-perspective-origin: 0% 50%;
 	    -ms-perspective-origin: 0% 50%;
 	     -o-perspective-origin: 0% 50%;
 	        perspective-origin: 0% 50%;
 }
 	.skew li {
 		-webkit-transition: all 600ms ease,
 							opacity 200ms ease;
 		   -moz-transition: all 600ms ease;
 		    -ms-transition: all 600ms ease;
 		     -o-transition: all 600ms ease;
 		        transition: all 600ms ease;

 		-webkit-transform-origin: 0% 0%;
 		   -moz-transform-origin: 0% 0%;
 		    -ms-transform-origin: 0% 0%;
 		     -o-transform-origin: 0% 0%;
 		        transform-origin: 0% 0%;
 	}
 		.skew li.past {
 			-webkit-transform: skewY( 30deg );
 			   -moz-transform: skewY( 30deg );
 			    -ms-transform: skewY( 30deg );
 			     -o-transform: skewY( 30deg );
 			        transform: skewY( 30deg );
 		}
 		.skew li.future {
 			z-index: 0;

 			-webkit-transform: skewY( -30deg );
 			   -moz-transform: skewY( -30deg );
 			    -ms-transform: skewY( -30deg );
 			     -o-transform: skewY( -30deg );
 			        transform: skewY( -30deg );
 		}


/**
 * Helix styles
 */
.helix {
	-webkit-perspective: 600px;
	   -moz-perspective: 600px;
	    -ms-perspective: 600px;
	     -o-perspective: 600px;
	        perspective: 600px;

	-webkit-perspective-origin: 50% 50%;
	   -moz-perspective-origin: 50% 50%;
	    -ms-perspective-origin: 50% 50%;
	     -o-perspective-origin: 50% 50%;
	        perspective-origin: 50% 50%;
}

	.helix li {
		-webkit-transition: all 600ms ease,
							opacity 200ms ease;
		   -moz-transition: all 600ms ease;
		    -ms-transition: all 600ms ease,
		    				opacity 200ms ease;
		     -o-transition: all 600ms ease,
		    				opacity 200ms ease;
		        transition: all 600ms ease,
		        			opacity 200ms ease;

		-webkit-transform-origin: 50% 50%;
		   -moz-transform-origin: 50% 50%;
		    -ms-transform-origin: 50% 50%;
		     -o-transform-origin: 50% 50%;
		        transform-origin: 50% 50%;
	}
		.helix li.past {
			opacity: 0;

			-webkit-transform: rotateY( 180deg );
			   -moz-transform: rotateY( 180deg );
			    -ms-transform: rotateY( 180deg );
			     -o-transform: rotateY( 180deg );
			        transform: rotateY( 180deg );
		}
		.helix li.future {
			opacity: 0;

			-webkit-transform: rotateY( -180deg );
			   -moz-transform: rotateY( -180deg );
			    -ms-transform: rotateY( -180deg );
			     -o-transform: rotateY( -180deg );
			        transform: rotateY( -180deg );
		}


/**
 * Wave styles
 */
.wave li {
	-webkit-transition: all 600ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
	   -moz-transition: all 600ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
	    -ms-transition: all 600ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
	     -o-transition: all 600ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
	        transition: all 600ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
}
	.wave li.past {
		-webkit-transform: translateX( -70% );
		   -moz-transform: translateX( -70% );
		    -ms-transform: translateX( -70% );
		     -o-transform: translateX( -70% );
		        transform: translateX( -70% );
	}
	.wave li.future {
		-webkit-transform: translateX( -70% );
		   -moz-transform: translateX( -70% );
		    -ms-transform: translateX( -70% );
		     -o-transform: translateX( -70% );
		        transform: translateX( -70% );
	}


/**
 * Fan styles
 */
.fan li {
	-webkit-transition: all 600ms cubic-bezier(0.390, 0.575, 0.565, 1.000);
	   -moz-transition: all 600ms cubic-bezier(0.390, 0.575, 0.565, 1.000);
	    -ms-transition: all 600ms cubic-bezier(0.390, 0.575, 0.565, 1.000);
	     -o-transition: all 600ms cubic-bezier(0.390, 0.575, 0.565, 1.000);
	        transition: all 600ms cubic-bezier(0.390, 0.575, 0.565, 1.000);

	-webkit-transform-origin: 0% 0%;
	   -moz-transform-origin: 0% 0%;
	    -ms-transform-origin: 0% 0%;
	     -o-transform-origin: 0% 0%;
	        transform-origin: 0% 0%;
}
	.fan li.past {
		-webkit-transform: rotate( -60deg );
		   -moz-transform: rotate( -60deg );
		    -ms-transform: rotate( -60deg );
		     -o-transform: rotate( -60deg );
		        transform: rotate( -60deg );
	}
	.fan li.future {
		-webkit-transform: rotate( 70deg );
		   -moz-transform: rotate( 70deg );
		    -ms-transform: rotate( 70deg );
		     -o-transform: rotate( 70deg );
		        transform: rotate( 70deg );
	}


/**
 * Tilt styles
 */
.tilt {
	-webkit-perspective: 800px;
	   -moz-perspective: 800px;
	    -ms-perspective: 800px;
	     -o-perspective: 800px;
	        perspective: 800px;

	-webkit-perspective-origin: 50% 50%;
	   -moz-perspective-origin: 50% 50%;
	    -ms-perspective-origin: 50% 50%;
	     -o-perspective-origin: 50% 50%;
	        perspective-origin: 50% 50%;
}

	.tilt li {
		position: relative;

		-webkit-transition: all 1000ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
							opacity 300ms ease;
		   -moz-transition: all 1000ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
		    -ms-transition: all 1000ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
		    				opacity 300ms ease;
		     -o-transition: all 1000ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
		    				opacity 300ms ease;
		        transition: all 1000ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
		        			opacity 300ms ease;
	}
		.tilt li.past {
			opacity: 0;

			-webkit-transform: translateY( 100% ) translateZ(-200px);
			   -moz-transform: translateY( 100% ) translateZ(-200px);
			    -ms-transform: translateY( 100% ) translateZ(-200px);
			     -o-transform: translateY( 100% ) translateZ(-200px);
			        transform: translateY( 100% ) translateZ(-200px);
		}
		.tilt li.future {
			opacity: 0;

			-webkit-transform: translateY( -100% ) translateZ(-200px);
			   -moz-transform: translateY( -100% ) translateZ(-200px);
			    -ms-transform: translateY( -100% ) translateZ(-200px);
			     -o-transform: translateY( -100% ) translateZ(-200px);
			        transform: translateY( -100% ) translateZ(-200px);
		}


/**
 * Curl styles
 */
.curl {
	-webkit-perspective: 600px;
	   -moz-perspective: 600px;
	    -ms-perspective: 600px;
	     -o-perspective: 600px;
	        perspective: 600px;

	-webkit-perspective-origin: 0% 50%;
	   -moz-perspective-origin: 0% 50%;
	    -ms-perspective-origin: 0% 50%;
	     -o-perspective-origin: 0% 50%;
	        perspective-origin: 0% 50%;
}

	.curl li {
		-webkit-transition: all 600ms ease,
							opacity 200ms ease;
		   -moz-transition: all 600ms ease;
		    -ms-transition: all 600ms ease,
		    				opacity 200ms ease;
		     -o-transition: all 600ms ease,
		    				opacity 200ms ease;
		        transition: all 600ms ease,
		        			opacity 200ms ease;

		-webkit-transform-origin: 0% 0%;
		   -moz-transform-origin: 0% 0%;
		    -ms-transform-origin: 0% 0%;
		     -o-transform-origin: 0% 0%;
		        transform-origin: 0% 0%;

		-webkit-backface-visibility: hidden;
		   -moz-backface-visibility: hidden;
		    -ms-backface-visibility: hidden;
		     -o-backface-visibility: hidden;
		        backface-visibility: hidden;
	}
		.curl li.past {
			opacity: 0;

			-webkit-transform: rotateY( 90deg );
			   -moz-transform: rotateY( 90deg );
			    -ms-transform: rotateY( 90deg );
			     -o-transform: rotateY( 90deg );
			        transform: rotateY( 90deg );
		}
		.curl li.future {
			opacity: 0;

			-webkit-transform: rotateY( 90deg );
			   -moz-transform: rotateY( 90deg );
			    -ms-transform: rotateY( 90deg );
			     -o-transform: rotateY( 90deg );
			        transform: rotateY( 90deg );
		}


.papercut {
	-webkit-perspective: 600px;
	   -moz-perspective: 600px;
	    -ms-perspective: 600px;
	     -o-perspective: 600px;
	        perspective: 600px;

	-webkit-perspective-origin: 0% 0%;
	   -moz-perspective-origin: 0% 0%;
	    -ms-perspective-origin: 0% 0%;
	     -o-perspective-origin: 0% 0%;
	        perspective-origin: 0% 0%;
}
	.papercut li {
		-webkit-transition: all 600ms ease;
		   -moz-transition: all 600ms ease;
		    -ms-transition: all 600ms ease;
		     -o-transition: all 600ms ease;
		        transition: all 600ms ease;

		-webkit-transform-origin: 0% 0%;
		   -moz-transform-origin: 0% 0%;
		    -ms-transform-origin: 0% 0%;
		     -o-transform-origin: 0% 0%;
		        transform-origin: 0% 0%;
	}
		.papercut li.past {
			-webkit-transform: skewY( -30deg );
			   -moz-transform: skewY( -30deg );
			    -ms-transform: skewY( -30deg );
			     -o-transform: skewY( -30deg );
			        transform: skewY( -30deg );
		}
		.papercut li.future {
			-webkit-transform: skewY( 30deg );
			   -moz-transform: skewY( 30deg );
			    -ms-transform: skewY( 30deg );
			     -o-transform: skewY( 30deg );
			        transform: skewY( 30deg );
		}


/**
 * Zipper styles
 */
.zipper li {
	-webkit-transition: all 600ms cubic-bezier(0.390, 0.575, 0.565, 1.000);
	   -moz-transition: all 600ms cubic-bezier(0.390, 0.575, 0.565, 1.000);
	    -ms-transition: all 600ms cubic-bezier(0.390, 0.575, 0.565, 1.000);
	     -o-transition: all 600ms cubic-bezier(0.390, 0.575, 0.565, 1.000);
	        transition: all 600ms cubic-bezier(0.390, 0.575, 0.565, 1.000);

	-webkit-transform-origin: 50% 0%;
	   -moz-transform-origin: 50% 0%;
	    -ms-transform-origin: 50% 0%;
	     -o-transform-origin: 50% 0%;
	        transform-origin: 50% 0%;
}
	.zipper li.past:nth-child(odd),
	.zipper li.future:nth-child(odd) {
		-webkit-transform: translateX( 80% );
		   -moz-transform: translateX( 80% );
		    -ms-transform: translateX( 80% );
		     -o-transform: translateX( 80% );
		        transform: translateX( 80% );
	}
	.zipper li.past:nth-child(even),
	.zipper li.future:nth-child(even) {
		-webkit-transform: translateX( -80% );
		   -moz-transform: translateX( -80% );
		    -ms-transform: translateX( -80% );
		     -o-transform: translateX( -80% );
		        transform: translateX( -80% );
	}


/**
 * Fade styles
 */
.fade li {
	-webkit-transition: opacity .35s ease-in-out;
	   -moz-transition: opacity .35s ease-in-out;
	    -ms-transition: opacity .35s ease-in-out;
	     -o-transition: opacity .35s ease-in-out;
	        transition: opacity .35s ease-in-out;
}
	.fade li.past {
        opacity: 0;
	}
	.fade li.future {
        opacity: 0;
	}


/**
 * Twirl styles
 */
.twirl {
	-webkit-perspective: 400px;
	   -moz-perspective: 400px;
	    -ms-perspective: 400px;
	     -o-perspective: 400px;
	        perspective: 400px;

	-webkit-perspective-origin: 50% 50%;
	   -moz-perspective-origin: 50% 50%;
	    -ms-perspective-origin: 50% 50%;
	     -o-perspective-origin: 50% 50%;
	        perspective-origin: 50% 50%;
}

	.twirl li {
		-webkit-transition: all 600ms ease,
							opacity 200ms ease;
		   -moz-transition: all 600ms ease;
		    -ms-transition: all 600ms ease,
		    				opacity 200ms ease;
		     -o-transition: all 600ms ease,
		    				opacity 200ms ease;
		        transition: all 600ms ease,
		        			opacity 200ms ease;

		-webkit-transform-origin: 50% 50%;
		   -moz-transform-origin: 50% 50%;
		    -ms-transform-origin: 50% 50%;
		     -o-transform-origin: 50% 50%;
		        transform-origin: 50% 50%;
	}
		.twirl li.past {
			opacity: 0;

			-webkit-transform: rotate3d( 80,-70,10,180deg );
			   -moz-transform: rotate3d( 80,70,10,180deg );
			    -ms-transform: rotate3d( 80,70,10,180deg );
			     -o-transform: rotate3d( 80,70,10,180deg );
			        transform: rotate3d( 80,70,10,180deg );
		}
		.twirl li.future {
			opacity: 0;

			-webkit-transform: rotate3d( 80,70,10,-180deg );
			   -moz-transform: rotate3d( 80,70,10,-180deg );
			    -ms-transform: rotate3d( 80,70,10,-180deg );
			     -o-transform: rotate3d( 80,70,10,-180deg );
			        transform: rotate3d( 80,70,10,-180deg );
		}
