@charset "utf-8";
html {height: 100%; _overflow: auto;}
* {margin:0;padding:0;}

body {
	font-size: 62.5%;
	font-family: Arial, Helvetica, sans-serif;
	line-height: 150%;
	background: #184378;
	color: #191a1a;
}

/* Text and other defaults */
a {
	color: #fff;
	text-decoration: none;
}

a:visited {
	color: #fff;
}

a:hover {
	text-decoration: underline;
}

a:active {
	color: #CC6600;
}

img, fieldset {
	border: none;
}

.contact fieldset {
	background: #fff;
	overflow: hidden;
	padding: 10px;
}

h1, h2, h3, h4, h5, h6 {
	margin-bottom: .2em;
	font-family: Arial, Helvetica, sans-serif;
}

p {
	margin-bottom: 15px;
	font-size: 1.2em;
}

h1 {
	font-size: 1.6em;
	margin-bottom:15px;
	padding-top: 5px;
}

.index h1 {
	margin-bottom: 5px;
}

#page h1 {
	float: left;
	width: 270px;
}

.services #page h1, .projects #page h1, .map #page h1, .press #page h1, .video #page h1 {
	width: auto;
	float: none;
}

.news #page h1 {
	background: url(/images/news_header.jpg) right top no-repeat;
	height: 55px;
	line-height: 55px;
	width: 100%;
	padding-right: 15px;
	margin-top: -15px;
	margin-bottom: 0;
	float: none;
}

h2 {
	font-size: 1.5em;
}

h3 {
	font-size: 1.4em;
}

h4, h5, h6 {
	font-size: 1.3em;
}

strong {
	color: #bc5b16;
	font-size:1.3em;
}

.personnel #page p {
	clear: left;
}

.commercial #page p strong, .residential #page p strong {
	color: #bc5b16;
}

ul {
	list-style: none;
}

ul.bullets {
	list-style: disc;
}

.inviz {
	position: absolute !important;
	left: -9999px !important;
	top: 0;
	height: 1px;
}

.viz {
	position: relative;
	left: 0;
	top: 0;
}

.red {
	color: #FF0000 !important;
}

.left {
	float: left !important;
}

.right {
	float: right !important;
}

.clear {
	clear: both !important; /*all tagged important so the can be used dynamically*/
}

/* Main layout */
#wrapper {
	margin: 0 auto;
	width: 950px;
	position: relative;
	overflow: hidden;
	_overflow: visible;
	background: url(../images/logo.jpg) top left no-repeat;
}

.index #wrapper {
	background: url(../images/homey.jpg) top left no-repeat;
	min-height: 563px;
	_height: 563px;
	padding-left: 520px;
	padding-top: 12em;
	width: 430px;
	color: #fff;
}

.index #wrapper p, .index #wrapper h1, .index #wrapper h2, .index #wrapper h3, .index #wrapper h4, .index #wrapper h5, .index #wrapper h6 {
	text-align: right;
}

#header {
	
}

#sidebar {
	width: 220px;
	float: left;
	margin-top: 200px;
	*margin-top: 90px;
	color: #fff;
}

.map #sidebar, .contact #sidebar {
	*margin-top: 200px;
}


#sidebar div#slideshow {
	margin-left: 14px;
	height: 330px;
}

#sidebar p {
	margin-left: 25px;
	margin-top: 25px;
}

#page {
	background: url(../images/main_gradient.png) top left repeat-x #fff;
	width: 642px;
	padding: 15px;
	float: right;
	margin-right: 25px;
	_margin-right: 12px;
	margin-top: 11em;
	*margin-top: 14px;
}

#page img {
	clear: right;
	float: right;
	margin: 0;
	max-width: 345px;
	_position: relative;
	_z-index: 10;
}

#page img.left {
	margin-top: 10px;
	margin-right: 10px;
	margin-bottom: 10px;
}

#page img.right {
	margin-top: 10px;
	margin-left: 10px;
	margin-bottom: 10px;
}

.projects #page img {
	clear: left;
	float: left;
	margin: 0 1em 1em 0;
}

#page ul {
	font-size: 1.2em;
	list-style: disc;
}

#page ul li{
	padding-left:1em;
	margin-left:1em;
}
#page p.nm {
	margin-bottom:0;
}

.projects #page p.nm {
	
}

#page p.nmpd {
	float: left;
	width: 150px;
	margin-bottom:0;
	position: relative; /*I love you IE, I'm switching to you full time!*/
}
#page p.nmpt {
	margin-bottom:5px;
	clear: both;
}
.news #page .gray {
	background: #d7d7d7;
	margin:0 -15px -15px -15px;
	padding:15px 15px 15px 15px;
}
.news #page .white {
	background: #fff;
	margin:0 -15px -15px -15px;
	padding:15px 15px 15px 15px;
}
#page a {
	color: #184378;
}
/* Special features */
.announcement {
	width:500px;
	margin-left:50px;
	margin: 2em auto;
}

.announcement strong {
	color:#7bb3fd;
}
.announcement a {
	color:#31c3d2;
	text-decoration:underline;
}

.announcement p {
	margin-bottom: 5px;
	color: #7bb3fd;
	text-align: center !important;
}

.announcement hr {
	margin-bottom: 5px;
}

.announcement p span {
	font-size: .85em;
}

ul.commercial_bullets {
	display: block;
	height: 250px;
	background: url(../images/commercial_list.png) top left no-repeat;
	margin-bottom: 80px;
	margin-top: 30px;
	margin-left: -10px;
}

#sidebar ul:first-child {
	height: 250px;
	margin-bottom: 80px;
}

#sidebar li {
	display: none;
}

ul.commercial_bullets li {
	display: none;
}

/* Navigation rules/structure */
ul#nav, ul.subnav {
	display: block;
	text-transform: uppercase;
	text-align: left;
	position: absolute;
	*position: static;
	width: 697px;
	right: 10px;
	font-family: Arial, Helvetica, sans-serif;
}

ul#nav {
	top: 5em;
	*top: 2.6em;
	height:33px;
	*height: 73px;
	background: url(../images/navbar.jpg) right center no-repeat;
	*margin-top: 40px;
	*float: right; /*ugly ugly ugly code here*/
	*margin-right: 10px;
}

.index ul#nav {
	background: none;
	right: -7px;
	*position: absolute;
	*margin: 0;
	*margin-right: 0px;
	text-align: right;
	padding-top: 25px;
}

ul.subnav {
	top: 8.6em;
	text-transform: capitalize;
	*margin-top: -14px;
	*margin-left: 5em;
	*padding-left: 192px;
}
ul#nav li {
	height:30px;
	*height: 53px;
	line-height: 275%;
	*line-height: 640%;
	*overflow: visible;
}
ul#nav li, ul.subnav li {
	display: inline;
	list-style: none;
	font-size: 1.2em;
	font-weight: bold;
}

.index ul#nav li {
	font-size: 1.3em;
	font-weight: normal;
}

ul#nav a, ul#nav a:visited {
	background: url(../images/active.jpg) -999px no-repeat;
	padding: 7px;
	padding-top: 30px;
	color: #191a1a;
	font-weight: bold;
	font-family: Verdana, Arial, Helvetica, sans-serif;
}

.index ul#nav a, .index ul#nav a:visited {
	font-family: Arial, Helvetica, sans-serif;
	padding-top: 22px;
}

.index ul#nav a, .index ul#nav a:visited {
	color: #cca732;
}

ul#nav a:hover, .index li#home a, .residential li#residential a, .commercial li#commercial a, .services li#services a, .map li#map a, .news li#news a {
	background-position: top center !important;
	text-decoration: none;
}

ul.subnav a, ul.subnav a:visited {
	color: #fff;
	padding: 7px;
}

ul.subnav a:hover {
	color: #cfb57c;
	text-decoration: none;
}

ul#nav li.last, ul.subnav li.last {
	margin-right: 17px;
}

ul.large_list {
	font-size: 2.0em;
	text-transform: uppercase;
	font-weight: bold;
	margin-bottom: 30px;
	line-height: 150%;
	text-align: right;
	color: #dae9fe;
}

#footerlinks {
	background: #184378;
	width: 672px;
	color: #fff;
	padding-top: 20px;
	padding-left: 240px;
	margin: 0 auto;
	clear: both;
	text-align: center;
}

.index #footerlinks {
	margin: 0;
	padding: 0;
	padding-bottom: 10px;
	width: auto;
	margin-top: 0px;
	z-index: 10;
	position: relative;
}

.index #footerlinks * {
	text-align: center !important;
}

#footerlinks a {
	color: #fff;
}
#footerlinks p {
	color: #fff;
	margin-left:15px;
}

img.thumb1 {
	height: 85px;
	width: 85px;
}

p.M {
	clear: left;
}

p.M:first-letter {
	display: inline;
	float: left;
	color: white;
	position: relative;
	font-size: 32px;
	padding-top: 4px;
	*line-height: 30px; /*only affects IE and Safari, but messes up Safari here*/
	font-family: "Lucida Grande", Arial, Verdana, Helvetica, sans-serif;
	font-weight: bold;
}

#page ul.enviro {
	background: #184378;
	color: white;
	width: 267px;
	float: left;
	clear: left;
	padding: 10px;
	margin-bottom: 10px;
	border-right: 10px solid #184378;
}

#page ul.enviro li {
	margin-left:12px;
	padding-left:0px;
}

.contact input, .contact textarea {
	padding: 1px;
	margin: 5px;
}

input.field {
	width: 295px;
	*width: 293px;
}

.contact textarea {
	width: 608px;
	height: 5em;
}

.contact form hr {
	margin-bottom: 8px;
}

.contact input#submit {
	float: right;
	margin-top: 12px;
}

.contact label {
	margin-right: 80px;
}

#thank_you {
	background: white;
	padding: 15px;
}

.bullet_column1 {
	width: 48%;
	float: left;
}

.bullet_column2 {
	width: 48%;
	float: right;
}

#contact_form p {
	clear: both;
}

/*Modal dialouge CSS*/

.modal { /* a class for the body */
	height: 100%;
	overflow: auto !important;

}

.modal #extra_wrap {
	position: absolute;
	height: 100%;
	width: 100%;

}

#overlay {
	background: #999;
	position: fixed;
	_position: absolute;
	left: 0px;
	height: 100%;
	_height: 200%;
	width: 100%;
	opacity: .75;
	filter: alpha(opacity=50) !important;
	z-index: 3000;
}

.popup {
	position: absolute; /*I decided the modal is too big to risk using fixed positioning*/
	z-index: 3010;
	border: 3px solid #35649c;
	border-top-width: 1px;
	overflow: visible;
	background: url(../images/buttons.gif) bottom center no-repeat #35649c;
	_display: none;
}

.popup .inner {
	height: 100%;
	width: 100%;
	position: relative;
}

ul.buttons {
	list-style: none;
	z-index: 10;
}

ul.buttons a {
	position: absolute;
	display: block;
	bottom: 0px;
	height: 31px;
	background: none;
	background: url(../images/active-buttons.gif) -999px no-repeat;
	outline: none;
}

a.play {
	width: 21px;
	height:31px;
	left: 229px;
}

a.pause {
	width: 17px;
	height:31px;
	left: 252px;
}

a.previous {
	width: 28px;
	height:31px;
	left: 199px;
}

a.next {
	width: 30px;
	height:31px;
	left: 271px;
}

a.play:hover, li.active-button .play {
	background-position: -28px 0px;
}

a.pause:hover, li.active-button .pause {
	background-position: -51px 0px;
}

a.previous:hover, li.active-button .previous {
	background-position: 2px 0px;
}

a.next:hover, li.active-button .next {
	background-position: -70px 0px;
}

div.xout {
	background: #35649c;
	overflow: hidden;
	padding-bottom: 1px;
	_height: 2em;
}

div.xout a {
	float: right;
	color: #fff;
	padding-right: 15px;
	text-transform: uppercase;
}

a.xbox {
	display: block;
	height: 21px;
	width: 21px;
	background: url(../images/xout.gif) top left no-repeat;
	padding-right: 0px !important;
}

a.xbox:hover {
	background-position: -21px 0px;
}

a.xbox:active {
	background-position: top right;
}

.popup {
	top: 30px;
	left: 50%;
	width:  500px;
	margin-left: -250px;
	height: 470px;
}

/*#commercial_modal {
	top: 30px;
	left: 50%;
	width:  640px;
	margin-left: -320px;
	height: 575px;
}

#boathouse_modal {
	top: 30px;
	left: 50%;
	width:  640px;
	margin-left: -320px;
	height: 575px;
}

#residential_modal {
	top: 30px;
	left: 50%;
	width:  640px;
	margin-left: -320px;
	height: 575px;
}

#design_modal {
	top: 30px;
	left: 50%;
	width:  640px;
	margin-left: -320px;
	height: 575px;
	overflow: hidden;
}*/

.popup img {
	width: 500px;
	height: 375px;
}

.popup strong {
	display: block;
	font-weight: normal;
	background: transparent;
	color: #fff;
	font-size:1.1em;
	text-align: center;
}

.popup a img {
	margin: 0;
	width: auto;
	height: auto;
}

/*product solutions special classes and ids*/

.solution {
	clear: both;
	overflow: hidden;
	margin-top: 25px;
	margin-bottom: 25px;
}

.solution .right {
	width: 270px;
}

.solution .left {
	width: 340px;
}

.solution .right a {
	float: left;
	margin-right: 25px;
	width: 65px;
	height: 65px;
}

.solution .right a img {
	width: 65px;
	height: 65px;
	display: inline;
}

.section-title {
	clear: both;
	color: #184475;
	font-weight: normal;
}

/*weirdo class*/
#preloadCustom {
	position: absolute;
	margin-top: -9999px;
}





