/* main elements */
html { font-size:62.5%; margin:0; padding:0 }
body { font-size:1.25em; line-height:1.25em; background:#000; font-family:Arial, sans-serif; color:#fff; margin:0; padding:0; text-align:center; }
h1 { margin:10px 0; font-size:1.45em; /* 18pt */ color:#969696; text-transform:uppercase }
h2 { margin:0 0 0.3em 0; font-size:1.1em; /* 14pt */ color:#fff; padding:0; text-transform:uppercase }
h3 { margin:0 0 0.3em 0; font-size:1em; color:#58a1e1; padding:0 }
p { margin-top:0; }
a { color:#ffefbc; text-decoration:none }
a:hover { color:#fff; text-decoration:underline; }
img { border:0; }

.center { text-align:center }
.small { font-size:11px }
.required { color:#ff0000; font-size:24px; position:relative; top:7px; font-weight:bold }

/* clearfix */
.clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
* html .clearfix { height: 1%; }
.clearfix { display: block; }

/* notification */
.message { padding:10px; margin:15px 0; display:block; text-align:left }
.message-title { font-weight:bold; font-size:1.25em }
.message-body { margin-top:4px }
.error, .notice, .success { padding:.8em; margin-bottom:1em; border:2px solid #ddd }
.error { background:#FBE3E4; color:#8a1f11; border-color:#FBC2C4 }
.notice { background:#FFF6BF; color:#514721; border-color:#FFD324 }
.success { background:#E6EFC2; color:#264409; border-color:#C6D880 }
.error a { color:#8a1f11 }
.notice a { color:#514721 }
.success a { color:#264409 }

/* ******************************************** */
/* shared styles */
/* ******************************************** */
.container { width:897px; margin:0 auto; text-align:left }

#top { height:30px; padding:0; background:#515151; color:#9a9a9a; text-transform:uppercase; text-align:left; }
#top p { padding:8px 0 0 8px; font-size:10px }

/* header */
#header { margin-top:38px }
#header #logo,
#header img { float:left }

/* top navigation */
#topnav { float:left; position:relative; top:15px; left:30px; margin:0; padding:0; list-style:none }
#topnav li { float:left; margin-right:30px; position:relative }
#topnav a { float:left }
#topnav a:hover img,
#topnav a.active img { visibility:hidden }
#topnav #topnav-building:hover,
#topnav #topnav-building.active { background:url(/images/navigation/building-hover.gif) }
#topnav #topnav-engineering:hover,
#topnav #topnav-engineering.active { background:url(/images/navigation/engineering-hover.gif) }
#topnav #topnav-realestate:hover,
#topnav #topnav-realestate.active { background:url(/images/navigation/realestate-hover.gif) }

#topnav ul { margin:0; padding:0; width:100%; position:absolute; left:0; top:18px; z-index:100; list-style-type:none; display:none; border-top:8px solid #ccc; background:url(/images/navigation/background.png); }
#topnav ul li { float:none; text-align:center; line-height:normal; margin:0 0 1em 0 }
#topnav ul li.first { margin-top:0.75em }
#topnav ul li a { float:none; font-weight:bold; font-size:0.9em; color:#000; text-transform:uppercase; padding:4px }
#topnav ul li:hover { }

/* login bars */
#login { clear:both; margin:1em 0 3em 0; border-bottom:4px solid #00529b; border-top:4px solid #00529b; padding:7px 0; }
#login div { width:884px; text-align:left; margin:0 auto; }
#login a { font-weight:bold; text-transform:uppercase; letter-spacing:0.1em }

/* footer */
#footer { font-size:1.1em }
#footer ul { margin:0 auto 5px 0; padding:0; }
#footer ul li { display:inline; border-right:1px solid #fff; padding:0 10px; }
#footer ul li a { color:#fff; text-transform:uppercase; }
#footer ul li a:hover { color:#ffefbc; }
#footer ul li.last { border-right:0px; }
#footer p { margin-bottom:0.4em; text-transform:uppercase }
#footer #company { margin-top:30px; font-weight:bold; color:#00529b; text-transform:uppercase }

/* ******************************************** */
/* home page specific */
/* ******************************************** */
#home #logo { visibility:hidden }
#home #splash { border-top:4px solid #00529b; margin:-20px 0 30px 0; background:url(/images/splash.jpg) top center no-repeat; height:513px }


/* ******************************************** */
/* interior page styles */
/* ******************************************** */
#page #login div { padding-left:20px }
#page #h1 { margin:15px auto 8px auto }
#page #top { visibility:hidden }

#content { font-size:1.1em; line-height:1.35em }
#content #splash { width:742px; margin-bottom:10px }
#content h1 { font-size:1.35em /* bring the h1 back down to 18pt */ }
.narrow { width:742px; float:left }

#body { border-top:4px solid #00529b }

/* left nav */
#sidebar { float:left; width:155px }
#sidebar ul { margin:2em 0 0 10px; padding:0; list-style:none; text-transform:uppercase }
#sidebar ul li { line-height:normal; margin-bottom:1.4em }
#sidebar ul a { color:#fff; font-weight:bold; font-size:0.9em }
#sidebar ul a:hover { text-decoration:none }
#sidebar ul.custombuilding a:hover,
#sidebar ul.custombuilding a.active { color:#00529b }
#sidebar ul.engineering a:hover,
#sidebar ul.engineering a.active { color:#a33038 }
#sidebar ul.realestateservices a:hover,
#sidebar ul.realestateservices a.active { color:#006544 }

/* photo gallery */
#thumbnails { width:630px; margin:13px auto 0 69px; text-align:center }
.thumbnail { position:relative; float:left; margin:0 13px 13px 0; }
.thumbnail.last { margin-right:0 }
.thumbnail a:hover img { border:4px solid #fff; width:82px; height:77px }
#thumbnails.engineering .thumbnail a:hover img { border-color:#a33038 }
#thumbnails.custombuilding .thumbnail a:hover img { border-color:#00529b }
#thumbnails.realestateservices .thumbnail a:hover img { border-color:#006544 }

/* press */
#press {}
.press { float:left; width:742px; clear:both; margin-bottom:20px }
.press h3 { margin-bottom:4px; font-size:14px }
.press img { float:left; padding:0 8px 5px 0; width:150px }
.press .continue-reading { text-transform:uppercase; font-weight:bold; font-size:11px; display:block; text-align:right }

/* login */
#login-form div { margin-bottom:4px }
#login-form label { display:inline-block; width:80px }
#login-form #username, 
#login-form #password { width:200px }

/* sales listings */
#listings {}
#listings .listing { overflow:hidden; zoom:1; clear:both; padding-bottom:20px; margin:20px 0; border-bottom:1px solid #fff }
#listings .listing h1 { font-size:12px; margin:5px 0; color:#58a1e1 }
#listings .listing td.category { width:95px }
#listings .listing .sold { text-transform:uppercase; margin-left:10px; color:#f14040 }
#listings .listing img { float:right; padding:0 0 5px 10px }


