@charset "utf-8";
@media all {

/* BODY AND FONTS: =body
----------------------------------------------- */
	body { color: #fff; margin:0; padding: 0; background: #222d39; text-align: center;  } 
	body, input, textarea, select { font: 12px/20px Verdana, Arial, Helvetica, sans-serif; }
	
/* LINKS AND IMAGES: =links
----------------------------------------------- */
	a img { border: none; }
	a:link, a:visited { color:#f36f70; }
	a:hover { color: #fff; }
	a.more { font-weight: bold; white-space: nowrap; }
	img.vaphoto { border: 3px solid #fff; float: right; margin: 0 0 12px 12px; }
	
/* TYPOGRAPHY: =typography
----------------------------------------------- */	
	h1, h2, h3, h4, h5, h6 { margin: 0 0 4px 0; padding: 0;  }
	#title { background: url("/images/bg-title.jpg") 50% 0 no-repeat; height: 70px; }
	h1 { font-size: 44px; line-height: 47px; font-family: Constantia, Georgia, "Times New Roman", Times, serif; font-weight: normal; color: #a7d0ff; margin: 0; padding: 0; }
	h2 { margin: 0 0 16px 0; }
	h3 { font-family: Georgia, "Times New Roman", Times, serif; color: #a5d0fd; letter-spacing: 2px; margin: 0 0 12px 0; font-size: 12px; text-transform: uppercase; }
	p, blockquote, table { margin: 0 0 18px 0; }
	p.caption { color: #5c5c5c; font: 100% Georgia, "Times New Roman", Times, serif; font-style: italic; }
	p.backtotop { margin-top: -10px; }

/* LAYOUT: =layout
----------------------------------------------- */
	.container { width: 910px; text-align: left; margin: 0 auto; }
	#content { background: #204883; border-top: 1px solid #385b90; padding: 23px 0; }
	.left { float: left; }
	.right { float: right; }
	.section { padding-top: 23px; }
	
	.maincol { width: 475px; }
	.sidecol { background: url("/images/sidecol.gif") top left repeat-y; width: 400px; }
	.sidecol.noshadow { background: none; padding: 0 26px 26px 26px; width: 341px; }
	.sidecol-top { background: url("/images/sidecol-top.gif") top left no-repeat; }
	.sidecol-bottom { background: url("/images/sidecol-bottom.gif") bottom left no-repeat; padding: 0 26px 56px 26px; }
		
/* HEADER: =header
----------------------------------------------- */
	#header { background: #fff url("/images/bg-header.gif") top left repeat-x; height: 130px; border-bottom: 6px solid #000; }
	#header img { float: left; margin-top: 12px; }
	#brands { float: right; margin-top: 10px; margin-bottom:13px; }
	#brands img { margin: 0 10px; }

/* NAVIGATION: =nav
----------------------------------------------- */
	#header ul { clear: right; float: right; list-style: none; margin: 10px 0 0 0; padding: 2px 8px; }
	#header ul li { float: left; font-size: 14px; font-weight: bold; margin: 0px; padding: 5px; text-transform: uppercase; }
	#header ul li a { padding: 2px 8px; }
	#header ul li a:hover { background: #f36f70; color: #fff; text-decoration: none; }
	#header ul li.selected a,
	#header ul li.selected a:hover { background: #232d3a; color: #fff; text-decoration: none; }
	
/* LISTS: =lists
----------------------------------------------- */
	ul { margin: 0 0 18px 0; padding: 0 0 0 20px; }
	ol { margin: 0 0 18px 0; padding: 0; }
	li { margin: 0 0 3px 0; padding: 0; }
	
	dl { margin: 0 0 18px 0; padding: 0; }
	dt { margin: 0 0 3px 0; padding: 0; }
	dd { margin-left: 0; }
	
	dl.news { border-bottom: 1px solid #3d6daa; float: left; width: 100%; }
	dl.news dt { border-top: 1px solid #3d6daa; text-transform: uppercase; float: left; clear: both; width: 60px; padding: 10px 0; }
	dl.news dd { border-top: 1px solid #3d6daa; float: left; margin-left: 0px; width: 415px; padding: 10px 0; }
	
/* FORMS: =forms
----------------------------------------------- */
	form { margin: 0 0 18px 0; padding: 0 0 0 2px; }
	form label { margin: 0 0 3px 0; padding:0 ; }
	form input.text, 
	form textarea {  }
	form input.submit {  }
	form p { margin: 0 0 1em 0; }
	form div { margin-bottom: .5em; }
	form fieldset { margin: 0; padding: 0; border: 0; }
	form fieldset legend { padding: 0 5px; }
	input.text { width:250px; }
	label { display: block; margin: 0 0 .5em 0; font-weight: bold; }
	label strong,
	label .required { font-weight: normal; color: #cc0000; }
	form ul { list-style: none; padding-left: 0; }
	form li label { display: inline; font-weight: normal; color: #fff; }
	input { margin: 0; }
	input.checkbox { vertical-align: middle; }
	
	div.errorslist { padding: 1em 0; color: #fff; }
	div.errorslist ul { margin-bottom: 0; }
	div.errorslist h3 { border: none; color: #ffffff; }	
	
/* TABLES: =tables
----------------------------------------------- */
	table { margin: 0 0 23px 0; border-collapse: collapse; }
	table td, table th { padding: 6px 10px;  border-bottom: 1px solid #3d6daa; vertical-align: top;}
	table th { color: #a7d0ff; text-transform: uppercase; }
	table.careers tr.date td { color: #a7d0ff; font-family: Georgia, "Times New Roman", Times, serif; font-style: italic; }
	table.careers td.locations { width: 130px; }
	table.careers td.locations ul { list-style: none; margin: 0; padding: 0; }

/* HOMEPAGE: =home
----------------------------------------------- */
	body.home #title { background: #232d3a url("/images/bg-home.jpg") 50% 0 no-repeat; height: 187px; }
	body.home #title .container { position: relative; }
	body.home #title .introtext { position: absolute; left: 0; top: 30px; z-index: 100; background: url("/images/introtext.png") top left no-repeat; width: 461px; height: 111px; text-indent: -999em; }
	body.home #title img { position: absolute; top: 0; right: 0; z-index: 50; }
	#map ul { font-size: 16px; font-weight: bold; list-style: none; margin-left: 0; padding: 0; }
	#map { margin: 0 0 23px 0; }
	.tagline { background: url("/images/tagline.gif") top left no-repeat; text-indent: -999em; width: 341px; height: 15px; margin: 0; }
		
/* INTERIOR PAGES: =interior
----------------------------------------------- */
	/* company */
	.photos { float:right ; width: 250px; margin: 0 0 23px 23px; }
	.photos span { display: block; color: #a6cfff; font-family: Georgia, "Times New Roman", Times, serif; font-style: italic; font-size: 12px; margin: 0 35px 12px 35px;  }
	.photos img { border: 3px solid #fff; margin:0 0 0 5px;}
	.single-photo { margin:0 0 0 60px;}

	
	/* services */
	#qnav { border-top: 1px solid #3d6daa; border-bottom: 1px solid #3d6daa; margin: 0 0 23px 0; padding: 12px 0; }
	#qnav ul { font-size: 12px; list-style: none; margin: 0; padding: 0; }
	#qnav li { margin-bottom: 3px; }
	#qnav p { margin-bottom: 5px; }
	div.servicelist { padding:0 0 10px 0;}
	
	/* news */
	ul.archive { list-style: none; padding: 0; }
	
	/* careers */
	table.careers ul { font-size: 11px; line-height: 14px; margin: 0; }
	table.careers ul li { margin: 0 0 10px 0; }
	
	/* michigan */
	.micol { background: url("/images/micolbg.gif") top left repeat-y; margin: 0 0 18px 0; }
	.minote { font-style: italic; }
	.micol .left, .micol .right { width: 230px; }
	.micol a.grandrapids, .micol a.flint { display: block; text-indent: -999em; background-position: top left; background-repeat: no-repeat; width: 230px; height: 60px; }
	.micol h3 { text-align: center; }
	.micol a.grandrapids { background-image: url("/images/grandrapids.gif"); }
	.micol a.flint { background-image: url("/images/flint.gif"); }
	.micol .splitleft { float: left; width: 110px; }
	.micol .splitright { float: right; width: 110px; }
	.micol li { font-size: 11px; margin: 0 0 2px 0; line-height: 14px; }
	#michiganmap { position: relative; }
	#michiganmap ul { list-style: none; margin: 0; padding: 0; }
	#michiganmap li { text-indent: -999em; }
	#michiganmap li a { display: block; position: absolute; overflow: hidden; }
	#michiganmap li.gr a { width: 106px; height: 55px; top: 262px; left: 38px; }
	#michiganmap li.fl a { width: 73px; height: 51px; top: 253px; left: 201px; }
	
/* FOOTER: =footer
----------------------------------------------- */
	#footer { background: url("/images/bg-footer.gif") top left repeat-x; clear: both; padding: 23px 0 36px 0; }
	#footer a { color: #a7d0ff; text-decoration: none; }
	#footer a:hover { color: #fff; }
	#footer p { font-size: 11px; line-height: 17px; float: left; margin: 0; padding: 15px 0 0 15px; width: 260px; height:70px;}
	.mdnlogo { float:left; clear:both; background-color:none;}
	#footer ul { float: right; margin: 0; padding: 0 0 4px 0; list-style: none; }
	#footer li { float: left; border-right: 1px solid #435467; line-height: 12px; margin: 0 0 0 9px; padding: 0 8px 0 0; }
	#footer li.last { border: none; padding: 0; }
	#footer .nav { float: right; width: 560px; }
	#footer .nav span { clear: right; display: block; font-size: 10px; text-align: right; color: #3f4d5f; }
	#footer .invis a,
	#footer .invis a:hover { color: #3f4d5f; 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 #title h1 {  }
	.sIFR-active #content h2 { visibility: hidden; line-height: 1em; font-size: 20px; }

	/* 
	  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%; }
}


