/*
	RESETS
*/

*											{ margin: 0; padding: 0; }
body										{ font: normal 62.5%/1 "Lucida Grande", Tahoma, Verdana, sans-serif; color: #1a1818; background: #F9F9F9; }


/*
	GENERAL STYLING
*/

a											{ color: #462B41; border-bottom: 1px dotted #462B41; text-decoration: none; }
a:hover									{ color: #000; border-bottom: 1px solid #000; }
a img										{ border: 0; }
											
p, li, address, dl					{ font-size: 1.2em; line-height: 170%; }
li li, li p								{ font-size: 1em; }
											
p											{ margin: 0 0 1.5em; }
											
ul, ol 									{ margin: 0 1.5em 1.5em 3.5em; }
ul 										{ list-style-type: disc; }
ol 										{ list-style-type: decimal; }
											
dl 										{ margin: 0 0 1.5em 0; }
dl dt 									{ font-weight: bold; color: #036; }
dl dd 									{ margin: 0 0 1em 1.5em; }
											
abbr, acronym 							{ border-bottom: 1px dotted #000; }
address 									{ margin: 0 0 1.5em; font-style: normal; }
del 										{ color: #000; }
											
blockquote 								{ margin: 1.5em; }
strong 									{ font-weight: bold; }
em		 									{ font-style: italic; }
pre, code 								{ margin: 1.5em 0; white-space: pre; }
pre, code, tt 							{ font: 1em monospace; line-height: 1.5; } 
tt 										{ display: block; margin: 1.5em 0; line-height: 1.5; }
span.amp 								{ font-family: Baskerville, Palatino, "Book Antiqua", serif; font-style: italic; line-height: 1; }
											
h1, h2, h3, h4, h5, h6				{ font-weight: bold; color: #462B41; }
											
h1 										{ font-size: 3em; line-height: 100px; margin-bottom: 1em; height: 100px; color: #fff; font-weight: normal; text-transform: uppercase; }
h2 										{ font-size: 1.9em; line-height: 130%; margin-bottom: 0.75em; }
h3 										{ font-size: 1.7em; line-height: 130%; margin-bottom: 0.5em; }
h4 										{ font-size: 1.35em; line-height: 1.25; margin-bottom: 0.9em; }
h5 										{ font-size: 1em; margin-bottom: 1.5em; }
h6 										{ font-size: 1em; }
											
::-moz-selection						{ background-color: #462B41; color: #FFF; }
::selection								{ background-color: #462B41; color: #FFF; }
											
.hr										{ height: 0; border-top: 1px solid #c8c7c7; font-size: 0; margin: 20px 0; clear: both; }
.hr.soft									{ border-top-color: #e5e5e5; }
.hr hr									{ display: none; }

.error									{ color: #c00; }
.photo									{ display:block; margin: 0 auto; border: 8px solid #fff; -moz-box-shadow: 0 0 10px rgba(0,0,0,0.5);-webkit-box-shadow: 0 0 10px rgba(0,0,0,0.5); }


/*
	LAYOUT
*/

.container								{ width: 960px; margin: 0 auto; }
#main										{ background: url("/img/bg/bg.jpg") repeat-x; }
#main .container						{ background: url("/img/bg/page-head.jpg") no-repeat; }
.home #main								{ background: url("/img/bg/bg-home.jpg") repeat-x; }
.home #main .container				{ background: url("/img/bg/home-head.jpg") no-repeat; }

#content									{ float: left; width: 605px; }
#support									{ float: right; width: 355px; }

.cols .col								{ width: 290px; float: left; margin-right: 25px; }
.cols .last								{ margin-right: 0; }



/*
	MASTHEAD
*/

#masthead								{ background: #583853; height: 59px; }
#masthead ul							{ margin: 0; list-style: none; height: 59px; float: right; background: url("/img/bg/nav-divider.png") 100% 0 no-repeat; padding-right: 2px; }
#masthead li							{ background: url("/img/bg/nav-divider.png") no-repeat; font-size: 1.1em; font-weight: bold; float: left; padding-left: 2px; }
#masthead a								{ color: #fff; border: 0; float: left; height: 57px; line-height: 57px; padding: 0 15px; border-top: 2px solid #583853; 
											  text-shadow: 1px 1px 1px #462B41; }
#masthead a:hover						{ text-decoration: underline; }
											  
.about #masthead .about a,
.services #masthead .services a,
.practices #masthead .practices a,
.jobsearch #masthead .jobsearch a,
.people #masthead .people a,
.contact #masthead .contact a		{ border-color: #fff; }

#masthead #logo						{ padding: 0; border: 0; margin-top: 17px; height: auto; line-height: 1; }


/*
	FOOTER
*/

#footer									{ clear: both; border-top: 1px dotted #2d2d2d; padding-top: 15px; margin-top: 20px; color: #818386; }
#footer .block							{ width: 188px; margin-right: 20px; float: left; }
#footer #copyright					{ clear: both; border-top: 1px solid #606060; padding-top: 15px; }
#footer h4								{ font-size: 1.1em; margin-bottom: 0; }
#footer ul								{ margin-left: 20px; }
#footer li, #footer p, #footer address	{ font-size: 1.1em; }
#footer a								{ color: #818386; border-color: #818386; }

#footer #foot-enews					{ width: 335px; margin-right: 0; }
#footer #foot-enews h4				{ margin-bottom: 15px; }
#footer #foot-enews input			{ padding: 7px; border: 1px solid #ccc; float: left; margin-right: 20px; width: 225px; }
#footer #foot-enews a				{ }





/*
	HOMEPAGE
*/

.home h1									{ display: none; }
.home h2									{ text-indent: -999em; margin: 0 0 10px 0; background: url("/img/bg/home-intro.png"); width: 505px; height: 84px; }
#home-intro								{ width: 510px; height: 242px; padding-top: 40px; color: #fff; }
#feature-img							{ float: right; height: 218px; width: 414px; margin-top: 36px; overflow: hidden; }
#home-calltoaction					{ height: 58px; padding-left: 160px; } 
#home-calltoaction p					{ color: #fff; font-size: 1.4em; font-style: italic; line-height: 48px; text-indent: 20px; }
#home-calltoaction a					{ float: left; width: 126px; height: 58px; background: url("/img/bg/btn-jobsearch.png"); border:0; text-indent: -999em; overflow: hidden; }
#home-calltoaction a:hover			{ background-position: 0 100%; }

#home-panels							{ background: url("/img/bg/panel-dividers.png") 312px 0 no-repeat; }
#home-panels .panel					{ width: 293px; margin-right: 40px; float: left; padding: 30px 0 0 0; }
#home-panels .last					{ margin-right: 0; }



/*
	BUTTON
*/

a.btn										{ background: url("/img/bg/button.png") 0 0; float: left; height: 30px; border: 0; padding-left: 15px; }
a.btn b									{ background: url("/img/bg/button.png") 100% 0; float: left; height: 30px; line-height: 30px; padding-right: 15px; cursor: pointer;
											  font-size: 12px; font-weight: normal; color: #303030; text-shadow: 1px 1px 0px #fff; }

a.btn:hover								{ background-position: 0 100%; border: 0; }
a.btn:hover	b							{ background-position: 100% 100%; }



/*
	FORM
*/


input, select, textarea				{ border: 1px solid #ccc; padding: 6px; font: bold 1.2em/1 "Lucida Grande", Tahoma, Verdana, sans-serif; color: #4f4e4e;}
.form										{ margin: 2.5em 0 2.5em 0; }
.jobsearch .searchform				{ margin-left: 160px; }
.form p									{ position: relative; font-size: 1em; clear: both; }
.form p small							{ font-size: 1em; }
.form p.question						{ font-size: 1.5em; font-weight: bold; margin: 1.5em 0 1em 0; }
.form label								{ display: block; width: 150px; float: left; margin-right: 15px; font-weight: bold; line-height: 2.2em; font-size: 1.2em;
											  text-align: right; }
.form label i							{ display: block; font-size: 0.9em; font-weight: normal; font-style: normal; margin-top: 0.8em; }
.form span.input						{ width: 400px; overflow: hidden; display: block; }
.form input, .form textarea		{ border: 1px solid #BDBDBD;  width: 300px; padding: 5px; }
.form input.checkbox,
.form .checkbox input,
.form input.radio						{ width: auto; border: 0; margin-right: 10px; }

.form select							{ width: 314px; }
.form input:focus,
.form textarea:focus					{ border: 1px solid #036; }
.form textarea							{ width: 300px; height: 150px; }
.form input.btn						{ width: auto; background: #F3F3F3; }
.form input.error,
.form .btn								{ margin-left: 105px; }

.form .checklist						{ padding-left: 165px; margin-bottom: 2.5em; }
.form .checklist .checkitem		{ display: block; }
.form .checklist label				{ font-size: 1.2em; font-weight: normal; float: none; width: auto; text-align: left; display: inline; }

.form .disclaimer						{ padding-left: 165px; font-size: 1.1em; line-height: 120%; }

form .form textarea.error, .errorInput {
    border: 1px solid #DA0000 !important;
}

form .form span.error {
	font-size: 1.1em;
	background: #DA0000 !important;
	color: #FFF;
	padding: 5px 10px;
	position: absolute;
	top: 2px;
	left: 486px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	display: none;
}

optgroup									{ padding-left: 5px; }
optgroup	option						{ padding-left: 20px; }


.side-form								{ width: 200px; margin: 0 auto; }
.side-form label						{ display: block; font-size: 1em; color: #482743; line-height: 120%; margin-bottom: 3px; text-indent: 5px; }
.side-form select						{ display: block; margin-bottom: 20px; width: 200px; }
.side-form .btn						{ clear: both; margin-left: 60px; display: inline; }



/*
	TABLES
*/

.data									{ width: 100%; border: 1px solid #777; border-collapse: collapse; margin: 0 0 1.5em; }
.data td, .data th				{ font-size: 1.2em; padding: 10px; }
.data td								{ border: 1px solid #E5E5E5; }
.data th								{ text-align: left; font-size: 1.5em; background: #777; color: #fff; }
.data td img						{ vertical-align: middle; margin-top: -2px; }

.table-head							{ float: right; font-size: 1.1em; margin-top: -3.1em; }

.details td, .details th		{ font-size: 1.2em; padding: 10px; line-height: 120%; }
.details th							{ text-align: left; white-space: nowrap; padding: 10px 20px 10px 0; vertical-align: top; }
										

/*
	PAGING
*/

.paging								{ list-style: none; margin-left: 0; }
.paging li							{ float: left; margin: 0 5px 0 0; }
.paging a							{ float: left; padding: 2px 10px; text-align: center; border: 1px solid #ccc; }
.paging .active a					{ color: #fff; background: #036; border: 1px solid #036; }
.paging a:hover					{ border-color: #036; }


/*
	CLEARFIX
*/

.clearfix 								{ display: inline-block; }
.clearfix:after 						{ content: "."; display: block; height: 0; clear: both; visibility: hidden; }
* html .clearfix 						{ height: 1%; }
.clearfix 								{ display: block; }