@import url(reset.css);

body {
	overflow:hidden;
	background:#153543;
	font:13px/22px 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
	}
a {
	text-decoration:none;
	}

/* Header
---------------------------------------- */
#header {
	position:absolute;
	top:53px;
	left:49px;
	overflow:hidden;
	width:302px;
	height:213px;
	text-align:center;
	color:#FFF;
	}
	#header h1,
	#header p {
		font:bold 65px/1 'Trebuchet MS', sans-serif;
		}
		#header h1:before,
		#header p:before {
			display:inline-block;
			width:1.2em;
			height:0.75em;
			background:url(../i/logo.svg) no-repeat;
			vertical-align:-0.03em;
			content:'';
			}
		#header a {
			color:#FFF;
			}

/* Twitter
---------------------------------------- */
#twitter {
	position:absolute;
	top:310px;
	bottom:63px;
	left:85px;
	padding:20px;
	width:200px;
	-webkit-border-radius:20px;
	-moz-border-radius:20px;
	border-radius:20px;
	background:#122E39;
	}
#twitter:after {
	position:absolute;
	top:-35px;
	left:-65px;
	width:67px;
	height:55px;
	background:url(../i/twitter.png) repeat-x;
	content:'';
	}
	#twitter div {
		position:absolute;
		top:0;
		bottom:0;
		overflow:hidden;
		width:200px;
		-webkit-overflow-scrolling:touch;
		}
	#twitter div:before,
	#twitter div:after {
		position:absolute;
		right:0;
		left:0;
		z-index:2;
		height:20px;
		background:url(../i/fade.png) repeat-x;
		content:'';
		}
	#twitter div:before {
		top:0;
		background-position:0 -20px;
		}
	#twitter div:after {
		bottom:0;
		background-position:0 0;
		}
		#twitter div ul {
			position:absolute;
			top:0;
			bottom:0;
			overflow:auto;
			padding-top:20px;
			width:400px;
			}
		#twitter div li {
			position:relative;
			padding:0 0 20px 58px;
			width:142px;
			min-height:48px;
			line-height:16px;
			}
		#twitter div img {
			position:absolute;
			top:0;
			left:0;
			width:48px;
			height:48px;
			}
	#twitter p {
		position:absolute;
		bottom:-40px;
		left:0;
		width:240px;
		text-align:center;
		font-size:12px;
		}

/* Page
---------------------------------------- */
#page {
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:400px;
	overflow:auto;
	background:#2E5A75;
	-webkit-overflow-scrolling:touch;
	}

/* Main
---------------------------------------- */
#main {
	width:500px;
	border-left:10px solid #9ECB1D;
	background:#FFF;
	}

/* Next
---------------------------------------- */
#next {
	position:absolute;
	top:130px;
	left:300px;
	width:190px;
	height:191px;
	overflow:hidden;
	background:url(../i/next.png) no-repeat;
	text-indent:-9999px;
	}
	#next a {
		position:absolute;
		width:100%;
		height:100%;
		}

/* Browser War
---------------------------------------- */
#browser-war {
	position:absolute;
	top:130px;
	left:300px;
	width:181px;
	height:186px;
	overflow:hidden;
	background:url(../browser-war/images/badge.png) no-repeat;
	text-indent:-9999px;
	}
	#browser-war a {
		display:block;
		width:100%;
		height:100%;
		}

/* Navigation
---------------------------------------- */
#navigation {
	margin:0 0 -1px;
	padding:63px 54px 30px;
	width:392px;
	background:url(../i/shadow.png) 0 100% no-repeat;
	font:24px/1 'Trebuchet MS', sans-serif;
	}
	#navigation li {
		margin:-8px 0 0;
		height:65px;
		}
	#navigation li a {
		display:inline-block;
		padding:8px 16px;
		-webkit-border-radius:20px;
		-moz-border-radius:20px;
		border-radius:20px;
		color:#8AB219;
		}
		#navigation li span {
			color:#CCC;
			}
	#navigation li a:hover {
		background:#9ECB1D;
		color:#FFF;
		}
		#navigation li a:hover span {
			color:#FFF;
			}

/* Content Primary
---------------------------------------- */
.content-primary {
	color:#262626;
	}
	.content-primary a {
		color:#2B8BAD;
		}
	.content-primary a:hover {
		color:#8AB219;
		}

/* Content Secondary
---------------------------------------- */
.content-secondary {
	color:#FFF;
	}
	.content-secondary a {
		color:#63BBDB;
		}
	.content-secondary a:hover {
		color:#B2DB35;
		}

/* Article
---------------------------------------- */
.article {
	position:relative;
	padding:63px 70px 41px;
	border-bottom:1px solid #EEE;
	}
	.article header {
		margin:0 0 22px;
		}
		.article header h1,
		.article header h2 {
			color:#2E5A75;
			font:20px/1 'Trebuchet MS', sans-serif;
			}
		.article header .top {
			position:absolute;
			top:20px;
			right:20px;
			display:none;
			width:14px;
			height:14px;
			background:#9ECB1D url(../i/up.gif) no-repeat;
			text-indent:-9999px;
			}
		.article:hover header .top {
			display:block;
			}

/* First */
.article:last-child {
	border-bottom:none;
	}
	.article:first-child:hover header a {
		display:none;
		}

/* Elements */
.article h3 {
	margin:30px 0 20px 120px;
	color:#2E5A75;
	font:15px/1 'Trebuchet MS', sans-serif;
	}
.article .anchor {
	border-bottom:1px dotted;
	}
.article hr {
	margin:0 0 22px;
	border-top:1px solid #EEE;
	}
.article ul {
	padding-left:15px;
	margin-bottom:22px;
	}
	.article ul li {
		padding-left:15px;
		background:url(../i/bullet.gif) 0 7px no-repeat;
		}
.article p {
	margin:0 0 22px;
	}
.article img {
	display:block;
	margin:0 0 22px;
	}
.article strong {
	font-weight:bold;
	}
.article em {
	font-style:italic;
	}

/* Share */
.article .share-buttons {
	margin-left:-4px;
	}

/* Speakers */
.article .speakers {
	overflow:hidden;
	margin:0 -70px -41px;
	padding:0;
	background:#EEE;
	}
	.article .speakers li {
		position:relative;
		float:left;
		padding:0;
		overflow:hidden;
		width:100px;
		height:125px;
		background:none;
		}
		.article .speakers li span {
			position:absolute;
			right:0;
			bottom:0;
			left:0;
			display:none;
			padding:5px;
			line-height:1;
			background:rgba(0, 0, 0, 0.5);
			color:#FFF;
			}
		.article .speakers li:hover span {
			display:block;
			}
	.article .speakers .speakers-join {
		padding:20px 0 0 100px;
		width:200px;
		height:105px;
		background:#EEE url(../speakers/unknown.png) 13px 0 no-repeat;
		}
	.article .speakers img {
		display:block;
		margin:0;
		height:100%;
		}

/* Intro
---------------------------------------- */
#intro {
	padding-bottom:37px;
	}

/* Schedule
---------------------------------------- */
.schedule {
	margin:0 0 22px;
	}
	.schedule li {
		padding:15px 0 13px 4em;
		border-bottom:solid 1px #ccd7dd;
		}
		.schedule li time {
			position:absolute;
			margin-left:-4em;
			color:#2E5A75;
			}
		.schedule dl {
			margin:0 0 10px;
			}
			.schedule dl dt {
				margin:-2px 0 10px;
				color:#2E5A75;
				font-weight:bold;
				font-size:15px;
				}
	.schedule .break {
		font-weight:bold;
		color:#666;
		}
		.schedule .break time {
			font-weight:normal;
			}
	.schedule .current {
		border-color:#B5E070;
		background:#D3F0A5;
		}
		.schedule .current time {
			color:#608000;
			}

/* History */
.history {
	margin:0 0 22px;
	}
	.history .year {
		position:absolute;
		margin:15px 0 0 -70px;
		width:70px;
		color:#999;
		text-align:center;
		}
	.history .schedule {
		margin:0;
		}
		.history .schedule li {
			padding-left:8.5em;
			}
			.history .schedule li time {
				margin-left:-7em;
				}

/* Video Player
---------------------------------------- */
.video-player {
	display:block;
	margin:0 0 22px;
	}

/* Donate
---------------------------------------- */
#donate {
	margin:-22px 0 0;
	padding:22px 0 0;
	}
#donate .donate-form {
	display:none;
	margin:0 0 22px -44px;
	}
#donate.target .donate-form,
#donate:target .donate-form {
	display:block;
	}

/* Card
---------------------------------------- */
.register-form {
	overflow:hidden;
	display:block;
	margin-left:-70px;
	width:500px;
	border:none;
	}

/* Card
---------------------------------------- */
.card {
	position:relative;
	margin:-22px 0 22px;
	padding:22px 0 0 120px;
	min-height:125px;
	}
	.card dt {
		margin:0 0 15px;
		line-height:1;
		font-weight:bold;
		}
	.card dd {
		line-height:18px;
		}
		.card dd img {
			position:absolute;
			top:22px;
			left:0;
			width:100px;
			}

/* Map
---------------------------------------- */
#map,
#map img {
	width:360px;
	height:360px;
	}
#map {
	overflow:hidden;
	background:#F1EEE8;
	outline:solid 1px #EEE;
	line-height:1.2;
	}

/* Narrow
---------------------------------------- */
@media (max-width:910px) {
	body {
		overflow:auto;
		background:#2E5A75;
		}
	#header {
		position:relative;
		top:auto;
		left:auto;
		width:510px;
		height:auto;
		background:#153543;
		}
		#header h1,
		#header p {
			padding:20px 0;
			font-size:43px;
			}
	#twitter {
		display:none;
		}
	#page {
		position:static;
		}
	}
