/* - - - - - - - - - - - - - - - - - - - - - - -

Title :    TechSpa
URL :      http://www.techspa.net/

Created :  01.22.2010
Modified : 02.01.2010

- - - - - - - - - - - - - - - - - - - - - - - */

/* -----------------------------------------
Global Reset
v1.0 | 20080212 
http://meyerweb.com/eric/tools/css/reset/
-------------------------------------------- */
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;
}

blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }

del { text-decoration: line-through; }
ins { text-decoration: none; background: #ffc; }

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

:focus { outline: none; }

/* Font Reset */
body { font-family: Arial, Helvetica, Verdana, sans-serif; font-size: 62.5%; }
html>body { font-size: 10px; }

/* ----------------------------------------- 
Clearfix Hack [slightly enhanced]
http://perishablepress.com/press/2008/02/05/
-------------------------------------------- */
.clearfix:after, #content:after { 
	visibility: hidden; 
	display: block; 
	font-size: 0; 
	content: " "; 
	clear: both; 
	height: 0;
}
.clearfix, #content { display: inline-block; }
/* start commented backslash hack \*/
* html .clearfix, * html #content { height: 1%; }
.clearfix, #content { display: block; }
/* close commented backslash hack */

/* - - - - - - - - - - - - - - - - - - - - - - -               H T M L	               - - - - - - - - - - - - - - - - - - - - - - - */

/* Anchor Links 
-------------------------------------------- */
a:link { color: #00f; text-decoration: underline; }
a:visited { color: #00f; text-decoration: underline; }
a:hover {  color: #00f; text-decoration: none; }
a:active {  color: #00f; text-decoration: none; }

/* Headings 
-------------------------------------------- */
h1 { margin: 0 0 0.5em; font-size: 2.6em; font-weight: normal; color: #2c5f9d; }
h2 { margin: 0; font-size: 1.3em; font-weight: bold; text-transform: uppercase; }
h3 { margin: 0; font-size: 1.4em; font-weight: bold; line-height: 1.4em; color: #255186; }
h3 em { font-weight: normal; }

#main-content h3 a { color: #2c5f9d; text-decoration: none; }
#main-content h3 a:hover { text-decoration: underline; }

h5 {
	margin: 0 0 8px; 
	padding: 2px 8px; 
	font-size: 1.7em; 
	font-weight: normal; 
	color: #fff; 
	background: #8fc75e; 
}

#main-content h1 a { text-decoration: none; color: #2c5f9d; }

/* Text Elements 
-------------------------------------------- */
p, ul, ol, dl, blockquote, pre { margin: 0 0 1em; font-size: 1em; line-height: 1.4em; }

#main-content p { font-size: 1.2em; }

blockquote { padding: 0 1.25em; }
small, cite { font-size: 0.9em; }
strong, b, dt, th { font-weight: bold; }
address, cite, em, i, caption, dfn, var { font-style: italic; }

ul, ol { margin: 0 0 2em; padding: 0 0 15px; }
ul li, ol li { margin-left: 1em; line-height: 1.6em; }

#main-content ul { margin: 0 0 0 2em; font-size: 1.2em; }
#main-content li { margin: 0 0 1em 1em; }

ul { list-style-type: disc; }
ul ul { list-style-type: circle; }
ul ul ul { list-style-type: square; }
ul ul ul ul { list-style-type: disc; }

ol { list-style-type: decimal; }
ol ol { list-style-type: upper-roman; }
ol ol ol { list-style-type: lower-roman; }
ol ol ol ol { list-style-type: upper-alpha; }

dl { margin-bottom: 2em; }
dt { font-weight: bold; }
dd { margin-bottom: 1em; padding-left: 1.5em; }

del { text-decoration: line-through; }
address, abbr, acronym { font-style: normal; }
acronym, abbr { border-bottom: 1px dotted #333; cursor: help; }
acronym { text-transform: uppercase; }
pre, kbd, code, samp, tt, var { font-family: "Courier New", Courier, monospace monospace; }

sub { font-size: 0.9em; line-height: 1em; vertical-align: sub; }
sup { font-size: 0.9em; line-height: 1em; vertical-align: super; }

/* Tables 
-------------------------------------------- */
table {	margin: 0 0 1.5em; }
caption { text-align: left; }
th, td { padding: 0.25em 0.5em; }
tbody td, tbody th { border: 1px solid #999; }
tfoot { font-style: italic; }

/* - - - - - - - - - - - - - - - - - - - - - - -         M A I N - L A Y O U T         - - - - - - - - - - - - - - - - - - - - - - - */

/* Global Styles
-------------------------------------------- */
body {
	color: #000;
	background: #fff url(../img/body_bg.jpg) repeat center top;
}

#shadow { background: url(../img/shadow_content.png) repeat-y center top; }

#wrapper {
	margin: 0 auto;
	width: 960px;
	text-align: left;
}

/* Navigation Reset */
.nav, .nav li, .nav ul, .nav ul li { margin: 0; padding: 0; list-style: none; }

/* Header
-------------------------------------------- */
#header {
	position: relative;
	padding: 20px 0 0;
	background: #2c5f9d;
}

#branding {
	position: relative;
	width: 915px;
	height: 117px;
	overflow: hidden;
	padding: 32px 45px 0 0;
	background: url(../img/header_bg.jpg) no-repeat 0 0;
}

#branding img {
	position: absolute;
	top: 25px;
	left: 20px;
}

#branding p {
	text-align: right;
	color: #19467e;
	font-size: 1.2em;
	line-height: 1.2em;
}

#branding p strong { font-size: 1.4em; }

#branding p a { color: #19467e; text-decoration: none; }
#branding p a:hover { text-decoration: underline; }

/* Global Navigation */
#header ul.nav,
#header ul.nav li,
#header ul.nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

#header ul.nav {
	background-color: #2c5f9d;
	position: relative;
	z-index: 597;
	float: left;
	width: 960px;
	height: 34px;
}

#header ul.nav li {
	float: left;
	line-height: 1.3em;
	vertical-align: middle;
	text-align: center;
	zoom: 1;
	padding-top: 9px; 
}

#header ul.nav li a {
	float: left;
	display: block;
	width: 150px;
	height: 26px;
	text-decoration: none;
	color: #fff;
	font-size: 1.7em;
	text-align: center;
	
}
#header ul.nav li a:hover { color: #66CC33; }

#header ul.nav li.hover,
#header ul.nav li:hover {
	position: relative;
	z-index: 599;
	cursor: default;
}

#header ul.nav ul {
	background-color: #2c5f9d;
	visibility: hidden;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 598;
	width: 250px;
}

#header ul.nav ul li {
	float: none;
}

#header ul.nav ul li a {
	text-align: left;
	width: 250px;
	padding-left: 5px;
}

#header ul.nav ul ul {
	top: 1px;
	left: 99%;
}

#header ul.nav li:hover > ul {
	visibility: visible;
}





/* Content
-------------------------------------------- */
#content {
	clear: both;
	padding: 34px 0 40px;
	background: #FFF8E5 url(../img/content_bg.jpg) repeat-x 0 0;
}

#main-content {
	float: right;
	width: 725px;
	padding: 0 45px 0 0;
}

#sub-content {
	float: left;
	width: 190px;
}

/* Secondary Navigation */
#sub-content h5 { width: 140px; margin: 0 0 4px; padding: 2px 15px; }

#sub-content .nav { padding: 0 20px 0 15px; }

#sub-content .nav li a {
	display: block;
	padding: 8px 0;
	font-size: 1.2em;
	text-decoration: none;
	color: #2c5f9d;
	border-bottom: 1px solid #8fc75e;
}

/* ADD THIS */
#sub-content .nav li a:hover, 
#sub-content .nav li.active a {
	color: #629D2e;
}
/* END ADD THIS */

/* Footer
-------------------------------------------- */
#footer {
	clear: both;
	padding: 24px 0 80px;
	font-size: 1.2em;
	font-weight: bold;
	text-align: center;
	background: url(../img/shadow_footer.png) no-repeat center top;
}

/* - - - - - - - - - - - - - - - - - - - - - - -    S E C O N D A R Y - L A Y O U T    - - - - - - - - - - - - - - - - - - - - - - - */

/* PROJECTS PAGE
-------------------------------------------- */
a.more {
	display: inline-block;
	padding: 0 0 0 0.25em;
	font-weight: bold;
	font-style: italic;
	text-transform: uppercase;
	text-decoration: none;
	color: #629D2e;
}

a.more:hover { text-decoration: underline; }

#main-content ul#featured {
	float: left;
	margin: 0 0 50px;
	font-size: 1em; 
	list-style: none;
}

#main-content ul#featured li {
	clear: both;
	margin: 0 0 12px;
	padding: 12px 0 0;
	list-style: none;
	border-top: 1px solid #8fc75e;
}

#main-content ul#featured li:first-child { border-top: none; padding: 0; }

#featured img { float: left; margin: 0 18px 12px 0; }

#featured h3,
#featured p {
	float: right;
	width: 420px;
}

/* PROJECTS DETAIL PAGE
-------------------------------------------- */
#main-content ul#accent-photos {
	float: left;
	width: 232px;
	margin: 0 20px 0 0;
	list-style: none;
}

#main-content ul#accent-photos li {
	margin: 0;
	list-style: none;
}

#accent-photos li img {
	margin: 0 0 12px;
	vertical-align: bottom;
}

#project-description {
	float: right;
	width: 470px;
}

/* CATEGORY PAGE
-------------------------------------------- */
#main-content ul#category-list {
	float: left;
	position: relative;
	z-index: 50;
	width: 725px;
	margin: 0 0 -45px;
	list-style: none;
	font-size: 1em;
}

#main-content ul#category-list li {
	float: left;
	width: 205px;
	min-height: 270px;
	margin: 0 31px 0 0;
	padding: 0 15px 30px 0;
	list-style: none;
	border-right: 1px solid #8fc75e;
}

#main-content ul#category-list li.last-item {
	margin: 0;
	border-right: none;
}

#main-content ul#category-list img {
	margin: 0 0 10px;
	vertical-align: bottom;
}

#main-content ul#category-list p {
	margin: 0;
}

#additional-projects {
	clear: both; 
	position: relative;
	z-index: 90;	
	background: #fff8e7;
	border-top: 20px solid #fff8e7;
}

#additional-projects ul {
	float: left;
	width: 330px;
	margin: 0 30px 0 0;
}

#additional-projects a {
	font-weight: bold;
	color: #2C5F9D;
	text-decoration: none;
}

/* HOME PAGE
-------------------------------------------- */

body#home #header ul.nav {
	width: 612px;
	height: 34px;
	float: right;
}

body#home #header .nav li a {
	float: left;
	display: inline-block;
	display: block;
	width: 102px;
	height: 34px;
	overflow: hidden;
	text-decoration: none;
	color: #fff;
}

body#home #header ul.nav li ul li a {
	float: none;
	width: 250px;
	height: 24px;
	text-align: left;
}

body#home #header ul.nav ul {
	top: 34px;
}

body#home #header .nav li a:hover { color: #66CC33; }

/*body#home #header .nav li#gn-home a { width: 92px; background-position: -20px 0; }
body#home #header .nav li#gn-services a { width: 112px; background-position: -175px 0; }
body#home #header .nav li#gn-projects a { background-position: -350px 0; }
body#home #header .nav li#gn-support a { background-position: -510px 0; }
body#home #header .nav li#gn-about a { background-position: -670px 0; }
body#home #header .nav li#gn-contact a { background-position: -830px 0; }

body#home #header .nav li#gn-home a:hover { background-position: -20px -34px; }
body#home #header .nav li#gn-services a:hover { background-position: -175px -34px; }
body#home #header .nav li#gn-projects a:hover { background-position: -350px -34px; }
body#home #header .nav li#gn-support a:hover { background-position: -510px -34px; }
body#home #header .nav li#gn-about a:hover { background-position: -670px -34px; }
body#home #header .nav li#gn-contact a:hover { background-position: -830px -34px; }*/
/* END ADD THIS */






body#home #content {
	position: relative;
	height: 683px;
	padding: 0;
	background: url(../img/home_content_bg.jpg) no-repeat 0 0;
}

body#home #content-top {
	position: absolute;
	top: -59px;
	left: 0;
	width: 349px;
	height: 59px;
	background: url(../img/home_content_bg_top.jpg) no-repeat 0 0;
}

body#home #main-content {
	position: relative;
	width: 585px;
}

body#home #sub-content { position: absolute; top: -10px; left: 0; width: 311px; }

body#home #sub-content img { vertical-align: bottom; }

body#home h1 {
	width: 580px;
	height: 100px;
	text-indent: -9999em;
	overflow: hidden;
}

body#home ul#callouts {
	position: absolute;
	top: 160px;
	left: 45px;
	width: 570px;
	margin: 0;
	padding: 0;
	list-style: none;
	color: #19467E;
	font-size: 1.4em;
	line-height: 1.2em;
}

body#home ul#callouts li { 
	float: left; 
	display: block;
	width: 170px;
	margin: 0 20px 0 0;
	padding: 0;
	list-style: none;
}

body#home ul#callouts li a {
	float: left;
	display: block;
	padding: 160px 0 0;
	text-decoration: none;
	color: #19467E;
}

body#home ul#callouts li a strong {
	display: block;
	text-transform: uppercase;
	font-size: 1.1em;
	line-height: 1.1em;
}

body#home ul#callouts li a em {
	display: inline-block;
	padding: 0;
	font-style: normal;
	font-weight: normal;
	text-transform: lowercase;
	text-decoration: none;
	color: #629D2e;
}

body#home ul#callouts li a:hover em { text-decoration: underline; }

form div { padding: 7px 0 7px 0; clear: left; }
form div label { float: left; width: 120px; font-size: 1.3em; }
form div input { width: 180px; }
