/* FIRST: tear it all down as per the edict of mr meyer (http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/) */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
}
/* remember to define focus styles! */
:focus {
	outline: 0;
}
body {
	line-height: 1;
	color: black;
	background: white;
}
ol, ul {
	list-style: none;
}
/* tables still need 'cellspacing="0"' in the markup */
table {
	border-collapse: separate;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
}
blockquote, q {
	quotes: "" "";
}


/* NOW: start the slow process of rebuilding */

/* THE BASICS */

body {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 200;
	font-size: 62.5%;
	color: rgba(54,46,41,.85);
	line-height: 1.125em;
	background: rgb(255,114,18) url(../images/bg.jpg) repeat;
}

strong { 
	font-weight: bold; 
}

em {
  font-style: italic;
}

#the-site {
  margin: 0;
  padding: 0;
}


/* HEADERS */

h3 {
  display: block;
  margin: 0 0 .4em;
  font-family: "ff-meta-serif-web-pro-1","ff-meta-serif-web-pro-2", Georgia, 'Times New Roman', serif;
  font-size: 2.8em;
  text-shadow: rgba(255,255,255,.4) 0px 1px 1px;
}


/* LET ME TELL YOU ABOUT MY PLAIN TEXT */

.plain-text {
  font-size: 1.6em;
  line-height: 1.8em;
  font-weight: 400;
  text-shadow: rgba(255,255,255,.25) 0px 1px 1px;
}

.plain-text a, .plain-text a:visited {
  text-decoration: none;
  font-weight: bold;
	color: rgb(54,46,41);
}

.plain-text a:hover {
  color: rgba(0,0,0,.9);
}

.plain-text p,
.plain-text ul {
  margin-bottom: 1em;
}

.plain-text em {
  font-family: Palatino, Georgia, 'Times New Roman', serif;
  font-style: italic;
  font-size: 1.125em;
}

.plain-text .intro {
  font-size: 1.125em;
  font-weight: bold;
}


/* YOU'RE GOING TO LOVE MY SERIF TEXT */

.serif-text {
  font-family: "ff-meta-serif-web-pro-1","ff-meta-serif-web-pro-2", Georgia, 'Times New Roman', serif;
  font-weight: normal;
  font-size: 1.6em;
  line-height: 1.4em;
	color: rgba(54,46,41,.75);
  text-shadow: rgba(255,255,255,.25) 0px 1px 1px;
}

.serif-text strong {
  font-weight: bold;
}

.serif-text a, .serif-text a:visited {
  text-decoration: none;
	color: rgb(54,46,41);
  font-weight: bold;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.serif-text a:hover {
  color: rgba(0,0,0,.9);
}

p.serif-text,
.serif-text p,
.serif-text ul {
    margin-bottom: 1em;
}

.serif-text .intro {
  font-size: 1.3em;
  line-height: 1.2em;
}

.serif-text .loud {
  font-size: 1.8em;
  line-height: 1.3em;
	color: rgba(54,46,41,.85);
  text-shadow: rgba(255,255,255,.8) 0px 1px 1px;
}


/* HEADER */

#header {
  background: transparent url(../images/distance-hills.png) bottom 5% repeat-x;
}

#header #hills {
  background: transparent url(../images/hills.png) bottom 90% repeat-x;
}

#header #bus {
  width: 300px;
  height: 4em;
  position: absolute;
  top: 11em;
  left: 20%;
  z-index: 5;
  background: transparent url(../images/buses.png) bottom left no-repeat;
}

#header #header-content {
  background: rgba(255,255,255,.15);
}

h1 a, h1 a:visited {
  float: left;
  text-indent: -9999em;
  overflow: hidden;
  text-decoration: none;
  width: 60.1em;
  height: 15em;
  background: transparent url(../images/h1.png) center 3em no-repeat;
}

h1 a:hover {
  opacity: .95;
}

#header .marquee {
  width: 12.95em;
  padding: 5em 0 0;
  z-index: 9;
}

#header .marquee .plain-text {
  color: rgb(54,46,41);
}

#header .marquee.presenters {
  float: left;
  text-align: right;
}

#header .marquee.date {
  float: right;
  text-align: left;
}

#header .marquee.date strikethrough {
  text-decoration: line-through;
}


/* FOOTER */

#footer {
  background: transparent url(../images/footer-bg.png) top center repeat-x;
}

/* sponsor-list */

ul.sponsor-list {
  width: 256px;
  margin: -2em auto 0;
}

ul.sponsor-list li {
  background-position: center center;
  background-repeat: no-repeat;
  background-color: transparent;
}

ul.sponsor-list li a, ul.sponsor-list li a:visited {
  display: block;
  margin: 0 auto;
  text-decoration: none;
  text-indent: -9999em;
  overflow: hidden;
  height: auto;
  background-repeat: no-repeat;
  background-color: transparent;
  background-position: center center;
  opacity: .8;
}

ul.sponsor-list li a:hover {
  opacity: .9;
}

ul.sponsor-list li.left {
  float: left;
  clear: left;
}

ul.sponsor-list li.right {
  float: right;
  clear: right;
}

ul.sponsor-list li.big {
  display: block;
  float: none;
  clear: both;
  width: 256px;
  height: 92px;
}

ul.sponsor-list li.big a {
  width: 256px;
  height: 92px;
}

ul.sponsor-list li.medium {
  display: block;
  width: 128px;
  height: 27px;
}

ul.sponsor-list li.medium a {
  width: 128px;
  height: 27px;
}

ul.sponsor-list li.small {
  display: block;
  width: 128px;
  height: 48px;
}

ul.sponsor-list li.small a {
  width: 128px;
  height: 48px;
}

ul.sponsor-list li a.elc {
  background-image: url(/images/sponsors/elc.png);
}

ul.sponsor-list li a.github {
  background-image: url(/images/sponsors/github.png);
}

ul.sponsor-list li a.engineyard {
  background-image: url(/images/sponsors/engineyard.png);
}

ul.sponsor-list li a.ms {
  background-image: url(/images/sponsors/microsoft.png);
}

ul.sponsor-list li a.ndrc {
  background-image: url(/images/sponsors/ndrc.png);
}


/* NAVIGATION */

div#navigation {
  overflow: hidden;
	background: rgba(255,255,255,.15);
	padding: 0 2em;
}

div#navigation ul.navigation-list {
}

div#navigation ul.navigation-list li.navigation-item {
  float: left;
}

div#navigation ul.navigation-list li.extra-item {
  float: right;
}

div#navigation ul.navigation-list li a, div#navigation ul.navigation-list li a:visited {
  display: block;
  font-size: 1.4em;
  padding: .75em .5em .75em .5em;
  font-weight: 200;
	color: rgba(54,46,41,.75);
	text-decoration: none;
}

div#navigation ul.navigation-list li a:hover {
  color: rgba(54,46,41,.95);
	background: rgba(255,255,255,.15);
}


/* CONTENT */

/* Itinerary */

table.itinerary {
  display: block;
  width: 48em;
	background: rgba(255,255,255,.15);
  border: 1px solid rgba(0,0,0,.05);
  margin-bottom: 3em;
}

table.itinerary tr {
  display: block;
  clear: both;
  overflow: hidden;
  border-top: 1px solid rgba(0,0,0,.05);
}

table.itinerary tr:first-child {
  border: 0;
}

table.itinerary tr td {
  float: left;
  padding: 1.25em 1em 1em;
}

table.itinerary tr td.time {
  width: 6em;
  background: rgb(205,95,12) url(../images/red-card.jpg) repeat;
}

table.itinerary tr td p {
  font-size: 1.4em;
}

table.itinerary tr td.time p {
  text-align: center;
  font-size: 1.8em;
  color: rgba(255,255,255,.85);
  font-family: "ff-meta-serif-web-pro-1","ff-meta-serif-web-pro-2", Georgia, 'Times New Roman', serif;
}

/* Speaker List */

ul.speaker-list {
  width: 84em;
  margin: 0 auto;
}

ul.speaker-list li {
  float: left;
  width: 42em;
  margin: 1em 0;x
}

ul.speaker-list li.odd {
  clear: left;
}

ul.speaker-list li.even {
  clear: right;
}

ul.speaker-list li div.speaker {
  margin: 0 1em;
  padding: 2em;
  overflow: hidden;
}

ul.speaker-list li div.speaker img {
  float: left;
  border: .5em solid rgb(232,165,119);
  -moz-border-radius: .5em;
  border-radius: .5em;
  -webkit-border-radius: .5em;
  width: 9em;
}

ul.speaker-list li div.speaker .text {
  padding: 0;
  margin: 0 0 0 2em;
  width: 24em;
  float: left;
}

ul.speaker-list li div.speaker .text h4 {
  display: block;
  margin: 0 0 .35em;
  font-family: "ff-meta-serif-web-pro-1","ff-meta-serif-web-pro-2", Georgia, 'Times New Roman', serif;
  font-size: 2.1em;
  text-shadow: rgba(255,255,255,.5) 0px 1px 1px;
}

ul.speaker-list li div.speaker .text cite a, ul.speaker-list li div.speaker .text cite a:visited {
  display: block;
  margin: 0 0 .75em;
  font-weight: 200;
  font-size: 1.2em;
  color: rgba(54,46,41,.65);
  text-shadow: rgba(255,255,255,.25) 0px 1px 1px;
  text-decoration: none;
}

ul.speaker-list li div.speaker .text cite a:hover {
  color: rgba(54,46,41,.85);
}

ul.speaker-list li div.speaker .text .bio {
  display: block;
  font-weight: 200;
  font-size: 1.4em;
  line-height: 1.4em;
}

/* illustrations */

ul.illustration-list {
  padding: 4em 0 0;
}

ul.illustration-list li.illustration-item img {
  margin: 0 0 1em;
  float: left;
  border: .5em solid rgb(232,165,119);
  -moz-border-radius: .5em;
  border-radius: .5em;
  -webkit-border-radius: .5em;
  width: 25em;
}

/* THE CARDS */

.light-card {
  background: transparent url(../images/light-bg.png) repeat;
  border-top: 1px solid rgba(205,95,12,.65);
  border-bottom: 1px solid rgba(205,95,12,.55);
}

.light-card .plain-text {
  text-shadow: none;
}

.light-card .serif-text {
  text-shadow: none;
}

.red-card {
  border: 1px solid transparent;
  border-bottom-color: rgba(0,0,0,.25);
  border-top-color: rgba(255,255,255,.15);
  -moz-border-radius: .4em;
  border-radius: .4em;
  -webkit-border-radius: .4em;
  background: rgb(205,95,12) url(../images/red-card.jpg) repeat;
  color: rgba(255,255,255,.85);
}

.red-card .plain-text {
  text-shadow: rgba(0,0,0,.25) 0px -1px 1px;
}

.red-card .plain-text a, .red-card .plain-text a:visited {
  font-weight: bold;
  color: rgba(255,255,255,.90);
  text-shadow: rgba(0,0,0,.15) 0px 1px 1px;
}

.red-card .plain-text a:hover {
  color: rgb(255,255,255);
  text-shadow: rgba(0,0,0,.25) 0px 1px 1px;
}

.ragged-card {
  padding: 2em 3em 1.5em;
  border: 1px solid rgba(0,0,0,.10);
  border-right-color: rgba(0,0,0,.15);
  border-bottom-color: rgba(0,0,0,.19);
  border-top-color: rgba(255,255,255,.15);
  -moz-border-radius: .25em;
  border-radius: .25em;
  -webkit-border-radius: .25em;
  background: rgba(255,255,255,.60);
  box-shadow: .05em .05em .5em rgba(0,0,0,.1);
  -webkit-box-shadow: .05em .05em .5em rgba(0,0,0,.1);
  -moz-box-shadow: .05em .05em .5em rgba(0,0,0,.1);
}

.ragged-card p {
  transform: rotate(-.5deg);
  -webkit-transform: rotate(-.5deg);
  -moz-transform: rotate(-.5deg);
}

/* THE BLOCK TYPES */

.block {
  overflow: hidden;
  padding: 2em;
}

.bound {
  margin: 0 auto;
  width: 86em;
}

.flush {
  padding: 1em 0;
}

.hugging {
  padding: 0 2em 2em;
}

.tight {
  padding: 0;
}

.padded {
  padding: 2em 2em 1em;
}

.centered {
  text-align: center;
}

.left-float {
  float: left;
}

.right-float {
  float: right;
}

.major {
  width: 53em;
}

.minor {
  width: 33em;
}

.column {
  float: left;
}

/* THE MISC STUFF */

.quiet {
  color: rgba(54,46,41,.65);
}

.askew {
  transform: rotate(.5deg);
  -webkit-transform: rotate(.5deg);
  -moz-transform: rotate(.5deg);
}

.shadow {
  margin: 0;
  border: 0;
  overflow: hidden;
  padding: 0;
  height: 16px;
  background: transparent url(../images/shadow.png) center top no-repeat;
}

.amp {
  font-style: italic;
  font-family: Baskerville, Palatino, serif;
}

.quote {
  padding: 2em 3em 1.5em;
  border: 1px solid rgba(0,0,0,.10);
  border-right-color: rgba(0,0,0,.15);
  border-bottom-color: rgba(0,0,0,.19);
  border-top-color: rgba(255,255,255,.15);
  -moz-border-radius: .25em;
  border-radius: .25em;
  -webkit-border-radius: .25em;
  background: rgba(255,255,255,.60);
  box-shadow: .05em .05em .5em rgba(0,0,0,.1);
  -webkit-box-shadow: .05em .05em .5em rgba(0,0,0,.1);
  -moz-box-shadow: .05em .05em .5em rgba(0,0,0,.1);
  text-align: right;
}

.quote q { text-align: left;}
.quote q:before { content: "“"; }
.quote q:after { content: "”"; }
.quote q, .quote cite { display: block;}
