html, body {
	margin:0;
	padding:0;
	width:100%;
	height:100%;
	background:#09ADDC;
	overflow:hidden;	
}

body {
	position:relative;
	font-family:tahoma,verdana,sans-serif;
	color:#136;
	font-size:28px;
	line-height:1.5;
	counter-reset:slides;
	
	-webkit-user-select: none;

	background:#09ADDC -webkit-radial-gradient(white, #cfeff8, #a5e1f2, #52bfdf, #09ADDC);
	background:#09ADDC -moz-radial-gradient(white, #cfeff8, #a5e1f2, #52bfdf, #09ADDC);
	background:#09ADDC -ms-radial-gradient(white, #cfeff8, #a5e1f2, #52bfdf, #09ADDC);
	background:#09ADDC -o-radial-gradient(white, #cfeff8, #a5e1f2, #52bfdf, #09ADDC);
	background:#09ADDC radial-gradient(white, #cfeff8, #a5e1f2, #52bfdf, #09ADDC);
}
	body.preview {
		background:#204080;
		overflow:auto;
		-webkit-user-select: auto;		
	}

section, 
header, 
article, 
footer {
	display:block;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
}

h1 {
	font-size:42px;
	text-transform:uppercase;
	letter-spacing: 3px;
	text-align:center;
	text-shadow:
		0 3px 15px rgba(0,0,0,0.25), 
		0 1px 3px rgba(0,5,33,0.2);
}

h2, h3 {
	font-size:36px;
	text-shadow:0 1px 5px rgba(0,0,0,0.2);
}

ul {
	margin-top:0;
}
	ul.columns {
		margin:1em 0;
		padding:0;
		-webkit-column-count:3;
		-moz-column-count:3;
		-ms-column-count:3;
		-o-column-count:3;
		column-count:3;
		list-style:none;
	}
		ul.columns li {
			text-align:center;
			font-size:32px;
			margin:0.25em;
			list-style:none;
		}

li {
	padding:0.33em 0.5em;
	line-height:1.5;
}
	li em {
		color:white;
	}

.centered {
	text-align:center;
}

.balloon {
	font-family:tahoma,verdana,sans-serif;
	color:#136;
	font-size:16px;
	text-align:center;
	background:#ffd;
	
	position:absolute;
	left:50%;
	top:100%;
	margin:40px 0 0 -160px;
	padding:20px;
	width:320px;
	
	border-radius: 50%;
	box-sizing:border-box;
	box-shadow: 0 10px 20px rgba(0,0,0,0.2);
	
	opacity: 1;
	-webkit-transition: opacity 0.5s linear 3s;
}
	.balloon::after {
		content:'\00A0';
		position:absolute;
		width:0;
		height:0;
		top:-50px;
		left:80px;
		overflow:hidden;
		border-style:solid;
		border-width:30px 15px;
		border-color:transparent transparent #ffd transparent;
		-webkit-transform:rotate(-10deg);
	}

	.revealed .balloon {
		opacity: 0;
	}

figure img {
	display:block;
	margin:1em auto;
	border:5px solid white;
	box-shadow: 
		5px 10px 15px rgba(0,0,0,0.2), 
		1px 1px 3px rgba(0,0,0,0.1);
}

pre, .code {
	font-size:22px;
	font-family: courier-new;
	text-shadow:none;
}
	.code .syntaxhighlighter {
		border:5px solid white;
		overflow:visible !important;
		box-shadow: 
			5px 10px 15px rgba(0,0,0,0.2), 
			1px 1px 3px rgba(0,0,0,0.1);
	}

blockquote {
	display:block;
	position:relative;
	font-style:italic;
	padding:1px 80px;
	margin:2em 0;
	quotes: '“' '”';
	line-height:1.5;
	
}
	blockquote::before,
	blockquote p:last-child::after { 
		line-height:1;
		position:absolute;
		font-family:georgia;
		font-size:400%;
		font-weight:bold;
		content:open-quote; 
		top:-.2em; 
		left:0;
		color:white;
	}	
		blockquote p:last-child::after { 
			content:close-quote; 
			top:auto;
			left:auto;
			right:0;
			bottom:-0.85em;
			color:white;
		}

	blockquote::after {
		position:absolute;
		right:60px;
		bottom:-1.75em;
		font-size:75%;
		content:attr(cite);
		color:white;
	}

video {
	display:block;
	position:absolute;
	width:800px;
	height:450px;
	left:50%;
	top:50%;
	margin:-240px 0 0 -400px;
	background:black;
	box-shadow:0 10px 20px rgba(0,0,0,0.2);
	
}

iframe {
	display:block;
	border:0;
	position:absolute;
	left:5%;
	top:10%;
	width:90%;
	height:80%;
	box-shadow:0 10px 20px rgba(0,0,0,0.2);
}

ul, ol {
	margin-left:0.75em;
}

.list li,
.index li {
	border-bottom:1px dashed rgba(0,0,0,0.25);
	letter-spacing:4px;
}
	.index li:nth-child(even) {
		background: rgba(255,255,255,0.3);
	}

.slide {
	position:absolute;
	left:-3000px;
	top:0;
	height:100%;
	width:100%;	
	overflow:hidden;
	counter-increment: slides;
	z-index:99;
	display:none;	
	
	-webkit-transition: -webkit-transform 0.25s linear, opacity 0.25s linear;
	/*
	-moz-transition: opacity 0.25s linear;
	-ms-transition: opacity 0.25s linear;
	-o-transition: opacity 0.25s linear;
	transition: opacity 0.25s linear;
	*/
}
	body.preview .slide {
		position:relative;
		left:0 !important;
		top:0 !important;
		display:block !important;
		opacity:1 !important;

		box-shadow: 0 10px 20px rgba(0,0,0,0.2);

		height:auto;
		min-height:540px;
		max-width:960px;
		margin:1em auto;

		background:#09ADDC -webkit-radial-gradient(white, #cfeff8, #a5e1f2, #52bfdf, #09ADDC);
		background:#09ADDC -moz-radial-gradient(white, #cfeff8, #a5e1f2, #52bfdf, #09ADDC);
		background:#09ADDC -ms-radial-gradient(white, #cfeff8, #a5e1f2, #52bfdf, #09ADDC);
		background:#09ADDC -o-radial-gradient(white, #cfeff8, #a5e1f2, #52bfdf, #09ADDC);
		background:#09ADDC radial-gradient(white, #cfeff8, #a5e1f2, #52bfdf, #09ADDC);

		-webkit-transform: none;
		-moz-transform: none;
		-ms-transform: none;
		-o-transform: none;
		transform: none;
	}

	.slide.full {
		background-size: 100% 100%;
		text-align:center;
		color:white;
	}
		.slide.full h1 {
			position:relative;
			font-size:64px;
			padding-top:100px;
			margin-bottom:75px;

		/*	-webkit-box-reflect: below 0 -webkit-linear-gradient(bottom, rgba(0,0,0,0.3), transparent 40%); */
		}

	.slide.active,
	.slide.next,
	.slide.prev {
		display:block;
		opacity:0;
		left:0;
	}

	.slide.active {
		position:relative;
		-webkit-transform: translate3d(0, 0, 0);
		/*
		-moz-transform: translate(0, 0);
		-ms-transform: translate(0, 0);
		-o-transform: translate(0, 0);
		transform: translate(0, 0);
		*/
		
		-webkit-transition-delay: 0.25s;
		/*
		-moz-transition-delay: 0.25s;
		-ms-transition-delay: 0.25s;
		-o-transition-delay: 0.25s;
		transition-delay: 0.25s;
		*/

		opacity: 1;
		z-index:100;
	}
	
	.slide.full::after {
		position:absolute;
		right:10px;
		bottom:10px;
		content: attr(data-source);
		color:white;
		font-size:16px;
		font-weight:bold;
		
		opacity:1;
		text-shadow:0 1px 5px rgba(0,0,0,0.2);
	}

	.slide.prev {
		-webkit-transform: translate3d(0, -25px, 0) scale(0.95, 0.95);
	/*	-webkit-transform: rotateY(15deg) translate3d(-100px, 0, -100px);*/
		/*
		-moz-transform: translate(0, -25px);
		-ms-transform: translate(0, -25px);
		-o-transform: translate(0, -25px);
		transform: translate(0, -25px);
		*/
	}

	.slide.next {
		-webkit-transform: translate3d(0, 25px, 0)  scale(1.05, 1.05);
	/*	-webkit-transform: rotateY(-15deg) translate3d(100px, 0, -100px);*/
		/*
		-moz-transform: translate(0, 25px);
		-ms-transform: translate(0, 25px);
		-o-transform: translate(0, 25px);
		transform: translate(0, 25px);
		*/
	}

.slide header,
.slide article,
.slide footer {
	display:block;
	padding:5px 20px;
	max-width:1024px;
	margin:0 auto;
}
	header h1 {
		color:#fff;
		margin:15px 0;
	}

body:not(.preview) .reveal {
	opacity:0;
	-webkit-transition: all 0.5s ease-out;
	-moz-transition: all 0.5s ease-out;
	-ms-transition: all 0.5s ease-out;
	-o-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;

	-webkit-transform: translate(-20px, 0);
	-moz-transform: translate(-20px, 0);
	-ms-transform: translate(-20px, 0);
	-o-transform: translate(-20px, 0);
	transform: translate(-20px, 0);
}
	.revealed {
		position:relative;
		-webkit-transition: all 0.5s ease-out;
		-moz-transition: all 0.5s ease-out;
		-ms-transition: all 0.5s ease-out;
		-o-transition: all 0.5s ease-out;
		transition: all 0.5s ease-out;
		opacity:1;
	}

.slide .notes {
	position:absolute;
	bottom:20px;
	left:50%;
	width:800px;
	padding: 5px 20px;
	margin-left:-400px;
	background:#ffe;
	text-align:left;
	font-size:14px;
	color:#136;

	box-sizing: border-box;

	box-shadow: 0 2px 10px rgba(0,0,0,0.2);
	pointer-events:none;
	opacity:0;

	-webkit-transition: opacity 0.5s ease-out;
	-moz-transition: opacity 0.5s ease-out;
	-ms-transition: opacity 0.5s ease-out;
	-o-transition: opacity 0.5s ease-out;
	transition: opacity 0.5s ease-out;
}
	body.notes .notes {
		pointer-events:auto;
		opacity: 1;
	}

footer {
	position:absolute;
	bottom:5px;
	left:0;
	width:100%;
	background:#fff;
	color:#FC770B;
	box-shadow:inset 0 5px 10px rgba(0,0,0,0.2);
	padding:10px 20px 5px;
	font-size:12px;
	line-height:2;
}
	footer img {
		float:right;
		margin:0;
	}

.progress {
	position:absolute;
	height:5px;
	width:100%;
	left:0;
	bottom:-5px;
	background:#a5e1f2;
}
	.progress .bar {
		position:absolute;
		left:0;
		top:0;
		width:0;
		height:5px;
		background:#52bfdf;
	}
