body {
    background: #CCC;
    font-family: "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    font-weight: 300;
    padding: 0;
    margin: 0;
    background: rgb(50, 99, 66);
    color: rgb(18, 40, 25);
    text-shadow: 0px 1px 0px rgb(72, 120, 88);
}
#heading {
    text-align: center;
    padding:0;
    margin:0;
    width:560px;
    height:185px;
    margin:0 auto;
    position:relative;
    background:url(../img/header.png) no-repeat top left;
}
#heading h1 {
    margin-top: 0;
    padding: 0;
    font-size: 56pt;
    line-height: 48pt;
    font-weight: 900;
}
#heading h1 a {
    text-decoration: none;
    display:block;
    width:560px;
    height:100px;
    margin:0 auto;
    text-indent:-9999px;
}
#heading h1 span {
    color: rgb(255, 199, 87);
    text-shadow: 0px -1px 0px #000;
}
#heading h2 {
    display:none;
    color: rgb(18, 40, 25);
    margin: 5px 0 0 200px;
    padding: 0;
    font-size: 18pt;
    line-height: 20pt;
    font-weight: 500;
}

a#featured-sponsor {
  display:block;
  width:162px;
  height:62px;
  position:absolute;
  top:110px;
  left:70px;
  text-indent:-9999px;
}

#nav {
    text-align: center;
    padding: 10px 20px 5px;
    background: rgb(18, 40, 25);
    text-shadow: none;
    color: rgb(255, 199, 87);
    font-size: 16pt;
}
#nav a {
    color: rgb(255, 199, 87);
    text-decoration: none;
    padding: 6px 20px;
}
#nav a:hover {
    color: rgb(255, 255, 255);
}
#nav ul {
    margin: 0;
    list-style: none;
}
#nav li {
    display: inline;
}

#body {
    margin: 0;
    padding: 40px 20px 60px;
    background: #FFF;
    text-shadow: none;
}
#body a:hover {
    color: rgb(72, 120, 88);
}
#wrapper {
    margin: 0 auto;
    width: 840px;
}
#main {
    float: left;
    width: 640px;
}
#right {
    float: left;
    width: 200px;
}
#footer {
    margin: 0 auto;
    width: 840px;
    padding: 10px;
    font-size: 10pt;
    line-height: 1.2em;
    font-weight: 400;
    text-shadow: 0px 1px 0px rgb(72, 120, 88);
}
body.full #main {
    float: none;
    width: 100%;
}
p {
}
b, strong {
    font-weight: bold;
}
p.main {
    margin-top: 30px;
    font-size: 16pt;
}
p.success {
    padding: 5px 10px;
    background: #9C9;
    color: rgb(35, 79, 50);
    text-shadow: 0px 1px 0px #EFE;
    font-size: 18pt;
}
p.error {
    padding: 5px 10px;
    background: #999;
    color: #444;
    text-shadow: 0px 1px 0px #EEE;
    font-size: 18pt;
}
a {
    color: rgb(18, 40, 25);
}
a:hover {
    color: rgb(255, 199, 87);
    text-shadow: none;
}
a img {
    border: 0;
}
.mainbox {
    color: rgb(72, 120, 88);
    background: rgb(18, 40, 25);
    padding: 25px 20px 5px;
    margin: 10px 0;
    font-size: 16pt;
    text-shadow: 0px -1px 0px #000;
}
.mainbox b {
    color: #FFF;
}
.mainbox a {
    color: #FFF;
    text-shadow: none;
}
.outerbox {
    text-align: center;
    width: 840px;
    margin: 0 auto 50px;
}
.box {
    color: rgb(72, 120, 88);
    background: rgb(18, 40, 25);
    padding: 25px 20px 5px;
    width: 220px;
    height: 160px;
    margin: 10px;
    float: left;
    font-size: 16pt;
    text-shadow: 0px -1px 0px #000;
}
.mainbox h2, .box h2 {
    font-weight: 500;
    font-size: 24pt;
    margin: 0;
    color: rgb(255, 199, 87);
}
.box p {
    margin: 10px 0 0;
}
.waitinglist {
    text-align: center;
}
.waitinglist input[type=text] {
    margin: 0;
    border: none;
    font-size: 14pt;
    padding: 4px 12px 3px;
    color: #666;
    -webkit-border-top-left-radius: 10px;
    -moz-border-radius-topleft: 10px;
    -webkit-border-bottom-left-radius: 10px;
    -moz-border-radius-bottomleft: 10px;
}
.waitinglist input[type=submit] {
    margin: 0;
    color: #DEF;
    font-size: 12pt;
    background: rgb(18, 40, 25);
    padding: 6px 12px 5px;
    border: none;
    cursor: pointer;
    -webkit-border-top-right-radius: 10px;
    -moz-border-radius-topright: 10px;
    -webkit-border-bottom-right-radius: 10px;
    -moz-border-radius-bottomright: 10px;
}
.waitinglist input[type=submit]:hover {
    background: rgb(35, 79, 50);
}

ol.steps {
    font-size: 16pt;
    color: rgb(35, 79, 50);
}
ol.steps li.next {
    font-weight: bold;
    color: rgb(18, 40, 25);
}
ol.steps li.done {
    text-shadow: none;
    text-decoration: line-through;
}

.map {
    background: #CCC;
    padding: 10px;
    margin: 0 0 10px 20px;
    float: right;
}
th, td {
    padding: 4px 8px;
    font-size: 14pt;
}
th {
    color: rgb(35, 79, 50);
    background: #EEE;
    border: 1px solid #CCC;
}
td {
    border: 1px solid #CCC;
}
.ticket-prices {
    margin-top: 2em;
}
.ticket-prices th, .ticket-prices td {
    text-align: center;
}

h2 {
    color: rgb(72, 120, 88);
    margin: 30px 0 10px;
}
h3 {
    color: rgb(90, 150, 110);
    margin: 30px 0 0;
}


.blog-post .author {
    font-weight: bold;
}
.blog-post .date {
    font-weight: bold;
}
.blog-post h1, .blog-post h2 {
    margin-bottom: 0;
}
.blog-post h2 a {
    text-decoration: none;
    color: rgb(72, 120, 88);
}
.blog-post .post_dateline {
    margin: 5px 0 0;
}
.blog-post .more {
    font-size: 11pt;
}
.blog-post .teaser {
    font-weight: normal;
    font-size: 120%;
}

.popup {
    text-shadow: none;
}
.popup td {
    border: none;
}

div.sponsors {
    margin: 20px 0 0 50px;
}
div.sponsors h2 {
    font-size: 14pt;
}
div.sponsors h3 {
    margin-top: 20px;
    font-size: 12pt;
}
.sponsor {
    margin: 10px 0;
}
.sponsor img {
    width: 150px;
}

body.review .proposal {
    padding: 20px;
    border: 1px solid #000;
}
body.review .proposal h2 {
    margin: 0;
}
body.schedule .abstract,
body.review .proposal .abstract,
body.review .proposal .additional_notes
{
    font-size: 11pt;
    line-height: 14pt;
}

.vote-count-box {
    float: left;
    background: #EEE;
    text-align: center;
    width: 108px;
    padding: 5px 5px 10px;
    margin: 5px;
}
.vote-count-box.total {
    background: #CCC;
}
.vote-count-box .label {
    margin: -5px -5px 5px -5px;
}
.vote-count-box .number {
    font-size: 32pt;
    line-height: 32pt;
    font-weight: bold;
}

.review-list .title {
    font-size: 12pt;
    font-weight: normal;
}
.review-list .metadata {
    font-size: 11pt;
    line-height: 12pt;
}
.review-list .count {
    font-size: 16pt;
    vertical-align: middle;
    text-align: center;
}

.stat-def {
    font-size: 12pt;
    font-style: italic;
    margin-bottom: 20px;
}

tr.plus-one .count.plus-one,
tr.plus-zero .count.plus-zero,
tr.minus-zero .count.minus-zero,
tr.minus-one .count.minus-one
{
    background: rgb(72, 120, 88);
    color: #FFF;
}

body.schedule dl.sessions dt {
    margin-top: 15px;
}
body.schedule dl.sessions dd {
    margin-left: 10px;
}
body.schedule div.session_types {
    float:right;
}

body.schedule div.slot {
    padding: 10px 0px;
}

.schedule-table tr.conf-date th {
    background: #CCC;
    border: 1px solid #CCC;
}

.schedule-table td {
    font-size: 10pt;
}
.schedule-table td.title {
    font-weight: 400;
    font-size: 12pt;
}
.schedule-table td.other {
    font-weight: 600;
    font-size: 12pt;
}

.preview {
    font-weight: 400;
    font-size: 9pt;
}
.email_message {
    font-family: monospace;
}
