/*************************************** RESET ******************/
/*********** RESET */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption {margin:0; padding:0; border:0; outline:0; font-weight:inherit; font-style:inherit; font-family:inherit;}

/*********** REBUILD */
body {font-family:Georgia, "Times New Roman", Times, serif; font-size:12px; line-height:1.5; color:#000;}

a {text-decoration:none; color:#99AF86; font-style:italic;}
a:hover {text-decoration:none; color:#627273;}

p {margin:0 0 1.5em;}

ul, ol {margin:0 0 1.5em 2em;}
ul {list-style-type:disc;}
ol {list-style-type:decimal;}
li ul, li ol {margin:0 0 0 2em;}
	.list_reset {margin:0; list-style-type:none; display:block;}

dl {margin:0 0 1.5em 0;}
dl dt {}
dd {}

address {margin:0 0 1.5em; font-style:normal;}

blockquote {padding-left:40px; padding-top:.5em; padding-bottom:.5em; margin:0 0 1.5em; background:url(../images/bgd/bg_blockquote-top.gif) 0 0 no-repeat #e3e2dd;}
	blockquote p {padding-right:40px;}
	blockquote p.blockquote_endbgd {background:url(../images/bgd/bg_blockquote-bot.gif) right bottom no-repeat; padding-bottom:1em;}
blockquote:before, blockquote:after, q:before, q:after {content:"";}
blockquote, q {quotes:"" "";}
blockquote cite {margin:.5em 0 0; display:block;}

code {font:1.1em 'Courier New', Courier, Fixed;}

del {color:#666;}
pre {margin:1.5em 0;white-space:pre;}
pre, code, tt {font:1em 'andale mono', 'lucida console', monospace;line-height:1.67;}

tbody, tfoot, thead, tr, th, td {outline:0; font-weight:inherit; font-style:inherit; font-family:inherit;}
table {border-collapse:separate; border-spacing:0;}
caption, th, td {font-weight:normal;}
tr th {text-align:left; line-height:1.2;}
tfoot {}

strong {font-weight:bold;}
em, dfn {font-style:italic;}
dfn {font-weight:bold;}

sup, sub {line-height:0;}

abbr, acronym {border-bottom:1px dotted #666;}
acronym, abbr, span.caps {font-size:0.9em; letter-spacing:.07em;}
	acronym, abbr {border-bottom:1px dashed #999; cursor:help;}

h1, h2, h3, h4, h5, h6 {font-size:100%; line-height:1; font-weight:normal; font-style:normal; margin:0;}
h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {margin:0; display:block;}


/*********** DEFAULT CUSTOM CLASSES */
.img_left {display:block; float:left; margin-right:1.5em; margin-top:.2em; margin-bottom:0.5em;}
.img_right {display:block; float:right; margin-left:1.5em; margin-top:.2em; margin-bottom:0.5em;}

.text_spaced {letter-spacing:5px;}
.nav_spaced {letter-spacing:5px; text-transform:uppercase;}
	.nav_spaced.small, .nav_spaced.smaller, .nav_spaced.smallest {letter-spacing:2px;}

.clear, .clearfix {clear:both;}
.clearfix:after {content:"."; display:block; height:0; visibility:hidden;}

.hide {position:absolute; top:0; left:-9000px;}
.hidden {display:none;}

.align_left {float:left; display:inline;}
.align_right {float:right; display:inline;}
.align_center {display:block; margin:0 auto;}

.nolist {list-style-type:none;}
.list_reset, .list_reset li {list-style-type:none; margin:0; padding:0;}
.list_block {list-style-type:none; display:block;}
	.list_block li {display:block; float:left;}


/*********** OVERRIDE CLASSES */
.serif {font-family:Georgia, Times, serif;}
.sans-serif { font-family:Arial, sans-serif; font-size:.9em;}

.noital {font-style:normal !important;}

.text_left {text-align:left !important;}
.text_right {text-align:right !important;}
.text_center {text-align:center !important;}

.nomarg {margin:0 !important;}
.nomarg_bottom {margin-bottom:0 !important;}
.nomarg_top {margin-top:0 !important;}
.nomarg_left {margin-left:0 !important;}
.nomarg_right {margin-right:0 !important;}

.nopad {padding:0 !important;}
.nopad_bottom {padding-bottom:0 !important;}
.nopad_top {padding-top:0 !important;}
.nopad_left {padding-left:0 !important;}
.nopad_right {padding-right:0 !important;}

.float_left {float:left !important;}
.float_right {float:right !important;}
.clear_right {clear:right !important;}
.clear_left {clear:left !important;}

.display_inline {display:inline;}
.display_inline-block {display:inline-block;}
.display_block {display:block;}

.pos_relative {position:relative !important;}
.pos_fixed {position:fixed !important;}
.pos_absolute {position:absolute !important;}


/*************************************** LAYOUT ******************/
body {background:#48505F;}

#wrapper {
	margin:0 auto; width:1000px; padding:5px 0 0; overflow:auto;
	background:#48505F;
	}

#header {
	background:#fff; position:relative;}
	#header h1 {float:left;}
	#header img {display:block;}
	
	#subheader {
		width:705px; position:absolute; bottom:10px; left:0; max-height:120px;
		background:url(../images/bgd/dots.gif) repeat-y center top #fff;
		}
		#subheader .featurestory img {
			float:left; margin-bottom:5px; margin-right:10px;
			}
		#subheader .featurestory, #subheader #userlogin {width:315px;}
		#subheader #userlogin {
			float:right; padding:0 15px;
			}
		#userlogin fieldset {
			width:285px;
			float:left;
			}
		#userlogin input#login, #content form#directions input.btn_submit {
				display:block; width:24px; height:24px; overflow:hidden; padding:0; margin:0; border:none;
				background:url(../images/bgd/btn.submit.dir.gif) no-repeat 0 0 #e4eadf;
				font-size:1px; text-align:left; color:#fff; text-indent: -9999em;
				}
			#userlogin input#login:hover, #content form#directions input.btn_submit:hover {
				background-position:0 -24px;
				color:#fff;
				}
		#userlogin input#login {
			margin:15px 0 0; float:right;
			background-position:right top;
			}
		#userlogin input#login:hover {
			background-position:right -24px;
			}
		#userlogin label {
			font-size:83%; line-height:1.8;
			}
		#userlogin input {
			width:132px; border:1px solid #ccc; outline:none; padding:2px;
			}
		#userlogin input.error {border:1px solid #933;}
		#userlogin label.error {display:none !important;}
		#userlogin fieldset div {
			display:block;
			width:138px;
			}
		#userlogin #lbl_login, #userlogin #lbl_pass {padding:0 3px;}
		#userlogin #user  {float:left;}
		#userlogin #creds {float:right;}
		#userlogin ul {
			margin:5px 0 0; float:left; width:100%; clear:both;
			list-style-type:none; font-size:83%; line-height:1;
			}
		#userlogin ul li {
			margin-right:8px; padding-right:8px; float:left; border-right:1px solid #99AF86;
			}
		#userlogin ul li.last {
			border:none; margin-right:0; padding-right:0;
			}
	
	#primary_nav, #primary_nav ul {
		list-style-type:none; margin:0;
		display:block; overflow:hidden;
		}
		#primary_nav {
			width:295px; height:289px; top:0; right:0; position:absolute; z-index:990;
			background:url(../images/bgd/bg.nav.p.gif) no-repeat 0 -849px;
			}
		#primary_nav ul {
			height:253px; padding:15px 20px;
			background:url(../images/bgd/bg.nav.p.gif) no-repeat right -566px;
			}
		#primary_nav li {margin-bottom:0 !important; width:152px;}
		#primary_nav ul {width:115px;}
		#primary_nav li li {margin-bottom:10px !important; width:115px;}
		#primary_nav li a {text-indent:-999em; z-index:9999;}
		#primary_nav li li a {
			z-index:999;
			text-indent:0; font-style:normal; line-height:1; font-size:.96em;
			font-family:Arial, Helvetica, sans-serif;
			}
		#primary_nav li li a, #primary_nav li li a:visited {color:#fff;}
		#primary_nav li li a:hover, #primary_nav li li a:visited:hover {color:#e1e7ef;}
		#primary_nav #pn_about a, #primary_nav #pn_services a, #primary_nav #pn_knowledge a, #primary_nav #pn_contact a {
			display:block; width:100%;
			background-image:url(../images/bgd/bg.nav.p.gif); background-repeat:no-repeat; background-color:transparent;}
			#primary_nav #pn_about a {height:28px; margin-bottom:8px; margin-top:40px; background-position:0 -40px;}
			#primary_nav #pn_services a {height:36px; margin-bottom:16px; background-position:0 -76px;}
			#primary_nav #pn_knowledge a {height:36px; margin-bottom:15px; background-position:0 -128px;}
			#primary_nav #pn_contact a {height:28px; background-position:0 -179px;}
			#primary_nav #pn_about.sfHover a, #primary_nav #pn_about a:hover {background-position:0 -323px;}
			#primary_nav #pn_services.sfHover a, #primary_nav #pn_services a:hover {background-position:0 -359px;}
			#primary_nav #pn_knowledge.sfHover a, #primary_nav #pn_knowledge a:hover {background-position:0 -411px;}
			#primary_nav #pn_contact.sfHover a, #primary_nav #pn_contact a:hover {background-position:0 -462px;}
			#primary_nav #pn_about li a, #primary_nav #pn_services li a, #primary_nav #pn_knowledge li a, #primary_nav #pn_contact li a {
				height:auto; margin:0;
				background-image:none;
				}
			.sf-vertical li.sfHover#pn_about ul {top:0;}
				.sf-vertical li.sfHover#pn_about ul li.first {margin-top:0;}
			.sf-vertical li.sfHover#pn_services ul {top:-76px;}
				.sf-vertical li.sfHover#pn_services ul li.first {margin-top:0;}
			.sf-vertical li.sfHover#pn_knowledge ul {top:-128px;}
				.sf-vertical li.sfHover#pn_knowledge ul li.first {margin-top:115px;}
			.sf-vertical li.sfHover#pn_contact ul {top:-179px;}
				.sf-vertical li.sfHover#pn_contact ul li.first {margin-top:137px;}
			.sf-vertical li.sfHover#pn_about ul, .sf-vertical li.sfHover#pn_services ul, .sf-vertical li.sfHover#pn_knowledge ul, .sf-vertical li.sfHover#pn_contact ul {
				left:140px;
				}
	
	#secondary_nav {
		display:block; width:185px; max-height:210px; overflow:hidden; margin:0;
		list-style-type:none;
		font-size:92%; line-height:1.2;
		}
		#secondary_nav li {text-align:right; margin-bottom:10px;}

#contentX {
	position:relative; width:100%; float:left; clear:both;
	background:#ffffff;
	}
	#contentX h1, #contentX h2, #contentX h3, #contentX h4, #contentX h5, #contentX h6 {margin-bottom:10px;}

#content {
	position:relative; width:100%; float:left; clear:both;
	background:#ffffff;
	}
	#content h1, #content h2, #content h3, #content h4, #content h5, #content h6 {margin-bottom:10px;}

#callout {
	border-style:solid; border-color:#fff; border-width:10px 0; width:1000px; float:left; clear:both;
	background:url(../images/bgd/dots.wide.gif) repeat-y 0 0 #fff;
	}
	#callout .featurestory {
		width:276px; padding:15px 25px; margin-right:11px;
		}
	#callout .featurestory.last {
		margin-right:0; width:275px;
		}

#footer {
	width:988px; float:left; clear:both; padding:5px 6px 0;
	font-size:92%; background:#48505F; color:#9D9FA1;
	}
	#footer p {
		width:100%; clear:both;
		}
	#footer div {
		float:right; width:20%;
		text-align:right;
		}
	#footer ul, #footer address {
		float:left; width:79%;
		}
	#footer address {color:#99AF86;}
	#footer ul {
		list-style-type:none; margin:0;
		font-family:Arial, Helvetica, sans-serif; text-transform:uppercase;
		}
	#footer li {
		display:block; float:left; margin-right:7px; padding-right:14px;
		background:url(../images/bgd/bullet.gif) no-repeat right center;
		}
		#footer li.last {background:none; margin-right:0; padding-right:0;}
		#footer a, #footer a:visited {
			color:#9D9FA1; font-style:normal;
			}
		#footer a:hover, #footer a:visited:hover {color:#bbb;}
		
#bloginvite {
	background:url(../images/bgd/bg.blog.gif) repeat;
	padding:55px 25px 25px;
	}
	#bloginvite a, #bloginvite a:visited {color:#fff;}
	#bloginvite a:hover, #bloginvite a:visited:hover {color:#ddd;}

/***** Shared */
.featurestory {
	float:left; padding:0 15px;
	}
	.featurestory p {margin-bottom:0;}
#callout .featurestory h2, #sidebar h4 {
	margin-bottom:5px;
	}
#content h2, #content h3 {
	font-family:Georgia, "Times New Roman", Times, serif; font-style:italic;
	}
	#content h2.append_bottom, #content h3 {
		margin-bottom:25px;
		}
#content h2, #content h3, #content .byline {
	color:#11417F; font-size:108%;
	}
#content a {
	font-style:normal;
	}
img.sectionphrase {
	display:block; margin-bottom:5px;
	}
.teammember {
	width:100%; float:left; clear:both;
	}
	.teammember img {
		float:left; margin-right:20px; width:85px !important; height:auto !important;
		}
	.teammember dl {
		display:block; float:left; width:485px;
		}
	.teammember dt {color:#11417F;}
		.teammember dt .name {text-transform:uppercase;}
		.teammember dt .name a {text-decoration:none; color:#11417F;text-transform:uppercase;}
		.teammember dt .name a:hover {text-decoration:none; color:#627273;}
	.teammember dd {margin:0 0 1.5em;}
.clientlist {
	margin:0 0 1.5em; width:100%; clear:both; float:left;
	font-size:.83em; font-style:italic;
	list-style-type:none;
	}
	.clientlist li {
		float:left; width:30%; margin-right:3%; margin-bottom:.5em;
		}
.navigation {
	margin:0 0 1.5em;
	list-style-type:none;
	}
	.navigation li {margin-bottom:.5em;}
	#content .navigation a {font-style:italic;}

#content form {
	width:570px; float:left; clear:both; padding:37px 0 15px;
	background:url(../images/bgd/bg.form.gif) no-repeat 0 0 #dde6ea;
	}
	#content form p {margin:1em 2em; color:#49505F;}
	#content form#directions {padding-bottom:0;}
	#content form ul {
		margin:0; width:100%; display:block; float:left; clear:both;
		list-style-type:none;
		}
	#content form ul li {
		margin:0; padding:6px 10px 6px 6px; width:554px; float:left; clear:both;
		list-style-type:none;
		}
	#content form label {
		width:104px; padding-right:6px; float:left;
		text-align:right;
		}
		#content form input.error {
			border:1px solid #933;
			}
		#content form label.error {
			clear:both; width:554px; padding-right:0;
			color:#933; font-size:.83em;
			}
	#content form input, #content form textarea {
		border:1px solid #fff; outline:none; padding:3px; width:434px; float:right; clear:none;
		}
	#content form textarea {height:100px;}
		#content form ul li.col2 div, #content form ul li.col3 div, #content form ul li.col4 div {float:left;}
		#content form ul li.col3 div {width:100px;}
			#content form ul li.col3 label {width:38px;}
			#content form ul li.col3 input {width:48px;}
			#content form ul li.col3 div label.error {width:100px;}
		#content form ul li.col3 div.first {width:277px;}
			#content form ul li.col3 div.first label {width:104px;}
			#content form ul li.col3 div.first input {width:157px;}
			#content form ul li.col3 div.first label.error {width:277px;}
		#content form ul li.col3 div.last {width:174px; float:right;}
			#content form ul li.col3 div.last label {width:28px;}
			#content form ul li.col3 div.last input {width:132px;}
			#content form ul li.col3 div.last label.error {width:174px;}
		#content form ul li.col2 div {width:277px;}
			#content form ul li.col2 div.last label {width:106px;}
			#content form ul li.col2 input {width:157px;}
			#content form ul li.col2 div label.error {width:277px;}
		#content form ul li.col4 div.first {width:260px;}
			#content form ul li.col4 div.first label {width:104px;}
			#content form ul li.col4 div.first input {width:140px;}
			#content form ul li.col4 div.first label.error {width:260px;}
		#content form ul li.col4 div.second {width:106px;}
			#content form ul li.col4 div.second label {width:44px;}
			#content form ul li.col4 div.second input {width:48px;}
			#content form ul li.col4 div.second label.error {width:106px;}
		#content form ul li.col4 div.third {width:154px;}
			#content form ul li.col4 div.third label {width:60px;}
			#content form ul li.col4 div.third input {width:80px;}
			#content form ul li.col4 div.third label.error {width:154px;}
		#content form ul li.col4 div.last {width:24px; float:right;}
	#content form input.btn_submit {
		display:block; width:98px; height:33px; padding:0; margin:8px 8px 0; border:none;
		background:url(../images/bgd/btn.submit.gif) no-repeat 0 0 #dde6ea;
		font-size:1px; text-align:left; color:#48505F;
		}
	#content form input.btn_submit:hover {
		cursor:pointer;
		background-position:0 -33px;
		}

li.alt {background:#E4EADF;}
tr.alt th, tr.alt td {background:#EBECEC;}
tr.open th, tr.open td {background:#DDE6EA;}

table .residential {color:#577C9A;}
table .retail {color:#A39B6E;}
table .office {color:#88A174;}
table .hotel {color:#627273;}
table .mixed {color:#C6C265;}
table#comparisonchart th h3 {
	margin:0 0 .5em;
	font-style:normal; color:#000;
	}
	table#comparisonchart td span {
		display:block; width:14px; height:14px; overflow:hidden; margin:0 auto;
		text-indent:-999em;
		background-image:url(../images/bgd/bg.dots.gif); background-repeat:no-repeat;
		}
		table#comparisonchart .residential span {background-position:0 -28px;}
		table#comparisonchart .alt .residential span {background-position:0 -14px;}
		table#comparisonchart .open .residential span {background-position:0 0;}
		table#comparisonchart .retail span {background-position:-14px -28px;}
		table#comparisonchart .alt .retail span {background-position:-14px -14px;}
		table#comparisonchart .open .retail span {background-position:-14px 0;}
		table#comparisonchart .office span {background-position:-28px -28px;}
		table#comparisonchart .alt .office span {background-position:-28px -14px;}
		table#comparisonchart .open .office span {background-position:-28px 0;}
		table#comparisonchart .hotel span {background-position:-42px -28px;}
		table#comparisonchart .alt .hotel span {background-position:-42px -14px;}
		table#comparisonchart .open .hotel span {background-position:-42px 0;}
		table#comparisonchart .mixed span {background-position:-56px -28px;}
		table#comparisonchart .alt .mixed span {background-position:-56px -14px;}
		table#comparisonchart .open .mixed span {background-position:-56px 0;}
table#comparisonchart th a {
	padding-right:12px;
	background-image:url(../images/bgd/bg.arrows.gif); background-repeat:no-repeat;
	}
table#comparisonchart th a {background-position:right 0;}
table#comparisonchart .alt th a {background-position:right -20px;}
table#comparisonchart .open th a, table#comparisonchart tr.open th a:hover {background-position:right -40px;}
table#comparisonchart th a:hover {background-position:right -60px;}
	table#comparisonchart tr.open th a:hover {color:#99AF86;}
table#comparisonchart .alt th a:hover {background-position:right -80px;}
table#comparisonchart .open th a:hover, table#comparisonchart .open th a:hover {background-position:right -100px;}

/*table#comparisonchart tr.description {display:none;}
table#comparisonchart tr.description.open {display:table-row;}*/

.subscribe {
	width:100%; float:left; clear:both;
	}
	.subscribe p {
		width:400px; float:left; clear:none; margin-right:16px;
		}
	.subscribe img {
		display:block; float:left;
		}
.company_name {text-transform:uppercase;}

#content table {margin:0 0 1.5em;}
#content th, #content td {padding:6px;}
#content thead tr th {font-family:Verdana, Arial, Helvetica, sans-serif; letter-spacing:-.05em; text-align:center;}
#content tr th {width:129px; font-size:.92em; text-align:left;}
#content table, #content th, #content td {border-style:solid; border-color:#48505f;}
	#content table {border-width:1px 0 0 1px;}
	#content thead {border-width:1px;}
	#content th, #content td {width:79px; border-width:0 1px 1px 0;}

/***** Template - Specific */
body#homepage #header {
	height:255px; overflow:visible;
	}
	body#homepage #wrapper {position: relative;}
	body#homepage #header h1 {padding:15px;}
	body#homepage #secondary_nav {
		position:absolute; top:40px; right:310px; z-index:9999;
		}
	body#homepage #primary_nav {top:5px;}
	
body#subpage #wrapper {
	position:relative; padding:0; margin:5px auto 34px;
	background:#fff;
	}
body#subpage #header {
	width:660px; float:left; clear:none; padding:15px 15px 15px 30px;
	}
body#subpage #content {
	width:590px; padding:15px 85px 0 30px; padding-bottom:1.5em; float:left; clear:none;
	}
	body#subpage #secondary_nav {
		float:right; padding-top:25px;
		}
#sidebar {
	width:295px; float:right; clear:right; padding-top:253px; padding-bottom:1.5em;
	}
	#sidebar ul {margin:0; list-style-type:none;}
	#sidebar li {margin-bottom:10px;}