/* reset, clearfix */
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,
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;
}
/* remember to define focus styles! */
:focus {
	outline: 0;
}
body {
	line-height: 1;
	color: black;
	background: white;
}
ol, ul {
	list-style: none;
}
/* tables still need 'cellspacing="0"' in the markup */
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: "" "";
}
.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    font-size: 0;
    clear: both;
    visibility: hidden;
}
.clearfix {display: inline-block;}
/* Hides from IE5/Mac \*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/* End hide from IE5/Mac */
p.clear { clear: both;   margin: 0; padding: 0; }

/* ************************************************************** */

body {
	background:url("images/bg_body.png");
	margin:0;
	padding:0;
	border:0;
	font-family:"Trebuchet MS",Helvetica,Jamrul,sans-serif;
	font-size:13px;
	color:#333;
	line-height:130%;
}
#gradient{
	background:url("images/bg_gradient.png");
	background-repeat:repeat-x;
}
#header{
	background:url("images/bg_header.png");
	position:relative;
	margin:0 auto;
	width:960px;
	height:160px;
	z-index:9999;
}
#container {
	position:relative;
	background:url("images/bg_container.png");
	background-repeat:repeat-y;
	margin:0 auto;
	width:960px;
	min-height:400px;
}
#container_top {
	background:url("images/bg_container_top.png");
	background-repeat:no-repeat;
}
#footer {
	background:url("images/bg_footer.png");
	background-repeat:no-repeat;
	margin:0 auto;
	width:960px;
}

/* columns */
#left{
	position:absolute;
	top:0;
	left:0;
	width:180px;
}
#content{
	margin-left:203px;
	width:500px;
}
#right{
	position:absolute;
	top:0;
	left:730px;
	width:230px;
}

/* NORMAL STUFF */
h1 {
	font-family:Rockwell, "Courier New", Courier, Georgia, Times, "Times New Roman", serif;
	font-size:46px;
	color:#fff;
	line-height:120%;
}
h2 {
	font-size:20px;
	color:#004D83;
	line-height:120%;
}
h3 {
	font-size:20px;
	color:#1C5D89;
	line-height:120%;
}
h4 {
	font-size:18px;
	color:#1A5D87;
	line-height:120%;
}
h5 {
	font-size:13px;
	color:#1A5D87;
	margin:0;
	line-height:120%;
}
p,
ul,
ol{
	margin:0 0 16px 0;
}
p {
	line-height:130%;
}
a {
	color:#1A5D87;
}
b,
strong{
	font-weight:bold;
}
i,
em{
	font-style: italic;
}
ol {
	list-style:decimal;
	margin-left:32px;
}
ul {
	list-style:disc;
	margin-left:32px;
}
ul li,
ol li {
	margin:0 0 4px 0;
	line-height:130%;
}

/* header items */
#logo {
	position:absolute;
	top:0;
	left:10px;
}
#logo a{
	display:block;
	width:81px;
	height:81px;
}
#logo span {
	display:none;
}
#search{
	position:absolute;
	top:33px;
	left:797px;
}
#search input{ 
	background-color: transparent;
	border:none;
	border-bottom:1px solid #fff;
	width:150px;
	padding:2px;
	font-size:11px;
	color:#fff;
}
#header h1{ 
	position:absolute;
	top:94px;
	left:10px;
	text-shadow:#004E83 -2px 2px 5px;
}

/* home page stuff */
#home_gradient{
	background:url("images/bg_gradient_home.png");
	background-repeat:repeat-x;
}
#home{
	margin:0 auto;
	width:960px;
	height:765px;
	background:url("images/bg_home.jpg");
	background-repeat:no-repeat;
	position:relative;
}
#home #hero {
	position:absolute;
	left:409px;
	top:56px;
	width:549px;
	height:394px;
	overflow:hidden;
}	
#home #hero ul {
	list-style:none;
	margin:0;
	padding:0;
}
#home #hero ul li {
	margin:0;
	padding:0;
}
#home #col1{
	position:absolute;
	display:block;
	left:10px;
	top:502px;
	width:220px;
	height:250px;
}
#home #col2{
	position:absolute;
	display:block;
	left:250px;
	top:502px;
	width:220px;
	height:250px;
}
#home #col3{
	position:absolute;
	display:block;
	left:490px;
	top:502px;
	width:220px;
	height:250px;
}
#home #col4{
	position:absolute;
	display:block;
	left:730px;
	top:502px;
	width:220px;
	height:250px;
}
#home #col1 p,
#home #col2 p,
#home #col3 p,
#home #col4 p{
	font-size:12px;
	line-height:120%;
	margin:0 0 8px 0;
}	
#home #col1 ul,
#home #col2 ul,
#home #col3 ul,
#home #col4 ul{
	margin:0;
	padding:0;
	list-style:none;
}	
#home #col1 li,
#home #col2 li,
#home #col3 li,
#home #col4 li{
	font-size:12px;
	line-height:120%;
	margin:0;
	padding:0 0 0 12px;
	background:url("images/li.png");
	background-repeat:no-repeat;
	background-position:0 3px;
}	
#home a.moreinfo{
	position:absolute;
	top:200px;
	left:6px;
	text-decoration:none;
	background:url("images/home_moreinfoarrow.png");
	background-repeat:no-repeat;
	background-position:0 2px;
	padding:0 0 0 16px;
	color:#1A5D87;
	font-weight:bold;
	font-size:14px;
}
#home a.moreinfo:hover{
	background:url("images/home_moreinfoarrow_f2.png");
	background-repeat:no-repeat;
	background-position:0 2px;
	color:#390;
}
#home h2{
	position:absolute;
	top:0px;
	left:5px;
	text-decoration:none;
	color:#1C5D89;
	font-weight:normal;
	font-size:20px;
	margin:-33px 0 0 0;
}
#home #col3 #recentworkpic{
	position:relative;
	background:url("images/home_bgprojects.png");
	width:228px;
	height:109px;
	margin:5px 0 0 -4px;
}
#home #col3 #recentworkpic img{
	position:absolute;
	top:9px;
	left:9px;
}
#home #col3 #recentworkcopy{
	padding:0 5px 10px 5px;
}
#home #col4 #staffmemberpic{
	position:absolute;
	top:5px;
	left:-4px;
	background:url("images/home_bgstaffmember.png");
	width:101px;
	height:184px;
}
#home #col4 #staffmemberpic img{
	position:absolute;
	top:9px;
	left:9px;
}

/* projects */
#projects-list {
}
div.projects-list-item {
	margin:10px 0 10px 0;
	padding:10px 0 16px 0;
	border-bottom:1px solid #fff;
}
div.projects-list-item div.pic,
div.project div.pic {
	position:relative;
	float:right;
	background:url("images/home_bgprojects.png");
	width:228px;
	height:109px;	
	margin:-5px 0 0 0;	
}
div.projects-list-item div.pic img,
div.project div.pic img {
	position:absolute;
	top:9px;
	left:9px;
}
div.projects-list-item div.copy p:last-child{
	margin:0;
}
div.projects-list-item:first-child{
	margin:0 0 10px 0;
	padding:0 0 16px 0;
}
div.staffmemberpic{
	position:relative;
	float:left;
	margin-left:-4px;
	background:url("images/home_bgstaffmember.png");
	width:101px;
	height:184px;
}
div.staff div.staffmemberpic{
	margin:-5px 0 0 0;
}
div.staffmemberpic img{
	position:absolute;
	top:9px;
	left:9px;
}
ul.staffposition {
	margin:0;
	padding:0;
	list-style:none;
}	
ul.staffposition li{
	font-size:12px;
	line-height:120%;
	margin:0;
	padding:0 0 0 12px;
	background:url("images/li.png");
	background-repeat:no-repeat;
	background-position:0 3px;
}	
div.pdf {
	margin:0;
	padding:3px 0 0 24px;
	background:url("images/doc_pdf.png");
	background-repeat:no-repeat;
	background-position:0 4px;
	min-height:20px;
	*height:20px;
	color:#999;
}
div.pdf a{
	text-decoration:none;
}



/* right column */
#right #recentworkpic{
	position:relative;
	background:url("images/home_bgprojects.png");
	width:228px;
	height:109px;
	margin:5px 0 0 -4px;
}
#right #recentworkpic img{
	position:absolute;
	top:9px;
	left:9px;
}
#right #recentworkcopy{
	padding:0 5px 10px 5px;
}
#right #recentworkcopy a{
	color:#000;
	text-decoration:none;
}
#right a.moreinfo{
	text-decoration:none;
	background:url("images/home_moreinfoarrow.png");
	background-repeat:no-repeat;
	background-position:0 3px;
	padding:0 0 0 16px;
	color:#1A5D87;
	font-weight:bold;
	font-size:14px;
}
#right a.moreinfo:hover{
	background:url("images/home_moreinfoarrow_f2.png");
	background-repeat:no-repeat;
	background-position:0 3px;
	color:#390;
}

/* site map */
#content #sitemap ul {
	list-style:none;
	margin:0;
}
#content #sitemap ul li{
	list-style:none;
	margin:0 0 8px 0;
	background:none;
	padding:0;
}
#content #sitemap ul li a{
	color:#000;
	text-decoration:none;
}
#content #sitemap ul li ul{
	margin:8px 0 0 32px;
}

/* breadcrumb */
#breadcrumb{
	color:#666;
	font-size:11px;
	margin:0 0 16px 0;
}
#breadcrumb a{
	color:#458387;
	text-decoration:none;
}
#breadcrumb a:hover{
	text-decoration:underline;
}

/* footer */
#footer p {
	font-size:11px;
	color:#666;
}
#footer p a{
	color:#666;
	text-decoration:none;
}
#footer p a:hover{
	color:#1C5D89;
}

/* menu */
#menu {
	position:absolute;
	left:112px;
	top:35px;
	z-index:8888;
}
/* level 1 */
#menu ul{
	list-style:none;
	position:relative;
	margin:0;
}
#menu ul li{
	float:left;
	margin:0;
	position:relative;
	height:21px;
}
#menu ul li a {
	text-decoration: none;
	color:#fff;
	font-size:16px;
	margin:0 14px 0 0;
	text-shadow:#668FAB -1px 1px 2px;
	line-height:120%;
}
#menu ul li a:hover,
#menu ul li a.hover {
	color:#fff;
	border-bottom:2px solid #fff;
}
#menu ul li a.on{
	color:#fff;
	border-bottom:2px solid #fff;
}
/* level 2 */
#menu ul li ul{
	display:none;
	position:absolute;
	top:100%;
	left:0;
	background:#fff;
	width:162px;
	border:2px solid #fff;
	-moz-box-shadow: 2px 2px 3px #666;
  	-webkit-box-shadow: 2px 2px 3px #666;
  	box-shadow: 2px 2px 3px #666;
}
#menu ul li ul li{
	float:none;
	background:url("images/menu_level2arrow.png");
	background-repeat:no-repeat;
	background-position:4px 6px;
	padding:4px 4px 4px 20px;
	border-bottom:1px solid #e7e7e7;
	height:auto;
}
#menu ul li ul li.hover{
	background:url("images/menu_level2arrow_f2.png");
	background-repeat:no-repeat;
	background-position:4px 6px;
}
#menu ul li ul li.on{
	background:url("images/menu_level2arrow_f3.png");
	background-repeat:no-repeat;
	background-position:4px 6px;
}
#menu ul li ul li.last-child{
	border-bottom:2px solid #6890AB;
}
#menu ul li ul li a {
	text-decoration: none;
	color:#666;
	font-size:14px;
	margin:0;
	text-shadow:none;
	border:0;
}
#menu ul li ul li a:hover,
#menu ul li ul li a.hover{
	color:#000;
	border:0;
}
#menu ul li ul li a.on{
	color:#1C5D89;
	border:0;
}
/* level 3 */
#menu ul li ul li ul{
	position:absolute;
	top:0;
	left:100%;
}
/* level 4 (don't want to show these) */
#menu ul li ul li ul li ul{
	display:none;
}

/* left nav */
#leftnav {
	margin:10px 0 0 10px;
	border-bottom:4px solid #6695B4;
}
#leftnav ul{
	list-style:none;
	margin:0;
	padding:0;
}
#leftnav ul li{
	background:url("images/leftnav_arrow1.png");
	background-repeat:no-repeat;
	background-position:0 4px;
	margin:2px 0px 2px 0;
	padding:2px 0px 2px 17px;
}
#leftnav ul li.hover{
	background:url("images/leftnav_arrow1_f2.png");
	background-repeat:no-repeat;
	background-position:0 4px;
}
#leftnav ul li.on{
	background:url("images/leftnav_arrow1_f3.png");
	background-repeat:no-repeat;
	background-position:0 4px;
}
#leftnav ul li a {
	text-decoration: none;
	color:#666;
	font-size:14px;
	margin:0;
	text-shadow:none;
	border:0;
}
#leftnav ul li a:hover,
#leftnav ul li a.hover{
	color:#000;
	border:0;
}
#leftnav ul li a.on{
	color:#1C5D89;
	border:0;
}
#leftnav ul li ul{
	margin:4px 0 0 0;
}
#leftnav ul li ul li{
	background:url("images/leftnav_arrow2.png");
	background-repeat:no-repeat;
	background-position:0 4px;
	margin:2px 0px 2px 0;
	padding:2px 0px 2px 16px;
}
#leftnav ul li ul li.hover{
	background:url("images/leftnav_arrow2_f2.png");
	background-repeat:no-repeat;
	background-position:0 4px;
}
#leftnav ul li ul li.on{
	background:url("images/leftnav_arrow2_f3.png");
	background-repeat:no-repeat;
	background-position:0 4px;
}
#leftnav ul li ul li a {
	font-size:13px;
}
#leftnav ul li ul li a:hover,
#leftnav ul li ul li a.hover{
}
#leftnav ul li ul li a.on{
}

#clientlogin label,
#stafflogin label{
	text-align:left;
}
#clientlogin input[type="text"],
#stafflogin input[type="text"],
#clientlogin input[type="password"],
#stafflogin input[type="password"] {
	width:300px;
}
#clientlogin button,
#stafflogin button {
	text-align:center;
	cursor:pointer;
}
div.loginerror {
	border:1px solid #333;
	background:#ff9;
	color:#333;
	padding:9px;
	margin:0 0 10px 0;
	width:450px;
}

/* validation */
#contactform em{
	color:#900;
}
label.error { 
	float: none; 
	color: #900; 
	vertical-align: top; 
	font-weight:bold;
	margin:4px 0 0 0;
	padding:0;
	display:block;
}
