@charset "utf-8";
/*basic rules ===========================================*/
body{
	margin:0;
	font-family:Arial, Helvetica, Tahoma, sans-serif;
	color:#999;
	background-color:white;
}
em, h1, h2, h3, h4, h5, h6{
	color:#C00;
	font-style:normal;
}
h1, h2, h3, h4, h5, h6{
	margin:0;
	padding:0;
}
p{
	margin-top:0;
	padding-top:0;
}
h1{
	font-size:1.6em;
}
h2{
	font-size:1.4em;
}
h4{
	font-size:1em;
}
h5{
	font-size:0.95em;
}
a:link, a:visited, a:active{
	text-decoration:none;
}
a:hover{
	text-decoration:underline;
}

.mainBody a:link{
	color:#999;
}
.mainBody a:visited{
	color:#666;
}
.topCopy {
	font-size:1.45em;
}
.homeCopy{
	font-family:"Zurich LT BT", Arial, Tahoma, sans-serif;
	font-size:1.5em;
	font-weight:0;
}
.clientCaseStudy{
	padding-left:12px;
	position:relative;
	right:12px;
}
.leftFloat{
	float:left;
	margin-right:3em;
}
.imageLeftFloat{
	float:left;
	margin-right:1em;
	margin-top:-5px;
}
.homeCol1, .homeCol2{
	float:left;
	margin-top:40px;
	position:relative;
}
.homeCol1{
	width:498px;
}
.homeCol1 img{
	margin-bottom:2em;
}
.homeCol2 a img{
	visibility:hidden;
}
.homeCol2{
	margin-top:80px;
	width:330px;
	z-index:2;
}
.rightFloat{
	float:right;
	margin-left:15px;
}
.homeHr{
	float:left;
	height:5px;
	font-size:0em;
	line-height:0em;
	width:100%;
	margin:15px 0 25px 0;
}
.smcap{ 
	font-variant:small-caps;
	font-size:0.85em;
}
.smaller{
	font-size:0.85em;
}
.clearer{
	visibility:hidden;
	clear:both;
}
.divider{
	margin-bottom:3em;
	padding-bottom:3em;
	border-bottom:1px solid #999;
}
.redPage, .redPage #mainTable{
	color:#000;
}

.grayPage, .grayPage #mainTable{
}
.redPage em, .redPage h1, .redPage h2, .redPage h3, .redPage h4, .redPage h5, .redPage h6{
	color:#333;
	font-style:normal;
}
.redPage a{
	color:#999;
}
.redPage a:link, .redPage a:visited{
	color:#666;
}
.redPage a:hover{
	/*color:#A60000;*/
	color:#999;
	border-bottom:1px dashed #A60000;
	text-decoration:none;
}
/*layout Table rules ================================*/
#mainTable{
	width:900px;
	margin:0 auto;
}
.mainBody{
	height:460px;
	vertical-align:top;
	font-size:0.9em;
}
.mainBody .marginSet{
	margin:0 36px 40px;
	position:relative;
}
.mainBody .homeMarginSet{
	margin:0 36px 40px;
}
.mainBody .fullWidth{
	width:100%;
}
.mainBody table td{
	vertical-align:top;
	position:relative;
}
.mainBody table td.vCenter, .vCenter{
	vertical-align:middle;
}
.footer{
	letter-spacing:0.03em;
	border-top:1px solid #ccc;
}
.footer h1 {
	padding:0;
	color:#999;
	font-size:0.7em;
	font-weight:normal;
	margin:10px 36px;
}
.footer div {
	margin:10px 36px;
}
.subfooter {
	height:210px;
}
.redPage .subfooter {
	height:210px;
}
.thirdCol{
	width:250px;
}
.lastThirdCol{
	width:200px;
}
.centerThirdCol{
	width:286px;
}
.quarterCol, .lastQuarterCol{
	width:25%;
}
.quarterCol, .lastQuarterCol, .thirdCol, .lastThirdCol, .centerThirdCol{
	font-size:0.8em;
}
.quarterCol p, .quarterCol h5{
	margin-right:15px;
}
.lastQuarterCol p, .lastThirdCol p{
	margin-right:0;
}
.halfCol{
	width:50%;
}
.bio{
	vertical-align:top;
	padding-bottom:36px;
}
.bio img{
	float:left;
	margin-right:20px;
}
.bio p.topCopy{
	margin:20px 0 0;
}
.caseCell{
	white-space:normal;
	width:928px;
	margin-top:30px;
}
/*top navigation rules ===========================================*/
.masthead{
	position:relative;
	margin-left:36px;
	word-spacing:3.2em;
}
.topNav{
	height:42px;
	font-size:0.75em;
}
.topNav a, .subNav a{
	text-decoration:none;
	word-spacing:.1em;
}
.topNav a{
	display:block;
	position:absolute;
	top:-8px
}
.topNav #aboutLink, .topNav #caseLink,.topNav #capabilitiesLink, .topNav #approachLink{
	visibility:hidden;
}

.capabilitiesNav #approachLink{
	left:320px;
}

.topNav a.selected{
	top:-9px;
	font-weight:bold;
	font-size:1.05em;
	text-decoration:none;
}
.topNav a:link{
	font-weight:normal;
}
.topNav a:hover{
	font-weight:bold;
	text-decoration:none;
}
.topNav .headerLogo img{
	width:79px;
	height:23px;
	border:0;
}
.topNav .headerLogo, .topNav a.headerLogo:hover{
	right:36px;
	top:-12px;
}

/*red background navigation rules ================================*/
.redBase .topNav{
}
.redBase .topNav a:link, .redBase .topNav a:visited{
	color:#999;
}

.redBase .topNav a:hover{
	border-bottom:none;
}

.redBase .topNav .headerLogo{
}
.redPage .topNav, .redBase .topNav{
	border-bottom:1px #A72913 solid;
}
/*white background navigation rules ================================*/
.whiteBase .topNav{
	border-bottom:1px #CCC solid;
}
.whiteBase .topNav a:link, .whiteBase .topNav a:visited{
	color:#999;
}
.whiteBase .topNav .headerLogo{
}
/*sub navigation rules ================================*/
.subNav{
	height:50px;
	vertical-align:top;
	font-size:0.75em;
}
.subNav div{
	margin:10px 36px;
}
.subNav a{
	margin-right:35px;
	display:none;
}
.subNav a:link, .subNav a:visited{
	color:#999;
}
.subNav a:hover{
	text-decoration:underline;
}
.subNav a.selected, .subNav a:link.selected, .subNav a:visited.selected {
	color:#999;
	text-decoration:underline;
	display:block;
}
.subNav .contactPersist {
	position:absolute;
	right:20px;
	top:40px;
	font-size:.85em;
	letter-spacing:.15em;
}

/*sideNav rules =========================================*/
.portNavCol{
	width:290px;
	font-size:0.8em;
}
.sideNav{
	line-height:1.6em;
}
.sideNav ul{
	margin:0 0 4px;
	font-size:0.95em;
	list-style:none;
	padding-left:20px;
}
.sideNav li a{
	display:block!important;
	display:inline;/*ie6 fix*/
}
.sideNav a, .sideNav .nonLink{
	display:block;
	font-size:.95em;
}
.sideNav a:link, .sideNav a:visited{
	color:#999;
}
.sideNav a:hover{
	font-size:1.2em;
	text-decoration:none;
	/*font-weight:bold;*/
}
.sideNav li a:hover{
	font-size:1.3em;
}
.sideNav a.selected, .sideNav a.selected:hover, .sideNav a.selected:visited, .sideNav a.selected:active{
	font-size:1.6em;
	color:#999;
	font-weight:bold;
	text-decoration:none;
}
/*capabilities page rules =========================================*/
.redPage .sideNav{
	font-size:1.1em;
	line-height:1.6em;
}
.redPage .sideNav a:link, .redPage .sideNav a:visited{
	color:#999;
}
.redPage .sideNav a.selected:link, .redPage .sideNav a.selected:visited{
	font-size:1.1em;
	color:#999;
	font-weight:normal;
}
.redPage .sideNav a.selected:hover,.redPage .sideNav a:hover{
	font-size:1.6em;
	text-decoration:none;
	border:none;
}
/* contact form rules ==============================================*/
.longField, .shortField, .comments, .mediumField{
	border:1px #999 solid;
}	
.longField{
	width:320px;
}
.mediumField{
	margin-top:5px;
	width:240px;
}
.shortField{
	width:120px;
}
.chkBx input{
	position:relative;
	top:1px;
}
.formFields{
	margin-top:20px;
	font-size:0.9em;
}
.formFields p{
	line-height:1.8em;
	margin:0.2em 0 0;
	padding:0;
}
.formFields .submitBtn{
	margin-top:10px;
	border-width:0px;
}
.thirdColForm1{
	width:360px;
}
.thirdColForm2{
	padding-top:27px;
	width:500px;
}
.req{
	color:#999;
}
.formFields p.error{
	visibility:hidden;
	margin-top:70px;
	color:#999;
	font-size:1.4em;
	width:320px;
}
/*portfolio rules =========================================*/
#port{
	height:335px;
	width:538px;
	margin-bottom:10px;
	overflow:hidden;
	position:relative;
}
#port.scrollBox{
	width:824px;
	white-space:nowrap;
	overflow:hidden;
	position:relative;
}
#thumbs{
	white-space:nowrap;
	margin-top:7px;
	position:relative;
	left:7px;
}
#thumbs img{
	margin:0 7px 0 0;
}
.portCell{
	width:538px;	
}
#portContent{
	position:relative;
	height:335px;
}
/*scrollBar rules =======================================*/
#scrollBar{
	width:100%;
	white-space:nowrap;
	margin:25px 0 0;
	height:17px;
	position:relative;
}

#leftBtn, #rightBtn{
	height:17px;
	width:17px;
	position:relative;
	bottom:1px;
}
#leftBtn{
	float:left;
	right:1px;
}
#rightBtn{
	width:20px;
	float:right;
}
#scrollThumb, #scrollThumb .leftThumb, #scrollThumb .rightThumb, #scrollThumb .grip, #scrollThumb .bgThumb{
	height:15px;
}
#scrollThumb{
	width:70px;
	margin-left:0px;
	position:absolute;
	left:17px;
	z-index:20;
}
#scrollThumb .bgThumb{
	width:100%;
}
#scrollThumb .leftThumb{
	float:left;
	position:relative;
	right:2px;
	width:3px;
}
#scrollThumb .rightThumb{
	float:right;
	position:relative;
	left:2px;
	width:3px;
}
#scrollThumb .grip{
	margin:0 auto;
	width:12px;
}
.sliderBlock{
	position:absolute;
	padding:0;
	top:-18px;
	height:18px;
	z-index:1;
	font-size:0.7em;
	text-align:center;
}
/*About Page rules =======================================*/
.aboutWideCol{
	width:490px;
}
.aboutWideCol p{
	padding-right:40px;
}
.aboutSmallCol ul{
	list-style-type:none;
	margin:0;
	padding:0;
}
.aboutSmallCol li{
	margin:0.5em 0;
}
/*location page rules ================================================*/
ul.directions{
	list-style-type:decimal;
	margin:0 0 11px;
	padding:0;
	list-style-position:outside;
}

ul.directions li{
	margin:0.5em 1.5em;
}
/*case study page rules ================================================*/
#scrollBox td {
	clear: both;
	position: relative;
	display: inline;
	top: 50px;
	overflow: visible;
}
#scrollBox div.caseCell { 
	position: static;
	float: left;
}
#scrollBox div.caseCell img { 
	float: left; display: inline;
	position: static;
}
#scrollBox{
	overflow:visible;
	width: 928px;
}
#scrollContent{
	position:relative;
	clear: both;
}

#scrollBar {display: none;}