/** ***** ***** ***** ***** General Styles ***** ***** ***** ***** **/

div, p, ul, ol, li, tr, th, td, legend, dl, dt, dd, blockquote, 
h1, h2, h3, h4, h5, h6, form, fieldset, input, textarea, select, option {
  font-family: Arial, "Trebuchet MS", sans-serif;
  font-size: 12px;
  font-weight: normal;
  color: #49484C;
  background: transparent;
}

div, p, ul, ol, li, tr, th, td, legend, dl, dt, dd, blockquote, 
h1, h2, h3, h4, h5, h6, form, fieldset {
  text-align: left;
  line-height: 20px;
  border: 0;
  padding: 0;
  margin: 0;
}

img {
  border: 0;
  padding: 0;
  margin: 0;
}

a, 
a:link, 
a:visited {
  color: #0056A5;
  text-decoration: none;
}

a:hover, 
a:active {
  color: #BE241C;
  background: #F6EDD5;
}

a:hover img, 
a:active img {
  background: #FFF;
}

a.more {
  font-size: 10px;
  margin-left: 6px;
}

strong a {
	font-weight: bold;
}

p {
  padding-bottom: 10px;
}

h1,
h1 a,
h1 a:link, 
h1 a:visited {
  font-family: "Trebuchet MS", Arial, sans-serif;
  font-size: 21px;
  font-weight: normal;
  color: #BE241C;
	line-height: 26px;
  margin-bottom: 12px;
}

h1#home_tagline {
  font-size: 34px;
  font-weight: bold;
  color: #F7F1E6;
  line-height: 42px;
}

h2 {
  font-size: 14px;
  font-weight: normal;
  color: #DD791D;
  padding: 5px 0 7px 0;
}

h3 {
  font-size: 14px;
  font-weight: bold;
  color: #333;
  padding: 5px 0 7px 0;
}

h4 {
  font-size: 12px;
  font-weight: bold;
  padding: 5px 0 5px 0;
}

h4 a {
	font-weight: normal;
}

ul, ol {
  padding: 0;
  margin: 0 0 10px 25px;
}

ul.clean {
	list-style: none;
	margin-left: 0px;
}

li {
  padding: 0;
  margin: 0 0 2px 0;
}

table {
	border-collapse: collapse;
	border-top: #DDD 1px solid;
	border-left: #DDD 1px solid;
	margin-bottom: 10px;
}

td {
	border-right: #DDD 1px solid;
	border-bottom: #DDD 1px solid;
	padding: 2px 8px;
	text-align: center;
}

span.required {
  color: #f99;
}

.clear_both {
  clear: both;
}


/** ***** ***** ***** ***** Page Sections ***** ***** ***** ***** **/

body {
  text-align: center;
  background: #DDDBD4;
  padding: 0;
  margin: 0 auto 30px auto;
  width: 970px;
}

#shell {
  text-align: left;
  background: #FFF url(/images/bg_edges.jpg) repeat-y 0px 0px;
  padding: 0 15px;
  margin: 0;
  height: 1%; /* IE6 bug fix */
}

#header_for_printouts {
	display: none;
}

#header {
  height: 155px;
}

  body#home #header { height: 415px; }

#home_banner_container {
  height: 373px;
}

#home_tagline_container {
  padding: 190px 0 0 335px;
  width: 555px;
}

#navigation_secondary {
  float: right;
  font-size: 11px;
  padding: 1px 14px;
}

#main {
  background: url(/images/bg_inner.jpg) no-repeat 0px 0px;
  border-bottom: #8F8E93 7px solid;
  height: 1%; /* IE6 bug fix */
}

  body#home #main {
		/* #F7F1E6 and F0EADE */
		background: url(/images/bg_index.jpg) no-repeat 0px 0px;
  }

  body#no_sidebar #main {
		background: url(/images/bg_inner_no_sidebar.jpg) repeat-y 0px 0px;
  }

#navigation_primary {
  float: left;
  padding: 0 0 30px 0;
  width: 205px; /* padding is done on the navi elements (see below) */
}

#content {
  float: left;
  padding: 0px 30px 30px 30px;
  width: 485px; /* 555px */
}

  body#home #content { width: 360px; /* 420px */ }

  body#no_sidebar #content {
		float: left;
	  padding: 0px 30px 30px 30px;
	  width: 670px; /* 730px */
	}

#sidebar {
  float: left;
  padding: 28px 20px 30px 20px;
  width: 145px; /* 175px */
}

  body#home #sidebar {
   padding-top: 0px;
	 padding-left: 30px;
   width: 260px; /* 310px */
  }

#footer_for_printouts {
	display: none;
}


/** ***** ***** ***** ***** Section Styles ***** ***** ***** ***** **/

#sidebar h3 {
  padding: 10px 0 2px 0;
}

#sidebar ul {
  margin-left: 18px;
}

#sidebar li {
  margin-bottom: 0;
}

#navigation_secondary a, 
#navigation_secondary a span {
  font-size: 10px;
}

.jumper {
	text-align: right;
	line-height: 20px;
	padding-bottom: 0;
}

.jumper a {
	font-size: 10px;
}

div.key_people p {
	float: left;
	width: 120px;
	font-size: 10px;
	line-height: 15px;
	margin-bottom: 5px;
}

div.key_people p img {
	border: #DDD 2px solid;
	margin-bottom: 3px;
}

p.center {
	text-align: center;
}

form {
	background: #F7F1E6;
	border: #F0EADE 2px solid;
	padding: 10px;
	margin: 0 0 10px 0;
}

form#member_login_form {
	background: #FFF url(/images/login_box.jpg) no-repeat 0px 0px;
	border: none;
	padding: 0;
	margin: 0;
	width: 480px;
	height: 235px;
}

form p {
	padding: 0;
	margin: 0;
}

input, select, option {
	background: #FFF;
}

input.entry {
	padding: 2px 4px;
}

input.button {
	font-weight: bold;
}

form#member_login_form input#memberpw {
	display: block;
	position: relative;
	top: 60px;
	left: 270px;
	width: 160px;
	height: 30px;
	font-size: 26px;
	line-height: 26px;
	color: #777;
	font-weight: normal;
}

form#member_login_form input#membergo {
	display: block;
	position: relative;
	top: 75px;
	left: 270px;
	width: 80px;
	height: 30px;
	font-size: 18px;
	color: #777;
	font-weight: normal;
}

form#member_search_form dt, 
form#member_search_form dd {
	float: left;
	padding: 10px 5px 5px 5px;
}

form#member_search_form dt {
	width: 130px;
	text-align: left;
	font-size: 13px;
	font-weight: bold;
	color: #777;
}

form#member_search_form dd {
	width: 460px;
}

form#member_search_form dd input#find_company {
  padding: 5px 5px 3px 5px;
  width: 406px;
  height: 16px;
  font-size: 12px;
}

form#member_search_form dd input.button {
  padding: 3px 5px;
  font-size: 13px;
  font-weight: bold;
  color: #555;
}

form#member_search_form dd select#select_service,
form#member_search_form dd select#select_region {
  padding: 3px;
  width: 420px;
  height: 26px;
}

form#member_search_form dd select#select_service option,
form#member_search_form dd select#select_region option {
  padding: 3px 5px;
  font-size: 12px;
}

form#member_search_form dd select#select_service option.specialty {
  padding: 3px 5px;
  font-size: 11px;
  color: #999;
}

p.news_event_intro {
	padding-bottom : 0px;
}

h2.news_event_header {
	clear   : both;
	padding : 20px 0 4px 0;
}

dl.news_event {
	clear   : both;
	float   : left;
	padding : 0;
	margin  : 0;
	width   : 485px;
}

dl.news_event dt, 
dl.news_event dd {
	display : block;
	float   : left;
	padding : 4px 6px;
	margin  : 0 1px 1px 0;
}

dl.news_event dt {
	text-align : right;
	font-size  : 11px;
}

dl.news_event dt.date {
	width        : 45px;
	color        : #676767;
	background   : #EEE;
	font-weight  : bold;
}

dl.news_event dt.time {
	width      : 50px;
	color      : #999;
	background : #F7F7F7;
}

dl.news_event dd {
	width : 350px;
}

dl.news_event dd.wide {
	width : 413px;
}

div.home_callout p {
  clear: left;
  background: #FFF;
  padding: 10px;
  margin-bottom: 10px;
}

div.home_callout p img {
  float: left;
  padding: 0 10px 10px 0;
}

#member_search_result_count {
  border: #ff9 1px dotted;
  padding: 12px 15px 10px 15px;
  margin: 15px 0 15px 0;
  background: #feffbf;
}

#member_search_result_count h3 {
  padding: 0;
  margin: 0;
  line-height: 20px;
  font-size: 14px;
  font-weight: bold;
  color: #333;
}

#member_search_result_count h3 span {
  padding: 2px 7px;
  margin: 0 2px;
  background-color: #EFEFD1;
}

#member_search_result_count p {
  padding: 8px 0 0 0;
  line-height: 18px;
  font-size: 12px;
  font-weight: normal;
  color: #555;
}

.member {
	padding: 12px 15px 17px 15px;
	width: 640px;
	background-color: #fff;
}

.member_striped {
  border-top: #ddd 1px dotted;
  border-bottom: #ddd 1px dotted;
  background-color: #f9f9f9;
}

.member h2,
.member p,
.member a {
	font-size: 12px;
	line-height: 18px;
	margin-bottom: 0;
	padding-bottom: 0;
}

.member h2 {
	font-size: 14px;
	font-weight: bold;
	padding-bottom: 2px;
}

.member p.message {
	padding: 0 0 5px 0;
	line-height: 16px;
	font-size: 11px;
	font-style: italic;
	color: #aaa;
}

.member_col1, 
.member_col2, 
.member_col3 {
	float: left;
	padding: 5px 15px 0 0;
	/* total width is 665px */
}

.member_col1 {
	width: 200px;
}

.member_col2 {
	width: 130px;
}

.member_col3 {
	padding-right: 0;
	width: 270px;
}

ul#member_list {
  padding: 0;
  margin: 10px 0 15px 0;
  list-style: none;
}

ul#member_list li {
  float: left;
  padding: 4px 15px 4px 6px;
  margin: 0;
  width: 220px;
  font-size: 11px;
}

ul#member_list li.striped {
  border-top: #ddd 1px dotted;
  border-bottom: #ddd 1px dotted;
  background-color: #f7f7f7;
}

#search_form input#q {
	padding: 2px 4px;
	margin-left: 5px;
	width: 320px;
}

#video {
  margin-bottom: 10px;
}


/** ***** ***** ***** ***** WYMeditor Styles ***** ***** ***** ***** **/

p.image_left_text_right {
  float: left;
  padding: 5px 0 15px 0;
  width: 425px;
  font-size: 11px;
}

p.image_left_text_right img {
  float: left;
  border-right: #DDD 1px solid;
  padding : 0 10px 30px 0;
  margin-right: 10px;
}

p.image_or_text_centered {
  text-align: center;
}


/** ***** ***** ***** ***** Navigation ***** ***** ***** ***** **/
  
#navi, 
#navi .subnavi {
  list-style: none;
  padding: 0;
  margin: 0;
  width: 205px;
}

#navi li {
  list-style: none;
  line-height: 22px;
  padding: 0;
  margin: 0;
}

#navi .subnavi li {
  line-height: 13px;
}

#navi li.capslock {
	text-transform: uppercase;
}

#navi li.linebelow {
	background: transparent url(/images/navi_break.jpg) no-repeat left bottom;
	padding-bottom: 6px;
	margin-bottom: 5px;
}

#navi li.lineabove {
	background: transparent url(/images/navi_break.jpg) no-repeat left top;
	padding-top: 6px;
	margin-top: 5px;
}

#navi a {
  font-family: "Trebuchet MS", Arial, sans-serif;
  font-size: 14px;
  display: block;
  padding: 3px 24px;
  width: 156px;
}

  body#home #navi a { text-align: right; }

#navi .subnavi a {
  font-family: Arial, "Trebuchet MS", sans-serif;
  font-size: 11px;
  color: #49484C;
  padding: 3px 25px 4px 36px;
  width: 143px;
}

#navi a:hover, 
#navi a:active, 
#navi a.here {
  color: #BE241C;
  background: #F6EDD5;
}
