body{
    margin:0;
    padding:0;
    font-size:100%;
    line-height:1.125em;
    font-family:arial, helvetica, sans-serif;
    background-color:#1a1b47;
    text-align:center;
}

.left{
    float:left;
    margin-right:10px;
}
.right{
    float:right;
    margin-left:10px;
}


/* nav */

#nav, #nav ul { /* all lists */
	padding: 0;
	margin: 0;
	list-style: none;
	line-height: 1em;
	font-size:1em;
}

ul#nav{
	width:648px;
	height:36px;
	background:url(images/nav_bg.gif) no-repeat #98cb4f;
}

#nav a {
	display: block;
	height:26px;
	width: 120px;
	padding-top:10px;
	color:#333;
	text-align:center;
}

#nav a:hover, #nav a:active{
	background:url(images/nav_top_bg.gif) no-repeat bottom #848ec7;
	text-decoration:none;
	color:#fff;
}

#nav li.first a:hover{
	background:url(images/nav_top_left_bg.gif) no-repeat bottom left #848ec7;
}
#nav li.last a:hover{
	background:url(images/nav_top_right_bg.gif) no-repeat bottom right #848ec7;
}

#nav a.parent:hover, #nav a.parent:active{
	background-image:none;
}

#nav li { /* all list items */
	float: left;
	width: 120px; /* width needed or else Opera goes nuts */
}

#nav li.wide, #nav li.wide a{
    width:132px;
}
#nav li.narrow, #nav li.narrow a{
    width:75px;
}

#nav li.wide a:hover, #nav li.wide a:active{
    background:url(images/nav_top_bg_wide.gif) no-repeat bottom #848ec7;
}

#nav li.narrow a:hover, #nav li.narrow a:active{
    background:url(images/nav_top_bg_narrow.gif) no-repeat bottom #848ec7;
}

#nav li.first, #nav li.first a{
    width:108px;
}
#nav li.last, #nav li.last a{
    width:93px;
}


#nav li ul { /* second-level lists */
	position: absolute;
	background: #848ec7;
	width:120px;
	left: -999em; /* using left instead of display to hide menus because display: none isn't read by screen readers */
}

#nav li li a:link, #nav li li a:visited, #nav li li a:hover, #nav li li a:active{
	font-size:1em;
	background:url(images/subnav_bg.gif) no-repeat bottom;
	color:#9ec5ea;
        cursor:pointer;
	
	/* special case for this site since there's only 1 subnav item */
	text-align:left;
	padding-left:21px;
	width:99px;
}

#nav li li a:hover, #nav li li a:active{
	color:#fff;
}

#nav li:hover ul, #nav li.sfhover ul { /* lists nested under hovered list items */
	left: auto;
}



#content{
    width:648px;
    padding-bottom:20px;
    margin:0 auto;
    text-align:left;
    overflow:auto;
    color:#68696b;
    background-color:#fff;
}

#content.home{
    padding-bottom:278px;
    background:url(images/bg_home.jpg) bottom right no-repeat #fff;
}
#content.about{
    padding-bottom:205px;
    background:url(images/bg_about.jpg) bottom right no-repeat #fff;
}
#content.what_we_do{
    padding-bottom:266px;
    background:url(images/bg_what_we_do.jpg) bottom right no-repeat #fff;    
}
#content.services{
    padding-bottom:279px;
    background:url(images/bg_services.jpg) bottom right no-repeat #fff;    
}
#content.call, #content.contact, #content.photos{
    background:#fff;    
}
#content.approach{
    padding-bottom:327px;
    background:url(images/bg_approach.jpg) bottom right no-repeat #fff;    
}
#content.news{
    padding-bottom:387px;
    background:url(images/bg_news.jpg) bottom right no-repeat #fff;    
}

#banner{
    padding:40px 0;
    background-color:#848ec7;
    color:#fff;
    border-bottom:2px solid #fff;
    overflow:auto;
}

#banner img{
    float:left;
    margin:0 40px 0 60px;
}

#banner.home img{
    float:none;
    margin:0;
}

#banner.home{
    text-align:center;
}

#copy{
    width:360px;
    padding:40px 40px 0 60px;
    float:left;
    background-color:#fff;
    overflow:auto;
}
#copy.wide{
    width:530px;
    padding:40px 58px 40px 60px;
}

#copy_extension{
    clear:both;
    padding:10px 40px 40px 60px;
}
.home #copy{
    width:380px;
    padding-left:40px;
}

img.heading{
    margin:0 0 20px 25px;
}

#sidebar{
    width:100px;
    margin:40px 0 0;
    padding:0 40px;
    float:left;
    border-left:2px solid #98cb4f;
}

#sidebar img{
    float:left;
}

#sidebar .caption{
    width:90px;
    float:left;
    margin:0 0 20px;
    background-color:#848ec7;
    color:#fff;
    text-align:center;
    font-size:.75em;
    padding:5px;
}
#sidebar .caption a{
    color:#fff;
    text-decoration:none;
}

#footer{
    width:628px;
    margin:0 auto;
    clear:both;
    padding:5px 10px;
    text-align:center;
    color:#fff;
    background-color:#848ec7;
}

a, a img{
    border:none;
    outline:none;
    color:#838ec6;
    text-decoration:none;
}

a:hover, a:active{
    text-decoration:underline;
}

#banner a:link, #banner a:visited{
    color:#fff;
    text-decoration:none;
}
#banner a:hover, #banner a:active{
    text-decoration:underline;
}

h2, h3{
    font-size:1em;
    line-height:1em;
}

p {
    margin-bottom:0;
    font-size:0.875em;
}

p.highlight{
    color:#848ec7;
}

.home p{
    margin:0;
}

#banner p{
    margin:135px 0 0;
    font-size:1em;
}

#banner.home p{
    margin:0 0 0 311px;
    font-size:.85em;
}

#banner em{
    font-style:normal;
}

#sidebar p{
    margin-top:0;
}

#footer p{
    font-size:.65em;
    margin:0;
}

small{
    color:#000;
    font-size:.75em;
}

/* colors */
.orange{
    color:#f68b33;
}
.green{
    color:#98cb4f;
}
.blue{
    color:#1c9ad6;
}


#copy ul{
    margin:10px 0 0;
    padding:0;
    font-size:.875em;
}

#copy li{
    list-style-type:none;
    background:url(images/li_bg.gif) no-repeat left;
    padding:5px 0 5px 15px;
}

/* forms */

form{
    font-size:.875em;
}

fieldset{
    border:none;
    padding:0;
    margin:10px 0;
}

.standard_info label{
    float:left;
    width: 60px;
}
label.inline{
    float:none;
    padding:0 20px;
}
.standard_info input{
    width:200px;
    margin:3px 0;
}

input.narrow{
    width:64px;
}

input.submit{
    float:left;
    margin:10px 0;
    clear:both;
}