/* Eric's CSS reset (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;}
body {line-height: 1; color: black; background: white;}
ol, ul {list-style: none;}
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: "" "";}

/* Clearfix (http://www.positioniseverything.net/easyclearing.html) */
.group:after {content: "."; display: block; height: 0; clear: both; visibility: hidden;}
.group {display: inline-block;}
/* \*/
* html .group {height: 1%;}
.group {display: block;}
/* */

/* Generic */
.left {float: left;}
.right {float: right;}
.center {text-align: center;}
strong {font-weight: bold;}
em {font-style: italic;}
h2 { color: #00aeef; font-size: 20px; font-weight: normal; }
.disabled { display: none !important; }

/* General structure */
html { background-color: #1F1F1F; }
body { background-color: #1F1F1F; color: #DBDBDB; font: 12px Helvetica, Sans-Serif; padding-bottom: 40px; }
body a { color: #DBDBDB; }
.frame { margin: 0 auto; width: 966px; }

/* Header */
#header {background-color: #000; border-top: 3px solid #1A5BAC; border-bottom: 1px solid #353535; height: 155px;}
#header .frame {background: url('/media/images/header-bg.jpg') 271px 0px no-repeat; position: relative;}
#logo {margin: 20px 0;}
#site-switcher {float: right;}
#site-switcher li {display: inline;}
#site-switcher a, #donate-now {
    background-color: #373737;
    color: #FFF;
    display: block;
    float: left;
    font-weight: bold;
    margin-left: 2px;
    text-align: center;
    text-decoration: none;
    padding: 6px 12px;
}
#site-switcher li.active a {background-color: #1A5BAC;}
#header-sidebar { position: absolute; right: 0; top: 75px; width: 390px;}
#donate-now {background: #9F087B url('/media/images/donate-bg.jpg') 12px center no-repeat; padding-left: 35px; text-transform: uppercase; }
#newsletter-text { font: bold italic 12px Georgia, Serif; position: absolute; top: 56px; right: 132px; }
#newsletter-signup { height: 16px; float: left; padding: 0; margin: 0; padding-top: 3px; margin-left: 5px; width: 170px; }
#newsletter-signup-button { display: block; background-color: #0D5EAC; float: right; font-size: 14px; font-weight: bold; padding: 5px 8px; margin-left: 5px; text-decoration: none; }
#newsletter-signup-button:hover { background-color: #1C367A; }
#site-switcher a:hover, #donate-now:hover {text-decoration: underline;}
form, .field { display: inline; }

/* Homepage */
#home .left, #home .middle, #home .right { float: left; }
#home .top .left, #home .top .right { width: 260px; }
#home .top .right { margin-left: 20px; }
#home .top .middle { width: 406px; }
#home .top .middle img { border: 1px solid #FFF; width: 404px; }
#home .photo-byline { font-size: 11px; margin-top: 5px; text-align: right; }
#home .top { margin-bottom: 25px; }
#home .bottom { border-top: 1px solid #505050; padding-top: 15px;}
#home .bottom .section { border-right: 1px solid #505050; margin-right: 20px; padding-right: 20px; width: 288px; }
#home .bottom .right { margin-right: 0; border-right: 0; }
#home .bottom div:last-child { border-right: 0; }
#home .bottom .content, #support-module .content { font-size: 14px; line-height: 19px; margin-top: 15px; }
#home .bottom li { list-style-type: disc; margin: 5px 0; margin-left: 15px;}
#home .bottom li a { text-decoration: none; }
#home .bottom li a:hover { text-decoration: underline; }
#home .bottom #tour-schedule { background: url('/media/images/tour-thumb.jpg') top left no-repeat; padding-left: 39px; padding-top: 2px; }
#home .bottom #sponsors { margin-top: 15px; }
.more-link { color: #00aeef; display: block; font-size: 14px; margin-top: 15px; text-decoration: none; }
.more-link:hover { text-decoration: underline; }

/* Quote Module */
#quote-module { background-color: #2F64A5; border: 1px solid #163F74; margin-right: 20px; width: 258px !important; }
#homepage #quote-module { float: left; width: 260px; }
#page #quote-module { margin-right: 0; width: auto; }
#quote-module .quote-container { height: 183px; }
#quote-module .inner { padding: 15px; }
#quote-module .inner-bottom { background-color: #25538B; border-top: 1px solid #7EA3C8; }
#quote-module .masthead { color: #FFF; font: 20px 'Palatino Linotype', 'Book Antiqua', Palatino, Serif; }
#quote-module .quote { color: #F6F6F6; font: bold 13px Georgia, Serif; line-height: 20px; margin-bottom: 12px; margin-top: 12px; }
#quote-module .byline { color: #E3E3E3; font: 11px Georgia, Serif; }
#quote-module .inner-bottom { font-weight: bold; line-height: 15px; text-transform: uppercase; }
#quote-module .inner-bottom a { background: url('/media/images/review-bubble.png') top left no-repeat; display: block; padding-left: 34px; text-decoration: none; }
#quote-module .inner-bottom a:hover { text-decoration: underline; }

/* Support Module */
.page .support-left { float: none !important; margin: 0; }
.page #support-module { margin-top: 25px; }
.page #support-module img { margin-top: 15px; width: 260px;}
.support-module-home-left { float: left; margin-right: 15px; margin-bottom: 40px; width: 93px; padding-right: 0 !important; border-right: 0 !important; }
.support-module-home-right { float: left; width: 180px; margin-right: 0 !important; padding-right: 0 !important; }
.support-module-home-right .content { width: auto; margin-right: 0 !important; padding-right: 0 !important; }

/* Event Module */
.event-title, .event-subtitle, .event-date-time, .event-location { font-weight: bold; }
.event-title { color: #00aeef; font-size: 20px; }
.event-subtitle { color: #4b9bcf; font-size: 16px; }
.event-date-time { color: #ff6fdd; font-size: 19px; margin-top: 14px; }
.event-description { font-size: 14px; line-height: 19px; margin-top: 10px; }
.event-location { color: #ff6fdd; font-size: 13px; margin-top: 5px; }
.event-tickets { display: block; background-color: #0D5EAC; float: left; font-size: 14px; font-weight: bold; margin-top: 18px; padding: 5px 8px; text-decoration: none; }
.event-tickets:hover { background-color: #1C367A; }

/* Footer */
#footer {color: #AAA; background-color: #000; padding: 25px 0;}
#footer a {color: #AAA;}
#footer p {margin-bottom: 7px;}
#footer p.last {margin-bottom: 0;}

/* Nav */
#nav {background-color: #3B649F; border: 1px solid #1B3D75; border-left: 0; border-right: 0;}
#nav li a {border-right: 1px solid #6789B3; color: #FFF; font-weight: bold; text-decoration: none; padding: 10px 12px;}
#nav li.active ul.children a {background-color: transparent;}
#nav li a:hover {background-color: #1C367A;}
#nav li.active a {background-color: #1C367A;}
#nav li:first-child a {border-left: 1px solid #6789B3;}

/* Suckerfish */
#nav, #nav ul {padding: 0; list-style: none; line-height: 1;}
#nav a {display: block;}
#nav li {float: left;}
#nav li ul {position: absolute;	background-color: #1C367A; left: -999em; margin-left: -1px; width: 180px;}
#nav li ul li a:hover {background-color: #101F46 !important;}
#nav li ul li a {border: 1px solid #6789B3; border-top: 0; border-bottom: 1px solid #2D4C95; font-size: 11px; line-height: 13px; width: 155px;}
#nav li:hover ul, #nav li.sfhover ul {left: auto;}

/* Content */
#content .frame {padding: 25px 0;}
#page-title, .page-title {font-size: 24px; font-weight: bold; margin-bottom: 1em;}
#page-content blockquote p { margin: 0; }
#page-content blockquote {background-color: #0F0F0F; padding: 10px; line-height: 1.5em;}
#page-content p, #page-content ul {font-size: 14px; line-height: 1.5em; margin: 1.5em 0;}
#page-content li {margin: 0; list-style-type: disc; margin-left: 20px;}
#page-content p:last-child {margin-bottom: 0;}
#page-content h2 {border-bottom: 1px solid #2E2E2E; font-size: 18px; padding: 10px 0;}
#page-content h3 {font-size: 16px; font-style: italic;}

/* Tour Page */
#tour-page table { border-color: #505050; margin-top: 30px; }
#tour-page table td, #tour-page table th { vertical-align: top; padding: 20px; }
#tour-page table th { color: #ff6fdd; font-size: 14px; font-weight: bold; text-transform: uppercase; padding: 10px 20px; }
#tour-page table td span { color: #ff6fdd; }
#tour-page td { line-height: 1.5em; }
#tour-page td .event-tickets { margin-top: 0; }

/* Generic Page */
#page-content, #page-sidebar { float: left; }
#article-photo { border: 2px solid #888888; float: left; margin: 0 20px 20px 0; }
#page-content { width: 700px; }
#page-sidebar { padding-left: 40px; width: 226px; }
.tools { border-bottom: 1px solid #505050; margin-top: 0 !important; }
.tools li { display: inline; list-style-type: none; margin: 0; }
.tools li a { display: inline; float: left; font-size: 11px; padding: 8px; text-decoration: none; text-transform: uppercase; }
.tools li a:hover { color: #00aeef; }
#page-title, .page-title { color: #00aeef; font-size: 20px; font-weight: bold; text-transform: uppercase; }
#email { background: url('/media/images/email-icon.png') right center no-repeat; margin-right: 10px; padding-right: 23px !important; }
#print { background: url('/media/images/print-icon.png') right center no-repeat; margin-right: 10px; padding-right: 23px !important; }
#share-this a { background-image: url('/media/images/share-icon.png') !important; background-position: right center !important; margin-right: 10px; padding-right: 23px !important; }

/* Reviews page */
#quotes-content li { list-style-type: none; margin: 30px 0; }
#quotes-content li p { margin: 0; }
#quotes-content .quote-quote { color: #F6F6F6; font: bold 14px Georgia, Serif; line-height: 20px; }
#quotes-content .quote-byline { color: #E3E3E3; font: 12px Georgia, Serif; margin-top: 5px; }

/* Registration form */
#registration-form { font-size: 16px; }
#registration-form td, #registration-form th { padding: 10px; padding-left: 0; vertical-align: middle; }
#registration-form th { font-weight: bold; padding: 0; line-height: 1.3em; width: 100%; }
#registration-form label { display: block; padding: 10px; padding-left: 0; }
#registration-form table input, #registration-form table textarea {
    background-color: black;
    border: 0;
    border-bottom: 1px solid #313131;
    border-right: 1px solid #313131;
    color: #FFF;
    font: 16px Helvetica, Sans-Serif;
    height: 18px;
    margin: 0;
    padding: 10px;
    padding-top: 12px;
    width: 445px;
}
#registration-form table textarea { height: auto; }
#registration-form .submit {
    float: right;
    font-size: 20px;
    font-weight: bold;
    background-color: #28991B;
    height: 50px;
    width: 140px;
    border-radius: 10px;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
}
#registration-form .errorlist, #errors {
    background-color: #5B120E;
    border-top: 2px solid #9C282B;
    font-size: 14px;
    font-weight: bold;
    margin: 0;
}
#registration-form .errorlist li { list-style-type: none; margin: 0; padding: 5px; }
#errors { padding: 15px; margin-bottom: 20px; }
