/* -------------------------------------------------------------- 
  	TABLE OF CONTENTS 
	
	1. Cross-browser Reset
	2. Standard elements defaults - Default styles for standard HTML elements. See /style-guide.html for markup examples.
	3. Style Library - Styles repeated through site but aren't structural elements.
	4. Main Structure - Includes header, main navigation, main wrapper, footer, etc
	5. Main Structure Alternative Styles - Styles for main structure elements that have different styles in different templates
	6. Template Styles - Specific styles for the different templates
	7. Page Specific Styles - If a page has unique styles not found anywhere else on the site they would go here
	
	STYLE SHEET COMMENT DEFINITIONS
	
	CF -- Denotes a style that is used as a clear fix
	PFD (Prevent float drop) -- Denotes a fix for ie6 to prevent layout from breaking with oversized content
	IE -- Denotes a style that has an alternative version in the ie.css style sheet
	IE6 -- Denotes a style that has an alternative version in the ie6.css style sheet
	HL (hasLayout) -- Denotes a hasLayout fix for IE
	DMB (Double margin bug) -- Denotes double margin fix for ie6
-------------------------------------------------------------- */

/* -------------------------------------------------------------- 
  	1. Cross-browser reset 
-------------------------------------------------------------- */

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, code,
del, dfn, em, img, q, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body { line-height: 1.5; }

/* Tables still need 'cellspacing="0"' in the markup. */
table { border-collapse: separate; border-spacing: 0; }
caption, th, td { text-align: left; font-weight: normal; }
table, td, th { vertical-align: middle; }

/* Remove possible quote marks (") from <q>, <blockquote>. */
blockquote:before, blockquote:after, q:before, q:after { content: ""; }
blockquote, q { quotes: "" ""; }

/* Remove annoying border on linked images. */
a img { border: none; }

/* PC FF3 adds an outline to Flash objects? */
a, object { outline: none; }

/* -------------------------------------------------------------- 
  	2. Standard elements defaults 
-------------------------------------------------------------- */

/* Headings
-------------------------------------------------------------- */

h1 { font-size: 1.5em; }
h2, h3 { font-size: 1em; }
h4 { font-size: .9em; }

h1 a, h1 a:link,
h2 a, h2 a:link,
h3 a, h3 a:link,
h4 a, h4 a:link,
h5 a, h5 a:link,
h6 a, h6 a:link { color: blue; }

h1 a:hover,
h2 a:hover,
h3 a:hover,
h4 a:hover,
h5 a:hover,
h6 a:hover { color: blue; }

/* Text Elements
-------------------------------------------------------------- */

body		{ color: #000000; font: 62.5% Tahoma, helvetica, sans-serif; }
p 			{ margin: 0 0 1.25em; line-height: 1.5;}
.summary p 	{ font-style: italic; }

a 			{ text-decoration: underline; }
a,a:link 	{ }
a:visited 	{ }

a:hover,
a:active,
a:focus 	{ }

img			{ }

blockquote  { margin: 1.5em; color: #666666; font-style: italic; }
strong 		{ font-weight: bold; }
em  		{ font-style: italic; }
address 	{ font-style: normal; }
cite 		{ font-style: normal; color: #000000; text-transform: uppercase; }
small 		{ font-size: 0.833em; }

/* Following six styles generally do not need to be edited */

sup, sub    { line-height: 0; }
dfn 		{ font-style: italic; }
del 		{ color:#666; }
pre 		{ white-space: pre; }
pre,code,tt { font: 1em 'andale mono', 'lucida console', monospace; line-height: 1.5; }

/* HRs with background images
-------------------------------------------------------------- */

div.hr 		{ height: 3px; margin: 10px 0; background: #fff url() 0 0 repeat-x; }
div.hr hr 	{ display: none; }

/* Lists
-------------------------------------------------------------- */

li ul, 
li ol       { margin: 1.5em; padding-top: 1.5em; }
ul, ol      { margin: 0 1.5em 1.5em 1.5em; }
ul ol li 	{ background: none; padding-left: 0; }

ol          { list-style-type: decimal; }
li			{ margin-bottom: .5em; line-height: 1.5; }
dl          { margin: 0 0 1.5em 0; }
dl dt       { font-weight: bold; }
dd          { margin-left: 1.5em;}

/* Tables
-------------------------------------------------------------- */

table       	{ margin-bottom: 1.4em; width:100%; border: 1px solid #D9D9D9; border-bottom: none; border-right: none; }
th          	{ background: #e5e5e5 url(../images/design/th-bg.gif) 0 0 repeat-x; font-weight: bold; border-right: 1px solid #D9D9D9; }
th,td,caption 	{ padding: 4px 10px 4px 5px; }
td				{ border-bottom: 1px solid #D9D9D9; border-right: 1px solid #D9D9D9;  }
tr.odd td  		{ background: #FBFBFB; }
tfoot       	{ font-style: italic; }
caption     	{ background: #eee; text-align: center; }

/* Forms
----------------------------------------------------------- */
fieldset 			{ margin-bottom: 1.5em; padding: 1em 0; border-bottom: 1px dashed #617179; }
fieldset.last 		{ border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
legend 				{ font-weight: bold; }
label 				{ font: bold 0.917em arial, sans-serif; float: left; margin-right: 10px; width: 100px; }

.fieldArea 			{ margin-bottom: 0.833em; }
.fieldArea input,
.fieldArea textarea { width: 200px; }
.fieldArea textarea { height: 65px; }

input.protect		{ display: none; }
input.submit 		{ cursor: pointer; border: 1px solid #40535C; background: #62727a url(../images/btn/btn.gif) 0 0 repeat-x; color: #FFFFFF; font: bold 0.917em verdana; padding: 4px 6px; text-transform: uppercase; }
input.submit:hover 	{ background: #778b95 url(../images/btn/btn-hover.gif) 0 0 repeat-x; }

span.message 		{ display: block; font-size: 0.917em; text-align: right; padding-top: 0.5em; }
span.error 			{ color: #DD0000; }
		
div#errors 			{ background: #FFF5E6 url(../images/forms/error.gif) 10px 0.5em no-repeat; border: 1px solid #FFEBCC; font: normal 0.846em arial; margin: 0 0 1.5em 0; padding: 0.5em 10px 0.5em 50px; }
	div#errors h4 	{ color: #DD0000; font-weight: bold; }
	div#errors ul 	{ margin-bottom: 0; }
	div#errors p 	{ margin-bottom: 0; color: #000000; }
	div#errors li 	{ margin-bottom: 0.5em; font-size: 1.084em; color: #000000;  }
	
/* -------------------------------------------------------------- 
	3. Style Library
----------------------------------------------------------- */

.floatLeft 		{ float: left; }
.floatRight 	{ float: right; }
.clearLeft 		{ clear: left; }
.clearRight 	{ clear: right; }
.clear 			{clear: both;}

img.floatLeft 	{ margin: 0 1.5em 0 0; }
img.floatRight 	{ margin: 0 0 1.5em 1.5em; }

.group:after, .project:after 	{ content: "."; display: block; height: 0; clear: both; visibility: hidden; } /* CF, IE, IE6 */

img {border: 4px solid #c6c3bc;}

body.jsEnabled #projectsMapTop,
body.jsEnabled #projectsMap { display: block; }
body.jsEnabled #projectsListing { display: none; }

/* -------------------------------------------------------------- 
	4. Main Structure
----------------------------------------------------------- */
body { margin: 0; background: #eeeeee  0 0 no-repeat;}
	#wrapper { margin: 0; width: 750px; padding: 0; font-size: 1.1em; /* 62.5% + 1.2em = 12px */  border-right: 1px solid #000000;}
	#header {background: url(../images/design/header.jpg) 0 0 no-repeat; height: 187px; position: relative;}
		#logo {background: url(../images/design/logo.jpg) 0 0 no-repeat;  position: absolute; left: 280px; top: 39px; width: 371px; height: 82px;}
			#logo a {text-indent: -999999px; display: block; width: 371px; height: 82px;}
		#mainMenu {background: url(../images/design/nav-bg.gif) 100% 100% repeat-x; height: 22px; list-style: none; margin: 0; position: absolute; bottom: 0; width: 100%; border-bottom: 1px solid #FFFFFF;}
			#mainMenu li { background: url(../images/design/nav-li-side.gif) 0 100% no-repeat;  font-size: .85em;height: 22px; margin:0; padding: 0;  padding: 0 10px; float: left;}
			#mainMenu a {text-decoration: none; display: block; padding: 3px 10px;  font-family: arial; text-transform: uppercase; font-weight: bold;  color: #000000;}
	#content {background: #eeeeee url(../images/design/content-top.gif) 0 0 repeat-x; position: relative; padding-top: 6px;}
		#sideBar {background-color: #eeeeee; float: left; width: 160px; padding: 0 10px;}
			#sideBar img {border: none; padding: 0 10px; margin-top: 3px; }
			#sideBar h2 {background:  url(../images/design/news-bg.gif) 0 0 repeat-x;color: #FFFFFF; font-family: arial; font-size: .9em; margin: 0 -10px 15px -10px; padding: 0 15px 4px 15px; text-transform: uppercase; }
			#sideBar h3 {color: #003663; font-weight: normal; margin-bottom: 10px;}
			#sideBar h4 {color: #003663; font-weight: bold; margin-top: 0px;}
			#sideBar a.readMore {background: url(../images/design/read-more-icon.jpg) 65px 0 no-repeat; color: #003663; text-decoration: none; font-weight: bold; float: right; padding-right: 30px; margin: 2px 10px 10px 15px; } 
			#sideBar a  {color: #003663; } 
			#sideBar .arrow {background: url(../images/design/read-news-icon.jpg) 0 0.5em no-repeat; padding-left: 20px; display: block; height: 1em; float: left; }
			#sideBar ul {margin-left: 5px; }
			#sideBar li{list-style-type: none;}
			#sideBar .date {color: #003663;}
		#mainBody {background-color: #e7e7e7; width: 558px; float: left; border: 1px solid #cccccc; padding: 0 5px;}
			#mainBodyInner {position: relative; margin: 0; }
			#mainBodyInner h2 {background-color: #c1c1c1; padding: 3px 0 3px 10px; margin: 0 -20px 0 -15px;}
	#footer {position: relative; margin: 0px; width: 750px; clear: left;}
		#footer .top {background:#faae18 url(../images/design/footer-bg.jpg) 0 100% repeat-x; position: relative; min-height: 20px; width: 750px;}
			#footer .top img { float: right; border: none; margin: 10px 35px; padding: 0;  }
			#breadCrumbs {padding: 15px;}
		#breadCrumbs p {margin-bottom: .1em;}
				#breadCrumbs ul li {list-style-type: none; margin-bottom: .1em; text-indent: -10px; }
				#breadCrumbs span {color: #0000ff;}
		#footer .bottom {background-color: #005b7f; padding: 5px;  text-align: center; clear: right;}
			#footer .bottom span {color: #ffffff; font-size: .9em;}
			#footer .bottom span a {color: #cccccc; }
	
/* -------------------------------------------------------------- 
	5. Main Structure Alternative Styles
----------------------------------------------------------- */
.project { margin-bottom: 15px;  padding: 0 15px 0 10px; position: relative; }
.project h3 {margin-top: 25px; }
.project p {margin-top: 10px; }
.project img {margin-top: 10px; }
.project a {background: url(../images/design/read-more-icon.jpg) 65px 0 no-repeat; color: #003663; text-decoration: none; font-weight: bold; float: right; padding-right: 30px; margin: 10px 0 15px 0; }
	.project a.contact {margin: 5px; padding-top: 25px; float: none;}
	.project a.services {background: none; display: block; font-weight:normal ; display: block;  text-decoration: underline; margin: 3px 15px;  float: none;}
		.project a.services.first {margin-top: 60px;}
		.project a.services span {text-decoration: none; color: #000000; }
.project ul {margin-top: 1.5em; }
	.project ul.left {margin-left: 190px; }
/* -------------------------------------------------------------- 
	6. Template Styles
----------------------------------------------------------- */

/* One Column Template
----------------------------------------------------------- */

body.single-column #mainBody{border-left: solid 5px #CCCCCC;  width: 734px;}
	body.single-column #mainBodyInner { position: relative; margin: 0 10px;}
	body.single-column #mainBodyInner h2 { padding: 10px 0 5px 15px; margin: 0 -15px 0 -15px; text-transform: uppercase;} 
	body.single-column .pictures {margin: 15px; }
		body.single-column .pictures img { float: left; clear: left; margin: 10px  15px 15px -5px;}
		
/* -------------------------------------------------------------- 
	7. Page Specific Styles
----------------------------------------------------------- */

/* {about-us} 
----------------------------------------------------------- */
.about-us {font-size: 1.2em; margin: 0 20px; padding: 10px; }
	#mainBodyInner .about-us h2 {margin: -10px -35px 0 -35px;}
	.about-us p {margin-top: 10px;}
	.about-us img {margin-top: 10px; }
	.about-us h3 {margin-left: 10px; }
	
/* {construction}
----------------------------------------------------------- */
body.construction #mainBody{background-color: #eeeeee; width: 715px;  padding:15px; text-align: center;}
	body.construction  #mainBodyInner h1 {background-color: #eeeeee; }
	body.construction  #mainBodyInner p {margin: 10px 0;}
	
/* {contact-us}
----------------------------------------------------------- */

.contact {clear:right; margin-bottom: 15px; padding: 10px; }
	#mainBodyInner .contact h2 {margin: -10px -15px 0 -15px;}
.contact p {margin-top: 10px; }
.contact img {margin: 10px 15px; }
.contact a { color: #003663;}
	.contact a:hover { color: #000000;}
.contact  a.map {margin: 30px 15px 0 0; display: block; color: #003663; }
	.contact  a:hover.map { color: #000000;}
.contact address {margin: 15px 0 10px 0; }

/* {specific project pages}
----------------------------------------------------------- */
.company {margin: 10px 15px 0 10px; }
	.company h3 {margin: 25px 15px 0 0; }
	.company p {margin: 10px 15px 0 0; }
	
.information {padding: 65px 0 0 15px ; }

/* {policy pages}
----------------------------------------------------------- */
body.policies body {margin: 0; background-color: #eeeeee; color: #000000; font-face: arial;}
	body.policies #wrapper { margin: 0; border: none; width: 100%;}
		body.policies #header { display: none;}
		body.policies #content { background: none; margin: 0; padding: 20px;  width: 90%; }
			body.policies #mainBody { border: none; background: none; width: 100%;  font-size: 1.4em;}
				body.policies #mainBodyInner h1 { font-size: 2em; margin-bottom: 20px;}
				body.policies #mainBodyInner h2 {background: none; font-size: 1.2em; margin-bottom: 20px;}
				body.policies #mainBodyInner h3 {background: none; font-size: 1em; margin-bottom: 20px;}
				body.policies #mainBodyInner a {color: #005b7f;}
				/*
				body.policies #mainBodyInner ol, ul {padding-left: 15px;}
					*/
					body.policies #mainBodyInner li{margin-bottom: 0;}
		body.policies #footer {display: none;}
		
/* {news item}
----------------------------------------------------------- */		
#mainBodyInner #newsEvents {}
	#mainBodyInner #newsEvents h2 { padding: 10px 0 5px 15px; margin: 0 -15px 10px -15px; text-transform: uppercase;}
	#mainBodyInner #newsEvents .datePosted		{margin-top: 10px; padding-bottom: 10px;  color: #003663; font-weight: bold;}
	#mainBodyInner #newsEvents p {margin-top: 10px; }
	#newsEvents a {color: #003663; text-decoration: none;}
	#newsEvents a.more {display: block; background: url(../images/design/read-more-icon.jpg) 65px 0 no-repeat; color: #003663; text-decoration: none; font-weight: bold; padding-right: 30px; padding-bottom: 15px; border-bottom: 1px dashed #005b7f; margin-bottom: 15px; }
	
/* {interactive project map}
----------------------------------------------------------- */
body.project-map #mainBody, 
body.project-map #mainBodyInner { padding: 0; margin: 0; border: 0; width: 750px; }
	body.project-map #mainBodyInner h2 { margin: 0 0 1em 0; padding: 0.5em 0; }
#projectsMapTop { display: none; background: #FFFFFF; font-family: verdana,sans-serif; float: left; width: 670px; padding: 1.5em 40px; }
	#projectsMapTop h1 { color: #006DA6; float: left; width: 165px; font-weight: bold; }
	#projectsMapTop p { float: left; width: 475px; margin-bottom: 0; } 
#projectsMap { display: none; width: 710px; height: 386px; clear: left; padding: 2em 0 2em 40px; background: #EEEEEE url(../images/design/map-bg.gif) 0 0 repeat-x; }
#projectsListing { background: #FFFFFF; clear: left; }
	.stateListing { padding: 0.75em 20px 0.75em 120px; margin-bottom: 1em; background: #ffffff; }
		#projectsListing .stateListing h2,
		#lightbox .stateListing h2 { background: 0; color: #006DA6; font: bold 1em verdana, sans-serif; border-bottom: 1px solid #DBDDDE; padding: 0.5em 0;  } 
		.stateListing img { border: 0; float: left; margin-left: -100px; display: inline; /* ie6 */ }
		.stateListing ul { list-style: none; float: left; margin: 0; background: #FFFFFF; }
			.stateListing li { line-height: 15px; margin-bottom: 5px; padding-left: 10px; background: url(../images/map/blue-bullet.gif) 0 5px no-repeat; }
			.stateListing .even { margin-left: 280px; margin-top: -20px; }
	#lightbox { display: none; height: 400px; width: 670px; background: #ffffff; font-size: 1.2em; padding: 10px 20px; }
		#lightbox .stateListing { padding: 0 0 0 100px; border-bottom: 1px solid #DBDDDE; margin-bottom: 0; }
			#lightbox .stateListing ul { overflow: auto; height: 360px; width: 570px; background: #ffffff; padding: 0.5em 0; }
				#lightbox .stateListing ul li { font-size: 0.833em; }
