/* # # # # # # # Base Elements # # # # # # # */

html, body { margin: 0; padding: 0; height: 100%; }

body { font: 11px/160% 'Lucida Grande', Arial, Tahoma, Sans-Serif; background: #f3f6f4 url(../graphics/bg-body.png) repeat-x 0 0; color: #4d4d4d; }

h1, h2, h3, h4, p { margin: 0 0 1em; }

h1 { font-size: 18px; }
h2 { font-size: 16px; }
h3 { font-size: 14px; }
h4 { font-size: 12px; }

p { text-align: justify; }

.clear { clear: both; }

a { color: #4d4d4d; text-decoration: none; font-weight: bold; }
a:hover { color: #a40e1c; }

/* # # # # # # # Structural # # # # # # # */

#container { min-height: 100%; margin: 0 auto; position: relative; width: 780px; }

#header { position: relative; height: 475px; background: url(../graphics/bg-header.png) no-repeat 0 0; border-bottom: 5px solid #c1c1c1; z-index: 1; }
#header #logo { position: absolute; left: -8px; top: 31px; height: 150px; width: 200px; }

ul#nav { position: absolute; bottom: 0; left: 0; }
ul#nav li a { background: url(../graphics/nav-li-tab.png) no-repeat 0 0; height: 38px; width: 200px; line-height: 30px; text-indent: 15px; display: block; font-size: 14px; letter-spacing: 2px; color: #555; font-weight: normal; }
ul#nav li a:hover { color: #a40e1c; }
ul#nav li.last a { height: 30px; }

#header-pic { position: absolute; bottom: 0; right: 0; width: 580px; height: 330px; }
#header-pic img { border: 5px solid #d9d9d9; }

#main { padding-bottom: 75px; position: relative; z-index: 1; }
#main h2 { color: #a40e1c; margin-bottom: 2em; margin-top: 2em; }
#main h2:first-child { margin-top: 0; }

#content { margin-left: 205px; padding-top: 30px; min-height: 240px; position: relative; overflow: hidden; }
#content p { letter-spacing: 1px; }
#content ul.contact { padding-bottom: 15px; }

#footer { background: url(../graphics/bg-footer.png) no-repeat 0 0; bottom: 0; height: 45px; line-height: 45px; padding-right: 50px; position: absolute; width: 730px; z-index: 0; }
#footer p { color: #fff; font-size: 9px; margin: 0; text-align: right; }
#footer #content-background { background: url(../graphics/bg-content.png) no-repeat 0 100%; margin: -223px 0 0 330px; height: 223px; width: 410px; }

#header-pic li { display: none; }
#header-pic li:first-child { display: block; }

/* # # # # # # # Navigation # # # # # # # */

/* # # # # # # # Video # # # # # # # */

#video { position: absolute; height: 164px; margin-top: 30px; width 185px; }

/* # # # # # # # Gallery # # # # # # # */

#gallery { list-style-type: none; margin: 0; padding: 0; }
#gallery li { float: left; margin: 0.5em; padding: 0; }
#gallery li a { display: block; }
#gallery li img { display: block; }
#gallery .thumbnail-scaled { border: 5px solid #c1c1c1; display: block; height: 110px; overflow: hidden; width: 165px; }

/* # # # # # # # Features # # # # # # # */

#features li { clear: both; }
#features li .description { float: left; width: 350px; }
#features li .image { float: right; height: 150px; width: 150px; border: 5px solid #c1c1c1; margin-bottom: 20px; }
#features li .image a { display: block; }
#features li .image img { display: block; }
#features li .image .thumbnail-scaled { height: 150px; width: 150px; }

/* # # # # # # # Features # # # # # # # */

#page-contact #main { padding-top: 30px; }
#page-contact #content { float: right; padding: 0; width: 575px; }
#page-contact #side-bar { float: left; width: 205px; }
#page-contact dl dt { font-size: 1.1em; font-weight: bold; margin-bottom: 0.25em; }
#page-contact dl dd { margin: 0 0 1em 1em; }

#contact-form li { border-top: 1px dashed #cdcdcd; min-height: 40px; padding: 8px 0; }
#contact-form li:first-child { border-top: none; }
#contact-form label { float: left; width: 220px; }
#contact-form input, #contact-form textarea { border: 2px solid #cdcdcd; color: #4d4d4d; font-family: inherit; font-size: 100%; padding: 3px; -moz-border-radius: 4px; }
#contact-form input { width: 345px; }
#contact-form textarea { height: 90px; margin-top: 10px; width: 565px; }
#contact-form span.required { clear: left; color: #aaa; display:block; float: left; }
#contact-form input#contact-submit { background-color: #f0f0f0; float: right; }
#contact-form .valid { background: #fff url(../graphics/tick.png) no-repeat 331px center; }
#contact-form textarea.valid { background-image: none; }
#contact-form .invalid { border-color: #c74343; }
#contact-form .disabled { border-color: #f0f0f0; }

#status-box { background-color: #fff; border: 2px solid #cdcdcd; display: none; margin-bottom: 20px; padding: 10px 40px 10px 10px; -moz-border-radius: 4px; position: relative; }
#status-box.success { border-color: #8ad33c; }
#status-box.failure { border-color: #c74343; }
#status-box #status-message { margin: 0; }
#status-box #status-box-close { background-image: url(../graphics/cross.png); display: block; height: 16px; position: absolute; right: 12px; text-indent: -1000em; top: 10px; width: 16px; }
