/* -------------------------------------------------------------- 
  	TABLE OF CONTENTS 
	
	1. Cross-browser Reset
	2. Standard elements defaults - Default styles for standard HTML elements. See /style-guide.html for markup examples.
	3. Style Library - Styles repeated through site but aren't structural elements.
	4. Main Structure - Includes header, main navigation, main wrapper, footer, etc
	5. Main Structure Alternative Styles - Styles for main structure elements that have different styles in different templates
	6. Template Styles - Specific styles for the different templates
	7. Page Specific Styles - If a page has unique styles not found anywhere else on the site they would go here
	
	STYLE SHEET COMMENT DEFINITIONS
	
	CF -- Denotes a style that is used as a clear fix
	PFD (Prevent float drop) -- Denotes a fix for ie6 to prevent layout from breaking with oversized content
	IE{.css} -- Denotes a css property that is used for a bug fix in IE7 and below. NOTE if .css is present check alternative style sheet
	IE6{.css} -- Denotes a css property that is used for a bug fix in IE6. NOTE if .css is present check alternative style sheet
	IE8.css -- Denotes a style that has an alternative version in the ie8.css style sheet
	HL (hasLayout) -- Denotes a hasLayout fix for IE
	DMB (Double margin bug) -- Denotes double margin fix for ie6
	SL - Denotes that a element draws most of its styles from style library
	
-------------------------------------------------------------- */

/* -------------------------------------------------------------- 
  	1. Cross-browser reset 
-------------------------------------------------------------- */

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, code,
del, dfn, em, img, q, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body { line-height: 1.5; }

/* Tables still need 'cellspacing="0"' in the markup. */
table { border-collapse: separate; border-spacing: 0; }
caption, th, td { text-align: left; font-weight: normal; }
table, td, th { vertical-align: middle; }

/* Remove possible quote marks (") from <q>, <blockquote>. */
blockquote:before, blockquote:after, q:before, q:after { content: ""; }
blockquote, q { quotes: "" ""; }

/* Remove annoying border on linked images. */
a img { border: none; }

/* PC FF3 adds an outline to Flash objects */
a, object { outline: none; }

/* -------------------------------------------------------------- 
  	2. Standard elements defaults 
-------------------------------------------------------------- */

/* Headings
-------------------------------------------------------------- */
h1,h2,h3,h4,h5,h6 { margin-bottom: 0.5em; color: #660000; }

h1 { font-size: 2.667em; font-weight: normal; }
h2 { font-size: 1.75em; font-weight: bold; }
h3 { font-size: 1.5em; font-family: "Helvetica Neue", Helvetica, arial, sans-serif; }
h4 { font-size: 1.5em; }
h5 { font-size: 1.083em; font-family: "Helvetica Neue", Helvetica, arial, sans-serif;  }
h6 { font-size: 1.083em; }

h1 a, h1 a:link,
h2 a, h2 a:link,
h3 a, h3 a:link,
h4 a, h4 a:link,
h5 a, h5 a:link,
h6 a, h6 a:link { color: #2B546B; }

h1 a:hover,
h2 a:hover,
h3 a:hover,
h4 a:hover,
h5 a:hover,
h6 a:hover { color: #008CA8; }

/* Text Elements
-------------------------------------------------------------- */

body		{ color: #330000; font: 62.5% georgia, serif; }
p 			{ margin: 0 0 1em; line-height: 1.5; font-size: 1.333em; }
.summary p 	{ font-style: italic; font-size: 1.5em; }

a 			{ text-decoration: underline; }
a,a:link 	{ color: #2B546B; }
a:visited 	{ color: #008CA8; }

a:hover,
a:active,
a:focus 	{ color: #DD0000; }

blockquote  	{ margin: 0; }
blockquote p 	{ font-style: italic; font-size: 1.083em;}

strong 		{ font-weight: bold; color: #660000; }
em  		{ font-style: normal; text-transform: uppercase; color: #660000; }
address 	{ font-style: normal; }
cite 		{ font-style: normal; color: #660000; font-size: 0.917em;  }
small 		{ font-size: 0.625em; }

/* Following six styles generally do not need to be edited */

sup, sub    { line-height: 0; }
dfn 		{ font-style: italic; }
del 		{ color:#666; }
pre 		{ white-space: pre; }
pre,code,tt { font: 1em 'andale mono', 'lucida console', monospace; line-height: 1.5; }

/* HRs with background images
-------------------------------------------------------------- */

div.hr 		{ height: 3px; margin: 10px 0; background: #fff url() 0 0 repeat-x; }
div.hr hr 	{ display: none; }

/* Lists
-------------------------------------------------------------- */

li ul, 
li ol       { margin: 0 1.5em; padding-top: 1.5em; }
ul, ol      { margin: 0 1.5em 1.5em 1.5em; }
ul ol li 	{ background: none; padding-left: 0; }

ol          { list-style-type: decimal; }
li	    { margin-bottom: 0.5em; line-height: 1.5; font-size: 1.333em; }
dl          { margin: 0 0 1.5em 0; }
dl dt       { font-weight: bold; }
dd          { margin-left: 1.5em;}

/* Tables
-------------------------------------------------------------- */

table       	{ margin-bottom: 1.4em; width:100%; border: 1px solid #DFCD9B; border-bottom: none; border-right: none; }
th          	{ background: #DFCD9B; font-weight: bold; }
th,td,caption 	{ padding: 4px; }
td				{ border-bottom: 1px dashed #DFCD9B; border-right: 1px solid #DFCD9B;  }
tr.odd td  		{ background: #FBFBFB; }
tfoot       	{ font-style: italic; }
caption     	{ background: #eee; text-align: center; }

/* Forms
----------------------------------------------------------- */
fieldset 			{ border: 0; background: url(../images/design/horizontal-border.gif) 0 100% repeat-x; padding: 1em 0; margin-bottom: 1em; }
fieldset.last 		{ border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
legend 				{ font-weight: bold; }
label 				{ font: normal 1em georgia, serif; float: left; margin-right: 10px; text-align: right; width: 50px; }

.fieldArea 			{ margin-bottom: 0.833em; }
.fieldArea input,
.fieldArea textarea { width: 150px; border: 1px solid #DFCD9B; }
.fieldArea textarea { height: 50px; }

.required label 	{ font-weight: bold; color: #660000; }

input.aiValueField	{ display: none; }
input.submit 		{ cursor: pointer; border: 0; background: #430000 url(../images/design/btn.gif) 0 0 repeat-x; color: #EFE6CD; font: bold 0.917em verdana; padding: 4px 6px; text-transform: uppercase; float: right; }
input.submit:hover 	{ background: #970000 url(../images/design/btn-hover.gif) 0 0 repeat-x; }

span.message 		{ display: block; font-size: 0.917em; text-align: right; padding-top: 0.5em; }
span.error 			{ color: #DD0000; }
		
div#errors 			{ background: #FFF5E6 url(../images/design/form-error.gif) 10px 6px no-repeat; border: 1px solid #FFEBCC; margin: 0 0 1.5em 0; padding: 0.5em 10px 0.5em 50px; }
	div#errors h4 	{ color: #FFB612; font: bold 1.25em arial, sans-serif; }
	div#errors p 	{ margin-bottom: 0.25em; color: #990000; font-size: 0.917em; }
	div#errors ul 	{ margin: 0 0 0 15px; }
		div#errors li 	{ margin-bottom: 0.5em; font-size: 0.917em; color: #000000;  }

/* -------------------------------------------------------------- 
	3. Style Library
----------------------------------------------------------- */

.contact-us-arrow { text-transform: capitalize; padding-left: 12px; background: url(../images/design/brown-arrow.gif) 0 6px no-repeat; } 

/* Call Out Bar Styles
----------------------------------------------------------- */

#list { clear: left; background: url(../images/design/video-listing-bg.gif) 0 0 no-repeat; margin: 0; padding: 2em 100px 0 190px; }

	.listing { float: left; width: 642px; padding: 0 0 1.25em 0; margin-bottom: 1.45em; border-bottom: 1px solid #FFFFFF; }
	
		.listing p { font-size: 1.25em; margin-bottom: 0; }
		
		.listing h3 { font-size: 1.35em; }
	
	.thumbnail { padding-left: 156px; width: 486px; }
	
		.thumbnail img { float: left; margin-left: -156px; }
		
	.video { padding-left: 265px; width: 377px; }
	
		.video img { float: left; margin-left: -265px; }
	
#list-intro { padding: 1.5em 30px 0.5em 175px; }

	#list-intro h1 { float: left; margin-right: 30px; width: 273px; }
	
	#list-intro p.summary { float: left; width: 420px; }
			
/* Call Out Bar Styles
----------------------------------------------------------- */

#calloutBar { padding-bottom: 10px; background: url(../images/design/calloutbar-shadow.png) 0 100% no-repeat; /* ie6.css */ }

	#calloutBarInner { background: #c3974a url(../images/design/calloutbar-bg.gif) 0 100% repeat-x; clear: left; padding: 0.75em 20px 0.75em 190px; margin-right: 27px; }

/* Pagination Styles
----------------------------------------------------------- */

.pagination { margin-bottom: 2em; clear: left; width: 638px; float: left; padding: 0 0 12px 195px; /* ie7.css */ position: relative; }

	.pagination .pageInfo { color: #330000; font-size: 0.917em; float: right; } /* CF */
	
	.pagination a { float: left; display: block; background: #660000; color: #FFF; margin-right: 7px; padding: 5px; text-decoration: none; }
	
	.pagination a:hover { background: #9f2116; color: #FFF; }
	
	.pagination .disabled { display: none; }
	
	.pagination .paginator { float: left; }
	
		.pagination .paginator .current { background: #9c5e5e; color: #FFF; text-decoration: none; }
	
/* Float Styles
----------------------------------------------------------- */

.floatLeft 		{ float: left; }
.floatRight 	{ float: right; }
.clearLeft 		{ clear: left; }
.clearRight 	{ clear: right; }
.clear 			{ clear: both; }

img.floatLeft 	{ margin: 0 1.5em 1em 0; }
img.floatRight 	{ margin: 0 0 1.5em 1.5em; }

/* Easy Clearing Styles
----------------------------------------------------------- */
.group:after 	{ content: "."; display: block; height: 0; clear: both; visibility: hidden; } /* CF, IE.css, IE6.css */

/* -------------------------------------------------------------- 
	4. Main Structure
----------------------------------------------------------- */
body { text-align: center; background: url(../images/design/body-bg.gif) 0 100% repeat-x; padding-bottom: 251px; }

	#page { text-align: left; padding-bottom: 1.4em; background: url(../images/design/page-bg.gif) 0 0 repeat; font-size: 1.2em; /* 62.5% + 1.2em = 12px */ }
	
		#header-wrap { background: url(../images/design/solid-shadow-reverse.png) 0 100% repeat-x; /* ie6.css */ position: relative; }
		
			#header { width: 932px; position: relative; padding-top: 70px; }
		
				#logo { width: 300px; height: 28px; position: absolute; left: 50px; top: 15px; background: url(../images/design/logo-text.png) 0 0 no-repeat; /* ie6.css */ }
				
					#logo a { display: block; width: 96px; height: 118px; text-indent: -9999px; background: url(../images/design/logo-foot.png) 0 0 no-repeat; /* ie6.css */ position: absolute; top: 0px; left: 125px; }
				
				#header p { font: italic bold 1.417em "Helvetica Neue", Helvetica, arial, sans-serif; color: #A87439; margin-bottom: 0; position: absolute; right: 0; top: 2px; }
				
					#header p span { font-style: normal; font-weight: bold; font-size: 1.647em; color: #F4EEDE; } 
					
				#header ul { list-style: none; margin: 0; background: #F4EFDE; padding-left: 92px; }
				
					#header li { margin: 0; float: left; background: url(../images/design/navigation-li-bg.gif) 100% 50% no-repeat; padding-right: 2px; font-size: 1em; }
					
					#header li.last-child { background: none; }
					
						#header li a { display: block; padding: 10px 9px; color: #660000; font: normal 1.083em "Helvetica Neue", Helvetica, arial, sans-serif; text-decoration: none; }
						
						#header li a:hover { background: url(../images/design/navigation-hover.gif) 50% 100% no-repeat; }
						
						#header li.active a { background: url(../images/design/navigation-active.gif) 50% 0 no-repeat; }
						
					#header li.first-child { margin-right: 100px; background: none; }
		
		#main-wrap { background: #f2ebd7 url(../images/design/main-content-bg.gif) 0 0 repeat-x; }
		
			#main { width: 932px; padding-bottom: 2em; min-height: 550px; }
		
		#footer-wrap { background: url(../images/design/solid-shadow.png) 0 0 repeat-x; /* ie6.css */ position: relative;  }
		
			#footer { padding: 2em 0 4em 92px; width: 840px; }
			
				#footer p { color: #A38D6C; font: normal 0.75em arial, sans-serif; margin: 0; }
			
				#footer a { color: #A38D6C; }
				
				#footer a:hover { color: #FFFFFF; }
				
				#footer .vcard { float: left; width: 500px; }
				
					#footer .vcard .contactInfo { float: right; text-align: right;}
					
						#footer .vcard .contactInfo .tel { display: block; }
						
					#footer .vcard p { float: left; }
				
						#footer .vcard .adr { display: block; }
					
				#footer .links { float: right; width: 320px; text-align: right; }
			
/* -------------------------------------------------------------- 
	5. Main Structure and Style Guide Alternative Styles
----------------------------------------------------------- */

body.general #main { background: url(../images/design/general-sidebar-bg.png) 592px 0 repeat-y; /* ie6.css */ }

body.home #main { background: url(../images/design/home-image.jpg) 0 0 no-repeat; }

	body.home #calloutBarInner { position: relative; padding: 0.5em 470px 1em 44px; min-height: 115px; /* ie6.css */ } /* SL */
	
/* -------------------------------------------------------------- 
	6. Template Styles
----------------------------------------------------------- */

/* Homepage Template
----------------------------------------------------------- */

#intro {  padding: 2em 20px 2em 465px; }

	#intro h1 { font-weight: normal; font-size: 2.667em; width: 247px; float: left; margin: 0 20px 1em -100px; text-align: right; line-height: 1; }
	
		#intro h1 em { color: #A26363; font-style: italic; text-transform: none; }
		
		#intro h2 { clear: left; font-size: 1.5em; font-family: "Helvetica Neue", Helvetica, arial, sans-serif; }
		
		#intro h3 { font-size: 1.5em; }
		
		#intro li { margin-bottom: 0; }
		
body.home #calloutBarInner h3 { color: #FFFFFF; }
		
	body.home #calloutBarInner p { font-size: 1.083em; margin-bottom: 0; line-height: 1.25; }
		
		body.home #calloutBarInner .callout { position: absolute;  right: 10px; top: 10px; }
		
		body.home #calloutBarInner .calloutOne { right: 190px; }

		body.home #calloutBarInner .calloutTwo { top: 5px; }

		body.home #calloutBarInner .calloutThree { top: 63px; }
	
/* General Template ( 3 Column )
----------------------------------------------------------- */

#section { float: left; width: 465px; min-height: 500px; /* ie6.css */ padding: 3em 35px 2em 92px; overflow: hidden; /* PFD */ background: url(../images/design/general-page-bg.gif) 0 0 repeat-x; }

	#section h1 { padding-bottom: 0.5em; background: url(../images/design/horizontal-border.gif) 0 100% repeat-x; }

#aside { float: left; width: 330px; overflow: hidden; /* PFD */ background: url(../images/design/sidebar-bg.jpg) 0 0 no-repeat; /* ie6.css */}

	#asideInner { padding: 2em 25px 2em 15px; }
	
		#asideInner img { border: 10px solid #FFFFFF; -moz-box-shadow: 3px 3px 3px #a77e3e; -webkit-box-shadow: 3px 3px 3px #a77e3e; display: block; margin-bottom: 1.25em; } 
		
			#asideInner #callout a img { border: none; } 
		
		#asideInner p { font-size: 1.083em; }

/* Blog Post Template 
----------------------------------------------------------- */

/* Shared */

.post-meta { font: normal 0.833em verdana, sans-serif; display: block; clear: left; margin-bottom: 1em; background: #e9e0cd; padding: 0.5em 4px; color: #660000; display: block; float: left; }

	.post-header p { padding-bottom: 0.5em; background: url(../images/design/horizontal-border.gif) 0 100% repeat-x; padding-bottom: 0.5em; }

	.post-header span.post-meta { font-size: 0.75em; }

    .post-header span.addthis_default_style { float: left; padding-left: 10px; margin-top: 0.25em; width: 150px; }

#section .post-header h1 { background: none; margin: 0; } 

/* Individual Post Page */

#comments-listing,
#postComment { background: url(../images/design/horizontal-border.gif) 0 0 repeat-x; padding-top: 1.5em; border-top: 1px solid #DCD3C1; }

#comments h3 { color: #2B546B; margin-bottom: 0.75em; }

	#postComment fieldset { background: none; padding: 0; }
	
		#postComment label { width: 75px; text-align: left; }
		
		#postComment .fieldArea input { width: 175px; border: 1px solid #DFCD9B; }
		
		#postComment .fieldArea .error { text-align: left; }
		
		#postComment .fieldArea textarea { width: 370px; height: 80px; border: 1px solid #DFCD9B; overflow: auto; }

	#comments .comment { padding: 1em 0; border-bottom: 1px solid #dcd3c1; }
	
		#comments .comment p { margin-bottom: 0; clear: left; font-size: 1em; padding-top: 0.5em; /* ie7.css */ }
		
		#comments .comment h4 { font-size: 1.333em; }
		
	#comments .lastComment { border-bottom: 0; }
	
	#comments .firstComment { padding-top: 0; }
		
.bio-section { float: left; width: 145px; padding-top: 0.75em; }

	.bio-section ul { margin: 0 0 0 15px; }
	
		.bio-section li { font-size: 0.917em; margin: 0 0 0.75em 0; }
		
/* Blog Page */

.blog-post h3 { margin-bottom: 0.25em; font-size: 1.833em; }

	.blog-post h3 a { text-decoration: none; }
	
	.blog-post h3 a:visited { color: #2B546B; }
	
	.blog-post h3 a:hover { color: #008CA8; }

		.blog-post .post-meta { margin-bottom: 1em; }
		
		.blog-post .post-summary { clear: left; }		

/* -------------------------------------------------------------- 
	6. Page Specific Styles
----------------------------------------------------------- */


/* Testimonials Page
----------------------------------------------------------- */

#calloutBar p.summary { float: left; width: 440px; text-align: right; margin-right: 30px; margin-bottom: 0; } /* SL */
		
	body.list #calloutBarInner { min-height: 80px; /* ie6.css */ }

/* Contact Us Page
----------------------------------------------------------- */

#contactHeader span { font-size: 0.406em; text-align: right; float: right; display: block; position: relative; top: 20px; /* ie7.css */ }

.check p{ padding-left: 52px; background: url(../images/design/contact-us-check.gif) 0 0 no-repeat; }

	#contactForm fieldset { border: 0; background: url(../images/design/horizontal-border.gif) 0 100% repeat-x; padding: 1em 0; margin-bottom: 0; }
	
	#contactForm table { border: none; margin: 0; } 
		
		#contactForm table td { border: none; padding: 4px 0; } 
		
		#contactForm .htmlSelectOneMenu { margin-bottom: 0; }

			#contactForm .htmlSelectOneRadio label,
			#contactForm .approximateSquareFootageFieldArea label, 
			#contactForm .htmlSelectOneMenu label { float: none; font: bold 1.25em georgia, serif; text-align:left; width: auto; margin-bottom: 0.5em; display: block; }

				#contactForm .htmlSelectOneRadio td label { float: left; margin: 0; font-size: 1.083em; width: 187px; font-weight: normal; text-align: left; }

				#contactForm .htmlSelectOneRadio td input { width: auto; float: left; margin: 0 7px 0 0; border: 0; }

		#contactForm select { margin-right: 15px; width: 150px; }

			#contactForm .htmlSelectOneMenu label.other { font-size: 1em; display: inline; font-weight: normal; }
	
	/* Specific Fields */

		#contactForm .needFieldArea { margin-bottom: 0; }

		#contactForm .approximateSquareFootageFieldArea { margin-bottom: 0; }

			#contactForm .approximateSquareFootageFieldArea input { width: 106px; }

			#contactForm .approximateSquareFootageFieldArea label { display: inline; }

	/* Contact Info */
	
	#contactForm fieldset.contactInfo { margin-bottom: 0; } 
	
		#contactForm .contactInfoOne,
		#contactForm .contactInfoTwo { float: left; width: 225px; }
		
		#contactForm .contactInfoOne { margin-right: 25px; }
		#contactForm .contactInfoTwo { width: 214px; }
		
			#contactForm .commentsFieldArea textarea { float: none; width: 210px; }
			#contactForm .commentsFieldArea label { float: none; display: block; width: auto; text-align: left; margin-bottom: 0.5em; }
			
	#contactForm fieldset.last { margin-bottom: 1em; }
			
#asideInner .adr { font-size: 1.333em; margin-bottom: 0.75em; display: block; }

	#asideInner .adr .street-address,
	#asideInner .adr .post-office-box { display: block; }

#asideInner .vcard { margin-bottom: 1.5em; }
	
	#asideInner .vcard p { padding: 0; font-weight: bold; margin-bottom: 0; }

		#asideInner .vcard p span { font-weight: normal; }

/* Alt Style for aside on contact us page */

body.contact-us #asideInner { padding-top: 7em; padding-left: 25px; }

	body.contact-us #asideInner p { font-size: 1.333em; padding: 0; }

/* About Us Page
----------------------------------------------------------- */

img.rpa { margin-left: 72px; }

/* What is radiant heating Page
----------------------------------------------------------- */

#animation { height: 325px; margin-bottom: 1.5em; }

#typesOfHeating { list-style: none; font-size: 1em; margin-left: 0; margin-right: 0; }

	#typesOfHeating li { padding-left: 155px; float: left; width: 310px; padding-bottom: 1em; margin-bottom: 1em; border-bottom: 1px dashed #A87439; }
	
	#typesOfHeating li.last-child { border-bottom: 0; }
	
		#typesOfHeating li div.image { float: left; width: 155px; margin-left: -155px; display: inline; /* ie6 */ }
		
		#typesOfHeating li p { font-size: 1em; margin-bottom: 0.5em; }
		
			#typesOfHeating li p small { display: block; line-height: 1.2; padding-right: 12px; }
		
		#typesOfHeating li h3 { font-size: 1em; }
	



