body { font: 14px/1.5 'Helvetica Neue', Arial, Helvetica, sans-serif; background: #F4F4F4; margin: 0; padding: 0; text-align: center; color: #666; }
p { margin: 1em 0; }

a { color: #0080CC; border-bottom: 1px solid #eee; text-decoration: none; }
a:hover { color: #F40033; border-bottom: 1px solid #ddd; }

h1 { color: #0080CC; text-transform: uppercase; font-weight: 200; font-size: 24px; line-height: 27px; margin: 0; text-shadow: 0px 1px 1px rgba(0,0,0,0.2); }
h2 { color: #0080CC; font-size: 18px; font-weight: 200; }

fieldset { margin: 0; padding: 0; border: 0; }

ul { margin: 1em 0 1.5em; padding: 0; list-style: circle outside; }
ul li { margin: 0 0 .3em 1.5em; padding: 0; }

img { border: 0; }


#header { background: #0080CC url(../images/header-bg.jpg) repeat-x; color: #fff; overflow: hidden; height: 130px; }
#header .wrap { width: 940px; text-align: left; margin: 0 auto; position: relative; }
#header #site-name { float: left; margin: 25px 0 0 20px; width: 240px; height: 77px; }
#header #site-name a { display: block; width: 240px; height: 77px; background: url(../images/logo.gif) no-repeat; text-indent: -9999px; border: 0; }
#header #site-name em { display: block; font-size: 12px; }

#header .nav { position: absolute; top: 60px; right: 15px; list-style: none; margin: 0; padding: 0; }
#header .nav li { float: left; margin: 0 0 0 5px; padding: 0; }
#header .nav a { font-weight: bold; color: #fff; text-transform: uppercase; text-decoration: none; padding: 4px 10px; font-size: 15px; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; border: 0; }
#header .nav a:hover,
#front .nav li.home a,
#about .nav li.about a,
#services .nav li.services a,
#news .nav li.news a,
#contact .nav li.contact a { background: #fff; color: #0080CC; }

hr { display: none; }


#content { background: #fff url(../images/content-bg.jpg) repeat-x left bottom; padding: 30px 0 50px; }
#content .wrap { width: 940px; text-align: left; margin: 0 auto; position: relative; overflow: hidden; }
#content #left { float: left; margin: 0 20px 0 30px; width: 240px; min-height: 50px; }
#content #right { float: left; margin: 0 20px 0 0; width: 630px; }

#content #left h2 { color: #0080CC; text-transform: uppercase; font-weight: 200; font-size: 24px; line-height: 27px; margin: 10px 0; }

#right #iso { position: absolute; right: 20px; bottom: 25px; }

#footer { margin: 25px auto 35px; width: 900px; padding: 0 20px; text-align: right; font-size: 12px; }

#footer #logos { list-style: none; margin: 0; padding: 0; overflow: hidden; }
#footer #logos li { list-style: none; margin: 0 0 0 30px; padding: 0; float: left; }
#footer #logos li a { float: left; height: 81px; width: 110px; background: url(../images/footer-logos.gif) no-repeat; text-indent: -9999px; border: 0; text-align: left; }
#footer #logos li.iso a { background-position: -510px 0px; }
#footer #logos li.iso a:hover { background-position: -510px -100px; }
#footer #logos li.constr a { width: 320px; margin-left: 215px; }
#footer #logos li.constr a:hover { background-position: 0px -100px; }
#footer #logos li.chas a { width: 165px; background-position: -330px 0px; }
#footer #logos li.chas a:hover { background-position: -330px -100px; }

#footer p#copyright { margin: 40px 0 0; }
#footer p#copyright span { margin: 0 0 0 1em; }
#footer p#reg { color: #999; font-size: 11px; margin: .5em 0; }


a.more { display: block; background-image: url(../images/more.png); background-repeat: no-repeat; height: 43px; width: 155px; border: 0; text-indent: -9999px; margin: 1em 0 0 -3px; }
a.more:hover { background-position: 0 -50px; }
a.more:active, a.more:focus { background-position: 0 -100px; }


ul.gallery-thumbs { list-style: none; margin: 0; padding: 0; }
ul.gallery-thumbs li { margin: 0 0 10px; padding: 0; }
ul.gallery-thumbs li a { display: block; border: 0; }
ul.gallery-thumbs img { width: 220px; height: 180px; }

/* Home */

#front #content #left { float: left; margin: 0 40px 0 30px; width: 280px; }
#front #content #right { float: left; margin: 0 20px 0 0; width: 570px; }



/* Services pages */

#services #content .wrap { width: 900px; }

#services #intro, #services #article { width: 380px; margin: 0 52px 0 0; float: left; }
#services #article p.sectionlink { margin: 0 0 .3em; }
#services #article p.sectionlink a { background: #0080CC; border: 1px solid #0080CC; color: #fff; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; padding: 1px 4px; font-size: 11px; text-transform: uppercase; -webkit-box-shadow: 0px 1px 1px rgba(0,0,0,.6); }

#services #thumbs { width: 468px; float: left; list-style: none; margin: .5em 0 1em 0; padding: 0; }
#services #thumbs li { float: left; margin: 0 6px 6px 0; padding: 0; }
#services #thumbs a { display: block; height: 180px; width: 220px; position: relative; overflow: hidden; -webkit-box-shadow: 0px 1px 2px rgba(0,0,0,.6); padding: 4px; }
#services #thumbs strong { font-size: 11px; color: #fff; position: absolute; bottom: 4px; left: 4px; display: block; z-index: 10; width: 210px; padding: 3px 5px 4px; background: #000; background: rgba(0,0,0,.5); }

p.back { margin: 2em 0; }
p.back a { margin: 0 1em 0 0; background: #0080CC; border: 1px solid #0080CC; color: #fff; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; padding: 3px 6px; font-size: 1.1em; text-transform: uppercase; -webkit-box-shadow: 0px 1px 1px rgba(0,0,0,.6); }

/* News page */

#news #content .wrap { width: 890px; }
#news #main { float: left; width: 600px; }
#news #sidebar { float: left; width: 214px; margin: 0 0 0 70px; padding: 3px; }

#news .post { border-top: 1px solid #ddd; padding: 0 30px 1em 0; margin: 1em 0; position: relative; }
#news .single .post { border: 0; }
#news .single .post h1 { text-transform: none; }
#news .post p.date { float: left; margin: 1.15em 10px 0 0; background: #0080CC; border: 1px solid #0080CC; color: #fff; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; padding: 1px 4px; font-size: 11px; text-transform: uppercase; -webkit-box-shadow: 0px 1px 1px rgba(0,0,0,.6); }
#news .single .post p.date { position: absolute; top: 0; right: 0; float: none; }
#news .post h2 { margin: .5em 0; }
#news .post ul.thumbs { overflow: hidden; list-style: none; margin: 1em 0; }
#news .post ul.thumbs li { float: left; margin: 2px 4px 4px 2px; padding: 0; }
#news .post ul.thumbs li a { display: block; height: 180px; width: 220px; position: relative; overflow: hidden; -webkit-box-shadow: 0px 1px 2px rgba(0,0,0,.6); padding: 4px; }

#news p.sectionlink { margin: 0 0 .3em; }
#news p.sectionlink a { background: #0080CC; border: 1px solid #0080CC; color: #fff; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; padding: 1px 4px; font-size: 11px; text-transform: uppercase; -webkit-box-shadow: 0px 1px 1px rgba(0,0,0,.6); }

.pager { margin: 2em 0; }
.pager a { margin: 0 1em 0 0; background: #0080CC; border: 1px solid #0080CC; color: #fff; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; padding: 5px 10px; font-size: 1.1em; text-transform: uppercase; -webkit-box-shadow: 0px 1px 1px rgba(0,0,0,.6); }
.pager a:hover { color: #fff; }


#news #sidebar #archive { margin: 0 0 2em; }
#news #sidebar #archive h3 { margin: 0 0 1em 16px; background: #0080CC; border: 1px solid #0080CC; color: #fff; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; padding: 1px 4px; font-size: 11px; text-transform: uppercase; -webkit-box-shadow: 0px 1px 1px rgba(0,0,0,.6); float: left; }
#news #sidebar #archive ul { clear: left; margin: 0 0 0 0; padding: 0; list-style: none; }
#news #sidebar #archive ul li { margin: 0 0 .2em; padding: 0; }
#news #sidebar #archive ul li a { padding: 2px 0 2px 18px; border: 0; font-weight: bold; font-size: 16px; background: url(../images/nav-arrow.png) no-repeat 4px -50px; }
#news #sidebar #archive ul li a:hover, #news #sidebar #archive ul li.active a { background-position: 4px 6px;  }

#news #sidebar p.rss { background: url(../images/rss.gif) no-repeat 0px 2px; padding-left: 23px; margin: 1em 0 0 18px; }

#news #sidebar .vcard { margin: 3em 0 1em 8px; padding: 5px 10px 10px; width: 180px; background: #EFF4F8; border: 1px solid #ddd; font-size: 13px; }
#news #sidebar .vcard .tel { white-space: nowrap; }

#news #sidebar #iso { margin: 2em 0 0 18px; }
.vcard p { margin: 0; }
.vcard a { text-decoration: none; }
.vcard .email { font-size: 16px; }
p.download { margin: 0 0 1em; }
.vcard .tel span.type { display: none; }
.vcard .tel span.value { font-weight: bold; }
.vcard .street-address { margin: 0; }
p.downloadvcard { margin: .5em 0 0; }
p.downloadvcard a { background: url(../images/vcard.png) no-repeat; padding: 3px 0 5px 36px; font-size: 13px; text-decoration: none; border: 0; }
.vcard .url { display: none; }



/* projects pages */

#projects #content .wrap { width: 900px; }

#projects #thumbs { width: 680px; float: left; list-style: none; margin: 1em 35px 1em 0; padding: 0; }
#projects #thumbs li { float: left; margin: 0 5px 5px 0; padding: 0; }
#projects #thumbs a { display: block; height: 180px; width: 220px; position: relative; overflow: hidden; }
#projects #thumbs strong { font-size: 11px; color: #fff; position: absolute; bottom: -1px; left: 0; display: block; z-index: 10; width: 210px; padding: 3px 5px 4px; background: #000; opacity: 0.7; filter:alpha(opacity=70); }


#projects #archive { float: left; width: 180px; }
#projects #archive h3 { margin: 1em 0 0; }
#projects #archive ul { list-style: none; margin: 0; padding: 0; font-size: 12px; }
#projects #archive li { margin: 0; padding: 0; }
#projects #archive p.meta { margin: 1em 0 0; font-size: 11px; }

#projects #photos { float: right; width: 450px; }
#projects #photos img { display: block; float: left; margin: 0 5px 5px 0; }
#projects #photos ul { margin: 0; padding: 0; list-style: none; }
#projects #photos li { float: left; margin: 0 5px 5px 0; padding: 0; line-height: 0; }
#projects #photos li img { margin: 0; }

#projects #article { float: left; width: 400px; margin: 0 40px 0 0; }
#projects #article h1 { margin: .1em 0 .25em; }
#projects #article p.meta { font-size: 12px; margin: 0; }
#projects #article p.meta span { margin: 0 1em 0 0; }
#projects #article p.sectionlink { margin: 0; font-size: 11px; text-transform: uppercase; }
#projects #article p.back { border-top: 1px solid #eee; margin: 2em 0 0; padding: 1em 0 0; } 


/* Slideshow */

#slideshow { width: 570px; height: 300px; background: #000; }
#slideshow.loading { background: #000 url(../images/loading.gif) no-repeat 50% 50%; }
#slideshow img { display: block; }
#slideshow p#slideinfo { position: absolute; top: 330px; left: 30px; width: 400px; z-index: 5; margin: 0; padding: 0; font-weight: bold; font-size: 13px; line-height: 1; color: #000; }

#slideshow span#slidecaption { float: left; }
#slideshow span#slidecaption a { text-decoration: none; }
#slideshow span#slidecontrol { margin: 0; float: right; font-size: 11px; }
#slideshow span#slidecontrol a { float: left; height: 15px; width: 14px; margin: 0 3px 0 0; background: url(../images/slidecontrol.gif) no-repeat 0px 0px; cursor: default; text-align: center; line-height: 16px; color: #fff; padding: 0 0 0 1px; }
#slideshow span#slidecontrol a.selected, #slideshow span#slidecontrol a:hover  { background-position: 0px -30px; }
#slideshow span#slidecontrol a:active { background-position: 0px -60px; }



/* Contact */

.zemContactForm { width: 450px; margin: 2em 0 30px 0; }
.zemContactForm legend { display :none; }
.zemContactForm p { float: left; margin: 0 10px 3px 0; }
.zemContactForm label { font-size: 12px; line-height: normal; display: block; margin: 0; }
.zemContactForm br { display: none; }
.zemContactForm p input { display: block; width: 134px; font-size: 14px; border: 1px solid #c3c3c3; border-top-color: #7C7C7C; border-bottom-color: #DDD; background: #F4F9F8; margin: 2px 0 0; padding: 2px; }
.zemContactForm p.subject input { width: 434px; }
.zemContactForm label.zemTextarea { clear: both; width: 100%; display: block; }
.zemContactForm textarea { width: 434px; margin: 2px 0 5px; padding: 2px; overflow: auto; border: 1px solid #c3c3c3; border-top-color: #7C7C7C; border-bottom-color: #DDD; background: #F4F9F8; font-size: 14px; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; }
.zemContactForm p.hidden { visibility: hidden; height: 0; width: 0; overflow: hidden; float: none; display: block; margin: 0; padding: 0; }
.zemContactForm input.zemRadio { display: inline; }
.zemContactForm label.zemRadio { display: inline; }

.zemContactForm input.zemSubmit { margin: 20px 0; }

.zemContactForm h5 { padding: 1em 0 0; clear: left; }
.zemContactForm ol { padding-top: .5em; clear: left; }
.zemContactForm ol li * { vertical-align: middle; }

.zemContactForm label.zemRequirederrorElement { color: #900; }
.zemContactForm input.zemRequirederrorElement, 
.zemContactForm textarea.zemRequirederrorElement { border: 1px solid #c00; }

ul.zemError { list-style: square outside; font-size: 12px; color: #900; }
ul.zemError li { margin: 0 0 .3em 1.5em; }

.zemThanks { font-size: 14px; }


/* vCard */

.vcard { margin: 1em 0; padding: 0; width: 430px; }
.vcard p { margin: 0; }
.vcard a { text-decoration: none; }
.vcard .email { font-size: 16px; }
p.download { margin: 0 0 1em; }
.vcard .tel span.type { display: none; }
.vcard .tel span.value { font-weight: bold; }
.vcard .street-address { margin: 0; }
p.downloadvcard { margin: .5em 0 0; }
p.downloadvcard a { background: url(../images/vcard.png) no-repeat; padding: 3px 0 5px 36px; font-size: 13px; text-decoration: none; border: 0; }
.vcard .url { display: none; }



#jquery-overlay { position: absolute; top: 0; left: 0; z-index: 90; width: 100%; height: 500px; }
#jquery-lightbox { position: absolute; top: 0; left: 0; width: 100%; z-index: 100; text-align: center; line-height: 0; }
#jquery-lightbox a, #jquery-lightbox a img { border: none; }
#lightbox-container-image-box { position: relative; background-color: #fff; width: 250px; height: 250px; margin: 0 auto; }
#lightbox-container-image { padding: 10px; }
#lightbox-loading { position: absolute; top: 40%; left: 0%; height: 25%; width: 100%; text-align: center; line-height: 0; }
#lightbox-nav { position: absolute; top: 0; left: 0; height: 100%; width: 100%; z-index: 10; }
#lightbox-container-image-box > #lightbox-nav { left: 0; }
#lightbox-nav a { outline: none; }
#lightbox-nav-btnPrev, #lightbox-nav-btnNext { width: 49%; height: 100%; zoom: 1; display: block; }
#lightbox-nav-btnPrev { left: 0; float: left; }
#lightbox-nav-btnNext { right: 0; float: right; }
#lightbox-container-image-data-box { font: 10px "Helvetica Neue", Helvetica, Arial, sans-serif; background-color: #fff; margin: 0 auto; line-height: 1.4em; overflow: auto; width: 100%; padding: 0 10px 0; }
#lightbox-container-image-data { padding: 0 10px; color: #2C4939; }
#lightbox-container-image-data #lightbox-image-details { width: 70%; float: left; text-align: left; }
#lightbox-image-details-caption { font-weight: bold; font-size: 13px; }
#lightbox-image-details-currentNumber { display: block; clear: left; padding-bottom: 1.0em;	
}
#lightbox-secNav-btnClose { width: 66px; float: right; padding-bottom: 0.7em; }