/*
COLORS
Define main colors used in a site here for easy reference

Dark Blue 003355 - H1 H2-homepage, 
Light Blue 336080 - H2-inner page H3, phone number, side bar list, quote person, 
Sky Blue 3399CC - Active links, sidebar nav, 
#C00 - Hover links
#600 - Visited
#668EA6 - Intro paragraph, header contact us, quote
99BBCC - Toll free, footer text, h2 sidebar, quote location



*/

html {
	height: 100%;
}

body {
	margin: 0;
	height: 100%;
	font: 62.5%/1.5em verdana, sans-serif;
	text-align: center;
	color: #333;
	background: #FFF url(../images/body-bg-inner.gif) 0 0 repeat-x;
}

/* Different Backgrouns for specific templates */
body.home {background: #FFF url(../images/body-bg-home.gif) 0 0 repeat-x;}
body.home #wrapper {background: none;}
body.list #page {background: url(../images/body-bg-list.gif) 0 0 repeat-x;}
body.list #wrapper {background: url(../images/wrapper-bg-list.jpg) 203px 5px no-repeat;}

/* ----------------
	DEFAULTS AND RESETS
    ------------- */

/* PC FF3 adds an outline to Flash objects? */
a, object {
	outline: none;
}

a img { border: none; }

h1, h2, h3, h4, h5, h6 {
    color: #000;
	margin: 0;
	font-family: Georgia, serif;
	line-height: 1em;
}  

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, 
h1 a:link, h2 a:link, h3 a:link, h4 a:link, h5 a:link, h6 a:link,
h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited  {
	text-decoration: none;
	color: #336080;
}
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
	color: #CC0000;
} 

h1 { font-size: 3.6em;}
h2 { font-size: 2em; }
/* .home h2 {font-size: 2.4em} */
h3 { font-size: 1.4em; }
h4 { font-size: 1.3em; }
h5 { font-size: 1.2em; }
h6 { font-size: 1em; } 

dt {
	font-weight: bold;
	margin-bottom: 0;
}
dd {
	margin: 0 1.5em;
}
	dd p:first-child {
		margin-top: .5em;
	}
 
a,
a:link {
	color: #3399CC;
    text-decoration: underline;
}

a:visited {
	color: #600;
}
a:hover {
    color: #C00;
    text-decoration: underline;
}

strong, b { font-weight: bold; }
em, i { font-style: italic; }

p {
	line-height: 1.5em;
}

/* For HR's with background images */	
div.hr {
  	height: 3px;
  	margin: 10px 0;
  	background: #fff url() 0 0 repeat-x;
}
	div.hr hr {
	  	display: none;
	}

ul, ol {
    margin: 0;
    padding: 0;
    color: #404040;
    font-size: 1.3em;
    margin-bottom: 1em;
}
   /* position: relative; */

ul ul {font-size: 1em; margin-top: 1em;}

ul {list-style: none;}

ol {
    list-style: decimal;
    padding: 0;
}
	ol ul,
	ol ol {
		margin: 0;
		padding: 0;
	}

/* orderedList class can be assigned manually, or with jQuery method. Intended to style bullets differently than text.  */
ol.orderedList li span {
    color: #666;
}
ol.orderedList {
	color: #000;
}
	li {
	    margin: 0;
	    padding: 0;
	    margin-bottom: 0.5em;
	    position: relative;
	    background: url(../images/blue-bullet.gif) 0 7px no-repeat;
    	padding-left: 16px;
	} 

blockquote, q {
    margin: 1em 2em;
    padding: 1em;
    border-left: 1px solid #dcd6c6;
    font-style: italic; 
    font-size: 1.2em;   
    color: #666; 
}   

small,
.small { 
    font-size: .8em;
}

/* table { border: 0; border-collapse: collapse; } */

address { font-style: normal; font-size: 1.3em; }
form { margin: 0; }


/* ----------------
	PAGE STRUCTURE
	Elements that make up the skeleton of the layout and holds things together
    ------------- */
#page {
	position: relative;
	min-height: 100%;
	text-align: left;
	padding: 0;
	padding-bottom: 60px;
	background: url(../images/page-bg.gif) 0 0 no-repeat;
}

#wrapper {
	position: relative;
	min-height: 100%;
	margin: 0 auto;	
	width: 790px;
	background: url(../images/wrapper-bg.jpg) 205px 5px no-repeat;
}


#header {
	position: relative;
	width: 790px;
	height: 125px;
	margin: 0 auto;
	z-index: 99;
}
/*	background: url(../images/header-bg.gif) 0 0; */

/*
#headerInner {
		position: relative;
		height: 125px;
	}
*/

#contentMain {
	margin: 0 auto;
}

body.home #contentMain {
	position: relative;
	top: -120px;
}

body.home #footer {
	position: relative;
	top: -120px;
}

	#contentMainInner {
		padding: 0px;
		padding-bottom: 40px;
		position: relative;
	}
	
		
#bottom {
	position: relative;
	margin-top: -10px;
	height: 10px;
	background: url(../images/bg_bottom.gif) 0 0 repeat-x;
}


#entryColumnMain {
	width: 530px;
	float: left;
	margin-right: 60px;
	margin-bottom: 1.5em;
}

#entryColumnSub {
	float: left;
	width: 200px;
	margin-bottom: 1.5em;
}

#entryClients {
	clear: left;	
}


#entryBottom {
	clear: left;
	border-top: 1px solid #E5EEF2;
	padding-top: 2em;
}

#innerColumnMain {
	float: left;
	width: 530px;
	position: relative;
	padding-top: 40px;
}

#innerColumnSub {
	width: 200px;
	margin-right: 75px;
	float: left;
	padding-top: 40px;
}

	.testimonials #innerColumnSub,
	.company #innerColumnSub {
		padding-top: 320px;
	}
	
		.testimonials #innerColumnSub {
			min-height: 50px;
			height: auto !important;
			height: 50px; /* IE6 doesn't like min-height */	
		}
		
#innerTop {
	padding-top: 21px;
}

/* Template Specific styles */

.general #innerColumnMain {
	width: 505px;
	float: right
}

.general #innerTop {
	width: 505px;
	padding-top: 0;
	margin-bottom: 1.5em;
}

	.general #innerTop h1 {
		margin-bottom: 0.25em;
	}

.general #description {
	width: 300px;
	margin-top: 0;
	clear: left;
}

.general .noImg #description {
	width: 505px;	
}

.list #innerColumnMain,
.twocolumn #innerColumnMain {
	width: 475px;
}

.clients #innerColumnMain {
	width: 760px;
}

.list #innerColumnSub {
	margin: 0 0 0 60px;	
	width: 255px;
}

.twocolumn #innerColumnSub {
	margin: 70px 0 0 40px;
	width: 255px;
}

	.company #innerColumnSub {
		background: url(../images/people/greg.jpg) -10px -5px no-repeat;
		margin: 0 0 0 40px;
	}
	
	.testimonials #innerColumnSub {
	
	}
	
	.contact #innerColumnSub {
		padding-top: 30px;
	}
	
	.blog #innerColumnSub {
		padding-top: 0;
	}
	
		.blog #innerColumnSub h3{
			margin-top: 0;			
		}
	
/* ----------------
	PAGE STRUCTURE ELEMENTS
	Elements  such as logos, search bars, and any other design element repeated throughout the site, but doesn't effect the structural layout
    ------------- */
#logo {
	width: 200px;
	height: 86px;
	display: block;
	background: url(../images/logo.gif) 0 0 no-repeat;
	position: absolute;
	top: 40px;
	left: -55px;
	margin: 0;
	padding: 0;
	font-size: 1em;
}
	#logo a {
		width: 200px;
		height: 86px;
		display: block;
		text-indent: -9999px;
	}

	#contactNumbers {
		position: absolute;
		right: 0;
		top: 20px;
		text-align: right;
	}
	
		#contactNumbers .local {
			color: #668EA6;
			font-size: 1.9em;
			font-family: Georgia, serif;
			margin: 0;
			padding: 0;
		}
		
		
			#contactNumbers .local span {
				color: #336080;
				font-size: 0.74em;
				font-family: verdana, san-serif;
				font-weight: bold;
			}
		
	
		#contactNumbers .tollFree {
			color: #99BBCC;
			font-size: 1.1em;
			font-weight: bold;
			margin: 0;
			padding: 0;
		}
		
			#contactNumbers .tollFree span {
				color: #668EA6;
				font-size: 1.1em;
				font-weight: normal;
			}
			
#flashArea {
		position: relative;
		z-index: 0;
		height: 442px;
		width: 790px;
		top: -120px;
	}
				
	#flashAreaInner {
			
		}
	
		#flashArea img {
			margin-top: -5px;
		}

#footer {
	background: url(../images/footer.gif) center 0 no-repeat;
	border-top: 1px solid #E1EBEF;
}

#footerInner{
	margin: 0 auto;
	width: 760px;
	font-size: 1em;
	color: #99BBCC;
}

	#footerInner a {
		text-decoration: none;
		color: #99BBCC;
	}
	
	#footerInner a:hover {
		text-decoration: underline;
	}
	
	#footer .left {
		float: left;
	}
	
	#footer .right {
		float: right;
		text-align: right;
	}
	
	
/* ----------------
	IMAGES
    ------------- */
.books {
	float: left;
	margin-right: 20px;
}

.pageImg {
	position: absolute;
	bottom: 0;
	right: 0;	
}

a.callOut {
	width: 199px;
	height: 61px;
	text-indent: -9999px;
	background: url(../images/call-to-action.jpg) 0 0 no-repeat;
	display: block;
}

	a.callOut:hover {background: url(../images/call-to-action-hover.jpg) 0 0 no-repeat;}
/* ----------------
	NAVIGATION
    ------------- */
#mainMenu {
	position: absolute;
	bottom: -1px;
	right: 0px;
	list-style: none;
	z-index: 100;
	margin: 0;
	float: left;
}

	#mainMenu li {
		background: url(../images/nav-bg.gif) -20px 100px no-repeat;
		cursor: pointer;
		float: left;
		margin: 0;
		margin-right: 5px;
		padding: 0;
	}
	
	#mainMenu li.last-child { margin-right: 0; }
	
		#mainMenu li a {
			color: #336080;
			display: block;
			font-size: 12px;
			font-family: 'Helvetica Neue LT Std' , Helvetica, arial, san-serif;
			font-weight: bold;
			padding: 15px 7px;
			text-align: center;
			text-decoration: none;
			text-transform: uppercase;
		}
		
		#mainMenu li a.active { color: #CC0000; }
		
			#mainMenu li a:hover {
				background: #CC0000;
				color: #FFF;
			}
			
			.jsEnabled #mainMenu li a:hover {
				background: none;
			}
			
#localNav {
	list-style: none;
	text-align: right;
	margin: 0;
	position: static;
}

	#localNav li {
		background: none;
	}
	
	#localNav li.last-child {
		margin-bottom: 0;
	}
	
		#localNav li a {
			display: block;
			color: #336080;
			text-decoration: none;
			padding: 0.5em;
		}
		
		#localNav li a:hover {
			color: #fff;
			background: #C00;
		}
		
		#localNav li a.active {
			font-weight: bold;
			color: #C00;
		}
		
			#localNav li a.active:hover {
				color: #fff;
			}
			
/* ----------------
	TYPEOGRAPHY
    ------------- */
    
/* Headers */

h1 {
	color: #003355;
	margin-bottom: 0.75em;
	position: relative;
}

h2 {
	color: #336080;
	margin-bottom: 0.5em;
}

h3 {
	text-transform: uppercase;
	color: #336080;
	margin-bottom: 1em;
	margin-top: 1.5em;
}

p {
	font-size: 1.3em;
	margin-top: 0;
	color: #404040;
}

p.summary {
	font-family: Georgia, serif;
	color: #668EA6;
	font-style: italic;
	font-size: 2em;
}

.home h2 {
	color: #003355;
	font-size: 2.4em;
	margin-bottom: 1em;
}
/* Entry Page Template Typography Style */
#entryColumnSub h3 {
	margin-bottom: 0.5em;	
}

#entryBottom h3 {
	display: inline;
	float: left;
	margin-top: 30px;
	margin-left: 45px;
}

/* General Template Typography Style */

.general h2 {
	padding-top: 1em;
	border-top: 1px solid #E5EEF2;	
}

.general #innerTop p {
	float: left;
	font-family: Georgia, serif;
	color: #668EA6;
	font-style: italic;
	font-size: 2em;
	margin: 0;
	width: 415px;
	line-height: 1.5;
}

/* List Template Typography Styles */

.list #innerTop p {
	color: #668EA6;
	font-size: 1.6em;
	font-style: italic;
	float: left;
	width: 557px;
	margin-right: 2em;	
}

.list #innerColumnMain ul {
	list-style: none;
	margin: 0;	
}

.list #innerColumnMain .pageList {
	float: left;
	margin-left: 0;
	margin-bottom: 40px;
	background: none;
	padding-left: 89px;
	font-size: 1.3em;
}

	.list #innerColumnMain .pageList img {
		margin-left: -89px;
		float: left;
	}
	
	.list #innerColumnMain .noImg {
		padding-left: 0;
	}
	
.list #innerColumnMain li {
	clear: left;
	margin-left: 0;
	margin-bottom: 40px;
	background: none;
}

.list #innerColumnMain p {
	font-size: 1em;
}

.list h3 {
	color: #99BBCC;	
	font-size: 2em;
	margin-bottom: 0.5em;
}

	#innerColumnSub h3 a {
		color: #99BBCC;	
		text-decoration: none;
	}

		#innerColumnSub h3 a:hover {
			color: #99BBCC;	
			text-decoration: underline;
		}

.list #innerColumnSub ul {
	margin-left: 1.5em;
	font-size: 1.3em;
	position: static;
}

	.list #innerColumnSub li {
		margin-bottom: 0.5em;
		background: none;
		padding-left: 0;
		list-style: disc;
	}

		.list #innerColumnSub li a,
		.list #innerColumnSub li a:visited {
			color: #336080;
			font-weight: bold;
		}
		
		.list #innerColumnSub li a:hover {
			color: #CC0000;
			font-weight: bold;
		}

.twocolumn #innerColumnSub p {
	font-size: 2em;
	color: #668EA6;
	font-style: italic;
	font-family: georgia, serif;
}

	.twocolumn #innerColumnSub .testimonialSource p  {font-size: 1.3em; font-style: normal;}

.datePosted {
	font-weight: bold;
	color: #99BBCC;
	font-family: georgia, serif;
}

cite {
	font-size: 1.3em;
	font-weight: bold;
	font-style: normal;
	color: #336080;
	font-family: georgia, serif;
}

	cite strong {
		color: #99BBCC;
		display: block;
	}

/* Blog Styles */

.datePosted {
	font-size: 1.3em;
	margin-bottom: 1em;
}

.blog h2 {
	margin-bottom: 0;
	margin-top: 1em;
}

.blogComment {
	border-bottom: 1px solid #E5EEF2;
	margin-bottom: 2em;
	padding-bottom: 1em;
}

	.blogComment h3 {
		margin-bottom: 0.5em;
	}
	
	.blogComment .datePosted {
		margin-bottom: 0;
		float: left;
		margin-right: 10px;
	}
	
	.blogComment .postedBy {
		font-size: 1.2em;
	}
	
	.blogComment p {
		margin-top: 1em;
		clear: left;
	}

.blogEntry p {
	margin-top: 1em;
}

.tagsInList {
}

	.tagsInList ul {
		list-style-type: none;
		margin: 0;
		padding: 0;
	}
		.tagsInList li {
			background: none;
			display: inline;
			margin: 0;
			padding: 0;
		}
		
		.tagsInList li.tagUse0	{ font-size: .8em;	}
		.tagsInList li.tagUse10	{ font-size: .9em;	}
		.tagsInList li.tagUse20	{ font-size: 1em;	}
		.tagsInList li.tagUse30	{ font-size: 1.1em;	}
		.tagsInList li.tagUse40	{ font-size: 1.2em;	}
		.tagsInList li.tagUse50	{ font-size: 1.2em;	}
		.tagsInList li.tagUse60	{ font-size: 1.3em;	}
		.tagsInList li.tagUse70	{ font-size: 1.3em;	}
		.tagsInList li.tagUse80	{ font-size: 1.4em;	}
		.tagsInList li.tagUse90	{ font-size: 1.4em;	}
		.tagsInList li.tagUse100 { font-size: 1.4em; }




/* ***** */
.callOut {
	margin: 1.5em 0;
}

#footer p {
	font-size: 1em;
	color: #99BBCC;
}

/* List */
ul.col-3 {clear: left; margin-bottom: 1em; overflow: hidden;}
ul.col-3 li { width: 30%; float: left; margin-right: 5px; font-size: 0.9em; }

/* ----------------
	FORM ELEMENTS
    ------------- */
form {
	
}

fieldset {
	margin: 0;
	padding: 0;
	border: none;
	float: left;
}

	fieldset .formField {
		clear: left;
		margin-bottom: 1em;	
	}

	fieldset .formField.required {
			
	}
	
		fieldset .formField label {
			width: 10em;
			float: left;
			text-align: left;
			margin-right: 0.5em;
			color: #668EA6;
			font-weight: bold;
			text-transform: uppercase;
		}

		fieldset .formField .inputText {
			width: 19em;
			padding: 0.25em;
			border: 1px solid #B2CCD9;
		}
		
		fieldset .formField .inputTextArea {
			width: 25em;
			height: 10em;
			border: 1px solid #B2CCD9;
		}
		
		fieldset .formField .inputButton {
			background: url(../images/submit.gif) 0 0 no-repeat;
			width: 74px;
			cursor: pointer;
			height: 29px;
			display: block;
			text-indent: -9999px;
			border: 0;
			font-size: 0px;
			line-height: 0;
			float: right;
		}
		
			fieldset .formField .inputButton:hover {
				background: url(../images/submit-hover.gif) 0 0 no-repeat;
			}
		
		fieldset .formField .errorMessage {
			color: #CC0000; 
			display: block;
		}
		
fieldset .errorText {
	background-color: #FEFF9F; 
}

form input.protect {
	display: none;
}

div.errors {
	background: #FEFAD9 url(../images/forms/bg_error.gif) 0 0 repeat-x;
	border: 1px solid #E0D75F;
	margin: 1em 0;
	width: 100%;
}
	div.errorsInner {
		padding-left: 80px;
		padding-top: 15px;
		background: url(../images/forms/big_error.gif) 15px 1em no-repeat;
	}
	
label span {
	color: #DF4545;
}

/* ----------------
	SPECIAL ELEMENTS
    ------------- */

/* Rotating Carousel on hompeage */

#clientScroller {
	height: 72px;
	margin-left: 150px;
	overflow: hidden;
	position: relative;
	width: 590px;
}
	.items {
		position: absolute;
		width: 20000px;
		z-index: 1;
		height: auto;
	}
	
		.items div  {
			display: block;
			float: left;
			height: 72px;
			width: 144px;
			margin-right: 5px;
		}
		
	.sliderRight {
		background: #FFFFFF url(../images/design/sliders-right.gif) 0 15px no-repeat;
		height: 72px;
		position: absolute;
		right: 0;
		top: 0;
		width: 15px;
		z-index: 2;
	}
	
	.sliderLeft {
		background: #FFFFFF url(../images/design/sliders-left.gif) 0 15px no-repeat;
		left: 0;
		height: 72px;
		position: absolute;
		top: 0;
		width: 14px;
		z-index: 2;
	}
			
/* ----------------
	MISC
    ------------- */
.twoColumnList { float: left; margin-right: 15px; width: 230px; }
	.twoColumnList h3 { margin-top: 0; }
.floatLeft {float: left;}
.floatRight {float: right;}
.alignLeft {text-align: left;}
.alighRight {text-align: right;}
.alignCenter {text-align: center;}
.clear {clear: both;}


/* ----------------
	CLEAR FLOATS WITHOUT EXTRA HTML MARKUP
	add this class to the element that needs to be cleared - This works in modern browser that support the after pseudo element
    ------------- */ 
.clearFix:after { 
	content: "."; 
	display: block; 
	height: 0; 
	clear: both; 
	visibility: hidden; 
}


