/************************************************************************

	GLOBAL CSS
	==========

	Provides all global styles for the site which more specific sections 
	can be built on using the layered css technique

	Author:		Nick Watson
				Tom Fletcher
				[www.optixsolutions.co.uk]

	Listing Order:
	==============

	Universal
	Forms
	General Structure / Layout
	Navigation Elements
	Header Elements
	Body Elements
	Footer Elements
	Messages

************************************************************************/

/***********************************************************************
	RESET UNIVERSAL STYLES
************************************************************************/
html,body,h1,h2,h3,h4,h5,h6,ol,ul,li,dl,dt,dd,form,fieldset,input,select,textarea,div,p,img,table,th,td,object,pre,blockquote,address { 
	margin:0;
	padding:0;
}

a, object, embed {
   outline: none;
}

:link,:visited,:hover {
	text-decoration: none;
}

ul,ol {
	list-style: none;
}

h1,h2,h3,h4,h5,h6,pre,code {
	font-size: 1em;
}

a img,:link img,:visited img, table, fieldset, img {
	border: none;
}

address, abbr {
	font-style: normal;
}

body {
	color: #999;
	background-color: #FFF;
}

a {
	color: #000;
	text-decoration: none;
	outline: none;
}

dt	{ 
	font-weight: bold; 
}

blockquote {
	margin-left: 1em;
}

img {
	display: block;
}

img#fullResImage {
	display: inline;
}
/***********************************************************************
	UNIVERSAL STYLES
************************************************************************/

body {
	font-size: 62.5%;
	background: #75777A;
}

html, body, form, fieldset, h1, h2, h3, h4, h5, h6, p, pre, blockquote, ul, ol, dl, address, abbr, input, select, textarea, table, td, th {
	font-family: 'Arial Narrow', Arial, Verdana, Helvetica, sans-serif;
}

div#content p {
	margin: 1em 0;
}
div#content div.project-full p {
	margin: 0px 0px 1em 0px;
}
.hidden {
	display: none;
}

.t-justify { text-align: justify; }

a#download-attachment {
	color: #fff;
	float: left;
	display: block;
	font-size: 1.3em;
	margin: 20px 0px 0px 0px;
	padding: 2px 0px 2px 20px;
	background: url('../i/icons/pdf.gif') left center no-repeat;
}
a#download-attachment:hover { text-decoration: underline; }

div#content div#services-info a#more-services.has-attachment { margin-top: 15px; }
/***********************************************************************
	GENERAL STRUCTURE/LAYOUT
************************************************************************/
div#footer-links {
	left: 50%;
	bottom: 0px;
	float: left;
	height: 25px;
	width: 960px;
	color: #333A3D;
	font-size: 1.2em;
	position: absolute;
	margin: 0 0 0 -480px;
}
div#footer-links a { color: #333A3D; }
div#footer-links a:hover { border-bottom: solid 1px #333A3D; }

div#main {
	width: 960px;
	margin: 0px auto;
}
div#content {
	float: left;
	width: 960px;
	position: relative;
	background: #333a3d;
	margin: 2px 0px 0px 0px;
}
div#content p {
	color: #afafaf;
	font-size: 1.3em;
	line-height: 1.4em;
	letter-spacing: 0.02em;
}

div#content p.uppercase { text-transform: uppercase; }

div#contact-left span,
div#content ul li a,
div#content p.p-white,
div#content p.p-white a {
	color: #fff;
}
div#contact-left a:hover,
div#content ul li a:hover,
div#content p a:hover { text-decoration: underline; }
div#content ul li {
	color: #fff;
	font-size: 1.3em;
	list-style-type: disc;
	margin: 1px 0px 1px 15px;
	list-style-position: outside;
}
div#content ul li span { color: #afafaf; }

div#content a#more-services {
	color: #fff;
	float: left;
	clear: left;
	display: block;
	padding: 2px 10px 1px 0px;
	text-transform: uppercase;
	background: url('../i/icons/white-arrow.gif') right center no-repeat;
}
div#content div#services-info a#more-services {
	margin: 30px 0px 0px 0px;
}

div#content ul.pagination {
	float: right;
	margin: 0px 10px 10px 0px;
}
div#content ul.pagination li {
	float: left;
	list-style: none;
	margin: 0px 2px 0px 2px;
}
div#content ul.pagination li.location a {
	color: #9FDDEA;
}

div#content p#associate-info {
	clear: left;
	color: #b3b3b3;
	font-size: 1.4em;
	padding: 0px 20px 0px 13px;
}
div#content p#associate-info span {
	display: block;
	text-align: center;
}
div#content ul#associate-grid {
	width: 700px;
	float: left;
	margin: 15px 0px 15px 15px;
}
div#content ul#associate-grid li {
	margin: 0px;
	float: left;
	width: 100px;
	height: 125px;
	list-style: none;
}
/***********************************************************************
	HEADER ELEMENTS
************************************************************************/
div#header {
	padding: 0px 0px 5px 0px;
	border-bottom: solid 2px #0d637e;
}
div#header-inner {
	width: 960px;
	height: 142px;
	margin: 0px auto;
}
a#logo {
	float: left;
	width: 300px;
	height: 42px;
	display: block;
	text-indent: -999em;
	letter-spacing: 133px;
	margin: 100px 0px 0px 0px;
	background: url('../i/layout/logo.png') no-repeat;
}
/***********************************************************************
	BODY ELEMENTS
************************************************************************/
div#content-full {
	float: left;
	width: 940px;
	padding: 50px 5px 5px 15px;
}
div#content-full.photo-credits {
	height: 438px;	
}
div#content-full.photo-credits a { text-decoration: underline; }
div#content-full.photo-credits a:hover { text-decoration: none; }
div#content-full.min-height {
	min-height: 360px;
}
div#content-full img#image-right {
	float: right;
	margin: -45px 0px 0px 20px;
}
div#content-full div#category-image img#image-right { margin: 0px; }
div#category-image {
	float: right;
	position: relative;
	margin: -45px 0px 0px 20px;
}
div#category-image div#img-overlay {
	top: 0px;
	left: 0px;
	display: none;
	position: absolute;
	background: url('../i/layout/transback-image.png');
}
div#content div#category-image div#img-overlay span {
	color: #fff;
	display: block;
	font-size: 2em;
	text-align: center;
	margin: 50px 30px 0px 30px;
	font-family: Arial, Helvetica, sans-serif;
}
div#content-full img#image-full {
	float: left;
	margin: 0px 0px 0px -20px;
}
div#person-info {
	float: left;
	width: 755px;
	height: 438px;
	margin: 0px 0px 0px 40px;
}
div#content-full h1 {
	color: #fff;
	font-size: 1.4em;
	font-weight: normal;
	text-transform: uppercase;
}
div#content div#person-info h1 { text-transform: none; }
div#content-full h2{
	color: #9fddea;
	font-size: 1.4em;
	font-weight: normal;
}
div#person-info img {
	float: right;
	margin: 0px 0px 0px 30px;
}
div#person-info.person-partner img { margin-right: 40px; }
div#projects-info,
div#services-info {
	float: left;
	width: 718px;
	min-height: 350px;
	padding: 0px 0px 0px 10px;
	border-left: solid 1px #155163;
}
div#services-info { border: none; }
div#projects-info-scroller {
	height: 418px;
	width: 610px;
	overflow: auto;
}
div#projects-info { border: none; }
div#projects-info.project-full {
	width: 930px;
	min-height: 0px;
}
div#content-scroller {
	float: left;
	width: 325px;
	height: 345px;
	overflow: auto;
	margin: 0px 0px 10px 0px;
	padding: 0px 10px 0px 0px;
	outline: none;
}
div#content div#content-scroller p {
	margin: 0px 0px 1em 0px;
}
div#content div#content-scroller p a{
	color: #fff;
}
div#image-bar {
	float: left;
	clear: both;
	width: 958px;
	background: #acadaf;
	padding: 2px 2px 2px 0px;
}
div#image-bar ul { float: right; }
div#image-bar ul li {
	float: left;
	margin: 0px;
	list-style: none;
}
div#image-bar a {
	display: block;
	margin: 1px 1px 1px 1px;
	border: solid 2px #acadaf;
}
div#image-bar a.image-active { border: solid 2px #00B8E5; }
div#project-left {
	float: left;
	width: 250px;
	height: 105px;
	margin: 0px 20px 10px 0px;
}
div#project-more-area-1 {
	left: 0px;
	top: 150px;
	width: 255px;
	position: absolute;
	background: #333A3D;
	padding: 0px 10px 4px 20px;
	border-bottom: solid 2px #00B8E5;
}
div#project-more-2-scroll,
div#project-more-1-scroll {
	height: 236px;
	overflow: auto;
	color: #AFAFAF;
	font-size: 1.3em;
	margin: 0px 0px 0px 0px;
	padding: 0px 10px 0px 5px;
	border-bottom: solid 1px #272c2e;
}
div#content div#project-more-2-scroll p,
div#content div#project-more-1-scroll p { font-size: 1em; }
div#content div#project-more-2-scroll h1,
div#content div#project-more-1-scroll h1 { font-size: 1.4em; }
div#content div#project-more-2-scroll h2,
div#content div#project-more-1-scroll h2 { font-size: 1.1em; }
div#project-more-2-scroll {
	height: 335px;
}
div#project-text {
	top: 0px;
	left: 285px;
	width: 585px;
	position: absolute;
	background: #333A3D;
	text-align: justify;
	padding: 50px 80px 10px 10px;
	border-bottom: solid 2px #00B8E5;
}
div.c-news-item {
	float: left;
	clear: left;
	text-align: justify;
	margin: 0px 10px 10px 0px;
	padding: 0px 10px 0px 0px;
	border-bottom: solid 1px #AFAFAF;
}
div.c-news-item-holder {
	float: left;
	width: 200px;
	margin: 0px 10px 10px 0px;
}
div.c-news-item p a {
	color: #fff;
}
div.c-news-item h2 a {
	color: #9FDDEA;
}
/***********************************************************************
	NAVIGATION
************************************************************************/
ul#topnav {
	float: left;
	width: 660px;
	margin: 120px 0px 0px 0px;
}
ul#topnav li {
	float: left;
	font-size: 1.4em;
	margin: 0px 18px 0px 0px;
	text-transform: uppercase;
}
ul#topnav li a { color: #333a3d; }
ul#topnav li a.topnav-active,
div#content ul#subnav li a.subnav-active,
div#content ul#subnav li a:hover,
ul#topnav li a:hover,
div#content ul#sidenav li a:hover { color: #FFF; text-decoration: none; }

ul#subnav {
	top: 10px;
	left: 15px;
	background: #333A3D;
	position: absolute;
}
div#content ul#subnav li {
	float: left;
	font-size: 1.2em;
	list-style: none;
	margin: 0px 15px 0px 0px;
	text-transform: uppercase;
}
div#content ul#subnav li#subnav-back {
	clear: left;
	font-size: 1.3em;
	text-transform: none;
	margin: 0px 15px 0px 0px;
	padding: 0px 0px 0px 7px;
	background: url('../i/icons/white-arrow-small.gif') left center no-repeat;
}
div#project-i-h-right {
	float: right;
}
div#content ul#subnav li a,
div#content ul#sidenav li a { color: #afafaf; }

div#content ul#sidenav {
	float: left;
	margin: 0px 0px 10px 0px;
	border-right: solid 1px #333A3D;
}
div#content ul#sidenav.peoplenav { width: 139px; }
div#content ul#sidenav.servicesnav { width: 210px; height: 375px; }
div#content ul#sidenav.sidenav-active { border-right: solid 1px #155163; }

div#content ul#sidenav li {
	float: left;
	clear: left;
	margin: 1px 0px;
	font-size: 1.2em;
	list-style: none;
	text-transform: uppercase;
}
div#content ul#sidenav li.nav-padded {
	margin: 6px 0px;
}
div#content ul#sidenav li.nav-padded-top { margin: 0px 0px 6px 0px; }
div#content ul#sidenav li.nav-padded-header { margin: 6px 0px 1px 0px; }
div#content ul#sidenav li span.person { color: #afafaf; }
div#content ul#sidenav li span {
	color: #FFF;
	display: block;
}
div#content ul#sidenav li span.sidenav-active { color: #9fddea; }
div#content ul#sidenav li span.sidenav-active-p { color: #fff; }
div#content ul#sidenav.servicesnav li a.sidenav-active { color: #fff; }

div#content ul#careers-nav li,
div#content ul#projects-nav li {
	margin: 0px 0px 10px 0px;
	list-style: none;
	text-transform: uppercase;
}
div#content ul#careers-nav li {
	text-transform: none;
}

div#contact-left {
	float: left;
	width: 210px;
	height: 438px;
}

div#contact-left a { color: #AFAFAF; }
/***********************************************************************
	FOOTER ELEMENTS
************************************************************************/
div#footer {
	float: left;
	width: 960px;
	margin: 0px 0px 50px 0px;
}
div#newsContainer {
	left: 0px;
	bottom: 0px;
	height: 408px;
	overflow: hidden;
	position: absolute;
}
a#newsButtonClosed,
a#newsButtonOpen {
	float: left;
	color: #fff;
	font-size: 1.5em;
	padding: 3px 20px;
	text-align: center;
	background: #00b8e5;
}
div#newsPopup {
	float: left;
	width: 960px;
	margin: 160px 0px 0px 0px;
	position: relative;
	z-index: 999;
}
div#news-top {
	float: left;
	width: 960px;
	height: 10px;
	background: #00b8e5;
}
div#news-inner {
	float: left;
	width: 780px;
	padding: 0px 100px 20px 80px;
	background: url('../i/layout/news-bg.png');
}
div.news-item {
	float: left;
	width: 780px;
}
div.c-news-item h3,
div.news-item h2 {
	color: #4d4e53;
	font-size: 1.9em;
	font-weight: normal;
	margin: 0px 0px 0px 0px;
	padding: 10px 0px 2px 0px;
}
div.c-news-item h3 {
	color: #999999;
}
div.news-item h3 {
	color: #000;
	font-size: 2em;
	font-weight: normal;
	text-transform: uppercase;
}
div.news-item h3 a { color: #000; }
div.news-item img {
	float: left;
	margin: 0px 10px 0px 0px;
}
div#content div.news-item p {
	color: #33393D;
	font-size: 1.3em;
	line-height: 1.4em;
	letter-spacing: 0.02em;
}
div.news-item a { color: #01b8e4; }
div.news-item a.news-more {
	font-size: 1.3em;
	float: left;
	padding: 2px 10px 1px 0px;
	margin: 3px 0px 0px 0px;
	background: url('../i/icons/news-arrow.gif') right center no-repeat;
}
a#project-close {
	color: #fff;
	font-size: 1.3em;
	margin: 0px 0px 0px 5px;
	text-transform: uppercase;
}
a#project-close-1 {
	color: #fff;
	float: right;
	text-transform: uppercase;
}
a#project-close-1:hover,
a#project-close:hover { text-decoration: underline; }
/***********************************************************************
	TOOLS
************************************************************************/
.clearfix:after {
    content: "."; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
}

.clearfix {display: inline-block;}

/* Hides from IE-mac \*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/* End hide from IE-mac */

.accessibility {
	position: absolute;
	text-indent: -999em;
	left: -999em;
	top: -999em;
}
div#mapContent {
	float: left;
	margin: 0px;
	padding: 0px;
	width: 210px;
	height: 100px;
	overflow: hidden;
}
div#map_canvas {
	width: 600px;
	height: 300px;
	margin: 30px auto;
	border: solid 5px #00b8e5;
}
div#map_canvas h1 { }
div#map_canvas p { }
/*************************************************
remove clients messy styles from word pasting.
specify where this applies or it will do all spans
**************************************************/
/*span[style]{ 
	color: inherit !important; 
	font-size: inherit !important; 
	font-family: inherit !important;
}*/

/***********************************************************************
	FORMS
************************************************************************/
fieldset, legend {
	border: none;
}

legend {
	background: transparent;
	font-size: 1em;
	font-weight: bold;
	margin: 1em 0;
	padding: 0 .5em;
}

div.multi input {
	border: 0;
	width: auto;
}
 
form {
	float: left;
	width: 330px;
	padding: 0px;
}

form#side-contact {
	width: 200px;
	margin: 10px 0px 0px 0px;
}

form div {
	float: left;
	clear: both;
	display: block;
	margin-bottom: .5em;
}

form div label {
	float: left;
	color: #AFAFAF;
	font-size: 1.3em;
	margin: 0px 0px 3px 0px;
	padding: 2px 10px 2px 0px;
}

form div input, 
form div select, 
form div textarea  {
	float: left;
	width: 200px;
	clear: left;
	color: #333;
	padding: 2px 3px;
	font-size: 1.3em;
	font-weight: normal;
	border: 1px solid #AFAFAF;
}

form#side-contact input { width: 190px; }
form input#submit {
	width: auto;
	height: auto;
	padding: 2px 15px 2px 15px;
}
input:focus, textarea:focus {
	background: #cfcfcf;
	color: #000;
}

fieldset div input#fm_verify {
	float: left;
	width: 60px;
}
fieldset div img {
	float: left;
	margin: 0px 0px 0.5em 10px;
}
/***********************************************************************
	MESSAGES
************************************************************************/

.error, .notice, .message { 
	color: #b22;
	font-size: 1.4em;
	font-weight: bold;
}

div.errorbox {
	background: #990000;
	padding: 10px;
	color: #FFF;
	font-size: 10px;
}

div.errorbox a {
	color: #FFA8A8;
}

ol.errorlist {
	margin: 0px 0px 10px 0px;
}

ol.errorlist li {
	color: #b22;
	margin: 2px 0px;
	text-indent: 1em;
	font-size: 1.3em;
	padding-left: 1em;
	font-weight: normal;
	list-style-position: inside;
	list-style-type: lower-roman;
}

/* CSS for Formmailer Script */

/* DATE SELECTION */

/* the div that holds the date picker calendar */
.dpDiv {
	}


/* the table (within the div) that holds the date picker calendar */
.dpTable {
	font-family: Tahoma, Arial, Helvetica, sans-serif;
	font-size: 12px;
	text-align: center;
	color: #404040;
	background-color: #F4F4F4;
	border: 1px solid #999999;
	}


/* a table row that holds date numbers (either blank or 1-31) */
.dpTR {
	}


/* the top table row that holds the month, year, and forward/backward buttons */
.dpTitleTR {
	}


/* the second table row, that holds the names of days of the week (Mo, Tu, We, etc.) */
.dpDayTR {
	}


/* the bottom table row, that has the "This Month" and "Close" buttons */
.dpTodayButtonTR {
	}


/* a table cell that holds a date number (either blank or 1-31) */
.dpTD {
	border: 1px solid #ece9d8;
	}


/* a table cell that holds a highlighted day (usually either today's date or the current date field value) */
.dpDayHighlightTD {
	background-color: #CCCCCC;
	border: 1px solid #AAAAAA;
	}


/* the date number table cell that the mouse pointer is currently over (you can use contrasting colors to make it apparent which cell is being hovered 
over) */
.dpTDHover {
	background-color: #888888;
	border: 1px solid #888888;
	cursor: pointer;
	color: #000000;
	}


/* the table cell that holds the name of the month and the year */
.dpTitleTD {
	}


/* a table cell that holds one of the forward/backward buttons */
.dpButtonTD {
	}


/* the table cell that holds the "This Month" or "Close" button at the bottom */
.dpTodayButtonTD {
	}


/* a table cell that holds the names of days of the week (Mo, Tu, We, etc.) */
.dpDayTD {
	background-color: #C0C0C0;
	border: 1px solid #AAAAAA;
	color: white;
	}


/* additional style information for the text that indicates the month and year */
.dpTitleText {
	font-size: 12px;
	color: #555555;
	font-weight: bold;
	}


/* additional style information for the cell that holds a highlighted day (usually either today's date or the current date field value) */ 
.dpDayHighlight {
	color: #666666;
	font-weight: bold;
	}


/* the forward/backward buttons at the top */
.dpButton {
	font-family: Verdana, Tahoma, Arial, Helvetica, sans-serif;
	font-size: 10px;
	color: gray;
	background: #DDDDDD;
	font-weight: bold;
	padding: 0px;
	}


/* the "This Month" and "Close" buttons at the bottom */
.dpTodayButton {
	font-family: Verdana, Tahoma, Arial, Helvetica, sans-serif;
	font-size: 10px;
	color: gray;
	background: #DDDDDD;
	font-weight: bold;
}


#s3slider {
   width: 960px; /* important to be same as image width */
   height: 424px; /* important to be same as image height */
   position: relative; /* important */
   overflow: hidden; /* important */
}

#s3sliderContent {
   width: 960px; /* important to be same as image width or wider */
   position: absolute; /* important */
   top: 0; /* important */
   margin-left: 0; /* important */
}
div#content ul#s3sliderContent{	
	list-style-type: none;	
}
div#content ul#s3sliderContent li{	
	list-style-type: none;
	margin: 0px;
}

.s3sliderImage {
   float: left; /* important */
   position: relative; /* important */
   display: none; /* important */
}

div#content .s3sliderImage span {
	top: 0;
	left: 0;
	color: #fff;
	width: 960px;
	height: 38px;
	display: none; /* important */
	font-size: 18px;
	text-align: center;
	padding: 17px 13px 0px 13px;
	position: absolute; /* important */
	font-family: Arial, Helvetica, sans-serif;
	background-image: url(../i/layout/transback.png);
}

.clear {
   clear: both;
}

.jScrollPaneContainer {
	position: relative;
	overflow: hidden;
	z-index: 1;
}
div#services-info .jScrollPaneContainer { margin: 10px 0px 0px 0px; outline: none; }
div#projects-info .jScrollPaneContainer { margin: 0px 0px 20px 0px; }
div#project-more-area-1 .jScrollPaneContainer,
div#project-text .jScrollPaneContainer { margin: 0px 0px 10px 0px; }

.jScrollPaneTrack {
	position: absolute;
	cursor: pointer;
	right: 0;
	top: 0;
	height: 100%;
	background: #333A3D;
}
.jScrollPaneDrag {
	position: absolute;
	background: #333A3D;
	cursor: pointer;
	overflow: hidden;
}
.jScrollPaneDragTop {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
}
.jScrollPaneDragBottom {
	position: absolute;
	bottom: 0;
	left: 0;
	overflow: hidden;
}
a.jScrollArrowUp {
	top: 0;
	right: 0;
	z-index: 1;
	height: 6px;
	display: block;
	overflow: hidden;
	position: absolute;
	text-indent: -2000px;
	background: url('../i/icons/scroll-arrows.png') 0px 0px no-repeat;
}
a.jScrollArrowUp:hover {
	background: url('../i/icons/scroll-arrows-over.png') 0px 0px no-repeat;
}
a.jScrollArrowDown {
	right: 0;
	bottom: 0;
	z-index: 1;
	height: 6px;
	display: block;
	overflow: hidden;
	position: absolute;
	text-indent: -2000px;
	background: url('../i/icons/scroll-arrows.png') 0px -10px no-repeat;
}
a.jScrollArrowDown:hover {
	background: url('../i/icons/scroll-arrows-over.png') 0px -10px no-repeat;
}
a.disabled { background: none; }
a.jScrollActiveArrowButton, a.jScrollActiveArrowButton:hover {
	/*background-color: #f00;*/
}



div.news-bottom{
	width: 200px;
	height: 131px;
	float: left;
	margin: 0 10px 0 0;
	background-color: none;
	background-repeat: no-repeat;
	background-position: center center;
	text-indent: -999em;
}

div.newsarea div#content-scroller{
	height: 340px;
	width: 300px;
	outline: none;
	
	
}
div.newsarea div.jScrollPaneScrollable{
	outline: none;
	margin-top: 10px;
}
