/*  
	Title: DOC Base Stylesheet
	Author: TJ Kelly - http://www.tjkelly.com
	Info: Main site definitions for DOC
*/

/*////////////////////////////////////]  Global Classes  [////////////////////////////////////*/
/* PiE Clearfix */
.clearfix {
	display:inline-block;
	}   
.clearfix:after, .container:after {
  content:"."; 
  display:block; 
  height:0; 
  clear:both; 
  visibility:hidden;
	}
* html .clearfix {
	height:1%;
	}
.clearfix {
	display:block;
	}

/* Alerts & Notices */
.alert_red {
	margin:5px 0 10px;
	padding:5px 10px;
	border:1px solid #dd3c10;
	background:#ffebe8;
	}
.alert_yellow {
	margin:5px 0 10px;
	padding:5px 10px;
	border:1px solid #e2c822;
	background:#fff9d7;
	}
.alert_blue {
	margin:5px 0 10px;
	padding:5px 10px;
	border:1px solid #b8ccf6;
	background:#f4f9ff;
	}
.alert_green {
	margin:5px 0 10px;
	padding:5px 10px;
	border:1px solid #84cb93;
	background:#e9ffed;
	}
.alert_red h1, .alert_yellow h1, .alert_blue h1, .alert_green h1,
.alert_red h2, .alert_yellow h2, .alert_blue h2, .alert_green h2,
.alert_red h3, .alert_yellow h3, .alert_blue h3, .alert_green h3,
.alert_red h4, .alert_yellow h4, .alert_blue h4, .alert_green h4 {
	margin:0 0 10px;
	padding:0;
	color:#555;
	}
.alert_red ul, .alert_yellow ul, .alert_blue ul, .alert_green ul,
.alert_red ol, .alert_yellow ol, .alert_blue ol, .alert_green ol {
	margin:0 0 5px 10px;
	padding:0;
	}
.alert_red p, .alert_yellow p, .alert_blue p, .alert_green p {
	margin:0;
	padding:0;
	}
.alert_red p + h1, .alert_yellow p + h1, .alert_blue p + h1, .alert_green p + h1,
.alert_red p + h2, .alert_yellow p + h2, .alert_blue p + h2, .alert_green p + h2,
.alert_red p + h3, .alert_yellow p + h3, .alert_blue p + h3, .alert_green p + h3,
.alert_red p + h4, .alert_yellow p + h4, .alert_blue p + h4, .alert_green p + h4,
.alert_red p + ul, .alert_yellow p + ul, .alert_blue p + ul, .alert_green p + ul,
.alert_red p + ol, .alert_yellow p + ol, .alert_blue p + ol, .alert_green p + ol,
.alert_red ul + p, .alert_yellow ul + p, .alert_blue ul + p, .alert_green ul + p,
.alert_red ol + p, .alert_yellow ol + p, .alert_blue ol + p, .alert_green ol + p,
.alert_red ul + ul, .alert_yellow ul + ul, .alert_blue ul + ul, .alert_green ul + ul,
.alert_red ol + ol, .alert_yellow ol + ol, .alert_blue ol + ol, .alert_green ol + ol,
.alert_red ol + ul, .alert_yellow ol + ul, .alert_blue ol + ul, .alert_green ol + ul,
.alert_red ul + ol, .alert_yellow ul + ol, .alert_blue ul + ol, .alert_green ul + ol,
.alert_red p + p, .alert_yellow p + p, .alert_blue p + p, .alert_green p + p {
	margin:10px 0 0;
	}

/* Display */
.block {
	display:block!important;
	}
.inline {
	display:inline!important;
	}
.hide {
	display:none!important;
	}
.hidden {
	visibility:hidden!important;
	}
.absolute {
	position:absolute!important;
	}
.relative {
	position:relative!important;
	}

/* Floats */
.float_left {
	float:left;
	}
.float_right {
	float:right;
	}
.clear_left {
	clear:left;
	}
.clear_right {
	clear:right;
	}
.clear_both {
	clear:both;
	}

/* Fonts & Text */
.text_center {
	text-align:center;
	}
.lowercase {
	text-transform:lowercase;
	}

/* Images */
.image_align_left {
	margin:4px 10px 8px 0;
	float:left;
	}
.image_align_right {
	margin:4px 0 8px 10px;
	float:right;
	}

/* Rules */
hr {
	display:none;
	}


/*//////////////////////////////]=  Layout  [//////////////////////////////*/
#header_wrap {
	background:url(/images/uploads/header_bg.png) 0 0 repeat-x;
	}
#header {
	margin:0 auto;
	padding:0 0 26px;
	width:980px;
	height:114px;
	position:relative;
	}

/* Logo */
#logo {
	margin:0;
	width:131px;
	height:114px;
	float:left;
	background:url(/images/uploads/logo.png) 0 0 no-repeat;
	}
#logo a {
	text-indent:-9999em;
	width:131px;
	height:114px;
	display:block;
	}

/* Nav */
#nav {
	margin:0;
	padding:18px 0 0;
	width:654px;
	height:48px;
	float:left;
	}
#nav li {
	margin:0 15px;
	float:left;
	}
#nav li:first-child {
	margin-left:25px;
	}
#nav li a {
	text-indent:-9999em;
	height:48px;
	float:left;
	background-image:url(/images/uploads/nav.png);
	background-repeat:no-repeat;
	}
#nav #services a {
	width:118px;
	background-position:0 0;
	}
#nav #services a:hover {
	background-position:0 -48px;
	}
#nav #projects a {
	width:123px;
	background-position:-118px 0;
	}
#nav #projects a:hover {
	background-position:-118px -48px;
	}
#nav #safety a {
	width:99px;
	background-position:-241px 0;
	}
#nav #safety a:hover {
	background-position:-241px -48px;
	}
#nav #jobs a {
	width:151px;
	background-position:-340px 0;
	}
#nav #jobs a:hover {
	background-position:-340px -48px;
	}

/* Search */
#site_search {
	margin:0;
	padding:30px 0 0;
	float:left;
	}
#keywords {
	margin:0;
	padding:6px 10px 0 26px;
	border:none;
	width:159px;
	height:18px;
	background:url(/images/uploads/search.png) 0 0 no-repeat;
	}
#submit {
	display:none;
	}

/* Header > Subnav */
#subnav {
	margin:0 0 15px;
	width:810px;
	height:41px;
	position:absolute;
	right:0;
	bottom:0;
	background:url(/images/uploads/subnav_bar.png) 0 0 repeat-x;
	}
#subnav h3 {
	display:none;
	}
#subnav p {
	margin:0;
	padding:8px 10px;
	font-size:13px;
	width:790px;
	color:#999;
	}
#subnav p a { /* enriched */
	padding:4px 12px 3px;
	border:1px solid #aaa;
	font-size:12px;
	text-decoration:none;
	color:#555;
	background:#dfdfdf;
	}
#subnav p a:hover {
	color:#222;
	background:#eee;
	}

/* Entry Subnav */
#primary_content #subnav {
	top:-55px;
	right:-335px;
	}

/* Content Wrap */
#content_wrap {
	margin:0 auto;
	padding:0 0 15px;
	width:980px;
	}

/* Primary Content */
#primary_content {
	margin-right:15px;
	width:645px;
	float:left;
	}
#primary_content.full_width {
	margin:0;
	width:980px;
	}
#primary_content img {
	max-width:639px!important;
	}
.primary_item {
	margin:5px 0 10px;
	width:645px;
	float:left;
	}
.primary_item h3 {
	font:normal 22px Georgia;
	width:560px;
	float:right;
	}
.primary_item h3 a {
	color:#000;
	}
.primary_item h3 a:hover {
	color:#27a;
	}
.primary_item p {
	margin:0;
	width:560px;
	float:right;
	}
.primary_item p.primary_item_image {
	margin:0;
	width:auto;
	float:left;
	}
.primary_item p + p {
	margin:15px 0 0;
	}
.primary_item p.primary_item_image + p {
	margin:0;
	}
.primary_item a img {
	padding:1px;
	border:1px solid #dfdfdf;
	float:left;
	background:#fff;
	}	
.primary_item a:hover img {
	border-color:#27a;
	}

/* Primary Content > Entry */
.entry {
	position:relative;
	}
.entry img {
	padding:1px;
	border:1px solid #dfdfdf!important;
	background:#fff;
	}
.entry img.thumb {
	margin:0 10px 4px 0;
	width:180px;
	float:left;
	}
.entry li {
	padding:0 0 0 14px;
	font-size:12px;
	line-height:21px;
	background:url(/images/uploads/bullet.png) 0 8px no-repeat;
	}

/* Image rotator */
.image_rotator img {
	max-height:490px;
	}


/* Secondary Content */
#secondary_content {
	padding:10px 0 0 15px;
	width:305px;
	min-height:360px;
	float:left;
	background:url(/images/uploads/secondary_content.png) 0 0 no-repeat;
	}
.secondary_content_item {
	padding:0 0 15px;
	}
.secondary_content_item h2 {
	font-size:28px;
	}
.secondary_content_item ul {
	margin:0;
	border-top:1px solid #dfdfdf;
	border-bottom:1px solid #fff;
	}
.secondary_content_item li a {
	padding:5px 6px;
	border-bottom:1px solid #dfdfdf;
	border-top:1px solid #fff;
	text-decoration:none;
	display:block;
	color:#477;
	background:url(/images/uploads/secondary_content_list_item.png) -9999px -9999px no-repeat;
	}
.secondary_content_item li a:hover {
	text-decoration:underline;
	color:#27a;
	background-position:top right;
	background-repeat:repeat-y;
	background-color:#fff;
	}

/* Footer */
#footer {
	margin:0 auto;
	padding:10px 0 15px;
	border-top:1px solid #dfdfdf;
	width:980px;
	overflow:auto;
	clear:left;
	}
#footer p {
	margin:0;
	font-size:11px;
	color:#aaa;
	}
#copyright {
	float:left;
	}
#credit {
	float:right;
	}
#footer p a {
	color:#999;
	}
#footer p a:hover {
	text-decoration:none;
	color:#aaa;
	}


/*//////////////////////////////]=  Forms  [//////////////////////////////*/
#primary_content form legend {
	padding:10px 0 5px;
	font-size:18px;
	color:#333;
	}
#primary_content form ul {
	margin:0 0 25px;
	padding:10px 15px;
	border-bottom:1px solid #dfdfdf;
	background:#f5f7f8;
	}
#primary_content form li {
	margin:0;
	padding:5px 0;
	clear:left;
	}
#primary_content form label {
	font-weight:bold;
	width:100px;
	float:left;
	color:#666;
	}
#primary_content form input[type="text"],
#primary_content form textarea {
	padding:3px;
	border:1px solid #dfdfdf;
	font:normal 12px 'lucida grande',tahoma,sans-serif;
	color:#666;
	}
#primary_content form input.input_submit { /* enriched */
	padding:7px 18px;
	border:1px solid #3f7d2c;
	font-size:13px;
	text-decoration:none;
	color:#fff;
	background:url(/images/uploads/caption_more.png) 0 0 repeat-x;
	}



/*//////////////////////////////]=  Homepage  [//////////////////////////////*/
#feature_wrap {
	margin:0 0 25px;
	width:980px;
	height:460px;
	}
#feature {
	width:980px;
	height:460px;
	position:relative;
	}
.feature_item {
	margin:0 0 25px;
	width:980px;
	height:460px;
	position:absolute;
	top:0;
	left:0;
	}
.feature_item + .feature_item {
	display:none;
	}
#feature .caption {
	border:1px solid #ccc;
	width:978px;
	height:98px;
	position:absolute;
	bottom:0;
	left:0;
	background:#f8fafa url(/images/uploads/feature_bg.png) bottom repeat-x;
	}
#feature .caption h2 {
	padding:10px 15px 0;
	font:normal 22px Georgia;
	color:#27a;
	}
#feature .caption h2 a {
	text-decoration:none;
	color:#27a;
	}
#feature .caption h2 a:hover {
	text-decoration:underline;
	color:#16e;
	}
#feature .caption p {
	margin:0;
	padding:5px 160px 10px 15px;
	font-size:12px;
	line-height:15px;
	text-align:justify;
	color:#444;
	}
#feature .caption .caption_more {
	padding:0;
	position:absolute;
	top:50px;
	right:15px;
	}
#feature .caption .caption_more a { /* enriched */
	padding:12px 18px;
	border:1px solid #3f7d2c;
	text-decoration:none;
	color:#fff;
	background:url(/images/uploads/caption_more.png) 0 0 repeat-x;
	}
#feature .caption .caption_more a:hover {
	background:#89b96a;
	}

/* Tagline */
#tagline {
	margin:0;
	}
#tagline a {
	margin:0;
	text-indent:-9999em;
	width:980px;
	height:460px;
	display:block;
	background:url(/images/uploads/feature-tagline2.png) 0 0 no-repeat;
	}


/*//////////////////////////////]=  Contact  [//////////////////////////////*/
.location_item {
	width:320px;
	min-height:150px;
	float:left;
	}


/*//////////////////////////////]=  Search Results  [//////////////////////////////*/
#search_results h1 em {
	color:#5d919e;
	}
#search_results ol {
	margin:0;
	padding:0;
	list-style:none;
	}
#search_results li {
	margin:7px 0;
	padding:6px 8px;
	background:none;
	}
#search_results li.resultRowOne {
	background:#f1f3f4;
	}
#search_results li h3 {
	margin:0 0 4px;
	padding:0;
	font-size:18px;
	}
#search_results li h3 a {
	text-decoration:underline;
	color:#16e;
	}
#search_results li h3 a:hover {
	text-decoration:none;
	color:#27a;
	}
#search_results li p {
	margin:0;
	}