/*****************************
* Default Typography
*****************************/

body, h1, h2, h3, p, ul, ol, dl, fieldset, label, input, textarea, select, legend {
	color: #333333;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
}

h1 {
	border-bottom: 1px solid #520000;
	color: #900000;
	font-size: 28px;
	font-weight: bold;
	line-height: 28px;
	margin-bottom: 16px;
	padding-bottom: 8px;
}

h2 {
	color: #555555;
	font-size: 20px;
	font-weight: bold;
	line-height: 20px;
	margin-bottom: 8px;
}

h3 {
	font-size: 12px;
	font-weight: bold;
	line-height: 14px;
	margin-bottom: 12px;
}

p {
	line-height: 18px;
	margin-bottom: 12px;
}

a { color: #900000; text-decoration: none; }
a:hover { text-decoration: underline; }

strong { font-weight: bold; }
em { font-style: italic; }

/*****************************
* Structure
*****************************/

html {
	background: url(../images/background.gif) repeat top left;
}

body {
	background: url(../images/background-bottom.gif) repeat-x bottom left;
}

#super-container {
	background: url(../images/background-top.gif) repeat-x top left;
	height: 100%;
	width: 100%;
}

#container {
	margin: 0 auto 0 auto;
	width: 760px;
}

#header {
	background: url(../images/header-background.gif) #000000 repeat-x bottom left;
	float: left;
	height: 105px;
	position: relative;
	width: 100%;
}

#page {
	background: url(../images/sidebar-background.gif) #f6f6f6 repeat-y top left;
	float: left;
	position: relative;
	width: 100%;
}

#sidebar {
	float: left;
	margin-bottom: 20px;
	padding: 0 23px 0 16px;
	width: 170px;
}

#content {
	display: inline;
	float: left;
	padding: 16px;
	width: 514px;
}

#footer {
	clear: both;
	height: 23px;
	padding: 16px;
	width: 728px;
}

/*****************************
* Branding Elements
*****************************/

#site-title {
	background: url(../images/logo.gif) no-repeat top left;
	bottom: 11px;
	height: 94px;
	left: 0;
	overflow: hidden;
	position: absolute;
	text-indent: -5000px;
	width: 372px;
}

#site-title a {
	display: block;
	height: 100%;
	width: 100%;
}

#site-subtitle {
	display: none;
}

#site-copyright {
	color: #bbbbbb;
	float: left;
	font-size: 11px;
	line-height: 24px;
}

#site-developer {
	background: url(../images/impulse-development-logo.gif) no-repeat center right;
	color: #bbbbbb;
	float: right;
	font-size: 11px;
	line-height: 24px;
	padding-right: 24px;
}

#site-developer a {
	color: #ffffff;
	font-weight: bold;
}

/*****************************
* Navigation
*****************************/

#site-navigation {
	margin: 0 0 32px 0;
	width: 170px;
}

#site-navigation li {
	border-bottom: 1px solid #e3e3e3;
}

#site-navigation li a {
	display: block;
	height: 32px;
	overflow: hidden;
	text-indent: -5000px;
	width: 170px;
}

#site-navigation li.home a { background: url(../images/nav-home.gif) no-repeat top left; }
#site-navigation li.about a { background: url(../images/nav-about.gif) no-repeat top left; }
#site-navigation li.bidding a { background: url(../images/nav-bidding.gif) no-repeat top left; }
#site-navigation li.careers a { background: url(../images/nav-careers.gif) no-repeat top left; }
#site-navigation li.contact a { background: url(../images/nav-contact.gif) no-repeat top left; }
#site-navigation li.portfolio a { background: url(../images/nav-portfolio.gif) no-repeat top left; }
#site-navigation li.safety a { background: url(../images/nav-safety.gif) no-repeat top left; }
#site-navigation li.services a { background: url(../images/nav-services.gif) no-repeat top left; }
#site-navigation li.my_projects a { background: url(../images/nav-my-projects.gif) no-repeat top left; }

#site-navigation li a:hover {
	background-position: 0 -32px;
}

#site-navigation li a.current {
	background-position: 0 -32px;
}

#site-navigation li ul {
	margin-bottom: 10px;
}

#site-navigation li ul.submenu li {
	border: none;
	height: 24px;
	line-height: 24px;
	padding-left: 20px;
}

#site-navigation li ul.submenu li a {
	background: none;
	height: auto;
	overflow: visible;
	text-indent: 0;
	width: auto;
}

/*****************************
* Client Login
*****************************/

#client-login {
	position: absolute;
	right: 16px;
	top: 0px;
}

#client-login a {
	display: block;
	height: 25px;
	overflow: hidden;
	text-indent: -5000px;
	width: 92px;
}

#client-login a.login {
	background: url(../images/header-client-login.gif) no-repeat top left;
}

#client-login a.logout {
	background: url(../images/header-logout.gif) no-repeat top left;
}

/*****************************
* Featured Project
*****************************/

#featured-project {
	background: #e0e0e0;
	border-bottom: 2px solid #727272;
	height: 120px;
	padding: 16px;
	position: relative;
	width: 728px;
}

#featured-project h2 {
	background: url(../images/heading-featured-project.gif) no-repeat top left;
	border-bottom: 1px solid #c5c5c5;
	margin-bottom: 16px;
	overflow: hidden;
	text-indent: -5000px;
	width: 449px;
}

#featured-project h3 {
	font-size: 16px;
	margin-bottom: 12px;
}

#featured-project .image {
	bottom: 34px;
	position: absolute;
	right: 16px;
}

#featured-project .image a {
	border: 2px solid #333333;
	float: left;
}

#featured-project .image a:hover {
	border: 2px solid #000000;
}

#featured-project .image img {
	float: left;
}

#featured-project .body {
	width: 449px;
}

#featured-project .body p {
	font-size: 11px;
	line-height: 13px;
}

#featured-project .meta {
	bottom: 10px;
	position: absolute;
	right: 16px;
}

#featured-project .meta a {
	background: url(../images/view-project-details.gif) no-repeat top left;
	display: block;
	height: 15px;
	overflow: hidden;
	text-indent: -5000px;
	width: 122px;
}

#featured-project .meta a:hover {
	background-position: 0 -15px;
}

/*****************************
* Sidebar vCard
*****************************/

#sidebar .vcard {
	margin-bottom: 32px;
	text-align: center;
}

#sidebar .vcard h2 {
	background: url(../images/sidebar-vemac.gif) no-repeat top left;
	height: 38px;
	margin-bottom: 16px;
	overflow: hidden;
	text-indent: -5000px;
	width: 170px;
}

#sidebar .vcard p {
	color: #777777;
	margin: 0;
}

#sidebar .vcard .street-address {
	display: block;
}

#sidebar .vcard .type {
	font-weight: bold;
}

/**************************************
* Error Messages
**************************************/

#content .errorExplanation,
#content .flash {
	background: #f7eded;
	border: 1px solid #b00000;
	margin: 20px auto;
	padding: 20px;
	width: 75%;
}

#content .errorExplanation h2 {
	display: none;
}

#content .errorExplanation p,
#contnet .flash {
	color: #b00000;
	font-size: 12px;
	font-weight: bold;
	text-align: center;
}

#content .errorExplanation ul {
	width: 100%;
	margin: 0;
	padding: 0;
}

#content .errorExplanation li {
	font-size: 12px;
	line-height: 15px;
	text-align: center;
	width: 100%;
	list-style: none;
}