html {
    background: #ebe7de url("images/body_bg.jpg") repeat-y center;
    color: #333;
}
body {
    width: 780px;
    position: relative;
    margin: 0 auto;
    padding: 0 15px;
    font: 0.8em Arial, Helvetica, sans-serif;
    background: #f5f3ec;
}
h1, h2, h3, p {
    padding: 0;
}
h1, h2 {
    margin: 0.5em 0;
}
h1 {
    font-size: 2.2em;
    font-weight: normal;
    color: #333;
}
h2 {
    margin: 1.1em 0 0.6em 0;
    font-size: 1.5em;
}
h3 {
    margin: 1.5em 0 0 0;
    font-size: 1.2em;
}
p {
    margin: 0 0 1em 0;
}
blockquote {
    color: #000;
    font-style: italic;
}
#Content li {
    margin-bottom: 0.5em;
}
#Content p, #Content li, #Content address, #Content dt, #Content dd {
    line-height: 1.4em;
}
small {
    font-size: 80%;
}
big {
    font-size: 120%;
    line-height: 1.3em;
}
sup {
    font-size: 70%;
}

dt {
    font-weight: bold;
    margin-bottom: 0.5em;
}
dd {
    margin: 0 0 1em 0;
    padding: 0 0 0 2em;
}
abbr {
    border: none;
    cursor: help;
}
address {
    font-style: normal;
    margin-top: 1em;
}
hr {
    border: none;
    border-top: 1px solid #ccc;
    height: 1px;
}

a:link {
    color: #3388BB;
}
a:visited {
    color: #DD5588;
}
a:hover {
    color: #CC0000;
}
a:focus {
    background-color: #fffacd;
}

/* CLASSES */

a.more {
    font-weight: bold;
}
a.more span {
    display: none;
}
a.current {
    cursor: help;
}
a.current:hover {
    color: inherit;
}

a.pdf, a.doc, a.map {
    background-position: right top;
    background-repeat: no-repeat;
    padding-right: 20px !important;
}

a.pdf {
    background-image: url("images/pdf.png");
}
a.doc {
    background-image: url("images/doc.png");
}
a.map {
    background-image: url("images/map.png");
}

.highlight {
    background-color: #fffec2;
}

hr.break {
    clear: both;
    margin: 0;
    padding: 0;
}
.logo {
    text-decoration: none;
    background-image: url("images/logo.png");
    background-repeat: no-repeat;
    background-position: left top;
    text-align: left;
    text-indent: -9999px;
    display: block;
    margin: 0px;
    padding: 0px;
    height: 125px;
    width: 125px;
    overflow: hidden;
}
.intro {
    padding: 1px 15px 1px 15px;
    margin: 0 0 10px 0;
    background: #39c url("images/intro_bg.jpg") bottom left repeat-x;
    color: #fff;
    border-bottom: 2px solid #eee;
    border-top: 1px solid #39c;
    font-size: 1.1em;
}
.intro a:link, .intro a:visited {
    color: navy;
    font-weight: bold;
}
.intro h1 {
    font-size: 1.9em;
    color: #fff;
}
.layout {
    position: relative;
    clear: both;
}
.boxout {
    padding: 10px;
    margin: 0 0 1em 0;
    background: #e7e1d9;
    border: 1px solid #d6cfc4;
}
.intro .boxout {
    clear: both;
    margin: 0 -15px 0 -15px;
    padding: 15px;
    font-size: 1.25em;
    background: transparent;
    color: #fff;
    border: none;
    border-top: 1px solid #fff;
}
.boxout h2 {
    margin-top: 0.25em;
    padding-top: 0;
}
.group-header {
    text-align: center;
}
.slogan {
    font-size: 1.2em;
    text-align: center;
}
ul.quick-links {
    margin: 1em 0;
    padding: 0;
}
ul.quick-links li {
    border-bottom: 1px dotted #ccc;
    padding: 0.2em 0 0.55em 0;
    margin: 0;
    list-style: none;
}

/* the index class is heavily-used throughout the site; it displays a list of items with a thumbnail image, header link, and optional description element and child link list */

ul.index {
    margin: 1em 0;
    padding: 0;
    list-style: none;
}
ul.index li {
    height: 80px; /* IE6 hack */
    position: relative;
    margin: 0;
    padding: 10px 0 10px 105px; /*background-position: left center; 	background-repeat: no-repeat;*/
    border-bottom: 1px dotted #ccc;
    list-style: none;
}
html > body ul.index li {
    /* undo IE6 hack for other browsers */
    height: auto;
    min-height: 80px;
}
ul.index h2, ul.index h3 {
    padding: 0;
    margin: 0 0 10px 0;
    line-height: 1em;
}
ul.index p {
    margin: 0;
}
ul.index li:last-child {
    border-bottom: none;
}
ul.index .thumb, ul.index .thumbnail {
    position: absolute;
    top: 10px;
    left: 0;
}
ul.index .date {
    font-size: 0.9em;
    color: #999;
}
ul.photos {
    position: relative;
}
ul.photos li {
    height: 90px !important; /* IE6 hack */
    padding-left: 135px;
}
html > body ul.photos li {
    /* undo IE6 hack for other browsers */
    height: auto;
    min-height: 90px;
}

ul.course-logos {
    float: right;
    margin: 0 0 1em 1em;
    padding: 0;
    text-align: right;
    list-style: none;
}

/* displays a gallery of photos */

ul.gallery {
    margin: 1em -8px;
    padding: 0;
    clear: both;
}
ul.gallery li {
    display: inline;
    margin: 0 1px;
}
ul.gallery img {
    border: 1px solid #e5e5de;
    padding: 4px;
    background: #fff;
}

div.col {
    float: left;
    width: 370px;
    padding: 0 10px;
    position: relative;
}
.boxout div.col {
    width: 358px;
}
.thumb, .thumbnail {
    border: 1px solid #eee;
    padding: 1px;
    background: white;
}
.photos .thumb, .photos .thumbnail {
    padding: 5px;
}
.photos {
    padding-left: 38px;
    background: url("images/photos.png") center left no-repeat;
    height: 32px;
}
html > body .photos {
    height: auto;
    min-height: 32px;
}
.caption {
    margin: 0.5em 1em;
    padding: 0.5em;
    text-align: center;
    background: #fce94f;
    border: 1px solid #edd400;
    font-size: 0.9em;
}
.logos {
    float: right;
    margin: 25px 0;
}
p.legal {
    clear: both;
    float: left;
    width: 350px;
}
.logos img {
    border: 1px solid #ccc;
    padding: 3px;
    background: #fff;
    margin-left: 10px;
}
.print-page {
    background-image: url("images/printer_16.png");
}
.email-page {
    background-image: url("images/email_16.png");
}

.breadcrumbs {
    display: block;
    margin: 0 -15px;
    padding: 3px 5px;
    font-size: 0.85em;
    background: #39c;
    border-bottom: 1px solid #FFF;
    color: #cef;
}

.breadcrumbs a {
    text-decoration: none;
    color: #fff;
    font-weight: bold;
}

/* IDENTIFIED ELEMENTS (LAYOUT) */

#Header {
    height: 125px;
    position: relative;
    margin: 0;
    padding: 0;
    background: url("images/header_bg.png") bottom right no-repeat;
}
#Logo {
    position: absolute;
    left: 0;
    top: 0;
    padding: 0;
    margin: 0;
}
#Tagline {
    display: none;
}
#Content {
    clear: both;
    margin: 0 -15px;
    padding: 0 15px;
    position: relative;
    background: url("images/content_bg.jpg") top repeat-x;
}
#Footer {
    clear: both;
    padding: 1em 0;
    font-size: 0.9em;
    color: #999;
    text-align: right;
}
#Footer .small-nav {
    float: left;
}
#Footer .legal {
    margin: 45px 0;
    line-height: 1.8em;
    text-align: left;
}
#Footer .copyright {
    font-weight: bold;
}

#Header, #Main-Menu, #Breadcrumbs, .intro {
    margin-left: -15px;
    margin-right: -15px;
}
#Header {
    background-color: #fff;
}
#Actions {
    position: absolute;
    top: 10px;
    right: 15px;
}
#Actions a {
    margin-left: 10px;
    padding-left: 20px;
    background-position: left center;
    background-repeat: no-repeat;
    color: #999;
    text-decoration: none;
}

/* page-specific stuff */

.services h2 {
    margin: 0;
    font-weight: normal;
    font-size: 2em;
}

.services img {
    float: left;
    margin: 0 10px 5px 0;
    border: none;
}

.services p {
    clear: both;
    margin-bottom: 1.5em;
}

table.album-photos {
    width: 100%;
}

table.album-photos td {
    width: 50%;
    vertical-align: top;
    text-align: center;
    padding: 5px 0;
}


.gmap {
    float: left;
    margin-top: 15px;
    margin-bottom: 15px;
    width: 380px;
    height: 270px;
    border: 1px solid #999;
}

.second {
    float: right;
}

.boxout {
    clear: both;
}

.gpcode {
    text-align: center;
    background: #fffacd;
    border-top: 1px solid gold;
    border-bottom: 1px solid gold;
    padding: 0.5em;
}

.gpcode #pc {
    width: 8em;
}

.directions {
    /*position: absolute;*/
    top: 0;
    right: 0;
    padding: 10px;
    text-align: right;
    font-size: 0.9em;
}

.directions span { display: none; }

/* hCard styles */

.adr { margin-bottom: 0.5em; }
.adr * { display: inline; }
.tel, .fax, .email { display: inline; margin-right: 0.5em; color: #666; }

/* next-gen galleries from Wordpress */

.ngg-galleryoverview {
    clear: both;
    text-align: center;
}

.ngg-gallery-thumbnail-box {
    display: inline-block;
    margin: 10px;
}

.ngg-gallery-thumbnail img {
    border: 1px solid #999;
}
