body { font-family: arial, sans-serif; background: #eee; }

.wrapper {
  position: relative;
  width:    950px;
  margin:   0 auto;
}

.quo { margin-left: -0.38em; }

a.register {
  padding: 2px 20px 2px 0;
  color: #d00;
  font-size: 110%;
  font-weight: bold;
  text-decoration: none;
  background: url(/images/right_arrow.png) no-repeat 100% 50%;
}

section {
  display: block;
  margin-bottom: 50px;
}

h1 {
  margin-bottom: 1em;
  color: #d00;
  font-size: 18px;
  font-weight: bold;
}

h2 {
  color: #000;
  font-weight: bold;
}

ul li, p, address {
  color: #333;
  font-family: georgia, sans-serif;
  font-size: 14px;
}


/* HEADER --------------------------------*/

header {
  display:    block;
  height:     150px;
  margin:     0 0 30px 0;
  background: #111;
}

header .wrapper {
  height:     150px;
  background: url(/images/nav_background_temp.gif) no-repeat;
}

header nav {
  display:  block;
  overflow: hidden;
  position: relative;
  height:   150px;
}

header nav ul {
  list-style-type: none;
  zoom:     1;
}

header nav li { display: inline; }

header nav a {
  position:     absolute;
  top:          56px;
  display:      block;
  height:       37px;
  text-indent: -999em;
  zoom: 1;
}

header nav a#nav_home_link {
  top:    10px;
  left:   0;
  width:  260px;
  height: 129px;
}

header nav a#schedule     { left: 281px; width: 119px; }
header nav a#venue        { left: 410px; width: 153px; }
header nav a#sponsorship  { left: 573px; width: 138px; }

header #location_and_twitter {
  position: absolute;
  top:      33px;
  right:    0;
  width:    170px;
  color:    #fff;
  font-weight: bold;
  line-height: 27px;
}

header #location_and_twitter p {
  color:       #fff;
  font-family: arial, sans-serif;
  font-size:   16px;
}

header #location_and_twitter a {
  color: #fff;
  text-decoration: none;
}

header #location_and_twitter a span {
  color: #777;
  font-weight: normal;
}

#twitter_link {
  position:   relative;
  left:      -24px;
  padding:    0 0 0 25px;
  background: url(/images/bird.gif) no-repeat 0% 50%;
}


/* @end HEADER --------------------------------*/



/* INTRO --------------------------------*/

#intro {
  width:  390px;
  margin: 0 0 40px 0;
}

#intro .hidden_text {
  height:       207px;
  margin-left: -11px;
  text-indent: -999em;
  background:   url(/images/intro_text.gif) no-repeat;
}

#photo {
  position:   absolute;
  top:       -10px;
  left:       430px;
  width:      538px;
  height:     346px;
  background: url(/images/photo_shadow.gif);
}

#photo img {
  position: absolute;
  top:      10px;
  left:     10px;
  display:  block;
}

#register_button a {
  display:       block;
  width:         390px;
  height:        46px;
  margin-bottom: 10px;
  text-indent:  -999em;
  background:    url(/images/register_button.gif);
}

#register_button.early_bird a {
  height:     69px;
  background: url(/images/register_button_early_bird.gif);
}


#register_button_tutorials a {
  display:       block;
  width:         270px;
  height:        46px;
  margin-bottom: 10px;
  text-indent:  -999em;
  background:    url(/images/register_button_tutorials.gif);
}

#discounts_available {
  color:       #777;
  font-family: arial, sans-serif;
  font-size:   12px;
  line-height: 17px;
}

#discounts_available a { color: #777; }

#become_a_sponsor a {
  color:       #111;
  line-height: 21px;
}

/* @end INTRO --------------------------------*/



#topics ul li {
  list-style: none;
  display: inline;
  line-height: 18px;
}

#day1_topics p {
  margin-bottom: 1em;
  line-height: 140%;
}

#day1_topics p strong { font-weight: bold; }

#day1_topics h1 span { font-weight: normal; }

#hosted_and_platinum {
  float:      left;
  width:      190px;
  border:     1px solid #d8d8d8;
  padding:    0;
  text-align: center;
  background: #fff;
}

#hosted_and_platinum h1 {
  margin-bottom: 25px;
  padding-top:   25px;
  color:         #565656;
  font-size:     16px;
  font-weight:   normal;
}

#hosted_and_platinum img { margin-bottom: 20px; }

article {
  display: block;
  margin-bottom: 38px;
}

article h2 { margin-bottom: 0.8em; }

article h2 time {
  display:       block;
  margin-bottom: 2px;
  color:         #555;
  font-size:     12px;
  font-weight:   normal;
}

article a { color: #111; }
article p { line-height: 21px; }


#testimonials {
  float: right;
  width: 390px;
  margin-bottom: 25px;
}

#testimonials h1 { display: none; }

#testimonials a { color: #5c5c5d; text-decoration: none; }

#testimonials blockquote {
  float:        left;
  display:      block;
  width:        190px;
  margin-right: 10px;
}

#testimonials blockquote p {
  color:       #000;
  line-height: 18px;
  font-style:  italic;
}

#testimonials blockquote p cite {
  display:     block;
  padding-top: 1em;
  color:       #5c5c5c;
  font-family: arial, sans-serif;
  font-size:   12px;
  font-style:  italic;
}

#testimonials blockquote p cite span {
  display:     block;
  font-weight: bold;
  font-style:  normal;
}

#testimonials blockquote.last { margin-right: 0; }


#news {
  float: right;
  width: 390px;
}


#hotel, #venue {
  position: relative;
  width:  390px;
  margin: 0 0 40px 0;
}

div#venue { margin-top: 50px; }

#reserve_a_room a {
  position:      relative;
  display:       block;
  width:         390px;
  height:        81px;
  color:         #333;
  font-size:     16px;
  font-weight:   bold;
  text-decoration: none;
  text-indent:  -999em;
  background:    url(/images/reserve_room_button.gif);
}

#reserve_a_room a span {
  position: absolute;
  top: 8px;
  left: 104px;
  text-indent: 0;
}

#hotel p, #hotel address,
#venue p, #venue address {
  margin-bottom: 1em;
  font-family:   arial, sans-serif;
  line-height:   18px;
}

#hotel strong { font-weight: bold; }

#hotel .hidden_text, #venue .hidden_text {
  height:        39px;
  margin-bottom: 30px;
  text-indent:  -999em;
  background:    url(/images/hotel_text.gif) no-repeat;
}

#venue .hidden_text { background: url(/images/venue_text.gif) no-repeat; }

.map {
  position:   absolute;
  top:       -10px;
  left:       430px;
  width:      528px;
  height:     336px;
  padding: 10px 0 0 10px;
  background: url(/images/photo_shadow.gif);
}


#sponsorship_intro p {
  float: left;
  width: 430px;
  margin: 0 40px 40px 0;
  font-size: 16px;
  line-height: 28px;
}

#sponsor_callout {
  overflow: hidden;
  border: 1px solid #d8d8d8;
  margin-bottom: 40px;
  padding: 20px 0;
  text-align: center;
  background: #fff;
}

#sponsor_callout h1, #sponsor_callout p {
  display: inline;
  margin-right: 20px;
}

#sponsor_callout p { font-size: 16px; }

#sponsor_callout a { color: #444; }

.option {
  float: left;
  width: 270px;
  margin: 0 40px 40px 0;
}

.option h1 span {
  display: block;
  color: #222;
  font-weight: normal;
}

.option ul { list-style-type: none; }
.option p,
.option ul li { margin-bottom: 1em; line-height: 120%; }




/* SCHEDULE --------------------------------*/

#tutorials  { float: left; width: 310px; }
#conference { float: right; width: 550px; margin-right: 40px; }

#conference #register_button a,
#tutorials #register_button_tutorials a { width: 100%; }

#tutorials #register_button_tutorials a { position: relative; top: 23px; }

.tuts_or_conf { margin-bottom: 40px; }

.tuts_or_conf h1 {
  font-size:       27px;
  letter-spacing: -0.05em;
}

.tuts_or_conf span {
  color:          #333;
  font-size:      18px;
  font-weight:    normal;
  letter-spacing: 0;
}

.tuts_or_conf p {
  margin-bottom: 1em;
  font-size:     14px;
  line-height:   150%;
}

.tuts_or_conf p strong {
  font-size:   16px;
  font-weight: bold;
}


#tba {
  overflow:   hidden;
  border-top: 1px solid #bebebe;
  padding:    20px 0 25px 0;
}

#tba img {
  float:   left;
  display: block;
  margin:  0 70px 0 0;
}

#tba h1 { font-size: 21px; letter-spacing: -0.05em; }


.day      { display: none; margin-top: 40px;  }
.day.open { display: block; }


#day_navigation {
  overflow: hidden;
  height:   50px;
}

#day_navigation ul {
  list-style-type: none;
  height: 48px;
  border-bottom: 1px solid #b9b9b9;
}

#day_navigation ul li { display: inline; }

#day_navigation ul li a {
  float           : left;
  display         : block;
  height          : 47px;
  border          : 1px solid transparent;
  padding         : 0 20px;
  color           : #5f5f5f;
  font-family     : arial, sans-serif;
  font-size       : 21px;
  font-weight     : bold;
  line-height     : 47px;
  text-decoration : none;
}

#day_navigation ul li a.active {
  border: 1px solid #b9b9b9;
  border-bottom-color: #eee;
  color: #d00;
}

#day_navigation ul li a span {
  font-size:   16px;
  font-weight: normal;
}


.talk {
  margin-bottom: 9px;
  border:        1px solid transparent;
  padding-left:  200px;
  padding-top:   18px;
}

.talk h1 {
  position:  relative;
  margin:    0;
  font-size: 21px;
}

.talk h1 span { cursor: pointer; }

.talk h1 time {
display:none;
  position:    absolute;
  top:         3px;
  left:        -200px;
  width:       160px;
  color:       #000;
  font-size:   16px;
  font-weight: normal;
  text-align:  right;
}

.talk h1 .title { letter-spacing: -0.05em; }

.talk h1 .name {
  display:     block;
  padding:     5px 0;
  color:       #333;
  font-size:   16px;
  font-weight: normal;
  line-height: 17px;
}

.talk h1 img {
  display:  none;
  position: absolute;
  top:      75px;
  left:    -150px;
  margin:   0;
  cursor:   pointer;
}

.talk h1 img.second { top: 190px; }
.talk h1 img.third  { top: 305px; }

.talk h2 { margin-bottom: 6px; }

.talk p {
  margin:      0 0 1em 0;
  font-size:   16px;
  line-height: 150%;
}

.talk .description,
.talk .bio { display: none; }

.talk .description { display: block; }


.talk.break {
  display: none;
  margin-top:     18px;
  padding-top:    12px;
  padding-bottom: 12px;
  background:     #e7e7e7;
}

.talk.break h1 .title {
  color:       #000;
  font-weight: normal;
}

.talk.break h1 span { cursor: default; }


.talk.open {
  border:     1px solid #d7d7d7;
  padding:    18px 40px 1px 200px;
  background: #f5f5f5;

  box-shadow:         0 0 10px rgba(0,0,0, 0.09);
  -moz-box-shadow:    0 0 10px rgba(0,0,0, 0.09);
  -webkit-box-shadow: 0 0 10px rgba(0,0,0, 0.09);
}

.talk.open h1 { margin-bottom: 1em; }

.talk.open h1 .name {
  padding-left: 25px;
  background:   url(/images/info_icon.gif) no-repeat 0% 50%;
}

.talk.open h1 img { display: block; }


/* FOOTER --------------------------------*/

footer {
  display:    block;
  padding:    30px 0 0 0;
  background: #111;
  zoom:       1;
}

footer h1 {
  margin:      0 0 30px 0;
  color:       #fff;
  font-weight: normal;
}

footer p {
  margin:      0;
  color:       #fff;
  font-family: arial, sans-serif;
}

footer p a { color: #fff; }

footer .sponsor {
  float:   left;
  display: block;
  margin:  0 40px 20px 0;
}

footer #oreilly      { margin-top: -13px; }
footer #eighth_light { margin-top: -10px; }

.copyright {
  clear:      both;
  margin-top: 20px;
  border-top: 1px solid #2e2e2e;
  padding:    15px 0;
}

footer .contact { float: right; }

/* @end FOOTER --------------------------------*/


.choose {
  margin-top:30px;
  padding: 18px;

  border:     1px solid #ddd;
  background: #f5f5f5;

  box-shadow:         0 0 10px rgba(0,0,0, 0.04);
  -moz-box-shadow:    0 0 10px rgba(0,0,0, 0.04);
  -webkit-box-shadow: 0 0 10px rgba(0,0,0, 0.04);
}
