/**
 * Surrounding page styles
 */

html, body {
	margin: 0px;
	padding: 0px;
}

body {
	background: #323232;
	font-family: 'Lato', Times, 'Times New Roman', serif;
	font-size: 16px;
	color: #eee;
	margin-bottom: 40px;
}

header {
	background: rgba(0, 0, 0, 0.2);
	margin-bottom: 30px;
	padding: 20px 100px 20px 20px;
	font-size: 20px;
	line-height: 1.3em;
}

header div {
	margin-top: 10px;
}

a {
	color: cyan;
}

article {
	display: inline-block;
	margin: 20px;
}

h2 {
	margin-bottom: 20px;
	text-transform: uppercase;
}

small {
	opacity: 0.6;
	font-style: italic;
	font-size: 14px;
	margin-left: 5px;
}


/**
 * Base style for all lists
 */

ul {
	position: relative;
	width: 230px;
	height: 480px;
	overflow-x: hidden;
	overflow-y: scroll;
}
	ul li {
		position: relative;
		padding: 16px;
		background: #eee;
		color: #252525;
		font-size: 18px;
		z-index: 2;
	}
	ul li:nth-child(odd) {
		background: #fff;
	}


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

/**
 * 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%;
	}
		.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 styles
 */
/*.test li {
	-webkit-transition: all 600ms cubic-bezier(0.175, 0.885, 0.320, 1.275);
	   -moz-transition: all 600ms cubic-bezier(0.175, 0.885, 0.320, 1.275);
	    -ms-transition: all 600ms cubic-bezier(0.175, 0.885, 0.320, 1.275);
	     -o-transition: all 600ms cubic-bezier(0.175, 0.885, 0.320, 1.275);
	        transition: all 600ms cubic-bezier(0.175, 0.885, 0.320, 1.275);
}*/
.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% );
	}



