          /*
--=.._/(        SolarWorld GLOBAL STYLES      )\_..=--
    	  */


/*
Christoph Saxe, Petra Gregorova ISITE Design


--------- Notes -----------

* html {anything} addresses IE < 6 browser bugs
*+html {anything} addresses IE 7 browser bugs

------- typography ---------

font-sizes are set in em for resizable goodness.  Here's a basic guide for the stylesheet.
font-size: .75em; 	= 9px
font-size: 0.835em; = 10px
font-size: .9175em; = 11px
font-size: 1em; 	= 12px
font-size: 1.085em; = 13px
font-size: 1.165em; = 14px
font-size: 1.25em;  = 15px
font-size: 1.335em; = 16px
font-size: 1.415em; = 17px
font-size: 1.5em;	= 18px
font-size: 1.585em; = 19px
font-size: 1.665em; = 20px
font-size: 1.75em; = 21px
font-size: 1.835em; = 22px
font-size: 1.915em; = 23px
font-size: 2em; = 24px

font colors:
	base body color: #333333;
		
link colors:
	main content a: #0000ff;
	main content hover: #999999;

*/

/* Basic browser reset  */
body,div,h1,h2,h3,h4,h5,h6,p,ul,ol,li,dl,dd,dt,blockquote,button,fieldset,legend,label,input,textarea,form { margin:0;padding:0;border:0; }
html,input,textarea,select { font-size: 100% } /*keep ie happy*/

body 					{ color:#404041; font: 81.3%/1.4 Arial, Helvetica, sans-serif; } /* 13px base font size */
h1, h2, h3, h4, h5, h6	{ color:#231f20; font-weight: normal; margin: 0 0 .25em 0;}

h1	{ font-size: 2em; } 	/* 24px */
h2	{ font-size: 1.665em; } /* 20px */
h3	{ font-size: 1.415em; } /* 17px */
h4	{ font-size: 1.25em; } 	/* 15px */
h5	{ font-size: 1em; } 	/* 12px; */
h6	{ font-size: .9175em; } /* 11px; */

p	{ margin-bottom: 1em; }

input, textarea { border: 1px solid #242323; }
abbr,acronym	{ border-bottom: 1px dotted #999; cursor: help; }
ul, ol 	{ margin: 0 0 1em; }
ol      { margin-left: 2em; }
table	{ border-collapse: collapse; }
td		{ border: 1px solid #ccc; padding: .5em;  }

body{background:#173760 none;}

/*----------------------------------- Site Structure --------------------*/
#wrapper {
	overflow:hidden;
	position: relative;
}
.inner-wrap { 
	margin:0 auto;
	width:940px;
}
#header {
	background:#f3f3f4 url(../img/css/bg-header.png) 0 0 repeat-x;
}
    #header .inner-wrap {position:relative;}
#site-utilities {
    padding-top:8px;
    position:absolute;
    top:0; right:0;
    width:740px;
}
#lead { background:#FDBE17 url(../img/css/bg-primary-landing-lead.png) 0 0 repeat-x; clear:left; padding:1em 0 0; }
.page-home #lead { 	background:#FDBE17 url(../img/css/bg-home-lead.png) 0 0 repeat-x; }
	#lead .flash { 
		height:357px;
		margin:0 auto;
		width:952px;
	}
#content {
	background:#fff url(../img/css/bg-content.png) 0 0 repeat-x;
	clear:both;
	overflow:hidden;
	padding:28px 0 0;
}
	.page-landing #content { 
		background-image:url(../img/css/bg-primary-landing-content.png);
		padding-top:38px;
	}
	.page-home #content {
		background-image:url(../img/css/bg-primary-landing-content.png);
		padding-top:20px; }


#primary {
	display: inline;
	float: left;
    margin-left: 240px;
	width: 700px;
}
#secondary {
	display: inline;
	float: left;
	margin-left: -940px;
	width: 178px;
}

/* page layout variations */
/* home page */
.page-home #primary {
	display:block;
	margin:0 -6px;
	padding:0 0 26px;
	width:952px;
}
.page-home #secondary {
	display:block;
	margin:0 0 0 -12px;
	width:952px;
}

/* page-landing cooresponds to template B, Primary Landing */
.page-landing #primary {
	float:left;
	margin:0 0 0 -14px;
	width:634px;
}
.page-landing #secondary {
	float:right;
	margin:0;
	width:300px;
}
 

/*******************************************************************************************
       					page-landing cooresponds to template H
	   						S H I N E   B A B Y   S H I N E 
*******************************************************************************************/
.no-nav #wrapper{background:#addded url(../img/css/bg-wrapper.png) no-repeat 50% 0;}
.no-nav #header {background:url(../img/css/bg-header-shadow.png) repeat-x 0 100% ;}
.no-nav #header .inner-wrap {background:url(../img/css/bg-inner-wrap.png) no-repeat scroll 0 0 transparent; overflow:hidden; position:relative; width:1100px;}
.no-nav a#brand  { background:url(../img/css/logo-sky.png) no-repeat scroll 0 0 transparent; height:125px; left:0;  width:325px;}

.actions {margin:0 0 25px 70px;}
	.main-site, .videos, .letter, .solar, .media {background:url(../img/css/bg-btn-actions.png) no-repeat 0 0; display:block; float:left; overflow:hidden; text-indent:-9999em;}
	.videos, .letter, .solar, .media { height:60px;}
	.videos { background-position:0 -100px; width:155px;}
		.videos:hover { background-position:0 -160px;}
	.letter { background-position:0 -220px; width:170px;}
		.letter:hover { background-position:0 -280px;}
	.solar { background-position:0 -340px; width:150px;}
		.solar:hover { background-position:0 -400px;}
	.media { background-position:0 -460px; width:196px;}
		.media:hover { background-position:0 -520px;}

	.no-nav #site-utilities {padding-top:0; width:220px;}	
	.main-site { background-position:0 0; height:40px; width:220px;}
		.main-site:hover {background-position:0 -50px;}


.jr {background:url(../img/css/bg-jr.png) no-repeat 0 0; bottom:0; height:450px; position:absolute; right:0; width:600px;}

blockquote {
	background: url(../img/css/bg-black-semi-trans.png) no-repeat 0 0;
	bottom:0;
	overflow:hidden;
	padding-bottom:15px;
	position:absolute;
	right:95px;
	width:290px; 
	z-index:1000;
}
* html blockquote {background: url(../img/css/bg-black-semi-trans.gif) no-repeat 0 0;}

	blockquote p { color:#febd12; font-size:1.8em; line-height:120%; margin:15px 12px 20px;}
		.author { color:#fff;display:block; float:right; font:italic .7em Arial, Helvetica, sans-serif;}

/* header section*/
#lead-wrapper {margin-top:130px;}
.lead { background:#2d3a40; margin:0 0 25px 70px; overflow:hidden; width:545px;}
	.no-nav #header .lead .inner-wrap { color:#fff; margin: 15px 135px 15px 20px;width:auto;}
		.lead h1, .lead h2 {color:#febd12;}
			.lead h1 {font-size:2.6em;}
			.lead h1 span {color:#fff;}
				.lead h1.shine-baby {background: url(../img/css/shine-baby-shine.gif) no-repeat 0 0; height:48px;text-indent:-9999em; width:315px;}
			.lead h2 {font-size:1.6em;margin:0;}
		.lead h3 { color:#fff;font-size:1.4em; margin:0;}
		.lead p {font-size:1.1em;}

/* end header section */

.promoted-content .content.left {float:left;}
.promoted-content .subsection img.right {float:right; margin:0.25em 0 0.25em 13px;}

.promoted-content .layout-three .links.inline a {float:none; width:auto;}

.callout.social { background:url(../img/css/bg-callout-long.png) no-repeat 0 0; position:relative;}
.callout.social .inner {background:url(../img/css/bg-callout-long.png) no-repeat -635px bottom transparent; overflow:hidden; padding:12px 14px 14px;}
* html .callout.social .inner {padding: 6px 14px 0;}
*+html .callout.social .inner {padding: 12px 7px 0;}

	.social p { color:#231f20;font-size:16px; font-weight:bold; margin:1.6em 0 1em;}
		.social a:hover, .social a:focus {color:#fff;}
		
			
	.arrow {
		background:url(../img/css/arrows.png) no-repeat 0 0; 
		/*display:block; 
		float:right; */
		height:20px; 
		/*margin:0.2em 0 0.2em 0.3em; */
		position:absolute;
		right:8px;
		top:3em;
		width:20px; 
	}
	*+html .arrow {top:2.5em;}
		


.no-nav #secondary .callout h2 {font: normal 1.7em Arial, Helvetica, sans-serif;} 
.no-nav #secondary .callout h2 img {position:static;}

/* contest callout */
.no-nav #secondary .callout.contest { background:url(../img/css/bg-callout-contest.png) no-repeat 0 0;color:#231f20;}

.no-nav #secondary .callout.contest .inner { background:url(../img/css/bg-callout-contest.png) no-repeat -310px bottom; overflow:hidden; padding-top:200px;}
.contest legend {margin:0;}
	.contest fieldset {padding-top:.5em;}
	.contest fieldset li { clear:none;width:auto;}
		.contest label { height:1px; margin:0;text-indent:-9999em;}
		.contest input.email { margin-right:15px;width:170px;}
/* end contest*/

/* BIGGER PICTURE - PDF */
.callout-button {
    background:url(../img/css/btn-shine-callout.png) no-repeat 0 0; 
    float:left; 
    height:135px; 
    overflow:hidden;
    text-indent:-9999em; 
    width:310px;
}
.bigger-picture:hover   { background-position:-310px 0; }
.downloads              { background-position:0 -134px; }
.downloads:hover        { background-position:-310px -134px; }
.larry-letter           { background-position:0 -262px; height:100px; }
.larry-letter:hover     { background-position:-310px -262px; }

/* special case gets its own background - sprite was gettign bloaty. */
.sticker {
    background:url(../img/css/btn-shine-sticker.jpg) no-repeat 0 0; 
    height:95px;
    margin-top:8px;
}
.sticker:hover { background-position: 0 -95px; }
    


/* E N D  page-landing cooresponds to template H, S H I N E   B A B Y   S H I N E  */


/* page-utility is a single wide #primary */
.page-utility #primary {
	margin:0;
	width:940px;
}
.page-utility #secondary { display:none; }


#footer { 
	background:#173760 url(../img/css/bg-footer.png) 0 0 repeat-x;
	clear: both; 
	color:#8cb6d9;
	overflow:hidden;
	padding:56px 0 40px;
}
#site-meta {
	float:left;
	margin-left:160px;
	width:638px;
}
#nav-social-networking {
	float:right;
	width:134px;
}
#BBB-brand {
	float:left;
	height:45px;
	margin:0 0 0 -848px;
	width:145px
}




/*----------------------------------- Sitewide Sections and Callouts ----------*/

/* site utilities - top of most pages */

#site-utility-search, #nav-utility, #site-utility-language { float:right; width:100%; }
#site-utility-language { display:none; } /* turning this off until we can get a handle on functional requirements based on German site implementation */
#site-utilities button, #site-utilities label, #site-utilities h6 {float:left;}
#site-utilities li { display:inline; padding:0 7px 0 6px; }
#site-utilities fieldset { border:none; padding:0; }
#site-utility-search input {   
    border:none;
    background:transparent url(../img/css/bg-search-box.png) 0 0 no-repeat;
    font-size:11px;
    padding:3px 14px 3px 30px;
    width:192px;
}
#nav-utility { font-size:.923em; line-height:2;}
#nav-utility li { border-left:1px solid #999; }
#nav-utility li:first-child { border-left:none; }
#site-utilities a { color:#999; }

.IX_utilities #site-utility-search, .IX_utilities #nav-utility, .IX_utilities #site-utility-language { width:auto; }
.IX_utilities button, .IX_utilities label {position:absolute; left:-9999em;}
*+html .IX_utilities button { width: 1%;}
.IX_utilities #nav-utility {margin:0 24px;}
/**/

.section { 
	clear:both;
	margin:0 0 2em;
}
#secondary .section { margin:0 0 3em; }

#secondary .callout {
	background:transparent url(../img/css/bg-callout.png) 0 0 no-repeat;
	margin-left:-7px;
}
	#secondary .callout .inner {
		background:transparent url(../img/css/bg-callout.png) -185px bottom no-repeat;
		padding:12px 14px 14px;
		width:157px;
	}
	#secondary .callout .more {
		background:transparent url(../img/css/bg-callout-more.png) 0 2px no-repeat;
		color:#fff;
		font-size:1.077em;
		font-weight:bold;
		padding-left:25px;
	}
	#secondary .callout .more:hover { 
		text-decoration:underline;
	}
	.page-content #secondary .callout p { margin:.5em 0 0; }
	.page-content #secondary .callout p:first-child { margin:0 0 0; }

.page-landing #secondary .callout { 
	background:transparent url(../img/css/bg-callouts.png) -1037px 0 no-repeat;
	margin:0 -6px 2em;
	position:relative;
}
.page-landing #secondary .callout .inner {
	background:transparent url(../img/css/bg-callouts.png) -1349px bottom no-repeat;
	padding:28px 18px;
	width: 276px;
}
.page-landing #secondary .callout img {
	position:absolute;
	bottom:0; right:0; 
}


/*savings calculator*/
#calculator {
	background:transparent url(../img/css/bg-blue-column.png) 0 0 no-repeat; 
	float:left;
	margin:0 0 0 -20px;
	width:314px;
}
	#calculator .inner {
		background:transparent url(../img/css/bg-blue-column.png) -314px bottom no-repeat;
		float:left;
		padding:20px 20px 30px;
		width:274px;
	}

.page-landing #calculator {	margin:0 -7px 0; }
.page-landing #calculator .inner {  padding: 20px 19px 30px; }

/* for accordianed sections */

.form_blind_section h2 {
    background:transparent url(../img/css/bg-form-blind.png) 0 0 no-repeat;
    cursor:pointer;
    padding:0 0 0 20px;
}
.form_blind_section h2.open {
    background-position:0 -22px;
}

#print-link {
	clear:both;
	margin:-1em 0 0;
	padding: 0 0 .5em;
	text-align:right;
}

/* built for video contest page, but adaptable to other uses.
 * .featured has an h1 on one side and a large hero (430 wide) on the right.
 * .galley is a grid of images with linked titles and possibly other info beneath.
 * example in ../templates/contest-videos.html
*/

.featured {
}
.featured h1 {
	float:left;
	width:180px;
}
.featured .hero {
	float:right;
	overflow:hidden;
	width:440px;
}
	.hero h3 {
		margin:0 0 0 5px;
	}
	.hero img {
		border:5px solid #fff;
		margin:0 0 .5em;
	}
		.hero img:hover {
			border-color:#005caa;
		}
	.hero p {
		font-size: 0.929em;
		padding:0 5px;
	}
	.hero p a {
		font-size:1.23em;
	}
.galley h2.larger {
	float:left;
	font-weight:normal;
	margin:0 0 0 5px;
	width:49%;
}
.galley fieldset.filter {
	border:none;
	float:right;
	margin:10px 0 0;
	padding:0 5px 0 0;
	text-align:right;
	width:49%;
}
	.galley .filter label {
		display:inline;
		padding:0 .5em 0 0;
	}
	.galley .filter select {
		display:inline;
		float:none;
		margin:0;
		width:200px;
	}
	




/*----------------------------------- Home page layout ----------*/
.page-home .section {
	clear:none;
	float:left;
	margin-left:8px;
	padding:0 8px;
	width:296px;
}
    .page-home .section .heading {
        border:none;
        display:block;
        margin:0 0 23px -8px;
    }
.page-home #secondary .section {
	background:transparent url(../img/css/bg-home-secondary-section.png) 0 0 no-repeat;
	margin-left:8px;
	padding:20px 10px 20px 14px;
	position:relative;
	width:288px;
}
.page-home #content .section:first-child { margin-left:0; }
.page-home #secondary .section p,
.page-home #secondary .section h3 { width:180px; }
.page-home #secondary .section img{ position:absolute; top:20px; right:2px; }




/*----------------------------------- Secondary Landing and Interior page layout ----------*/
/* main section is at top of all landing (.page-landing) and interior (.page-content) pages */
#primary .main { 
	float:left;
	font-size:1.077em; /* 14px */
	width:100%;
}
.main .callouts { 
	float:right;
	margin: 0 -20px 0 80px;
	width:240px;
}
.main .callout { margin:0 0 16px; }
.main a.callout { display:block; }
.callout img { border:none; }

/* events appears at bottom of all landing and interior pages */
#primary .events {
	background:#ffeed0 none;
	border-radius:8px; -moz-border-radius:8px; -webkit-border-radius:8px;
	overflow:hidden;
	padding:16px 14px 20px;
}
    #primary .events .head {
        overflow:hidden;
    }
            #primary .events .change-location { 
                clear:right;
                float:right;
            }

	#primary .events h2 { 
		border-bottom:1px solid #b2b4b7;
		margin:0 0 .842em;
		padding:0 0 .316em;
	}
	#primary .events .event {
		float:left;
		padding-right:19px;
		width:317px;
	}
	    .page-landing 	#primary .events .event { width:284px; }
	#primary .events p { margin:0; }
	#primary .events p.location-control { margin:.5em 0 0; }
	#primary .events .more { clear:left; margin:1em 0 0; }
	*+html #primary .events .more { clear:none; }


	
/* promoted content buckets on primary and secondary landing pages */
.promoted-content {
	background:transparent url(../img/css/bg-promoted-content.png) -3px 0 no-repeat;
	overflow:hidden;
	padding:30px 0 0;
}
.page-landing .promoted-content { background-position: -703px 0; }
.promoted-content .inner {
	background:transparent url(../img/css/bg-promoted-content.png) -2037px bottom no-repeat;
	overflow:hidden;
	padding:0 20px 26px;
}
	.promoted-content .first {
		background-position: -1337px bottom;
		margin:0 0 20px;
	}
.page-landing .promoted-content .inner { background-position: -3371px bottom; padding:0 10px 26px 14px; }
.page-landing .promoted-content .inner:first-child { background-position: -2737px bottom; }

	

.promoted-content .subsection {
	float:left;
	overflow:hidden;
	width:290px;
	padding-left:20px;
}
.page-landing .promoted-content .subsection { padding-left:0; }
.promoted-content .subsection:first-child {
	background: transparent url(../img/css/bg-promoted-content.png) 323px center no-repeat;
	margin-right:12px;
	padding:0 6px 0 0;
	width:320px;
}
.page-landing .promoted-content .subsection:first-child {
	background-position:298px center;
	margin-right:16px;
	padding-right:10px;
	width:290px;
}

/* .subsection has 4 possible layouts.  layout-one is used as default */
.promoted-content .subsection  img {
	float:left;
	margin:0 0 1em;
}
.promoted-content  .content {
	float:right;
	margin:0 0 1em;
	width:160px;
}
.page-landing .promoted-content  .content { width:130px; }

.promoted-content .subsection  .links { clear:both; }
.promoted-content .subsection  .links a { display:inline-block; }
/*layout-two*/
.promoted-content .layout-two img { float:right; }
.promoted-content .layout-two  .content { float:left; }

/*layout-three*/
.promoted-content .layout-three .links a {
	display:inline;
	float:left;
	width:160px;
}
.page-landing .promoted-content .layout-three .links a.even { width:130px; }

/*layout-four*/
.promoted-content .layout-four .content {
	float:none;
	width:auto;
}
.promoted-content img { 
	float:none;
	display:inline-block;
}





/*----------------------------------- Specific page layouts ----------*/
/* savings calculator */

.savings-calculator .main p { overflow:hidden; }
.savings-calculator .main .callouts {
	float:right;
	font-size:.929em;
	margin:0 -6px 0 0;
	width:394px;
}
	.savings-calculator .callout {
		background:transparent url(../img/css/bg-callouts.png) 0 0 no-repeat;
		position:relative;
		width:394px;
	}
		.savings-calculator .callout .inner {
			background:transparent url(../img/css/bg-callouts.png) -1661px bottom no-repeat;
			padding:20px 20px 30px;
		}
		.savings-calculator .callout img {position:absolute;bottom:0;right:0;}
.savings-calculator #results .callouts {
	margin:0 -5px 0 -4px;
	width:643px;
}
*+html .savings-calculator #results .callouts { margin-top:2em; }
	.savings-calculator #results .callout {
		background-position:-394px 0;
		width:643px;
	}
		.savings-calculator #results .callout .inner { background-position:-2055px bottom; }
		.savings-calculator #results .callout h2 { font-size:22px; margin:0; }
	


.savings-calculator #results {
	float:right;
	width:634px;
}


.savings-calculator .tabbed {
	background-position: 0 0;
	width:634px;
}
	.savings-calculator #results .tabbed .inner { background-position: -1334px bottom; }
	.savings-calculator #results .tabbed .tabs { background-position: -2668px 0; }
	.savings-calculator #results .tabbed .IX_tabs { background-position: -2668px 0; }
	.savings-calculator #results .tabbed .IX_tabs li { background-position: -2668px 0; }

#results h3 { clear:both; }
#results .graph { 
	float:left;
	background:transparent url(../img/css/template/chart.png) 0 0 no-repeat;
	margin:0 12px 2em 0;
}
#results .no-chart { 
	border-top: 1px solid #dcddde;
	clear:both;
	padding:1em 0 0;
}
#results .finance-details { 
	overflow:hidden;
	margin-bottom:0;
}
#results .finance-details table {
	float:left;
	margin-left:28px;
}
#results .finance-details table:first-child { margin-left:0; }
#results .legend table {
    background:transparent none;
    width:auto;
    margin:0;
}

/* contact page*/
#contact-information {
	float:left;
	width:634px;
	margin-left:-14px;
}
#contact-form {
	background:transparent url(../img/css/bg-blue-column.png) 0 0 no-repeat;
	float:right;
	margin-right:-7px;
	width:314px;
}
#contact-form .inner {
	background:transparent url(../img/css/bg-blue-column.png) -314px bottom no-repeat;
	padding:26px 23px;
}
#contact-form .introduction {
	background:transparent url(../img/css/bg-contact-form.png) right 0 no-repeat;
	min-height:51px;
	padding:0 60px 0 0;
}


.vcard, .contact {
	float:left;
	padding:0 0 0 10px;
	width:188px;
}
.vcard:first-child, .contact:first-child { padding:0; width: 198px; }
    .vcard div { margin:0 0 .25em; }
    .vcard .org:first-child { /* match to h3 style */
        color:#231f20;
        font-size: 1.23em;
        font-weight: bold;
        margin: 0px 0px 1em;
    }        


/* Careers page */
#careers iframe {
    border:none;
    height:1280px;
    margin:0 0 2em;
    width:100%;
}

/* Incentives and Rebates page */
.incentives .button {
    float:right;
    margin:0 0 1em;
}
.incentives .change-location { float:left; padding-top:6px; }
    /* full-width accordion on this page */
    .incentives .accordian { 
        background-position: -4004px 0; 
        background-repeat:repeat-y; 
        clear:both; 
        width:700px;
    }
    .incentives .accordian dl { background-position: -1968px bottom; }
    .incentives .accordian dt, .incentives .accordian dt.open { background-position:-3302px -288px; }
    .incentives .accordian dt:first-child, .incentives .accordian dt.open:first-child { background-position: -3302px -96px; }
    .incentives .IX_faq dt { background-position: -3302px -192px; }
    .incentives .IX_faq dt:first-child { background-position: -3302px 0; } 
    .incentives .IX_faq .last { background-position: -3302px -384px; }



/* Sitemap */
ul.sitemap {
    float:left;
    font-weight:bold;
    margin:0 0 0 4%;
    width:46%;
}
.sitemap li {
    background:transparent none;
    padding:0;
}
.sitemap ul { margin:0; padding-left:8px; }
.sitemap ul ul { padding-left:16px; }
ul.sitemap li li { font-weight:normal; }

ul.sitemap .btn {
    background:transparent url(../img/css/bg-sitemap.png) 0 3px no-repeat;
    float:left;
    height:16px;
    overflow:hidden;
    text-indent:-9999em;
    width:16px;
}
ul.sitemap .btn:hover {
    background-position: -20px 3px;
}
ul.sitemap .open {
    background-position: 0 -17px;
}
ul.sitemap .open:hover {
    background-position: -20px -17px;
}
ul.sitemap .btn:focus { outline:none; }

    
/* gallery page */
#gallery-widget { margin:2em 0; }
#primary #gallery-widget .main {
	position:relative;
	width:540px;
}
#gallery-widget #viewer { width:434px; margin:0 auto; }
#viewer-image { min-height: 180px; text-align:center; }
#viewer-text { margin: 0 auto; }
#gallery-widget #viewer img { margin: 0 auto 8px; }
#gallery-widget #viewer h2 {
	border-bottom:none;
}


.js #gallery-widget #browser a {
	display:block;
	height:32px;
	overflow:hidden;
	position:absolute; top:140px;
	text-indent:-9999em;
	width:32px;
}
.js #gallery-widget #browser a:hover { background-position: 0 -32px; }
	.js #gallery-widget #browser .next {
		background:transparent url(../img/css/btn-gallery-nav.png) -32px 0 no-repeat;
		left:508px;
	}
	.js #gallery-widget #browser .next:hover { background-position:-32px -32px; }
	.js #gallery-widget #browser .prev {
		background:transparent url(../img/css/btn-gallery-nav.png) 0 0 no-repeat;
		left:0;
	}

#gallery-widget .sidebar { float:right; width:160px; }
ul.image-nav {
	list-style:none;
	margin:0;
	padding:0;
}
.image-nav li {
	background:transparent none;
	float:left;
	height:60px;
	margin:0 0 14px 20px;
	padding:0;
	text-align:center;
	width:60px;
}
.image-nav img {
	background:transparent none;
	border:1px solid #dedede;
	display:block;
	max-height:58px;
	max-width:58px;
}
.image-nav .on img { border:2px solid #005CAA; margin:-1px; }
.image-nav a { display:block; }

/* single video page.  developed for Shine Baby Shine Video Contest.  here are a few things generalized for future use. */
#primary .video { 
	padding:0 30px;
	width:640px;
}
.video #video-player {
	margin:0 0 1em;
}

.video .facebook {
	float:left;
	padding:0 0 20px;
	width:480px;
}
	.video h3 { margin-bottom:.706em; }
.video .share {
	float:left;
	text-align:right;
	width:160px;
}
	.share .share-expose {
		background:transparent url(../img/css/bg-share-link.png) right top no-repeat;
		color:#005caa;
		cursor:pointer;
		display:inline-block;
		line-height:1.57;
		padding:0 24px 0 0;
	}
	.share .share-expose:hover { color:#000; }

.share-info {
	background:#fdf4e2 none;
	clear:both;
	padding:20px 30px 30px;
}
	*+html .share-info { margin:0; }
.share-info p { font-size: 1.143em; margin:0; }
.share-info .shared-link {
	border:1px solid #cac7c3;
	float:none;
	height:2em;
	line-height:2;
	margin:0;
	padding:0 4px;
	width:100%;
}

/* 2 columns inside main, with a special banner to pull them up a bit.  developed for Shine Baby Shine Video contest, but generalized for other uses */

.hero-banner {
	display:block;
	margin:0 0 -35px -5px;
	position:relative; z-index:1;
}

.main .primary { float:left; width:480px; position:relative; z-index:100; }
.main .secondary { 
	background:transparent url(../img/css/bg-main-secondary.png) 0 0 repeat-x;
	float:right; 
	margin:0 5px 0 0;
	padding:0 5px 0 20px; 
	position:relative; 
	width:160px; 
	z-index:100;
}
.main .submissions {
    margin:2em 0;
    overflow:hidden;
}
.submissions .note { float:left; margin:0; width:280px; }
.main .notes { 
	background:transparent url(../img/css/bg-notes.png) 0 0 repeat-x;
	clear:both;
	margin:0 0 1em;
	padding:1em 5px;
	zoom:1;
}



/*----------------------------------- Widgets - Javascript enabled items (tabs, accordians, etc.) ----------*/

/* default tabs - this will appear if there is no context applied in html */
 .tabs	{overflow: hidden; margin: 0; padding: 0; list-style-type: none;}
 .tabs li { background:transparent none; margin:0; padding:0;}
 .tabs a	{border: 1px solid #ccc; border-bottom: none; display:block; float:left; margin-right:3px; padding:3px;}
 
.tabbed {
	background:#f8f8f9 url(../img/css/bg-content-widget.png) -634px 0 no-repeat;
	padding:1px 0 0;
 	width:700px;
}
	.tabbed .inner {
		background:transparent url(../img/css/bg-content-widget.png) -1968px bottom no-repeat;
		overflow:hidden;
		padding:36px 14px 20px 20px;
	}
/* override default for .tabbed context */
.tabbed .tabs { 
	background:#e1e1e1 url(../img/css/bg-content-widget.png) -3302px 0 no-repeat;
}
.tabbed .tabs li {
	float:left;
}

.tabbed .tabs a { 
	background:transparent url(../img/css/bg-content-widget.png) -4702px -1000px no-repeat;
	border:none;
	overflow:hidden;
	padding:15px 26px 15px 28px;
}
.tabbed .tabs a:focus, .tabbed .tabs a:active { outline:0; }
.tabbed .tabs li:first-child a { background:transparent none; padding-left:26px; }



.tabbed .IX_tabs { background:transparent none; }
.tabbed .IX_tabs li { background: #e1e1e1 url(../img/css/bg-content-widget.png) -3302px 0 no-repeat; }
.tabbed .IX_tabs li.active { background:transparent none; }
.tabbed .IX_tabs li.active a { color:#000; }
 
/* basic tooltip style */
.tooltip { 
	background:#fafbfb none;
	border:1px solid #ccc;
	display:block;
	padding:8px;
	position:absolute;
	width:244px;
	z-index:5000;
}
	.tooltip strong {
		display:block;
		margin:0 0 .25em;
	}
#inspiration-tooltip
{
	width: 275px;
}

/* help button */
.help-button {
	background:transparent url(../img/css/bg-help-button.png) 0 0 no-repeat;
	clear:right;
	cursor:pointer;
	float:right;
	height:18px;
	margin:-1.5em 0 0;
	position:relative;
	width:18px;
	z-index:100;
}
*+html .help-button { position:relative; top:-2em;}

.help-label  {
    color:#005caa;
    cursor:pointer;
    float:left;
    padding:0 0 0 .5em;
}
.tooltip-target 
{
	color:#005caa;
    cursor:pointer;
}

/* accordians - 2 styles, simple (for content buckets on product landing) and full (currently only used on contact page) */

.simple-accordian li {
	background:transparent none;
	border-top:1px solid #ccc;
	margin:0 0 1.5em;
	padding:1.5em 14px 0 20px;
}
.simple-accordian li:first-child { border-top:none; }

.simple-accordian .sa_blind { 
	overflow:hidden;
}
.simple-accordian .sa_toggle {
	color: #005caa;
	cursor:pointer;
}
.simple-accordian .sa_toggle:hover { color:#000; }

/*full accordian*/
.accordian {
	background:#f8f8f9 url(../img/css/bg-content-widget.png) 0 0 no-repeat;
	margin:0 0 1em;
	width:634px;
}
.accordian dl {
	background:transparent url(../img/css/bg-content-widget.png) -1334px bottom no-repeat;
	margin:0;
}
.accordian dd {
	border-bottom:1px solid #dcddde;
	margin:0;
	overflow:hidden;
	padding:20px 20px 36px;
}
.accordian dd.last, .accordian dd:last-child { border:none; }

.accordian dt, .accordian dt.open {
	background:#058 url(../img/css/bg-content-widget.png) -2668px -288px no-repeat;
	color:#fff;
	font-size:1.23em;
	font-weight:bold;
	height:48px;
	line-height:48px;
	padding:0 16px;
}
	.accordian dt span {
		font-size:.75em;
		font-weight:normal;
	}
.accordian dt:first-child, .accordian dt.open:first-child { background-position: -2668px -96px; }

/* accordians with js on */
.IX_faq dt {
	background-position: -2668px -192px;
	color:#3B3B3E;
	cursor:pointer;
}
.IX_faq dt:first-child { background-position: -2668px 0; } 
.IX_faq .last { background-position: -2668px -384px; }
.IX_faq .state { 
	background:transparent url(../img/css/bg-accordian-status.png) 0 0 no-repeat;
	display:inline-block;
	height:10px;
	margin:-1px 2px 0 0;
	width:11px;
}
*+html .IX_faq .state{ float:left; margin:20px 8px 0 0; }
.IX_faq .open .state { background-position:0 -10px; }


/* rotator on primary landings */
ul.rotator { 
	font-size:1.077em;
	height:290px;
	margin:0;
	position:relative;
} 
.rotator .rotator-item { 
	background:transparent url(../img/content/landing-home-rotator-1.jpg) right bottom no-repeat;
	height:290px;
	margin:0;
	padding:0;
}
.rotator .wrapper { 
	padding:25px 0 0;
	max-height:218px;
	width:300px;
}
.nav-rotate { position:absolute; left:0; bottom:25px;}
.nav-rotate ul { margin:0; width:300px;}
.nav-rotate li { 
	background:transparent none;
	float:left;
	margin:0;
	padding:0;
}
.nav-rotate li a {
	background:transparent url(../img/css/bg-rotator-nav.png) 0 0 no-repeat;
	float:left;
	height:13px;
	overflow:hidden;
	text-indent:-9999em;
	width:10px;
}
.nav-rotate .arrow-previous a { margin-right:20px; }
.nav-rotate .arrow-next a { background-position:-10px 0; margin-left:20px; }

.nav-rotate .pages { background:transparent none; }	 
.pages ol { float:left;list-style:none; margin:0; padding-top:3px; }
.nav-rotate .pages li { 
	background:transparent url(../img/css/bg-rotator-nav.png) 0 -26px no-repeat;
	float:left;
	height:8px;
	margin:0 12px;
	text-indent:-9999em;
	width:8px;
}
.nav-rotate .pages li.on { background-position: -8px -26px; }

/* jqModal styles adapted */
.jqmWindow {
    background-color: #fff;
    border: 5px solid #173760;
    border-radius:.5em; -moz-border-radius:.5em; -webkit-border-radius:.5em;
    display: none;
    margin-left: -190px;
    position: fixed;
    top: 23%;
    left: 50%;
    width: 344px;
    padding: 12px 18px;
}

.jqmOverlay { background-color: #000; }

/* Background iframe styling for IE6. Prevents ActiveX bleed-through (<select> form elements, etc.) */
* iframe.jqm {position:absolute;top:0;left:0;z-index:-1;
	width: expression(this.parentNode.offsetWidth+'px');
	height: expression(this.parentNode.offsetHeight+'px');
}

/* Fixed posistioning emulation for IE6 */
* html .jqmWindow {
     position: absolute;
     top: expression((document.documentElement.scrollTop || document.body.scrollTop) + Math.round(17 * (document.documentElement.offsetHeight || document.body.clientHeight) / 100) + 'px');

}

/* lighweightbox - lightbox like image pop out */
#lwb-overlay {
    background:#173760 none;
    display:none;
	height:100%;
    opacity:0.95;
    position:absolute; top:0; left:0;
	width:100%;
    z-index:9999;
}
.ie #lwb-overlay { filter:alpha(opacity=95); }
#lwb-loader { 
	background:#fff none;
	display:none;
	height:66px;
	margin:-50px 0 0 -50px;
	padding:34px 0 0 34px;
	position:absolute; top:50%; left:50%;
	width:66px;
	z-index:10000;
}
#lwb {
    display:none;
    position:absolute;
	left:-99999em;
    z-index:20000;
}
#lwb-content iframe {
	background:transparent none; 
	height:800px;
	width:700px;
}
.lwb-close { }
.lwb-close-control { 
    background:transparent url(../img/css/bg-lwb-close.png) right 0 no-repeat;
    cursor:pointer;
	display:block;
	height:40px;
	position:absolute; top:-15px; right:-15px;
    text-indent:-9999em;
	width:40px;
}
.lwb-close-control:hover { color:#253f19; background-position: right -40px; }


	



/*----------------------------------- Type, Links and Lists----------*/

a, a:visited		{ color: #005caa; text-decoration:none; }
a:hover, a:focus 	{ color: #000; }

#footer a { 
	color:#fff;
	text-decoration:none;
}
#footer a:hover { text-decoration:underline; }

a#brand {
	display:block;
	height: 123px;
	padding:12px 0 0;
	position:relative;
	text-indent: -9999em;
	width: 165px;
	z-index:100;
}
    #brand img { 
        border:none;
        display:block;
    }

/* 'more' links */
.section .more { display:inline-block; }
	#primary .events .more { 
		display:inline;
		float:right;
	}
/* 'button' links */
a.button {
	background:transparent url(../img/css/btn.png) 0 0 repeat-x;
	color:#fff;
	display:inline-block;
	font-size:1.077em;
	padding:3px 1em;
}
a.button:hover { background-position:0 -27px; }

a#submit-video {
	background:transparent url(../img/css/btn-submit-a-video.png) 0 0 no-repeat;
	display:inline;
	float:right;
	height:48px;
	text-indent:-9999em;
	width:188px;
}
a#submit-video:hover { background-position: 0 -48px; }




/* headings */
h2 {
	font-size:1.462em; /* 19px */
	font-weight:bold;
	margin:0 0 .632em;
}
.page-home h2 { font-size:1.23em; line-height:1.2; }
    .page-home h2 a { color:#231f20; }
    .page-home h2 a:hover { color:#005caa; }
#secondary h2 {
	font-size:1.23em; /* 16px */
	font-weight:bold;
	margin:0 0 1em;
}
	h2.larger { font-size:2em; }
	h2.replace { font-size:20px; }
h3 {
	font-size:1.23em; /* 16px */
	font-weight:bold;
	margin:0 0 1em;
}
    /*image headings on home page*/
    .page-home #secondary .section h3 img {
        display:block;
        float:none;
        margin:0;
        position:static;
    }

/* lists */
ul { list-style:none; }
ul>li, .item-list ul>li {
	background:transparent url(../img/css/bullet.png) 0 .5em no-repeat;
	margin:0 0 .25em;
	padding:0 0 0 12px;
}
	.plain li {
		background:transparent none;
		padding:0;
	}
#primary ul ul { margin:0 0 0 1em; }

dl { margin:0 0 1em; }
dt { font-weight:bold; }
dd { margin:0 0 .5em; }

dl.stories { 
	border-top:1px solid #ccc;
	margin:0 0 2.5em;
	padding:1.5em 0 0;
}
.stories dd { padding-left:.25em; }


.tabbed .item-list {
	border-left: 1px solid #dedede;
	float:right;
	margin:0 0 0 6px;
	padding:0 0 0 26px;
	width:268px;
}	
.accordian .item-list { margin:0; }

	.item-list li {
		background:transparent none;
		margin:1em 0 0;
		overflow:hidden;
		padding:0;
	}
		.item-list li:first-child { margin:0; }

	.item-list img {
		float:left;
		margin-right:16px;
	}


	
/* events-list is intended for a full-page listing of events */

ul.events-list {
    margin:1em 0 2em;
    padding:0;
}
.events-list li {
    background:transparent none;
    margin:0 0 1em;
    padding:0;
}
.events-list li p {
    font-size:1.077em;
    margin:0;
}

/* image-list is optimized for .page-content with no callouts.  for use with thumbnails. */
ul.image-list {
    clear:both;
    list-style:none;
    margin:0 0 3em;
    overflow:hidden;
}
.image-list li {
    background:transparent none;
    float:left;
    margin:0 0 0 38px;
    padding:0;
    width:208px;
}
    .image-list li:first-child { margin-left:0; }

.image-list li img {
    border:none;
    display:block;
    margin:0 0 .5em;
    padding:5px;
}
.image-list li img:hover {
    border:5px solid #005CAA;
    padding:0;
}
.image-list li p {
	font-size:.929em;
	margin:0;
	padding:0 5px;
}
	.image-list li a {
		font-size:1.23em;
	}


/* numbered is a special ol with large graphic numbers provided by spans. */
ol.numbers { 
	list-style:none;
	margin:2em 0;
}
.numbers li { 
	margin:0 0 2em 54px;
	padding:14px 0 0;
}
.numbers .no {
	background:transparent url(../img/css/bg-ol-numbers.png) 0 0 no-repeat;
	display:inline;
	float:left;
	height:50px;
	margin:-14px 0 0 -52px;
	width:48px;
}
	.no2 .no { background-position: -50px 0; }
	.no3 .no { background-position: -100px 0; }
.numbers h2 {
	margin:0;
}


/* specials */
h2+.change-location .location-control {
    font-size:.846em;
    margin-top:-1em;
}


.smaller { font-size:0.857em; } /* 12px */
.smallest { font-size:.786em; } /* 11px */




/*---------------------------------- Navigation --------------------*/
/* baseline nav style */
#nav ul, ul.nav {
    list-style-type: none;
    margin: 0;
    padding: 0;
}
#nav li, .nav li {
	background:transparent none;
	margin:0;
	padding:0;
}

/* main nav (in header, #nav-primary is tabs, #nav-secondary is bar benath tabs, .tertiary are drop-downs */
#nav { 
	background:transparent url(../img/css/bg-nav-primary-bottom.png) 0 bottom repeat-x;
	margin:-43px 0 0;
	padding-bottom:5px;
}
#nav a, #nav li {
	display: block;
	float: left;
	text-decoration: none;
}
#nav a { overflow:hidden; }

	#nav-primary ul, #nav-secondary ul { margin:0 auto; }
	#nav-primary>ul {
		height:43px;
		/*padding-left:184px !important;*/
		position:relative; left:92px;
		width:756px;
		z-index:102;
	}
		#nav-primary li { position:relative; }
		#nav-primary li a {
			background:transparent url(../img/css/bg-nav-primary.png) 0 0 no-repeat;
			height:43px;
			margin:0 0 0 1px;
			text-indent:-9999em;
		}
		#nav-primary #nav-forHome 				{ background-position:0 0; width:128px; }
			#nav-primary #nav-forHome:hover 	{ background-position:0 -43px; }
			#nav-primary .on #nav-forHome			{ background-position:0 -86px !important; }
	
		#nav-primary #nav-forBusiness  		{ background-position:-129px 0; width:244px; }
			#nav-primary #nav-forBusiness:hover{ background-position:-129px -43px; }
			#nav-primary .on #nav-forBusiness	{ background-position:-129px -86px !important; }
	
		#nav-primary #nav-installers  			{ background-position:-374px 0; width:128px; }
			#nav-primary #nav-installers:hover	{ background-position:-374px -43px; }
			#nav-primary .on #nav-installers	{ background-position:-374px -86px !important; }
	
		#nav-primary #nav-designers  			{ background-position:-503px 0; width:142px; }
			#nav-primary #nav-designers:hover	{ background-position:-503px -43px; }
			#nav-primary .on #nav-designers	{ background-position:-503px -86px !important; }
	
		#nav-primary #nav-projects  			{ background-position:-646px 0; width:109px; }
			#nav-primary #nav-projects:hover	{ background-position:-646px -43px; }
			#nav-primary .on #nav-projects		{ background-position:-646px -86px !important; }

	#nav-secondary { 
		background:#004b71 url(../img/css/bg-nav.png) 0 bottom repeat-x;
		float:left;
		margin: 0 0 -5px;
		position:relative;
		width:100%;
		z-index:101;
	}
	#nav-secondary ul {
		/*height:38px;
		overflow:hidden;*/
		
		width:940px;
	}
	#nav-secondary li { 
		height:38px;
		position:relative;
	}
	#nav-secondary li a {
		background:transparent url(../img/css/bg-nav-secondary.png) 0 bottom no-repeat;
		color:#fff;
		font-size:1.167em;
		line-height:38px;
		padding:0 14px;
	}
		#nav-secondary li:first-child a { 
			background:transparent none;
			padding-left:0;
		}
	#nav-secondary li a:hover,
	#nav-secondary li.on a { color:#f8bb19; }
	
	
	#nav li .tertiary {
		background:#f8bb19 none;
		border-radius:0 0 4px 4px; -moz-border-radius:0 0 4px 4px; -webkit-border-radius:0 0 4px 4px;
		height:auto;
		padding:0 0 12px;
		position:absolute;
		left:-9999em;
		width:171px; 
		z-index:200;
	}
		#nav .tertiary li {
			display:block;
			float:none;
			height:auto;
			padding:6px 14px;
		}
		#nav .tertiary li a {
			background:none;
			display:inline;
			float:none;
			font-size:1em;
			height:auto;
			line-height:1.3;
			padding:0;
			text-indent:0;
		}
			#nav .on .tertiary li a { color:#fff; }
			#nav .on .tertiary li a:hover { color:#f8bb19; }
	
	#nav-primary .tertiary li a { color:#fff; }
	#nav-primary .tertiary li a:hover { color:#000; }
	#nav  li:hover .tertiary { left:1px; top:32px;}
	#nav-primary li:hover .tertiary { left:3px; top:43px; }


	#nav-secondary li .tertiary {
		background:#004b71 none;
		padding:12px 0;
		width:100%;
		min-width:120px;
	}
	#nav-secondary li:first-child:hover .tertiary { left:-14px; }

/* breadcrumbs */
#breadcrumbs { 
	color:#c8c8c8;
	margin:0 0 34px;
}
#breadcrumbs a { 
	color:#626163;
	font-size:.846em;
}


/* sub nav and contextual nav (in #secondary) */
#nav-sub h2 { margin:0 0 .625em; }
#nav-sub .inner {
	background:transparent url(../img/css/bg-nav-sub.png) 0 0 no-repeat;
	margin:0 0 0 -7px;
	width:185px;
}
#nav-sub .nav {
	background:transparent url(../img/css/bg-nav-sub.png) -185px bottom no-repeat;
	padding:0 1px;
}
#nav-sub li { background:transparent url(../img/css/bg-nav-sub.png) -370px 0 no-repeat; }
#nav-sub li a { display: block; padding:10px 7px; }
#nav-sub li:first-child { background-position:-185px 0; }
#nav-sub li.on {
	background-position: 300px 0;
}
#nav-sub li.laston { padding-bottom:2px; margin-bottom:-2px; }
*+html #nav-sub li.laston { padding-bottom:2px; margin-bottom:-3px; }
#nav-sub li.on>a {
    background:transparent url(../img/css/bg-nav-sub.png) -555px 0 no-repeat;
	color:#000;
	font-weight:bold;
	margin:-2px -29px -3px -8px;
	padding:13px 36px 14px 15px;
	position:relative;
	text-shadow: -1px 1px #fff;
	z-index:10;
	zoom:1;
}
#nav-sub .on li.on>a { 
    background:transparent none;
    font-weight:normal;
    margin:0;
    padding:0;
    position:static;
    text-shadow:none;
}


#nav-sub li.on>ul {
	background:transparent url(../img/css/bg-nav-sub.png) -925px 0 no-repeat;
	margin:0;
	padding:4px 0 4px 12px;
}
#nav-sub .on .on>ul { background:transparent none; margin:0; }

	#nav-sub li.on>ul li, #nav-sub li.on>ul li.on { background:transparent none; margin:6px 0; }
	#nav-sub li.on>ul li a { padding:0; }
		#nav-sub li.on>ul li a:hover { color:#000; }

		


/* footer nav */
#site-meta .nav {
	margin:0 0 1em;
	overflow:hidden;
}
#site-meta .nav li {
	border-left:1px solid #8cb6d9;
	float:left;
	padding:0 8px;
}
	
#site-meta .nav li:first-child { border:none; padding-left:0; }
#nav-social-networking li { float:left; }
#nav-social-networking a { 
	float:left;
	height:34px;
	margin-left:16px;
	padding:0;
	text-indent:-9999em;
	width:34px;
}
#nav-social-networking li:first-child a { margin-left:0; }

	#nav-social-networking .twitter { background:transparent url(../img/css/twitter.png) 0 0 no-repeat; }
	#nav-social-networking .facebook { background:transparent url(../img/css/facebook.png) 0 0 no-repeat; }
	#nav-social-networking .linkedin { background:transparent url(../img/css/linkedin.png) 0 0 no-repeat; }


/*----------------------------------- Tables -------------------------*/
table {
	background:transparent url(../img/css/bg-table.png) 0 0 no-repeat;
	border:none;
	margin:0 0 2em;
	width:700px;
}
thead {
	background:#e1e1e1 url(../img/css/bg-table.png) -1003px 0 no-repeat;
}
tr { padding:0 1px; }
th {
	border:none;
	font-weight:bold;
	padding:15px 14px;
	text-align:left;
	vertical-align:center;
}
th:first-child { padding-left:20px; }

td { 
	border-width:0 0 1px 1px;
	padding:.5em 14px;
}
td:first-child {
	border-left-width:0;
	padding-left:20px;
}

/* alternate widths */
table.listing { 
	background-position:-700px 0;
	width:303px;
}
.listing thead { background-position: -1703px 0; }
.listing td { border-left-width:0; }

/* cell styles */

td.currency { text-align:right; }
.total td { background:#e6f1f8 none; }
.total td:first-child { border-left-width:1px; }
.total td:last-child { border-right-width:1px; }

/* for .NET radiolist control (in forms) */
table.checkbox {
    background:none;
    margin:0;
    width:100%;
}
.checkbox td { border:none; padding:0 0 .5em; }



/*----------------------------------- Forms -------------------------*/

fieldset {
	border:1px solid #ccc;
	border-width:1px 0 0;
	clear:both;
	padding-top:1em;
}
fieldset:first-child, .toggle fieldset { 
	border-top:none;
	padding-top:none;
}
fieldset ol {
    list-style-type: none;
	margin: 0;
}
fieldset li {
    background:transparent none;
	clear:both;
	float:left;
    margin-bottom: 1em;
    padding:0;
	width:100%;
}
legend {
	font-size: 1.462em;
	font-weight:bold;
	margin:0 0 .632em ;
}
label { font-weight:bold; margin:0 0 .25em; }
label.help-text { font-weight:normal; }
input, select, textarea, label {
    display: block;
}
input, select, textarea { 
	border:1px solid #d8d9db;
	color:#666;
	font-family: Arial, Helvetica, Sans-Serif;
	float:left;
	margin:0 4px 0 0;
}
#wrapper input:focus, #wrapper textarea:focus, #wrapper select:focus { border-color:#0005ca; color:#333; }
input {
    padding:3px;
    width:30em;
}
    .state input { width:3em; }
    .phone input { width:9em; }
    .zip input { width:7em; }
    .city input { width:10.5em; }
    input.choice-other, .checkbox .choice-other {
		border:1px solid #D8D9DB;
		clear:both;
		height:auto;
        margin-left:20px;
		margin-top:.4em;
        width:380px !important;
    }

input[type=hidden] {
    border: none;
    padding:0;
}
textarea {
	height:8em;
	width:100%;
}
select { min-width: 70px; padding:1px 0; }
option { padding-right:8px; }
button {
	background:transparent url(../img/css/btn.png) 0 0 repeat-x;
	display:inline-block;
	font-family: Arial, Helvetica, sans-serif;
	font-size:1.077em;
	color:#fff;
    cursor: pointer;
	padding:3px 1em 4px;
}
	*+html button { padding:1px .5em 2px; }
button:hover { background-position: 0 -27px; }
button.left { 
    clear:none;
    margin:1em .5em 0 0;
}
button.right { 
    clear:none;
    margin:1em 0 0 .5em;
}

/* form control styles */
.checkbox {
	margin:.4em 10px 0 0;
	overflow:hidden;
}
	.checkbox input {
		border:none;
		height:1.4em;
		margin:0 7px 0 0;
		width:auto !important;
	}
	
input.short { width:70px; }

/* form in main content area (no background) - use body class content-form */

.content-form input, .content-form select, .content-form textarea {
    border-color:#bcbdbf;
}
.content-form .wrapper { width:436px; }

/* two-column form, defaults at 640px wide */
fieldset.columns {
	margin-bottom:2em;
	overflow:hidden;
}

fieldset.columns .column {
		clear:none;
		margin-right: 20px;
		width:300px;
}

fieldset.columns .column input { 
    width:292px;
}
fieldset.columns .checkbox input { float:left; }
fieldset.columns .state input { width:3em; }

fieldset.columns .help-button { 
    background-image: url(../img/css/bg-help-button-important.png);
    float:left;
    height:22px;
    margin:0 0 0 8px;
    width:22px;
}
*+html fieldset.columns .help-button { clear:none; margin:2em 0 0 8px; } /* ie7 is a silly-willy */
*+html fieldset.columns li.state { height:3.5em; } /* ie7 is a silly-willy */



/* filedset for a file input. */
fieldset.file-selection {
	border-width:0 0 1px; 
}
	/* these elements are generated by the javascripts */
	.IX_fileUpload { position: relative; }
	
	.IX_fileUpload .fake-field {
	    background-color:#fff;
		overflow:hidden;
		position:absolute; top:0; left:0;
		z-index:1;
	}
	    .IX_fileUpload:hover { cursor:pointer; }
		.IX_fileUpload .fake-field input {
			width:300px;
		}
	.IX_fileUpload .real-field {
		height:26px;
		filter:alpha(opacity: 0);
		opacity:0;
		position:relative;
		text-align:right;
		width:400px;
		z-index:2;
	}




/* form text styles */
.required { color:#dd1f2a }
fieldset .units { 
	color: #404041;
	float:left;
	line-height:1.92;
	padding:0 3px 0 0;
}
p.note { margin-top:-1em; } /* use immediately after a heading */
span.note { /* use inside the form after a form control */
	clear:left;
	color: #7E8081;
	display: block;
}
fieldset .error { clear:both; display:block; }

/* calculator form styles */
#calculator .checkbox { 
    float:left;
    margin:3px 0 0 12px;
}
#calculator .checkbox.single {
    margin-left:0;
    width:100%;
}

#calculator input.full { width:180px; }

.page-landing #calculator label {
	float:left;
	line-height:1.92;
	text-align:right;
	margin-right:20px;
	width:90px;
}
.page-landing #calculator .checkbox {  }

.page-landing #calculator .units { margin-left:-9px; }
.page-landing #calculator .checkbox { 
    line-height:normal;
	margin-right:0;
	text-align:left;
	width:auto;
}
.page-landing #calculator input { width:150px; }
#calculator .bill-period { padding-left:100px; }
*+html #calculator .bill-period { padding-bottom:1em; }
.page-landing #calculator button {float:right; }

/* contact form */
#contact-form fieldset { border:none; }
#contact-form input[type=text] {
	width:260px;
}

/*change location */
#change-location input { margin-right:.75em; width:120px; }
#change-location button.left { margin-top:0; }

/* multi-choice form widget */
fieldset.multi-choice { border:none; }

.multi-choice .choice-detail {
	border:none;
	padding-bottom:1em;
}




/*----------------------------------- Randoms/dev utility styles ---*/

.accessibility { height:0;left:-9999em;line-height:0;position:absolute;text-indent:-9999em; }
.columns { overflow:hidden; }
.column {
    float: left;
	width: 45%;
	margin-right: 4%;
}

.small 			{ width: 25%; }
.medium 		{ width: 48%; }
.large 			{ width: 90%; }
.error, .red 	{ color: #ff0000; }


/* there's always a better way than using these. */
.hide			{ display: none; }
.left 			{ float: left; margin: .25em 13px .25em 0; }
* html .left 	{ margin-right: 0; }
.right 			{ float: right; margin: .25em 0 .25em 13px; }
.clear 			{ clear: both; }
.clearleft 		{ clear: left; }
.clearright 	{ clear: right; }


