/* CSS Document */

body {
	text-align: center;
	margin: 0;
	font-family: Helvetica, Arial, sans-serif;
	color: #333;
	font-size: 13px;
	background: url(../img/common/top-bg.jpg) top left repeat-x;
	}
	
img, div { 
	behavior: url(/iepngfix.htc) 
	}
	
input, select {
	font-family: Arial, Helvetica, sans-serif;
	}
	
.cleaner {
	height:1px;
	margin-top:-1px;
	clear:both;
	}
	
.centered, p.centered {
	text-align: center;
	}
	

#wrap-01 {
	width: 900px;
	margin: 0 auto;
	padding: 0;
	overflow: visible;
	font-family: Helvetica, Arial, sans-serif;
	}

#headerwrap {
	width: 900px;
	float: left;
	clear: both;
	height: 156px;
	background: url(../img/common/top-banner1.jpg) top left no-repeat;
	}

#headerwrap .mapcologo {
	float: left;
	position: relative;
	padding: 6px 0 0 0;
	margin: 0;
	}
	
#headerwrap	.top-login {
	float: right; 
	height: 130px;
	width: 100px;
	margin: 14px 30px 0 0;
	color: #FFF;
	font-size: 12px;
	text-align: center;
	}
	
* html #headerwrap .top-login {
	float: right; 
	height: 130px;
	width: 100px;
	margin: 14px 8px 0 0;
	color: #FFF;
	font-size: 12px;
	text-align: center;
	}

#headerwrap	.top-login .logintext {
	margin: 4px 0;
	width: 105px;
	float: left;
	text-align: center;
	}

#headerwrap	.top-login input {	
	width: 100px;
	font-size: 12px;
	padding: 2px;
	margin: 0 8px 10px 0;
	text-align: center;
	color: #666666;
	border: 1px solid #99CCFF;
	float: left;
	}
	
#headerwrap	.top-login input.loginbutton {
		border: none;
		width: 60px;
		margin: 0 0 0 26px;
}
	
#headerwrap	.top-login a:link, #headerwrap	.top-login a:visited {
	color: #FFF;
	text-decoration: none;
	}
	
#headerwrap	.top-login a:hover {
	color: #99CCFF;
	text-decoration: none;
	border-bottom: 1px dotted #999;
	}
	
#headerwrap	.top-login .logintext img {
	margin: -1px 0 0 4px;
	}
	
#headerwrap	.top-login .loggedintext {
	line-height: 20px;
	}
	
#headerwrap	.top-login .loggedintext .loggedinlinks {
	margin-top: 10px;
	border-top: 1px solid #69C;
	padding-top: 10px;
}
	
		
#topnavwrap {
	width: 900px;
	float: left;
	clear: both;
	height: 35px;
	margin-bottom: 30px;
	}

#topnavwrap .topnav {
	float: left;
	font-family: Helvetica, Arial, sans-serif;
	}

/* CONTENT */

#maincontentwrap {
	width:900px; 
	background: url(../img/common/white-box-bottom.gif) 4px bottom no-repeat; 
	margin: 0 auto 20px auto; 
	padding: 0;
	clear: both;
}

#contentLwrap {
	width: 640px; margin: 0; padding: 0; float: left;
}
	
#contentRwrap {
	width: 260px; margin: 0; padding: 0; float: left;
}
	
.whiteboxtop {
	background: url(../img/common/white-box-top.gif) 4px top no-repeat; height: 19px;
}
	
.greenboxbottom {
	background: url(../img/common/green-box-bottom.jpg) top right no-repeat; height: 19px; margin: 0;
}

.sidebarcontentwrap {
	background: url(../img/common/green-box-top.jpg) top right no-repeat; margin: 0;
}
	
	
.maincontent {
	width: 560px; margin: 0 30px 20px 38px;
}

* html .maincontent {
	width: 560px; margin: 0 34px 20px 26px;
}


.sidecontent {
	width: 204px; margin: 0 10px 0 30px;  padding: 20px 0 0 0 ;
}

* html .sidecontent {
	width: 204px; margin: 0 18px 0 22px;  padding: 20px 0 0 0 ;
}




.sidecontent .div {
	background: url(../img/common/sidebar-div.png) top center no-repeat; height: 1px; margin: 20px 0;
}

.morelink {
	text-align: right;
}

.small {
	font-size: 90%;
	}
	
.small-link {
	font-size: 90%;
	}
	
.small-link {
	text-align: right;
	margin-top: 30px;
	margin-bottom: 0px
	}

/* MAIN CONTENT STYLE */

.maincontent {
	text-align: left;
}

.maincontent h1 {
	font-size: 30px;
	margin: 6px 0 0 0;
	padding: 0 0 16px 0;
	line-height: 120%;
	font-weight: normal;
	color: #004F00;
	background: url(../img/common/header-bg.jpg) bottom left no-repeat;
	}
	
.maincontent h2 {
	font-size: 19px;
	line-height: 128%;
	margin: 30px 0 14px 0;
	padding: 5px 0 2px 10px;
	color: #5383B9;
	background: url(../img/common/line-bg1.gif) repeat;
	clear: both;
	}
	
.maincontent h2.notification {
	font-size: 19px;
	line-height: 128%;
	margin: 30px 0 14px 0;
	padding: 5px 0 2px 10px;
	color: #930;
	background: none;
	clear: both;
	}

.maincontent h3 {
	font-size: 16px;
	line-height: 128%;
	margin: 30px 0 0 0;
	}
	
.maincontent h4 {
	font-size: 16px;
	font-weight: normal;
	line-height: 160%;
	margin: 20px 10px 0 10px;
	color: #927737;
	}
	
.maincontent h4 a {
	color: #898059;
	}
	
.maincontent p {
	line-height: 150%;
	text-align: left;
	letter-spacing: 1px;
	margin-left: 10px;
	margin-right: 10px;
	} 
	
	
.maincontent a:link, .maincontent a:visited {
	color: #333;
	text-decoration: underline;
	}

.maincontent a:hover {
	color: #5383B9;
	}
	
.maincontent .searchlogin {
	font-size:11px; font-weight:bold; color:#555; width:90%; margin:20px 10px 20px 30px; padding: 20px 0; line-height:16px; vertical-align:middle; background:url(../img/common/cmxform-fieldset.gif) left bottom repeat-x; }

.maincontent .searchlogin input.searchloginboxes {
	width:100px; height:13px; border:1px solid #666; margin:0 4px 0 0; padding:2px; }
	
.maincontent .searchlogin input.searchloginbutton {
	width:60px; height:16px; border:none; margin:0 4px -4px 0; }
	


	
.maincontent .signature {
	float: right;
	width: 295px;
	margin-top: 20px;
	}
	
.maincontent .signature img {
	margin-bottom: 8px;
	padding-bottom: 2px;
	border-bottom: 1px solid #999;
}
	
.maincontent .awards {
	padding: 20px;
	clear: both;
	}
	
.maincontent .awardsimg {
	float: left;
	margin: 0 12px 30px 10px;
	padding: 5px;
	height: 130px;
	width: 130px;
	background: url(../img/awards/awards-bg.jpg) top left no-repeat;
	}

.maincontent .awardstext {
	float: right;
	width: 320px;
	padding: 18px 0 0 0;
	margin: 0 30px 0 0;
	}


/* PROJECT DETAILS */

.maincontent h1.cont_numb {
	font-size: 22px;
	margin: 6px 0 0 0;
	padding: 0;
	line-height: 120%;
	font-weight: bold;
	color: #004F00;
	background: none;
	}
	
.maincontent h1.small {
	font-size: 14px;
	text-align: right;
	color: #888;
	}
	
.maincontent h2.task_numb {
	font-size: 19px;
	margin: 12px 0 0 0;
	padding: 0;
	line-height: 120%;
	font-weight: bold;
	color: #004F00;
	background: none;
	}
	
.maincontent h3.subheader {
	font-size: 19px;
	margin: 0 0 20px 0;
	padding: 0 0 20px 0;
	line-height: 120%;
	font-weight: bold;
	color: #555;
	background: url(../img/common/header-bg.jpg) bottom left no-repeat;
	}
	

/* INSERT COPIES */


.maincontent .corevalue01 {
	float: left;
	width: 160px;
	font-weight: bold;
	color: #666666;
	padding-right: 20px;
	margin-left: 20px;
	text-align: right;
	}

.maincontent .corevalue02 {
	float: left;
	width: 280px;
	margin: 0 0 10px 0;
	padding: 0 0 10px 0;
	border-bottom: #CCC 1px solid;
	}
	
.maincontent .markets01 {
	float: left;
	width: 170px;
	font-weight: bold;
	color: #006633;
	padding-right: 10px;
	margin-left: 10px;
	text-align: right;
	}

.maincontent .markets02 {
	float: left;
	width: 360px;
	margin: 0 0 20px 0;
	padding: 0 0 20px 0;
	}

.maincontent .markets02 ul {
	margin-top: 0px;
	}

.maincontent .markets02 ul li {
	margin: 0 0 10px -20px;
	list-style: none;
	list-style-position: outside;
	line-height: 120%;
	}
	

.maincontent .pull_quote {
	display: block;
	float: right;
	border-bottom: #999999 1px solid;
	border-top: #999 1px solid;
	width: 200px;
	text-align: center;
	font-size: 16px;
	font-family: Georgia, "Times New Roman", Times, serif;
	font-style: italic;
	color: #7B7B5C;
	line-height: 150%;
	padding: 14px;
	margin: 4px 14px 4px 14px;
	}

.maincontent ul.cert-list {
	}

.maincontent ul.cert-list li {
	margin-bottom: 18px;
	}

	
	
/* TABLE STYLES */

.maincontent table.datasheet, .maincontent table.clientsheet {
	width: 96%;
	margin-left: 10px;
	}
	
.maincontent table.projecttable {
	border-top: 2px #CCC solid;
	border-bottom: 2px #CCC solid;
	}
	
.maincontent table.clientsheet td {
	padding: 3px 10px;
	vertical-align: middle;
	text-align: left;
	height: 60px;
}
	
.maincontent table.datasheet th, .maincontent table.datasheet td {
	padding: 7px 10px;
	vertical-align: top;
	text-align: left;
	}
	
.maincontent table.datasheet th {
	background-color: #333;
	font-weight: bold;
	text-align: left;
	color: #FFFFFF;
	}
	
	
.maincontent table.datasheet tr td p {
	line-height: 150%;
	text-align: left;
	letter-spacing: normal;
	margin: 0 0 12px 0;
	} 

.maincontent table.datasheet tr.odd td, .maincontent table.clientsheet tr.odd td {
	background-color: #F0F0F0;
	} 
	
.maincontent table.datasheet tr.even td, .maincontent table.clientsheet tr.even td {
	background-color: #FFF;
	} 
	
.maincontent table.datasheet tr.even td.fieldname, .maincontent table.datasheet tr.odd td.fieldname {
	font-weight: bold;
	}
	
.maincontent table.datasheet tr.hoz td {
	background-color: #888;
	height: 2px;
	line-height: 0%;
	padding: 0;
	}
	
.maincontent table.datasheet tr.odd td.divider, .maincontent table.datasheet tr.even td.divider, .maincontent table.datasheet th {
	border-right: 1px solid #CCC;
	}





	
/* HOME INTRO BOXES */

.maincontent .hmpgbox1 {
	width:560px; 
	margin: 10px 0 0 0;
	display: block;
	}
	
.maincontent .hmpgbox1 .hmpg-intro01 {
	width: 300px; 
	height: 310px;
	background:url(../img/common/blue-box-hmpg.jpg) bottom left no-repeat; 
	float: left; 
	margin-left: -2px;
	}
	
* html .maincontent .hmpgbox1 .hmpg-intro01 {
	margin-top: -18px;
	}
	
.maincontent .hmpgbox1 .hmpg-intro01 p, .maincontent .hmpgbox1 .hmpg-intro02 p {
	letter-spacing: normal;
}
	

.maincontent .hmpgbox1 .hmpg-intro01 .intro01content {
	margin: 0; 
	color: #FFF; 
	padding: 18px 8px 10px 12px;
	}
	
* html .maincontent .hmpgbox1 .hmpg-intro01 .intro01content {
	margin: 0; 
	color: #FFF; 
	padding: 18px 8px 10px 12px;
	}

.maincontent .hmpgbox1 .hmpg-intro01 .intro01content .title {
	font-size: 15px;
	font-weight: bold;
	}
	
.maincontent .hmpgbox1 .hmpg-intro01 .intro01content .contactlink {
	padding: 0 10px 10px 0;
	}
	
.maincontent .hmpgbox1 .hmpg-intro01 .intro01content .contactlink img {
	margin: -1px 0 0 6px;
	}
	

.maincontent .hmpgbox1 .hmpg-intro01 .intro01content a:link, .maincontent .hmpgbox1 .hmpg-intro01 .intro01content a:visited {
	color: #FFF;
	text-decoration: none;
	}
	
.maincontent .hmpgbox1 .hmpg-intro01 .intro01content a:hover {
	color: #9CF;
	text-decoration: none;
	border-bottom: 1px dotted #FFF;
	}
	
.maincontent .hmpgbox1 .hmpg-intro02 {
	width: 250px; 
	height: 310px;
	float: left;
	letter-spacing: 0;
	margin: 0 0 0 10px;
	background:url(../img/common/white-box-hmpg.jpg) top left no-repeat; 
	}

.maincontent .hmpgbox1 .hmpg-intro02 .intro02content {
	margin: 0; 
	padding: 20px 10px 10px 10px;	
	}
	
	
/* OFFICE LOCATIONS */

.maincontent .officelocations {
	width: 560px;
	margin: 24px 0 0 0;
	}
	
.maincontent .officelocations .contacts {
	float: left;
	width: 180px;
	margin: 0 6px 16px 0;
	padding: 0;
	font-size: 12px;
	color: #555;
	text-align: left;
	display:inline-block;
	}
	
.maincontent .officelocations .contacts span {
	font-weight:bold;
	font-size: 9px;
	color:#888;
	white-space:nowrap;
}

.maincontent .officelocations .contacts p {
	line-height: 110%;
	letter-spacing: 0;
	margin:0;
	padding:0;
	}

.maincontent .officelocations .contacts a:link, .maincontent .officelocations .contacts a:visited {
	color: #6699CC;
	}

.maincontent .officelocations .contacts a:hover {
	color: #000000;
	}

	
	
	
/* NEWS */

.maincontent .news {
	margin: 30px 0 10px 0;
	}
	
.maincontent .news p {
	margin: 0 0 13px 0;
	line-height: 120%;
	}

.maincontent .news .newstitle {
	font-size: 15px;
	font-weight: bold;
	}
	
.maincontent .news .newstitle a:link {
	text-decoration: underline;
	}
	
.maincontent .news .date {
	font-size: 11px;
	color: #666;
	margin: 6px 0;
	}
	
.maincontent .news .source {
	font-size: 12px;
	font-style: italic;
	color: #666;
	margin: 10px 0;
	}
	
.maincontent .news .morelink {
	color: #888;
	margin: 10px 0 50px 0;
	padding-bottom: 20px;
	border-bottom: 1px solid #ccc;
	text-align: right;
	}
	
.maincontent .news .morelink a:link, .maincontent .news .morelink a:visited {
	color: #6699CC;
	}
	
	
.maincontent .news .morelink a:hover {
	color: #000;
	}
	
	
	
	

/* SIDE BAR STYLE */

.sidecontent {
	text-align: left;
	color: #FFF;
	font-size: 12px;
	line-height: 130%;
}

.sidecontent h1 {
	text-align: center;
	font-size: 19px;
	font-weight: normal;
	line-height: 100%;
	text-transform: uppercase;
	}
	
.sidecontent h1.sidesection {
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	line-height: 100%;
	margin-bottom: 20px;
	text-transform: uppercase;
	}
	
.sidecontent h2.sidetitle {
	text-align: center;
	font-size: 16px;
	font-weight: normal;
	margin-bottom: 20px;
	line-height: 100%;
	}
	
.sidecontent h2 {
	text-align: left;
	font-size: 16px;
	font-weight: bold;
	line-height: 100%;
	margin: 16px 0 12px 0;
	}
	
.sidecontent .smallprojectphoto {
	text-align: center;
	} 
	
.sidecontent .smallprojectphoto img {
	border: #99CC66 2px solid;
}

.sidecontent .newstitle {
	font-size: 16px;
	font-weight: bold;
	margin: 0;
	}
	
.sidecontent .date {
	font-size: 11px;
	margin: 10px 0 2px 0;
	}
	
.sidecontent .source {
	font-size: 11px;
	font-style: italic;
	margin: 4px 0;
	line-height: 110%;
	}


.sidecontent .clicklink {
	text-align: center;
	font-weight: bold;
}

.sidecontent .clicklinkleft {
	text-align: left;
	font-weight: bold;
	margin-left: 16px;
}

.sidecontent a:link, .sidecontent a:visited {
	color: #FFF;
	font-weight: bold;
	text-decoration: none;
}

.sidecontent a:hover {
	color: #9CF;
	font-weight: bold;
	text-decoration: none;
	border-bottom: 1px dotted #FFF;
}

.sidecontent select {
	font-size: 12px;
	color: #444;
	padding: 2px;
	margin: 10px 0;
	}




/* SHADOW IMAGE */

.wrap1R, .wrap1L, .wrap2, .wrap3 {
	display:inline-table;
	/* \*/display:block;/**/} 
	
#insertphoto .wrap1L {float: left; margin-right: 10px; background:url(../img/common/shadow.gif) right bottom no-repeat;}
#insertphoto .wrap1R {float: right; margin-left: 10px; background:url(../img/common/shadow.gif) right bottom no-repeat;}
#insertphoto .wrap2 {background:url(../img/common/corner_bl.gif) -1px 100% no-repeat;}
#insertphoto .wrap3 {
	padding:0 6px 6px 0;
	background:url(../img/common/corner_tr.gif) 100% -1px no-repeat;}

.wrap3 img {
	display:block;
	border:1px solid #ccc;
	border-color:#efefef #ccc #ccc #efefef;}



/* FORM */

	#clientlogin {				clear: both; height: 260px; padding-top: 0; padding-left:20px; margin-top:20px; background: url(../img/common/clientlogin-bg.jpg) no-repeat 0 0; position: relative; }
	
	#clientlogin p.loginintro {	width:560px; position:absolute; top:0; left:184px; color: #2A4C6C; text-shadow: #ccf 0 1px 0; font: bold 24px/20px "Helvetica Neue", Helvetica, Arial, sans-serif; }
	
	#clientlogin .loginhelp {	width:516px; position:relative; display:inline-block; top:206px; left:0; color: #D7E8F1; font: bold 12px/21px "Helvetica Neue", Helvetica, Arial, sans-serif; letter-spacing:normal; text-align:center; }

	#clientlogin p.resetmessage {	width:514px; position:relative; display:inline-block; top:50px; left:-6px; color: #2A4C6C; text-shadow: #ccf 0 1px 0; font: bold 22px/40px "Helvetica Neue", Helvetica, Arial, sans-serif; letter-spacing:normal; text-align:center; }
	#clientlogin p.resetmessage a { color:#FFF; text-shadow: #2A4C6C 0 1px 0; }
	#clientlogin p.resetmessage a:hover { color: #000; }
	
	.loginhelp a:link, .loginhelp a:visited {	color:#D7E8F1; text-decoration:underline; }
	
	.loginhelp a:hover {	color:#fff; text-decoration:none; }
	
	#clientlogin p.text {		width:350px; height: 40px; position: absolute; line-height: 40px; top: 0; left:96px; }

	#clientlogin p.username {	top: 40px; }

	#clientlogin p.password {	top: 88px; }

	#clientlogin p.text label {	width: 90px; position: absolute; top: 0; left: 0; z-index: 50; text-align: right; font-weight: bold; color: #2A4C6C; text-shadow: #fff 0 1px 0; cursor: text; }

	#clientlogin p.text input {	position: absolute; width: 240px; padding: 12px 10px 12px 100px; font: 14px/16px "Helvetica Neue", Helvetica, Arial, sans-serif; color: #369; height: 16px; z-index: 25; background: url(../img/common/contact-text.png) no-repeat 0 0; border:none; }

	#clientlogin p.text.obl input { 
								background-image: url(../img/common/contact-text-obl.png); width: 210px; padding-right: 40px; }

	#clientlogin p.text.val input { 
								background-image: url(../img/common/contact-text-val.png); }

	#clientlogin p.text input:focus {
								background-position: -350px 0; }

	#clientlogin .submit {		position: absolute; top: 138px; left:96px; }
	
	#clientlogin .submitreset { position: absolute; top: 128px; left:96px; }

	#clientlogin .submit input, #clientlogin .submitreset input {
								width: 350px; height: 36px; padding-bottom: 1px; color: #2A4C6C; text-shadow: #ccf 0 1px 0; font: bold 14px/35px "Helvetica Neue", Helvetica, Arial, sans-serif; background: url(../img/common/contact-submit.png) no-repeat; cursor: pointer; border:none; }


	#clientlogin .submit input:hover, #clientlogin .submitreset input:hover,
	#contact .submit input:focus {
								color: #000; opacity: .9; }

	#clientlogin .submit input:active, #clientlogin .submitreset input:active {
								background-position: -350px 0; padding: 1px 0 0; color: #2A4C6C; opacity: 1; }

	::-moz-focus-inner { 	border: 0; }




/* FOOTER */
	
#footerwrap {
	width: 100%;
	margin: 0;
	padding: 18px 20px 10px 20px;
	clear: both;
	background-color: #2C2C2C;
	background-image: url(../img/common/footerbg.jpg);
	background-position: bottom left;
	background-repeat: repeat-x;
	}
	
.footerlocations {
	width: 900px;
	margin: 0 auto;
	}

.footerlocations .contacts {
	float: left;
	width: 200px;
	margin: 0 20px 16px 0;
	padding: 0;
	font-size: 12px;
	line-height: 130%;
	color: #FFFFFF;
	text-align: left;
	}
	
.footercopyright {
	color: #FFFFFF;
	margin: 0;
	padding: 30px 0 0 0;
	clear: both;
	}
