/* -- RESET CSS
------------------------------------------------------------------------------------------ */
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, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, input, table, caption, tbody, tfoot, thead, tr, th, td {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-weight:inherit;
	font-style:inherit;
	font-size:100%;
	font-family:inherit;
	vertical-align:baseline;
}
html, body {
	height: 100%;
}
:focus {
	outline:0;
}
table {
	border-collapse:separate;
	border-spacing:0;
}
caption, th, td {
	text-align:left;
	font-weight:normal;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content:"";
}
blockquote, q {
	quotes:"" "";
}
strong, b {
	font-weight:bold;
}
a img { border:none; }
.mod:after {
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}
.clear {
	clear:both;
}
a:link {
	text-decoration:none;
	color:#006a8c;
}
a:visited {
	text-decoration:none;
	color:#006a8c;
}
a:hover {
	text-decoration:underline;
	color:#333;
}
a:active {
	text-decoration:none;
	color:#006a8c;
}
body {
	margin:0 auto;
	padding:0;
	font-family: "Helvetica Neue", Arial, Sans-serif;
	font-size:12px;
	color:#333;
	background:#fff url(../images/bg.gif) repeat-x left -20px;
}
form, div, span, h1, h2, h3, h4, p, ul, ol, li {
	margin:0;
	padding:0;
}
a img { border:none; }
.clear { clear:both; }
.mod:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
#loading-graphic {
	display:none;
}
strong {
	font-weight:bold;
}
strong.light {
	color:#73b2cb;
}

/* -- WRAPPER ----------------------------------------------- */
#wrapper {
	background:transparent url(../images/bg-wrapper.gif) no-repeat center -20px;
	z-index:100;
	position:relative;
}

/* -- CONTAINER ----------------------------------------------- */
#container {
	margin:0 auto;
	width:950px;
	z-index:100;
	position:relative;
}

/* -- HEADER ----------------------------------------------- */
#header {
	height:83px;
	width:950px;
	padding-top:75px;
	z-index:100;
	position:relative;
}
#logo {
	float:right;
	width:470px;
	height:78px;
}
#badge {
	width:162px;
	height:138px;
	position:absolute;
	top:20px;
	right:-165px;
}
ul#menu {
	list-style:none;
	padding-top:47px;
	height:21px;
}
ul#menu li {
	float:left;
	display:inline;
	height:21px;
	margin-right:4px;
	position:relative;
}
ul#menu li a {
	height:21px;
	padding-right:10px;
	display:inline-block;
	text-decoration:none;
	background:url(../images/menu-sprite.gif) no-repeat right top;
}
ul#menu li a span {
	height:21px;
	line-height:22px;
	display:inline-block;
	padding-left:10px;
	border:none;
	font-size:12px;
	text-transform:uppercase;
	text-shadow:#fff 1px 1px 2px;
	font-weight:normal;
	color:#333;
	text-decoration:none;
	background:url(../images/menu-sprite.gif) no-repeat left top;
}
ul#menu li.selected a,
ul#menu li a:hover,
ul#menu li a.active,
ul#menu li.sfHover a {
	background-position:right -40px;cursor:pointer;text-decoration:none;
}
ul#menu li.selected a span,
ul#menu li a:hover span,
ul#menu li a.active span,
ul#menu li.sfHover a span {
	background-position:left -40px;cursor:pointer;text-decoration:none;color:#fff;text-shadow:#02455f 1px 1px 2px;
}

ul#menu li ul {
	position:absolute;
	top:19px;
	left:0;
	z-index:100;
	width:200px;
	height:auto;
	padding:17px 0 0 0;
	margin:0 0 0 0;
	display:none;
}
ul#menu li ul li {
	float:none;
	display:block;
	width:auto;
	padding:0;
	margin:0;
	height:auto;
}
ul#menu li ul li a {
	display:block;
	float:none;
	padding:5px 10px;
	height:auto;
	margin-bottom:0;
	background-color:#fff;
	background-image:none;
	font-size:11px;
	color:#333;
	border-top:1px solid #b4d1dc;
}
ul#menu li ul li a:hover,
ul#menu li ul li.selected a,
ul#menu li ul li.sfHover a {
	background-image:none;
	background-color:#00678f;
	color:#fff;
}


ul#menu li ul li ul {
	position:absolute;
	top:0;
	left:200px;
	z-index:100;
	width:120px;
	height:auto;
	padding:0;
	margin:0 0 0 0;
	display:none;
}
ul#menu li ul li ul li {
	float:none;
	display:block;
	width:auto;
	padding:0;
	margin:0;
	height:auto;
}
ul#menu li ul li ul li a,
ul#menu li ul li.sfHover ul li a {
	display:block;
	float:none;
	padding:5px 10px;
	height:auto;
	margin-bottom:0;
	background-color:#fff;
	background-image:none;
	font-size:11px;
	color:#333;
}
ul#menu li ul li ul li a:hover,
ul#menu li ul li.sfHover ul li a:hover {
	background-image:none;
	background-color:#00678f;
	color:#fff;
}


/* -- BANNER ----------------------------------------------- */
#banner {
	position:relative;
	z-index:5;
	width:950px;
	height:328px;
	overflow:hidden;
}
#banner-photo {
	float:left;
	width:562px;
	height:300px;
}
.banner-photo-aboutus {
	background:#000 url(../images/bg-banner-aboutus.jpg) no-repeat;
}
.banner-photo-contactus {
	background:#000 url(../images/bg-banner-contactus.jpg) no-repeat;
}
.banner-photo-projects {
	background:#000 url(../images/bg-banner-projects.jpg) no-repeat;
}
.banner-photo-gallery {
	background:#000 url(../images/bg-banner-gallery.jpg) no-repeat;
}
.banner-photo-solar-security {
	background:#000 url(../images/bg-banner-solar-security.jpg) no-repeat;
}
#banner-content {
	float:right;
	width:348px;
	height:280px;
	padding:20px 20px 0 20px;
}
#banner-content h2 {
	font-size:16px;
	font-weight:bold;
	text-transform:uppercase;
	padding-bottom:12px;
	text-shadow:#fff 1px 1px 2px;
}
#banner-content p {
	font-size:12px;
	line-height:17px;
	padding-bottom:16px;
}
#banner-content p.contact-methods {
	line-height:22px;
	margin:0;
	padding:0 0 10px 0;
}
#banner-content a {
	color:#006a8c;
	text-decoration:none;
}
#banner-content a:hover {
	color:#333;
	text-decoration:none;
}
ul#projects-menu {
	list-style:square;
	padding:0 0 0 30px;
	color:#ccc;
}
ul#projects-menu li {
	float:left;
	width:145px;
	padding-right:10px;
	padding-bottom:4px;
	color:#ccc;
}
ul#gallery-menu {
	list-style:square;
	padding:0 0 0 30px;
	color:#ccc;
}
ul#gallery-menu li {
	float:none;
	width:auto;
	padding-right:0;
	padding-bottom:4px;
	color:#ccc;
}

#banner-cycle {
	width:950px;
	height:328px;
	position:relative;
	background:transparent url(../images/loading.gif) no-repeat 50% 50%;
}
#banner-cycle-ie {
	display:none;
}
#banner-cycle img {
	position:absolute;
	top:0px;
	left:0px;
	display:none;
}
#banner-cycle a {
	border:0;
}
.nivo-controlNav {
	position:absolute;
	width:950px;
	text-align:center;
	left:0;
	bottom:0;
	z-index:99;
}
.nivo-controlNav a {
	border:0;
	display:inline-block;
	padding:1px 3px;
	margin-right:4px;
	background-color:#fcfdfe;
	color:#73b2cb;
}
.nivo-controlNav a:hover {
	text-decoration:none;
	color:#333;
}
.nivo-controlNav a.active {
	background-position:-10px 0;
	font-weight:normal;
	background-color:#00678f;
	color:#fff;
}
.nivo-directionNav a {
	display:block;
	width:25px;
	height:40px;
	background:url(../images/arrows.png) no-repeat;
	text-indent:-9999px;
	border:0;
}
a.nivo-nextNav {
	background-position:-25px 0;
	right:0;
}
a.nivo-prevNav {
	left:0;
}
#heading {
	position:absolute;
	bottom:28px;
	left:0;
	z-index:99;
	width:auto;
	background:transparent url(../images/bg-heading.png) no-repeat top right;
}
#heading h1 {
	width:auto;
	font-weight:normal;
	color:#fff;
	padding:6px 10px;
	margin:0;
	font-size:14px;
	font-weight:bold;
	text-shadow:#333 1px 1px 2px;
}
#prev-gallery {
	position:absolute;
	bottom:0;
	left:0;
	z-index:100;
}
#next-gallery {
	position:absolute;
	bottom:0;
	right:0;
	z-index:100;
}
#prev-gallery a:hover, #next-gallery a:hover {
	text-decoration:none;
}


/* -- CONTENT ----------------------------------------------- */
#content {
	margin:0 auto;
}
#main-content {
	padding:25px 219px;
}
#main-content h2 {
	font-size:16px;
	font-weight:bold;
	padding-bottom:12px;
	text-shadow:#fff 1px 1px 2px;
}
.full-content {
	padding:0 25px 25px 25px;
}
#main-content p,
.full-content p  {
	font-size:12px;
	line-height:17px;
	text-shadow:#fff 1px 1px 2px;
	padding-bottom:16px;
}
#main-content ul {
	list-style:disc;
	padding:0 0 16px 25px;
}
img.left {
	float:left;
	padding:0 30px 0 0;
}
img.right {
	float:right;
	padding:0 0 0 30px;
}

/* -- FOOTER ----------------------------------------------- */
#footer {
	text-align:center;
	font-size:11px;
	color:#91adb6;
	padding:70px 0 25px 0;
	text-shadow:#fff 1px 1px 2px;
	background:transparent url(../images/logo-words.gif) no-repeat top center;
}
#footer a {
	color:#91adb6;
	text-decoration:none;
}
#footer a:hover {
	text-decoration:underline;
}

/* -- EMAIL FORM ----------------------------------------------- */
#email-form {
}
#email-form fieldset,
div.form-result {
	border:none;
	background-color:#f0f6f8;
	padding:10px;
	margin:0;
	border-top:1px solid #a8ccd9;
	border-bottom:1px solid #a8ccd9;
}
div.form-error {
	background-color:#f7f8e6;
	font-size:11px;
	padding:4px 0;
	border-top:1px solid #9fa374;
	text-align:center;
}
#banner-content div.form-error p {
	font-size:11px;
	margin:0;
	padding:0;
	text-align:center;
}
#email-form label {
	float:left;
	font-size:11px;
	display:block;
	width:47px;
	height:25px;
	text-align:right;
	padding:4px 10px 0 0;
}
#email-form label.clear {
	clear:left;
}
#email-form input {
	float:left;
	width:94px;
	height:15px;
	padding:2px 3px;
	margin:0 0 10px 0;
	border:1px solid #a8ccd9;
	outline:none;
}
#email-form input#email {
	width:253px;
}
#email-form input:focus {
	background-color:#f7f8e6;
}
#email-form textarea {
	float:left;
	width:253px;
	height:54px;
	padding:2px 3px;
	margin:0;
	border:1px solid #a8ccd9;
	outline:none;
}
#email-form textarea:focus {
	background-color:#f7f8e6;
}
#email-form input#submit {
	width:54px;
	height:17px;
	margin:0 0 0 57px;
	border:none;
	background:transparent url(../images/btn-email-form.gif) no-repeat;
	text-indent:-9999px;
	cursor:pointer;
}
#email-form p.required {
	padding:2px 0 0 90px;
	margin:0;
	font-size:11px;
	color:#00678f;
	display:inline;
}

