/* RESET */
/* ----------------------------------------- */

/* Global reset */
/* Based upon Eric Meyer's 'reset.css': http://meyerweb.com/eric/tools/css/reset/ */
/* v1.0 | 20080212 */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

/* remember to define focus styles! */
:focus {
	outline: 0;
}

/* remember to highlight inserts somehow! */
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}

/* tables still need 'cellspacing="0"' in the markup */
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/* END RESET */

/* COMMON STRUCTURE AND LAYOUT ELEMENTS */

body {
	margin: 0;
	padding: 0;
	text-align: center;
	!background: url(/images/background.jpg) repeat-x left top #ffffff;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
}

body.subpage{
	background: url(../images/background_subpage.jpg) repeat-x left top #ffffff;
}

body.portfolio {
	background: none;
}

#main_container {
	width: 1074px;
	margin: 0 auto;
	padding: 0;
}

#content {
	width: 972px;
	margin: 0 auto;
	padding: 0;
}

/*---------- header section -----------*/

#header {
	margin: 0px;
	padding: 0px;
	height: 113px;
}
#header #logo {
	float: left;
	margin-top: 3px;
	padding: 0px;
	width: 463px;
	height: 113px;
}

/*---------- main navigation -----------*/

#main_nav {
	margin-top: 3px;
	height: 86px;
}

#main_nav ul {
	float: left;
	width: 611px;
	margin: 0;
	padding: 0;
}

#main_nav li {
	float: left;
	height: 86px;
	display: inline;
}

#main_nav li.home {
	width: 80px;
	background: url(../images/navigation/nav_home_off.jpg) no-repeat left top;
}
#main_nav li.portfolio {
	width: 117px;
	background: url(../images/navigation/nav_portfolio_off.jpg) no-repeat left top;
}

#main_nav li.services {
	width: 105px;
	background: url(../images/navigation/nav_services_off.jpg) no-repeat left top;
}

#main_nav li.about {
	width: 83px;
	background: url(../images/navigation/nav_about.jpg) no-repeat left top;
}

#main_nav li.resources {
	width: 122px;
	background: url(../images/navigation/nav_resources_off.jpg) no-repeat left top;
}

#main_nav li.contact {
	width: 104px;
	background: url(../images/navigation/nav_contact_off.jpg) no-repeat left top;
}

#main_nav li a.home {
	width: 80px;
	height: 86px;
	display: block;
	background: url(../images/navigation/nav_home_off.jpg) no-repeat left top;
	text-indent: -9999px;
	text-decoration: none;
}

#main_nav li a.portfolio {
	width: 117px;
	height: 86px;
	display: block;
	background: url(../images/navigation/nav_portfolio_off.jpg) no-repeat left top;
	text-indent: -9999px;
	text-decoration: none;
}

#main_nav li a.services {
	width: 105px;
	height: 86px;
	display: block;
	background: url(../images/navigation/nav_services_off.jpg) no-repeat left top;
	text-indent: -9999px;
	text-decoration: none;
}

#main_nav li a.about {
	width: 83px;
	height: 86px;
	display: block;
	background: url(../images/navigation/nav_about_off.jpg) no-repeat left top;
	text-indent: -9999px;
	text-decoration: none;
}

#main_nav li a.resources {
	width: 122px;
	height: 86px;
	display: block;
	background: url(../images/navigation/nav_resources_off.jpg) no-repeat left top;
	text-indent: -9999px;
	text-decoration: none;
}

#main_nav li a.contact {
	width: 104px;
	height: 86px;
	display: block;
	background: url(../images/navigation/nav_contact_off.jpg) no-repeat left top;
	text-indent: -9999px;
	text-decoration: none;
}

#main_nav li a.home:hover {
	background: url(../images/navigation/nav_home_on.jpg) no-repeat left top;
}

#main_nav li a.portfolio:hover {
	background: url(../images/navigation/nav_portfolio_on.jpg) no-repeat left top;
}

#main_nav li a.services:hover {
	background: url(../images/navigation/nav_services_on.jpg) no-repeat left top;
}

#main_nav li a.about:hover {
	background: url(../images/navigation/nav_about_on.jpg) no-repeat left top;
}

#main_nav li a.resources:hover {
	background: url(../images/navigation/nav_resources_on.jpg) no-repeat left top;
}

#main_nav li a.contact:hover {
	background: url(../images/navigation/nav_contact_on.jpg) no-repeat left top;
}

/* You're Here Highlights*/

body#home a.home {
	background: url(../images/navigation/nav_home_on.jpg) no-repeat left top;
}

body#portfolio a.portfolio {
	background: url(../images/navigation/nav_portfolio_on.jpg) no-repeat left top;
}

body#services a.services {
	background: url(../images/navigation/nav_services_on.jpg) no-repeat left top;
}

body#about a.about {
	background: url(../images/navigation/nav_about_on.jpg) no-repeat left top;
}

body#resources a.resources {
	background: url(../images/navigation/nav_resources_on.jpg) no-repeat left top;
}

body#contact a.contact {
	background: url(../images/navigation/nav_contact_on.jpg) no-repeat left top;
}

body#contact a.test {
	background: url(../images/navigation/nav_contact_off.jpg) no-repeat left top;
}


/*---------- home page showcase -----------*/

#banner {
	float: left;
	width: 962px;
	height: 469px;
	margin-bottom: 36px;
	padding-left: 10px;
	background: url(../images/showcase_bg.jpg) no-repeat left top;
}

#showcase_navigation {
	float: left;
	width: 157px;
	margin: 0;
	padding: 0;
}

#showcase_navigation #showcase_default {
	visibility: hidden;
	margin: 0;
	padding: 0;
}

#showcase_navigation #showcase_consult {
	width: 157px;
	height: 100px;
	margin: 0;
	padding-top: 13px;
	background: url(../images/showcase/showcase_nav_consult.jpg) no-repeat left top;
}

#showcase_navigation #showcase_residential {
	width: 157px;
	height: 100px;
	margin: 0;
	padding-top: 13px;
	background: url(../images/showcase/showcase_nav_residential.jpg) no-repeat left top;
}

#showcase_navigation #showcase_green {
	width: 157px;
	height: 100px;
	margin: 0;
	padding-top: 13px;
	background: url(../images/showcase/showcase_nav_green.jpg) no-repeat left top;
}

#showcase_navigation #showcase_commercial {
	width: 157px;
	height: 99px;
	margin: 0;
	padding-top: 13px;
	background: url(../images/showcase/showcase_nav_commercial.jpg) no-repeat left top;
}

/*---------- home page content -----------*/

#home_columns {
	padding: 0;
	background: url(../images/home_col_bg.jpg) no-repeat top left;
	text-align: left;
}


#main_container #content #home_columns h2 {
	margin-top: 40px;
	padding-bottom: 20px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 18px;
	color: #b5610b;
}

#home_columns p {
	padding-right: 25px;
	padding-bottom: 12px;
	color: #333;
	line-height: 1.5em;
}

#home_columns #leftcol {
	float: left;
	width: 237px;
	padding: 0;
	background: url(../images/john_hershey1.png) no-repeat top left;
	min-height: 200px;
}

#home_columns #leftcol #linkedin {
	float: left;
	width: 133px;
	margin: 163px 0 0 81px;
}

#home_columns #leftcol #linkedin img {
	float: left;
	width: 15px;
	margin: 0;
	padding: 0;
}

#home_columns #leftcol #linkedin a {
	float: left;
	width: 113px;
	margin: 0;
	padding: 2px 0 0 5px;
	color: #3a8dba;
	text-decoration: none;
}

#home_columns #leftcol #testimonial {
	float: left;
	width: 217px;
	padding-top: 30px;
	padding-left: 20px;
}

#home_columns #leftcol #testimonial p {
padding-bottom: 0;
}

#home_columns #leftcol #testimonial .client {
	text-align: right;
	padding-top: 5px;
	padding-bottom: 20px;
}

#home_columns #midcol {
	float: left;
	width: 548px;
	padding-left: 10px;
}

#home_columns #rightcol {
	float: left;
	width: 137px;
	margin-right: 40px;
}

/*---------- subpage content -----------*/

#main_container #sub_leftcol {
	float: left;
	width: 587px;
	margin: 0;
	padding: 29px 55px 0 35px;
	background: url(../images/sub_bg.jpg) no-repeat left top;
	text-align: left;
	line-height: 18px;
	color: #3b3a38;
}

#main_container #sub_leftcol p {
	margin-bottom: 16px;
}

#main_container #sub_leftcol .resource_table {
	float: left;
	width: 175px;
	padding: 0 5px 15px 15px;
}

#main_container #sub_leftcol .resource_table .middle {
border-left: 1px solid #ececec;
border-right: 1px solid #ececec;
}

#main_container #sub_leftcol .category {
	font-size: 16px;
	font-weight: bold;
	text-transform: uppercase;
}

#main_container #sub_leftcol ul {
	padding-bottom: 15px;
}

#main_container #sub_leftcol li {
	list-style: outside;
	list-style-type: disc;
}

#main_container #sub_rightcol {
	float: right;
	width: 397px;
	margin: 0;
	padding: 0;
	font-size: 14px;
	color: #FFFFFF;
}

#main_container #sub_rightcol #top {
	width: 397px;
	margin: 0;
	padding:0;
	min-height: 510px;
	background: url(../images/side_bg.jpg) no-repeat left top;
}

#main_container #sub_rightcol #top img {
	float: left;
	width: 373px;
	padding-left: 3px;
	padding-bottom: 20px;
}

#main_container #sub_rightcol #top p {
	margin: 0;
	padding: 0 25px 0 15px;
	font-size: 14px;
	color: #FFFFFF;
	text-align: left;
	line-height: 18px;
}

#main_container #sub_rightcol #top p.name {
	margin-top: 20px;
	padding: 0 30px 0 20px;
	text-align: right;
	font-weight: bold;
}

#main_container #sub_rightcol #lower {
	width: 397px;
	margin: 0;
	padding:0;

}
#main_container #sub_rightcol #lower .lg_linkedin {
	float: right;
	width: 122px;
	margin-top: 10px;
	padding-right: 30px;
}

#main_container h2 {
	padding-bottom: 25px;
	font-family:Georgia, "Times New Roman", Times, serif;
	font-size: 30px;
	color: #0e487c;
	font-weight: normal;
}


/*---------- portfolio content -----------*/

#main_container #portfolio_main {
	float: left;
	width: 984px;
	margin: 0;
	padding: 29px 55px 0 35px;
	background: url(../images/portfolio_bg.jpg) no-repeat left top;
	text-align: left;
}

#consulting, #residential, #green, #commercial {
	float: left;
	width: 236px;
	padding: 0 2px 10px 2px;
	border-right: solid #19604a 8px;
}

#commercial {
	border-right: none;
}

#main_container #portfolio_main img {
	padding-top: 10px;
}

#main_container #portfolio_main p {
	padding-left: 10px;
	font-size: 14px;
	color: #276f9e;
}

/*---------- portfolio project detail -----------*/

.portfolio_container {
	width: 860px;
	margin: 0 auto;
	padding: 0;
	text-align: left;
}

.portfolio_container .image_col {
	float: left;
	width: 429px;
	padding-right: 10px;
	border-right: 1px dotted #CCC;
}

.portfolio_container .description_col {
	float: right;
	width: 386px;
	padding-top: 10px;
	padding-left: 19px;
	padding-right: 15px;
	font-size: 12px;
	color: #666;
	line-height: 18px;
}

/*---------- contact form -----------*/
#form {
	float: right;
	width: 364px;
	height: 362px;
	padding: 0;
	text-align: left;
}

#form p{
	padding: 0 0 20px 0;
	line-height: 18px;
}

.label {
	float: left;
	width: 85px;
	font-weight: bold;
	clear: left;
}

input#name, input#phone, input#email, textarea#details {
	width: 264px;
	margin-bottom: 10px;
}

input#send {
	margin-left: 85px;
}

.confirmheader {
	font-size: 24px;
	font-weight: bold;
	color: #b00000;
}

#form p.confirm{
	padding: 15px 21px 0 15px;
	line-height: 18px;
}

#address {
	float: left;
	width: 223px;
}

/*---------- footer section -----------*/

#bottom {
	height: 100px;
	margin-top: 50px;
}

#links {
	float: left;
	width: 600px;
	margin: 0;
	padding: 0;
	text-align: left;
}

#links ul {
	margin-top: 21px;
	padding: 0;
}

#links li {
	display: inline;
}

#links a {
	margin: 0;
	padding: 0 7px 0 5px;
	font-size: 11px;
	text-decoration: none; 
	border-right: 1px solid #4fadd9;
}

#links a.first {
	padding-left: 0;
}

#links a.last {
	border-right: none;
}

#copyright {
	float: left;
	padding: 5px 0 0 0;
	color: #42598a;
	font-size: 11px;
}

/* LINKS  */

#links a:link { color: #4fadd9; }
#links a:visited { color: #4fadd9; }
#links a:hover { color: #999999; }
#links a:active { color: #999999; }

#main_container #sub_leftcol a:link { color: #4fadd9; }
#main_container #sub_leftcol a:visited { color: #4fadd9; }
#main_container #sub_leftcol a:hover { color: #999999; }
#main_container #sub_leftcol a:active { color: #999999; }

/*  UTILITIES */

.clear { clear:both; }
a img { border:none }
.italic { font-style: italic; }
.bold { font-weight: bold; }
