@charset "utf-8";
@media all {

/* BODY AND FONTS: =body
----------------------------------------------- */
	body { color: #343434; margin:0; padding: 0; background: #dbdbdb url("/images/bg-body.gif") top left repeat-x;  } 
	body.home { background-image: url("/images/bg-home.gif"); }
	body, input, textarea, select { font: 11px/17px Verdana, Arial, Helvetica, sans-serif;  }
	
/* LINKS AND IMAGES: =links
----------------------------------------------- */
	a img { border: none; }
	a:link, a:visited { color: #d01425; }
	a:hover { color: #000; }
	a.pageicon { background: url("/images/page_icon.png") 0 50% no-repeat; padding: 3px 0px 3px 20px; }
	img.rightimg { float: right; margin: 0 0 25px 25px; border: 1px solid #dbdbdb; }
	
/* TYPOGRAPHY: =typography
----------------------------------------------- */	
	h1, h2, h3, h4, h5, h6 { margin: 0 0 4px 0; padding: 0;  }
	h2.sm { width: 400px; }
	h3 { color: #5d4438; font-size: 13px; }
	p, blockquote, table { margin: 0 0 12px 0; }
	p.caption { color: #5c5c5c; font: 100% Georgia, "Times New Roman", Times, serif; font-style: italic; }
	.bigtext { font-size: 15px; line-height: 23px; }

/* LAYOUT: =layout
----------------------------------------------- */
	#wrapper { width: 915px; text-align: left; }
	#content {  }
	.left { float: left; }
	.right { float: right; }
	
	.page-top { background: url("/images/bg-pagetop.gif") top left no-repeat; }
	.page { background: url("/images/bg-pagemiddle.gif") top left repeat-y; margin: 0 0 12px 0; }
	.page-inner { background: url("/images/bg-pagebottom.gif") bottom left no-repeat; padding: 29px 21px 29px 46px; }
	
	.tripcol div { float: left; margin-right: 16px; width: 272px; }
	.tripcol div.last { margin-right: 0; }
	.twocol { width: 560px; }
	.onecol { width: 272px; }
	
/* HEADER: =header
----------------------------------------------- */
	#header { background: url("/images/bg-header.gif") top left no-repeat; height: 90px; position: relative; }
	#logo { margin: 0; }
	#logo a { text-indent: -999em; display: block; width: 344px; height: 87px; }
	#logo a:hover { background: none; }
	#title { text-indent: -999em; height: 89px; background-position: top left; background-repeat: no-repeat; }
	
	body.experience #title { background-image: url("/images/title-experience.gif"); }
	body.services #title { background-image: url("/images/title-services.gif"); }
	body.careers #title { background-image: url("/images/title-careers.gif"); }
	body.locations #title { background-image: url("/images/title-locations.gif"); }
	body.contact #title { background-image: url("/images/title-contact.gif"); }
	body.contact.rkildea #title { background-image: url("/images/title-rkildea.gif"); }
	body.contact.rwitt #title { background-image: url("/images/title-rwitt.gif"); }

/* NAVIGATION: =nav
----------------------------------------------- */
	#header ul { position: absolute; top: 41px; right: 5px; list-style: none; margin: 0; padding: 0; width: 477px; height: 28px; }
	#header ul li { background: none; float: left; text-indent: -999em; margin: 0; padding: 0; }
	#header ul li a { outline: none; background: transparent url("/images/globalnav.gif") top left no-repeat; text-decoration: none; border: none; display: block; height: 28px; text-decoration: none; overflow: hidden; }
	#header ul li a:hover { background-color: none; }
	#header ul li a.selected:hover { cursor: default; }
	
	#header ul li.home a { background-position: 0px 0px; width: 56px; }
	#header ul li.home a:hover,
	#header ul li.home a.selected { background-position: 0px -28px; }
	
	#header ul li.experience a { background-position: -56px 0px; width: 99px; }
	#header ul li.experience a:hover,
	#header ul li.experience a.selected { background-position: -56px -28px; }
	
	#header ul li.services a { background-position: -155px 0px; width: 83px; }
	#header ul li.services a:hover,
	#header ul li.services a.selected { background-position: -155px -28px; }
	
	#header ul li.careers a { background-position: -238px 0px; width: 79px; }
	#header ul li.careers a:hover,
	#header ul li.careers a.selected { background-position: -238px -28px; }
	
	#header ul li.locations a { background-position: -317px 0px; width: 91px; }
	#header ul li.locations a:hover,
	#header ul li.locations a.selected { background-position: -317px -28px; }
	
	#header ul li.contact a { background-position: -408px 0px; width: 69px; }
	#header ul li.contact a:hover,
	#header ul li.contact a.selected { background-position: -408px -28px; }
	
/* LISTS: =lists
----------------------------------------------- */
	ul { list-style: none; margin: 0 0 18px 0; padding: 0; }
	ul ul { margin: 4px 0; padding-left: 4px; }
	ul li { background: url("/images/bullet.gif") 0 7px no-repeat; margin: 0 0 1px 0; padding: 0 0 0 10px; }
	ol { margin: 0 0 18px 0; padding: 0 0 0 20px; }
	
	dl { margin: 0 0 18px 0; padding: 0; }
	dt { color: #888; font-weight: bold; margin: 0; padding: 0; }
	dd { margin: 0 0 4px 0; }
	
/* FORMS: =forms
----------------------------------------------- */
	form { margin: 0 0 18px 0; padding: 0; }
	form label { margin: 0 0 3px 0; padding:0 ; }
	form fieldset { border: none; padding: 0; }
	form label { font-weight: bold; }
	form label strong { color: #b66565; }
	form label span { color: #a4a4a4; }
	form div { margin: 0 0 18px 0; }
	form input.text { width: 260px; border: 1px solid #9a9a9a; padding: 5px; }
	form textarea { width: 548px; border: 1px solid #9a9a9a; padding: 5px; }
	form div.error input.text,
	form div.error textarea { background:#f5ecec; border: 1px solid #b66565; }
	.errorslist { color: #fff; background: #b66565 url("/images/error.gif") top left no-repeat; margin: 0 0 18px 0; padding: 10px 10px 10px 56px; }
	.errorslist h3 { color: #fff; }
	.errorslist ul { list-style: none; margin: 0; padding: 0; }
	.errorslist li { background: none; margin: 0; padding: 0; }
	
/* TABLES: =tables
----------------------------------------------- */
	table { margin: 0 0 18px 0; }

/* HOMEPAGE: =home
----------------------------------------------- */
	#branding { background: url("/images/home-branding.jpg") top left no-repeat; text-indent: -999em; height: 222px; }
	#tripcol { float: left; background: url("/images/home-tripcol.gif") top left no-repeat; margin-bottom: 18px; padding-top: 32px; width: 100%; }
	#tripcol-bottom { float: left; width: 100%; background: url("/images/home-tripcol-bottom.gif") bottom left no-repeat; padding-bottom: 27px; min-height: 196px; }
	#tripcol ul { margin-bottom: 0; }
	#tripcol #about { float: left; margin-left: 46px; width: 239px; }
	#tripcol #services { float: left; margin-left: 52px; width: 239px; }
	#tripcol #expertise  { float: left; margin-left: 52px; width: 200px; }
	
	#bottomrow { background: url("/images/home-bottomrow.gif") top left no-repeat; clear: both; float: left; width: 100%; margin-bottom: 18px; padding: 10px 0 9px 0; }
	#bottomrow #join { float: left; margin-left: 147px; width: 312px; }
	#bottomrow #locations { float: left; margin-left: 169px; width: 266px; }
	
/* INTERIOR PAGES: =interior
----------------------------------------------- */
	/* contact */
	body.contact dl { margin-bottom: 4px; }

/* FOOTER: =footer
----------------------------------------------- */
	#footer { clear: both; padding: 0 0 30px 30px; }
	#footer p a,
	#footer p a.invis:hover,
	#footer .credits { color: #878684; }
	#footer p a.invis,
	#footer p a.invis:hover { text-decoration: none; cursor: default; }
	
/* SIFR: =sifr
----------------------------------------------- */
	.sIFR-flash { visibility: visible !important; margin: 0; padding: 0; }
	.sIFR-replaced { visibility: visible !important; }
	.sIFR-alternate { position: absolute; left: 0; top: 0; width: 0; height: 0; display: block; overflow: hidden; }
	.sIFR-active #content h2 { visibility: hidden; line-height: 1em; font-size: 18px; }
	.sIFR-active #title p { visibility: hidden; font-size: 18px; }
	
	/* 
	  Hide Adblock Object tab: the text should show up just fine, not poorly with a tab laid over it.
	  Conveniently, the object tab is always in a div, so we hide all divs directly inside the replaced element.
	*/
	
	.sIFR-replaced > div { display: none !important; }
	
/* MISC: =misc
----------------------------------------------- */	
	.clearboth { clear: both; }
	.nowrap { white-space: nowrap; }
	.skip { margin-bottom: 0; position: absolute; left: -999em; width: 999em; }
	.nowrap { white-space: nowrap; }
	.clearfix:after { content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; }
	.clearfix { display: inline-block; }
	html[xmlns] .clearfix { display: block; }
	* html .clearfix { height: 1%; }
}


