/*

Text colors:

* white
* orange: f1942a
* green: 80c877
* lighter green (page title border): c5e29c


*/

body {
    margin: 0;
    padding: 0;
    background: #ccc;
    text-align: center;
    font-size: 85%;
    font-family: helvetica, arial, sans-serif;
}
a {
    color: #f1942a;
}
a img {
    border: 0;
}

#page {
    width: 1030px;
    margin: 0 auto;
    text-align: left;
    background: #fff url(../images/background.jpg) 0 0 no-repeat;
}
body.index #page {
    background-image: url(../images/background-home.jpg);
}
body.contact #page {
    background-image: url(../images/background-contact.jpg);
}




/* Body */

#body {
    position: relative;
    width: 792px; /* = 850 */
    padding: 30px 25px 30px 33px;
    background-color: #9b3f15;
    color: white;
    overflow: hidden;
}
#body #page-title {
    margin: 0 0 20px;
    padding: 0 0 5px;
    border-bottom: 1px solid #c5e29c;
    color: #f1942a;
    letter-spacing: .07em;
    font-size: 2.5em;
    line-height: normal;
    font-weight: normal;
    text-transform: uppercase;
}
#body p, #body li {
    line-height: 1.25em;
}
#body .columns .column {
    float: left;
}
#body .columns.right-column-first .column {
    float: right;
}
#body .columns .column.left {
    width: 469px;
}
#body .columns .column.right {
    width: 293px;
    margin-left: 30px;
}



/* About */

body.about .left h2 {
    margin: 0 0 1.5em;
    padding: 0;
    font-size: 1.5em;
    font-weight: normal;
}
body.about .left .image.first {
    float: left;
    margin: 0 15px 10px 0;
}
body.about .left .image.second {
    float: right;
    margin: 0 0 10px 15px;
}
body.about .right blockquote {
    margin: 0;
    padding: 0;
    color: #f4ad83;
    font: bold italic 1.5em/2em "times new roman", times, serif;
}
body.about .right blockquote .attribution {
    position: relative;
    padding-left: 160px;
    color: white;
    font: normal .6em/1.5em helvetica, arial, sans-serif;
}
body.about .right blockquote .attribution .emdash {
    position: absolute;
    right: 135px;
}
body.about .right blockquote .attribution i {
    white-space: nowrap;
}




.tickets h2,
.tickets p {
    margin: 0;
    padding: 0;
}
.tickets h2,
.tickets .buy {
    font-size: 1.1em;
    font-weight: bold;
}
#body .tickets .buy a {
    color: #80c877;
}

/* Program */

body.program #body .container {
    position: relative;
    padding: 1px 0 0;
}
body.program .schedule,
body.program .tickets {
    float: right;
    clear: right;
    width: 315px;
}
body.program .schedule {
    margin: 0;
    padding: 0;
    font-weight: bold;
    font-size: 1.2em;
}
body.program .schedule li {
    list-style: none;
    margin: 0 0 15px;
    padding: 0;
}
body.program .schedule p {
    margin: 0;
    padding: 0;
}
body.program .schedule .date-and-time {
    color: #f1942a;
    text-transform: uppercase;
}
body.program .schedule .title {
    font-size: 1.25em;
}
body.program #body .schedule .title a {
    color: white;
}
body.program .schedule .photo {
    position: absolute;
    left: 0;
    top: 0;
}
body.program .schedule .photo .caption {
    position: absolute;
    left: 5px;
    bottom: 5px;
    font-size: 11px;
    font-weight: normal;
    text-shadow: #000 1px 1px 1px;
}
body.program .schedule .cabaret .photo {
    left: 18px;
}
body.program .schedule .faddis .photo {
    left: 225px;
}
body.program .schedule .pacifica .photo {
    left: 13px;
    top: 164px;
}
body.program .schedule .bach .photo {
    left: 62px;
    top: 396px;
}
body.program .schedule .hobson .photo {
    left: 268px;
    top: 144px;
}
body.program .schedule .serenade .photo {
    left: 306px;
    top: 368px;
}
body.program .tickets {
    margin-top: 35px;
    font-size: .9em;
}
body.program .tickets h2,
body.program .tickets p {
    margin: 0;
    padding: 0;
}
body.program .tickets h2,
body.program .tickets .buy {
    font-size: 1.1em;
    font-weight: bold;
}
body.program .tickets .buy a {
    color: #80c877;
}
body.program .tickets .availability {
    font-weight: bold;
    margin-top: 1em;
}
body.program .notes {
    width: 422px;
    margin-top: 570px;
    padding: 15px;
    background-color: #843612;
    font-size: .9em;
}
body.program .notes h2 {
    margin: 0;
    padding: 0;
    color: #f1942a;
    font-size: 1em;
}
body.program .notes p {
    margin: 0 0 1em;
    padding: 0;
}



/* Concert pages */

body.concert .date-and-time {
    margin: 0 0 .25em;
    padding: 0;
    color: #f1942a;
    font-weight: bold;
    text-transform: uppercase;
}
body.concert .date-and-time .time {
    margin-left: 1em;
}
body.concert h1 {
    margin: 0;
    padding: 0;
    font-size: 1.8em;
    font-weight: normal;
    text-transform: uppercase;
}
body.concert .subtitle {
    margin: .5em 0 0;
    padding: 0;
    font-size: 1.3em;
    line-height: 1.2em;
    font-weight: normal;
}
body.concert .notes {
    margin-top: 1.5em;
}
body.concert .notes h2 {
    margin: 0;
    padding: 0;
    font-size: 1.1em;
}
body.concert .notes p {
    margin: 0 0 1em;
    padding: 0;
}
body.concert .tickets {
    margin-top: 2em;
}
body.concert .photos {
    overflow: hidden;
    font-size: .8em;
}
body.concert .photos img {
    display: block;
}
body.concert .photo.big {
    position: relative;
}
body.concert .photo.big .caption {
    position: absolute;
    left: 5px;
    bottom: 5px;
    font-size: 11px;
    font-weight: normal;
    text-shadow: #000 1px 1px 1px;
}
body.concert .photos .row {
    clear: left;
    padding-top: 18px;
}
body.concert .photos .row .photo {
    float: left;
    width: 90px;
    margin-right: 18px;
}
body.concert .photos .caption {
    margin: 6px 0 0;
    padding: 0;
}
body.concert .photos .caption .instrument {
    display: block;
    font-style: italic;
}




/* Visiting */

body.visiting #body .columns .column.left {
    width: 455px;
}
body.visiting #body .columns .column.right {
    width: 307px;
}
body.visiting .left .photo {
    margin-bottom: 15px;
}
body.visiting .left .logo {
    float: right;
    padding: 10px 15px 15px 25px;
}
body.visiting .left h2 {
    font-size: 1em;
    margin-bottom: 0;
    padding-bottom: 0;
}
body.visiting .left strong {
    color: #f1942a;
}
body.visiting .right {
    font-size: .9em;
}
body.visiting .directions {
    padding: 15px;
    background-color: #843612;
}
body.visiting .directions h2,
body.visiting .directions h3,
body.visiting .directions h4 {
    margin: 0;
    padding: 0;
    color: #f1942a;
    font-size: 1.2em;
    line-height: 1.25em;
}
body.visiting .directions h3 {
    margin-bottom: .5em;
}
body.visiting .directions h4 {
    font-size: 1em;
    color: white;
}
body.visiting .map {
    margin-top: 15px;
}



/* Gallery */

body.gallery .nav .disabled {
    cursor: default;
    cursor: not-allowed;
}
body.gallery .viewer {
    width: 500px;
    float: right;
}
body.gallery #current-photo {
    width: 500px;
    height: 500px;
    text-align: center;
}
body.gallery .viewer .nav {
    margin-bottom: 15px;
    text-align: right;
    font-size: 13px;
    color: #b87658;
}
body.gallery .viewer .nav span,
body.gallery .viewer .nav a {
    margin-left: 1em;
}
body.gallery .viewer .nav a {
    color: white;
    text-decoration: none;
}
body.gallery .viewer .nav .disabled {
    color: #b87658;
}
body.gallery .thumbnails ul {
    margin: 0;
    padding: 0;
    width: 285px;
}
body.gallery .thumbnails li {
    list-style: none;
    float: left;
    margin: 0;
    padding: 0 10px 10px 0;
}
body.gallery .thumbnails li a {
    display: block;
    padding: 4px;
    border: 1px solid #b87658;
    text-decoration: none;
}
body.gallery .thumbnails li.active a {
    border-color: white;
}
body.gallery .thumbnails li a:hover {
    border-color: #f1942a; 
}
body.gallery .thumbnails img {
    display: block;
    width: 75px;
    height: 75px;
}
body.gallery .thumbnails .nav {
    clear: left;
    margin: 0 0 10px;
    font-size: 13px;
    line-height: 20px;
    color: #b87658;
}
body.gallery .thumbnails .nav span,
body.gallery .thumbnails .nav a {
    padding: 4px 8px;
    border: 1px solid #b87658;
}
body.gallery .thumbnails .nav a {
    color: white;
    text-decoration: none;
}
body.gallery .thumbnails .nav a.active {
    background-color: white;
    color: #9b3f15;
}
body.gallery .thumbnails .nav a:hover {
    border-color: #f1942a; 
}
body.gallery .thumbnails .nav .disabled {
    color: #b87658;
}
body.gallery .credit {
    clear: both;
    padding: 25px 0 0 292px;
    font-size: .8em;
    color: #f1942a; 
    text-align: center;
}




/* Press */

body.press #body .columns .column.left {
    width: 452px;
}
body.press #body .columns .column.right {
    width: 310px;
}
body.press #body h2 {
    margin: 0 0 .25em;
    padding: 0;
    color: #f1942a;
    font-size: 1.25em;
}
body.press p {
    margin: 0;
    padding: 0;
}
body.press .contact {
    margin: 0 0 2em;
}
body.press .contact .info {
    margin: 1em 0 1em 50px;
    font-weight: bold;
}
body.press dt {
    font-weight: bold;
    margin-top: 1em;
}
body.press dd {
    margin: 0;
    padding: 0;
}
body.press ul.photos {
    width: 300px;
    overflow: hidden;
    margin: 15px 0 0;
    padding: 10px 0 0 10px;
    background-color: #843612;
}
body.press ul.photos li {
    list-style: none;
    float: left;
    width: 140px;
    height: 93px;
    overflow: hidden;
    margin: 0;
    padding: 0 10px 10px 0;
}




/* Giving */

body.giving h2 {
    margin: 0 0 .5em;
    padding: 0;
    font-size: 1em;
    color: #f1942a;
}
body.giving #body ul {
    margin: 0 0 1em 1.5em;
    padding: 0;
}
body.giving .sponsors {
    width: 263px;
    padding: 15px;
    background-color: #843612;
}
body.giving .sponsors ul {
    margin: 0;
    padding: 0;
    text-align: center;
}
body.giving .sponsors li {
    list-style: none;
    margin: 0;
    padding: 25px 0;
}





/* Contact */

body.contact #body h2 {
    margin: 0 0 .5em;
    padding: 0;
    font-size: 1.25em;
    color: #f1942a;
}
body.contact #body p {
    margin: 0 0 1em 50px;
    padding: 0;
    font-weight: bold;
    line-height: 1.5em;
}






/* Navigation */

.navigation {
    margin: 0;
    padding: 0;
}
.navigation li {
    list-style: none;
    display: inline;
}
.navigation a {
    text-decoration: none;
}



/* Header */

#header {
    position: relative;
    width: 817px;
    padding-top: 144px;
    background: url(../images/banner-bg.gif) 0 0 no-repeat;
}
#header .som {
    position: absolute;
    left: 770px;
    top: 8px;
    margin: 0;
    padding: 0;
}
#header .navigation {
    padding: 8px 20px;
    background-color: #80955e;
    text-transform: uppercase;
    font-size: 11px;
    font-weight: bold;
}
#header .navigation li {
    margin-right: 1em;
}
#header .navigation a {
    color: white;
}
#header .navigation a:hover {
    color: #333;
}
body.about #header .navigation .about a,
body.program #header .navigation .program a,
body.concert #header .navigation .program a,
body.visiting #header .navigation .visiting a,
body.gallery #header .navigation .gallery a,
body.press #header .navigation .press a,
body.giving #header .navigation .giving a,
body.contact #header .navigation .contact a,
#header .navigation .active a {
    color: #c4e29c;
}
#header .navigation .home {
    position: absolute;
    left: 0;
    top: 17px;
    width: 725px;
    height: 127px;
    margin: 0;
    padding: 0;
    overflow: hidden;
}
#header .navigation .home a {
    display: block;
    width: 725px;
    height: 127px;
    background: url(../images/banner.png) 0 0 no-repeat;
}
#header .navigation .home a span {
    position: relative;
    left: -999px;
}


/* Footer */

#footer {
    position: relative;
    height: 70px;
    color: #9b3f15;
    font-size: 11px;
}
#footer .navigation {
    position: absolute;
    left: 230px;
    top: 25px;
}
#footer .navigation li {
    margin-left: .5em;
    padding-left: .5em;
    border-left: 1px solid #9b3f15;
}
#footer .navigation li.home {
    margin-left: 0;
    padding-left: 0;
    border-left: 0;
}
#footer .navigation a {
    color: #9b3f15;
}
#footer .illinois {
    position: absolute;
    left: 20px;
    top: 11px;
    margin: 0;
    padding: 0;
}


