@charset "utf-8";

/* Clearfix - fixes the height of a containter element if there are only floated items within it */
.clearfix {
	display: inline-block;
}
.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	display: none;
	line-height: 0;
	height: 0;
}

/* General styles */
body {
	margin: 0;
	background: #fff url(../images/bg.jpg) repeat-x;
	font: 13px Tahoma, Arial, Helvetica;
	color: #545454;
}
img {
	border: 0 none;
}
h1 {
	border-bottom: 1px solid #dedede;
	padding: 0 0 5px;
	margin: 0;
	display: block;
	width: 75%;
	font-size: 1.5em;
	color: #4e70b9;
	font-weight: normal;
}
h2 {
	font-size: 1.25em;
	color: #4e70b9;
}
p, h1, h2, h3 {
	margin: 0 0 1em;
}
dl {
	margin-bottom: 1em;
	display: block;
}

dl dt {
	margin-top: 1em;
}
a {
	color: #314775;
	text-decoration: none;
}
a:hover {
	color: #c01e06;
}


/* Center page, Width of page & shadowed edge background */
#edges, #wrapper {
	margin: 0 auto;
}
#edges {
	width: 970px;
	background: url(../images/bg_edges.png) repeat-y;
}
#wrapper {
	width: 960px;
	border-right: 1px solid #8d8d8d;
	border-left: 1px solid #8d8d8d;
	background: #fff;
	padding-bottom: 8px;
}

/* Header elements */
#logo {
	background: url(../images/header_logo_bg.jpg) no-repeat;
	height: 95px;
	position: relative;
}
#logo  img.logo {
	float: left;
	margin: 8px 4px 4px 59px;
}
#top_tagline {
	background: url(../images/tagline-2.png) no-repeat;
	height: 21px;
	width: 394px;
	text-indent: -1000em;
	position: absolute;
	bottom: 5px;
	left: 380px;
}
.toplinks {
	float: right;
	margin-right: 30px;
}
.toplinks a {
	padding: 40px 12px 4px;
	display: block;
	float: left;
	border-right: 1px dotted #0e1014;
	height: 14px;
}
.toplinks a.noborder {
	border-right: 0 none;
}

/* Rotating banner slideshow styles */
#banner {
	border-bottom: 4px solid #d5d5d8;
	padding: 0 0 2px;
	margin: 0 5px;
	position: relative;
}
#banner .slideshow {
	height: 100%;
	position: relative;
	float: left;
	border: 1px solid #fff;
	border-right: 0 none;
	overflow: hidden;
}
#phonenumber, #tagline  {
	position: absolute;
	z-index: 1010;
	text-indent: -1000em;
}
#banner #phonenumber  {
	top: 0;
	right: 0;
	background: url(../images/phone_num.png) no-repeat;
	height: 49px;
	width: 188px;
}
.banner-home, .banner-inner {
/*	overflow: hidden;	*/
}
.banner-home img, .banner-inner img {
	margin: 0 0 12px;
	border-right: 1px solid #fff;
}
.banner-home {
	height: 240px;
}
.banner-home .slideshow, .banner-inner .slideshow {
	background: url(../images/banner_bg.jpg) no-repeat;
	background-position: left -12px;
	width: 748px;
}
.banner-home #tagline  {
	background: url(../images/tagline-home.png) no-repeat;
	height: 24px;
	width: 291px;
	right: 14px;
	bottom: 7px;
}
.banner-inner {
	height: 180px;
}
.banner-inner .slideshow {
	background-position: left -72px;
	border-right: 0 none;
	width: 948px;
}
.banner-inner #tagline  {
	background: url(../images/tagline-inner.png) no-repeat;
	height: 78px;
	width: 136px;
	right: 30px;
	bottom: 30px;
}

/* Navigation menu styles */
.home_nav {
	height: 100%;
	background: #c4d0e5 url(../images/nav_bg.jpg) repeat-y;
	width: 200px;
	float: right;
	position: relative;
}
.home_nav_top {
	background: url(../images/nav_top.jpg) no-repeat;
	height: 4px;
}
.home_nav_bot {
	background: url(../images/nav_bot.jpg) no-repeat;
	height: 5px;
	position: absolute;
	bottom: 0;
	width: 100%
}
ul.navigation {
	list-style: none;
	position: relative;
	background: url(../images/nav_shine.jpg) no-repeat 3px top;
}
ul.navigation li {
	background: url(../images/nav_vdivider.png) no-repeat 16px top;
	padding-top: 1px;
}
ul.navigation li a {
	background: url(../images/nav_bullet.gif) no-repeat 16px center;
	display: block;
	padding: 6px 6px 6px 32px;
	text-transform: uppercase;
	text-decoration: none;
	color: #020202;
	font-size: 13px;
}
/* Inner Navigation Menu Bar styles */
.inner_nav {
	position: relative;
	background: url(../images/nav_bg-inner.jpg) repeat-x;
	margin: 2px 4px;
	height: 41px;
	padding: 0 20px;
}
.inner_nav ul.navigation {
	margin: 0;
	padding: 0;
	background: url(none);
}
.inner_nav ul.navigation li {
	margin: 0 11px 0 1px;
	padding: 0;
	float: left;
	background: url(none);
}
.inner_nav ul.navigation li:hover {
	background: url(../images/nav_bg_inner-ov.jpg) repeat-x;
}
.inner_nav ul.navigation li a {
	padding: 12px 14px 12px 26px;
	background-position: 12px center;
}
/* Rounded Corners for Inner Menu Bar */
.inner_nav_tl, .inner_nav_tr, .inner_nav_bl, .inner_nav_br {
	background: url(../images/roundedcorners_10.png) no-repeat;
	height: 20px;
	width: 20px;
	overflow: hidden;
	position: absolute;
}
.inner_nav_tl {
	background-position: left top;
	left: 0;
	top: 0;
}
.inner_nav_tr {
	background-position: right top;
	top: 0;
	right: 0;
}
.inner_nav_bl {
	background-position: left bottom;
	left: 0;
	bottom: 0;
}
.inner_nav_br {
	background-position: right bottom;
	right: 0;
	bottom: 0;
}

/* Drop-Down Menu styles */
	/* Basic code - don't modify */
	ul.dropnav {
		display: block;
		margin: 0;
		padding: 0;
		position: relative;
	}
	ul.dropnav li {
		display: block;
		list-style: none;
		margin: 0;
		padding: 0;
		float: left;
		position: relative;
	}
	ul.dropnav a {
		display: block;
	}
	ul.dropnav ul {
		display: none;
		position: absolute;
		left: 0;
		margin: 0;
		padding: 0;
	}
	* html ul.dropnav ul {
		line-height: 0; /* IE6 "fix" */
	}
	ul.dropnav ul a {
		zoom: 1; /* IE6/7 fix */
	}
	ul.dropnav ul li {
		float: none;
	}
	ul.dropnav ul ul {
		top: 0;
	}
	/* Essentials */
	ul.dropnav ul {
		width: 12em;
	}
	ul.dropnav ul ul {
		left: 100%;
		top: -1px;
	}
	/* Theme styles */
	.home_nav ul.dropnav {
		margin: 2px 1px;
		padding: 15px 0 0;
	}
	ul.dropnav li {
		float: none;
	}
	ul.dropnav li.hover {
		background: none;
	}
	.home_nav ul.dropnav li {
		padding-top: 1px;
		margin: 0;
	}
	.home_nav ul.dropnav li.noline, .home_nav ul.dropnav li.noline.hover {
		background-image: url(none);
	}
	.home_nav ul.dropnav li.hover {
		background: #a5bce5 url(../images/nav_vdivider.png) no-repeat 16px top;
		padding-top: 1px;
	}
	.home_nav ul.dropnav ul {
		top: -1px;
		right: 196px;
		left: auto;
	}
	.home_nav ul.dropnav ul ul {
		top: 0;
		right: 100%;
	}
	.teaserlink ul.dropnav ul {
		margin: 0 6px;
		top: 64px;
		right: 0;
		left: auto;
	}
	.home_nav ul.dropnav ul li, .home_nav ul.dropnav ul li.hover {
		background-image: url(none);
		padding-top: 0;
		margin: 0;
	}
	ul.dropnav ul {
		top: auto;
		font-weight: normal;
		line-height: normal;
		border: 1px solid #dedede;
	}
	.inner_nav ul.dropnav ul li {
		margin: 0;
		padding: 0;
		float: none;
	}
	ul.dropnav ul ul {
		margin-top: -1px;
	}
	.inner_nav ul.dropnav ul ul {
		margin-top: 0;
	}
	ul.dropnav ul li a, .inner_nav ul.dropnav ul li a {
		font-weight: normal;
		line-height: normal;
		text-transform: none;
		background: #eee;
		padding: 0.5em 0.75em;
		color: #333;
	}
	ul.dropnav a.hover {
		background: url(../images/nav_bullet_ov.gif) no-repeat 16px center;
	}
	ul.dropnav ul a.hover, .inner_nav ul.dropnav ul a.hover {
		background: #33c none;
		color: #fff;
	}
	/* END Drop-Down Menu styles */


/* Content styles */

/* Content Container */
#content {
	padding: 16px 12px;
}
/* Right-hand column for section menus */
.right-col {
	float: right;
	width: 200px;
	margin: 0 0 2em 34px;
	background: #c4d0e5 url(../images/nav_bg.jpg) repeat-y center;
	border-radius: 4px;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
}
.right-col h3 {
	color: #314775;
	text-transform: uppercase;
	font-size: 1.2em;
	font-weight: normal;
	display: block;
	margin: 6px 8px;
	text-align: center;
	padding: 1em 0 0;
	background: url(../images/nav_shine.jpg) no-repeat center top;
}
.right-col ul {
	list-style: none;
	margin: 0 8px 6px;
	padding: 0.7em 0 0;
	background: url(../images/nav_vdivider.png) no-repeat center top;
}
.right-col ul li a {
	display: block;
	float: left;
	clear: left;
	width: 160px;
	padding: 6px 6px 6px 18px;
	background: url(../images/nav_bullet.gif) no-repeat 6px center;
}
.right-col ul li a:hover {
	background-color: #a5bce5;
	background-image: url(../images/nav_bullet_ov.gif);
}
/* Class to separate topics on pages */
.topic {
	clear: left;
	overflow: hidden;
}
/* Class to allow splitting a topic in half vertically */
.half {
	width: 46%;
	float: left;
	clear: none;
	margin: 6px 2%;
}

/* Class for photo captions */
.caption {
	padding: 4px;
	background: #eee;
	border: 1px solid #dedede;
	border-radius: 4px;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
}
.caption p {
	text-align: center;
	font-size: 0.85em;
	margin: 6px;
	padding: 0;
}


/* Classes to align elements */
.float-lt, .float-rt {
	width: auto;
	margin: 0 0 1em;
}
img.float-lt, img.float-rt, .float-lt img, .float-rt img {
	border: 1px solid #545454;
}
img.noborder {
	border: 0 none;
}
.float-lt {
	float: left;
	margin-right: 1em;
}
.float-rt {
	float: right;
	margin-left: 1em;
}
.centertext {
	text-align: center;
}
/* Class for photos to appear side-by-side */
.hphotos img    {
	margin: 2px;
	border: 1px solid #e4e4e4;
}
.hidden {
	display: none;
}


/* Styles for the section "teasers" on the home page */
#teaser_links {
	font-size: 0.8em;
}
.teaserlink {
	float: left;
	background: url(../images/teaser_bg.jpg) repeat-y;
	width: 228px;
	margin-right: 7px;
	position: relative;
}
.teaserlink.nomargin {
	margin-right: 0;
}
.teaserlink .teaser {
	margin: 7px;
	padding: 6px 6px 13px;
	height: 6em;
	border-bottom: 1px solid #dedede;
}
.teaserlink p {
	margin: 0;
	padding: 0;
}
.teaserlink .button {
	margin: 0 10px;
}
.teaserlink .bottom {
	background: url(../images/teaser_bot.jpg) no-repeat;
	height: 7px;
}

/* Dynamic list styles */
ul.dynalist, ul.dynalinklist  {
	margin: 0 0 1em;
	padding: 8px 4px;
	list-style: none;
	border: 1px dotted #dedede;
	position: relative;
	overflow: hidden;
}
ul.dynalist li {
	display: block;
	clear: both;
	padding: 4px;
	margin: 0 4px;
}
ul.dynalist li span.item {
	display: block;
	width: 60%;
	float: left;
}
.half ul.dynalist li {
	width: 100%;
}
ul.dynalinklist li {
	margin: 0;
	padding: 0;
	float: left;
	width: 25%;
}
.half ul.dynalinklist li, ul.dynalinklist li.half {
	width: 50%;
}
ul.dynalinklist   li   a   {
	display: block;
	padding: 4px;
	margin: 0 4px;
}
ul.dynalinklist li a:hover {
	background: #eee;
}
ul.sitemap {
	margin: 0;
	padding: 0;
	list-style: none;
}
ul.sitemap ul {
	margin: 0.5em 0 0 1.5em;
	padding: 0;
	list-style: square;
}
ul.sitemap li {
	font-size: 1.1em;
	font-weight: bold;
	margin: 0 0 0.5em;
}
ul.sitemap ul li {
	font-size: 0.9em;
	font-weight: normal;
}
ul.noborder {
	border: 0 none;
}

/* Contact form styles */
form.dynaform {
	font-size: 1em;
	margin: 1em 0 0;
	padding: 1%;
	border: 1px dotted #dedede;
}
form.dynaform div.formgroup {
	float: left;
	margin: 0;
	width: 47.5%;
}
form.dynaform div.border {
	border-right: 1px dotted #dedede;
	margin-right: 1%;
}
form.dynaform label {
	display: block;  /* block float the labels to left column, set a width */
	float: left;
	width: 4em;
	padding: 0;
	margin: 10px 0 0; /* set top margin same as form.dynaform input - textarea etc. elements */
	text-align: right;
	font-weight: bold;
}
form.dynaform label.nowrap { /* allows label to sit above field */
	margin-left: 10px;
	text-align: left;
	white-space: nowrap;
	width: auto;
}
form.dynaform label.radio {
	font-weight: normal;
	float: none;
	display: inline;
	margin: 0px;
	width: auto;
	text-align: left;
	font-size: 0.9em;
}
form.dynaform input, form.dynaform select {
	/* display: inline; inline display must not be set or will hide submit buttons in IE 5x mac */
	width: 15.8em;
	color: #686868;
	font-family: Lucida Sans Unicode, Lucida Grande, sans-serif;
	font-size: 1em;
	margin: 5px 10px 0 10px; /* set margin on left of form.dynaform elements rather than right of
                              label aligns textarea better in IE */
}
form.dynaform input.radio {
	width: auto;
	margin: 5px 2px 0 18px; /* set margin on left of form.dynaform elements rather than right of
                              label aligns textarea better in IE */
}
form.dynaform input.checkbox {
	margin: 5px 0.25em 0 4.2em;
	width: auto;
}
form.dynaform input {
	height: 16px;
}
form.dynaform select {
	margin-top: 6px;
	width: 8em;
}
form.dynaform textarea {
	/* display: inline; inline display must not be set or will hide submit buttons in IE 5x mac */
	width: 26em;
	color: #686868;
	font-family: Lucida Sans Unicode, Lucida Grande, sans-serif;
	font-size: 1.1em;
	margin: 5px 0 0 10px; /* set margin on left of form.dynaform elements rather than right of
                              label aligns textarea better in IE */
	height: 5em;
}
form.dynaform input#submit {
	height: auto;
	width: auto;
	margin: 1em 0 0 4.8em;
	font-size: 0.9em;
}
form.dynaform input#reset {
	height: auto;
	width: auto;
	font-size: 0.9em;
/*	margin-left: 0px; /* set margin-left back to zero on reset button (set with input above) */
}
textarea {
	overflow: auto;
}
form.dynaform .required {
	font-weight: bold; /* uses class instead of div, more efficient */
}
form.dynaform br {
	clear: left; /* setting clear on inputs didn't work consistently, so brs added for degrade */
}
form.dynaform .captcha {
	margin-left: 4.8em;
}
form.dynaform .captcha input {
	margin-left: 0px;
	width: 6em;
	margin-bottom: 5px;
}
form.dynaform .captcha a {
	font-size: 0.8em;
}
form.dynaform .captcha br {
	clear: none;
}

/* Footer styles */
#footer {
	margin: 5px;
	padding: 10px;
	text-align: center;
	background: #f1f3f8;
	color: #8f8f8f;
	clear: both;
}
#footer ul {
	list-style: none;
	margin: 0 0 10px;
	padding: 0;
}
#footer li {
	display: inline;
	padding: 0;
	margin: 0;
}
#footer a {
	color: #8f8f8f;
	padding: 0 0.25em;
}

/* Web Design Link */
#bwd {
	text-align: center;
	background: #f1f3f8;
	margin: 5px;
	padding: 4px;
	font: 0.85em Verdana, Geneva, sans-serif;
}
