/*  ----------------------------------------------------------------------
  GENERAL REDECLARATIONS
  ---------------------------------------------------------------------- */

html				{min-height: 100%;}
* html				{height: 100%;}
* 					{margin:0; padding:0;}

body {
	text-align:center;
	background: #004EA2 url("../images/header.jpg") no-repeat center top;
}

body, tr,
td, input,
select, textarea 	{font:normal 12px/18px Verdana, Arial, Helvetica, sans-serif;color:#666;}

a {outline: none;}
a:link,
a:visited {color: #004EA2;text-decoration: none;}
a:hover,
a:active {color: #222;text-decoration: underline;}

#footer a:link,
#footer a:visited {color: #a1a1a1;text-decoration: none;}
#footer a:hover {color: #ffffff; text-decoration: underline;}

ul, ol	 	{margin:0 0 10px 25px;}
dl 			{margin:0 0 10px;}
dt 			{font-weight:bold;}
dd			{margin:0 0 3px 10px;}
p 			{margin:0 0 15px;}
h1 			{font-size:large; margin:0 0 12px;color: #004EA2;}
h2 			{font-size:medium; margin:8px 0;}
h3 			{font-size:small; margin:6px 0 5px;color: #006729;}
h4			{font-size:x-small; margin:3px 0;color: #EB5009;}
h5			{font-size:xx-small; margin:3px 0;}
h6 			{font-size:xx-small; margin:0;}
hr 			{border-style: none; border-bottom: 1px solid #ccc; color: #fff; background-color: #fff;margin-bottom: 15px;}
			/*color and background color should be the same as the background color of the div it is contained within*/
img 		{border:none;}
acronym		{border-bottom: 1px dotted;}
blockquote 	{margin:0 25px 20px 25px; font-style:italic;}

.clr		{clear: both;}
.clear-right{clear: right;}
.clear-left {clear: left;}
.right		{float: right;}
.left		{float: left;}
.rightimage {float: right; margin: 0 0 10px 10px;}
.leftimage {float: left; margin: 0 10px 10px 0;}
.intro {font-size: 15px; font-weight: normal;line-height: 1.4em;}
.hidden {display:none;}
.margin-left {margin-left: 9px;}
.margin-top {margin-top: 10px;}
.no-margin {margin:0;}
.inline {display:inline;float:none;}

.fancybox-default.block,
.fancybox-default.block img,
.fancybox-default.left,
.fancybox-default.left img,
.fancybox-default.right,
.fancybox-default.right img {
	display: block;
}
.fancybox-default.block {
	margin: 1ex auto;
}
.fancybox-default.left {
	margin: 0 1ex 1ex 0;
}
.fancybox-default.right {
	margin: 0 0 1ex 1ex;
}

/* new clearfix from http://perishablepress.com/press/2009/12/06/new-clearfix-hack/ */
.clearfix:after {
	visibility: hidden;
	overflow: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
	width: auto;
	line-height: 0;
}
* html .clearfix { zoom: 1; } /* IE6 */
*:first-child+html .clearfix { zoom: 1; } /* IE7 */

#preload {position: absolute;top: -1000px; left: -1000px;}

img.left	{margin-right:10px;}
img.right	{margin-left:10px;}
.red 		{color: #ff1000;}
#map 		{width: 450px;height: 300px;}

a.download-link {display: block; padding: 2px 2px 2px 20px;cursor: pointer;background: url("../images/icons/pdf.gif") no-repeat 0 2px;}
.pdf-icon {background: url("../images/icons/pdf.gif") no-repeat 0 2px !important;}
.email-icon {background: url("../images/icons/email.gif") no-repeat 0 2px !important;}
.video-icon {background: url("../images/icons/video.gif") no-repeat 0 2px !important;}
.link-icon {background: url("../images/icons/link.png") no-repeat 0 2px !important;}

/*  ----------------------------------------------------------------------
  STANDARD LAYOUT
  ---------------------------------------------------------------------- */

#wrapper {
	position: relative;
	text-align: left;
	margin: 0px auto;	
}

#header {
	position: relative;
	background: transparent;
	width: 960px;
	margin: 0px auto;
	height: 232px;
	z-index:100;
}

#header h1 {
	width: 300px;
	height: 90px;
	margin: 0px;
}

#header h1 a#logo {
	background: transparent;
	position: absolute;
	top: 16px;
	left: 20px;
	width: 132px;
	height: 132px;
	text-indent:-9999em;
}

#header h2 {
	position: absolute;
	top: -100px;
	left: 0px;
}

#content-top,
#content-bottom {
	width: 960px;
	height: 10px;
	margin: 0px auto;
}

#content-bottom {
	width: 960px;
	height: 10px;
	background: transparent url("../images/content-bottom.jpg") no-repeat 0 0;
}

#content {
	width: 958px;
	margin: 0px auto;
	padding-top: 10px;
	height:auto;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
	background: #fff;
	z-index: 4000;
}

#content-main {
	float: left;
	width: 600px;
	min-height: 100%;
	padding: 0px 19px 30px 19px;
}
* html #content-main {
	height: 100%;
}

#content-left {
	float:left;
	width: 160px;
	padding: 0px 0px 15px 20px;
	margin: 0;
	min-height:100%;
}
* html #content-left {
	height:100%;
}


#content-right {
	float:right;
	width: 120px;
	padding: 0px 20px 15px 0;
	margin: 0;
	margin-top: 60px;
	min-height:100%;
}
* html #content-right {
	height:100%;
}

body.two-col #content-main {
	float:left;
	width: 600px;
}

/*----------------------------------
	FOOTER
-----------------------------------*/

#footer a:link,
#footer a:visited,
#footer-info a:link,
#footer-info a:visited {
	color: #fff;
}

#footer-top {
	background: url("../images/footer-top.jpg") no-repeat center 0;
	width: 100%;
	height: 32px;
	margin-top: 20px;
}

#footer-wrapper {
	background: url("../images/footer-bg.jpg") repeat-y center 0;
	width: 100%;
	height: auto;
	float:left;
}

#footer {
	position: relative;
	clear: both;
	width: 920px;
	height: auto;
	font-size: 11px;
	color: #fff;
	padding: 0px 0px 0px 40px;
	padding-left: 0px;
	text-align: left;
	margin: 0 auto;
}

#footer ul {
	list-style-type: none;
	margin-left: 0px;
}

#footer-sitemap .column-1,
#footer-sitemap .column-2,
#footer-sitemap .column-3,
#footer-sitemap .column-4,
#footer-sitemap .column-5,
#footer-sitemap .column-6 {
	float: left;
	width: 140px;
	margin-right: 16px;
}
#footer-sitemap .column-6 {
	margin-right: 0px;
}

#footer-sitemap li {
	line-height: 1.2em;
	padding-bottom: 8px;
}

#footer-bottom-wrapper {
	clear: both;
	background: url("../images/footer-bottom.jpg") no-repeat center 0;
	width: 100%;
	height: 140px;
}

#footer-bottom {
	position: relative;
	width: 920px;
	margin: 0 auto;
	height: 98px;
	color: #fff;
	font-size: 11px;
}

#footer-info {
	position: absolute;
	bottom: 28px;
	left: 0px;
	width: 400px;
	height: 40px;
}

#footer-info .column-1,
#footer-info .column-2 {
	float: left;	
	width: 200px;
}

#footer-logos {
	position: absolute;
	bottom: 24px;
	right: 0px;
	width: 407px;
}

#footer-logos a {
	float: left;
	display: inline;
	height: 65px;
	text-indent: -9000px;
}

#footer-logos a.footer-pia {
	width: 91px;
	background: url("../images/footer-pia.jpg") no-repeat 0 0;
}

#footer-logos a.footer-ecosmart {
	width: 132px;
	background: url("../images/footer-ecosmart.jpg") no-repeat 0 0;
}

#footer-logos a.footer-3am {
	width: 184px;
	background: url("../images/footer-3am.jpg") no-repeat 0 0;
}

#welcome-wrapper {
	position: absolute;
	top: 126px;
	right: 250px;
	width: 100%;
	text-align: right;
	height: 25px;
	padding-right: 10px;
	background: url("../images/welcome-right.jpg") no-repeat top right;
}

#welcome-box {
	color: #B3CAE4;
	position: absolute;
	top: 0px;
	right: 10px;
	padding: 0px 5px 0 15px;
	width: auto;
	height: 25px;
	background: url("../images/welcome-left.jpg") repeat-x;
}

#welcome-box span {
	color: #ccc;
	font-size: 10px;
}

#welcome-box a:link,
#welcome-box a:visited {
	color: #B3CAE4;
	text-decoration: none;
}

#welcome-box a:hover,
#welcome-box a:active {
	color: #fff;
	text-decoration: underline;
}

#welcome-box p {
	padding-top: 3px;
	font-size: 11px;
	float: left;
}

/*----------------------------------
	INDIVIDUAL PAGES
-----------------------------------*/

#home-buttons {
	height: 226px;
    margin: 15px 0;
    width: 600px;
}

#home-buttons img {
	float: left;
}

/*----------------------------------
	FORM STYLING 
-----------------------------------*/

form {
	margin-top:10px;
	padding-bottom: 40px;
}

form hr {
  clear: both;
  border: 0px;
  border-top: 1px solid #ccc;
  margin-top: 10px;
  margin-bottom: 10px;
}

form h3 {
 	margin-bottom:6px;
	padding: 2px; 
}

form .hidden {
  text-indent: -9000px;
}

form input[type="hidden"] {
  display: none;
}

form br {clear:left;}

fieldset {
	margin-top: 12px;
	margin-bottom:20px;
	border: 1px solid #ccc;
	padding: 10px;
}

label, input, textarea, .radiolabel {
	display:block;
	float:left;
  	width:282px;
	margin-bottom:0px;
	padding: 2px;
}

input[type="checkbox"] {
  width: auto;
  border: none;
}

input.checkbox {
  width: auto;
  border: none;
  margin-right: 10px;
  margin-bottom: 0px;
  margin-top: 4px;
}

form span {
  font-size: 10px;
}

form span.required {
  color: #FF0000;
}

legend {
  color: #006729;
  font-weight: bold;
}

label {
	width:180px;
	text-align:left;
	padding-right:10px;
	padding-top:2px;
	padding-left: 0px;
	font-weight: bold;
}

input{
	/*border: 1px solid #0F0F0F;*/
	margin-bottom: 2px;
}

input.short {width: 40px;}

input.noborder {border: none;} 

textarea{
  width: 400px;
  height: 120px;
  margin-bottom: 6px;
}

select {margin-bottom: 6px;}
option {padding-right: 10px;}

.fieldWithErrors input{
	background-color: #FCC;
}

input.button {
	width: auto;
	text-align: center;

	margin: 5px 8px 10px 0px;
}
input.button:hover		{cursor: pointer;}

.failed-validation {background: #FF8888;}

form fieldset fieldset {
	clear: both;
	border-style:solid none none;
}

/*-- BASIC SEARCH FORM --*/

#header .search-form {
	position: absolute;
	top: 116px;
	right: 0px;
	width: 230px;
	height: 25px;
	text-align: right;
	background: url("../images/search.jpg") no-repeat 0 0;
}

#header .basic-search-form a {
	float: right;
	font-size: 11px;
}

#header .basic-search-form input {
	width: 155px;
	padding: 6px 7px 6px 7px;
	background: transparent;
	border: 0px solid red;
	color: #333;
}

#header .basic-search-form input.button {
	width: 50px;
	height: 25px;
	padding: 0px;
	margin-top: 0px;
	margin-left: 10px;
	margin-right: 0px !important;
	text-indent: -9000px;
	cursor: pointer;
}
#header .basic-search-form input.button:hover {
	background-image: none !important;
	background-color: transparent;
}

form.search-form input.checkbox {
	float: left !important;
}

form.search-form label.checkbox-label {
	padding: 0px 0 0 18px;
	float: none !important;
}

/*----------------------------------
	FORM BUILDER MODULE
-----------------------------------*/

form .error {background: #fff !important;border: 0px !important;}
form .error input,
form .error textarea,
form .error input.checkbox.error {border: 1px solid #FF4E4E !important;}
form .error input {padding: 2px;}

td.numeric, td.numeric input, .form-item .numeric input, input.numeric {
	text-align: right;
}

#product-cart-view-form .form-item {
	width: auto;
}

/*----------------------------------
	TABLE STYLING
-----------------------------------*/

table.data {
	margin-bottom: 10px;
	width: 100%;
	border-collapse: collapse;
}

table.data td {
	vertical-align: top;
	padding: 4px 2px 3px 2px;
	border-bottom: 1px solid #ccc;
}

td.bold {
	font-weight: bold;
}

table.data thead {} 

table.data th {
	padding: 4px 4px 3px 4px;
	background: #00346F url("../images/blend-blue.jpg") repeat-x; 
	color: #fff;
}

table.data td.calendar-month {
	font-weight: bold;
	border-bottom: 1px solid #00346F;
	padding: 10px 4px 3px 4px;
}

/* ----------------------------------------------- 
		NOTICES
----------------------------------------------- */

#error,
.error {
	background: #FF4E4E;
	border: 3px solid #FF7C7C;
	padding: 10px;
	padding-bottom: 10px;
	font-weight: bold;
	color: #333;
	margin-bottom:10px;
}

#success,
.success {
	background: #BBEECC;
	border: 3px solid #7AC593;
	padding: 10px;
	font-weight: bold;
	color: #333;
	margin-bottom:10px;
}

.messages ul {
	margin-bottom:0;
	margin-top:0;
}
/* green */
.messages.success {
	background: #BBEECC;
	border: 3px solid #7AC593;
	padding: 10px;
	font-weight: bold;
	color: #333;
	margin-bottom:10px;
}

/* blue */
.messages.notice {
	background: #DFEEFF;
	border: 3px solid #95BEEF;
	padding: 10px;
	font-weight: bold;
	color: #333;
	margin-bottom:10px;
	background-image: url('/admin/images/icons/information.png');
}
/* red */
.messages.error{
	background: #FF9797;
	border: 3px solid #FF4A4A;
	padding: 10px;
	font-weight: bold;
	color: #333;
	margin-bottom:10px;
}
/* orange */
.messages.warning {
	background: #FFBD59;
	border: 3px solid #FF863E;
	padding: 10px;
	font-weight: bold;
	color: #333;
	margin-bottom:10px;
}

/* 	----------------------------------------------- 
	----------------------------------------------- 
	----------------------------------------------- 
	----------------------------------------------- 
		MODULE STYLING
	----------------------------------------------- 
	----------------------------------------------- 
	----------------------------------------------- 		
----------------------------------------------- */

/* ----------------------------------------------- 
		FAQS EXPAND-COLLAPSE STYLING - use this when we have a module built. As seen in Shark Shield and OLoughlins
		Use snippet of application.js or add it to three.js?
----------------------------------------------- */

.expand-collapse h3:hover {cursor: pointer;}

.expand-collapse h3 span {
	padding:0 15px;
	display:inline;
	background-position:5px -3px;
	background-repeat:no-repeat;
	background-image:url("../images/expand.png");
}

.expand-collapse h3.expanded span {
	background-image:url("../images/retract.png");
}

/* ----------------------------------------------- 
		LINKS MODULE
----------------------------------------------- */

img.link-group-photo {float: left;margin: 0 10px 10px 0;padding: 2px;border: 1px solid #ccc;}
.link-group,
.links-wrapper {clear: left;width: 100%;height: auto; float: left}
.link-group {}
.links-wrapper ul {list-style: none;margin-left: 0px;}
.links-wrapper ul li {clear: left;height: auto;float: left;width: 100%;margin-bottom: 10px;padding-bottom: 10px;border-bottom: 1px solid #ccc;}
.links-wrapper ul li img {float: left;margin: 0 10px 10px 0;padding: 2px;border: 1px solid #ccc;}
p.link-description,
p.link-url {margin-top: 0px;margin-bottom: 0px;}

/*----------------------------------
	BANNER MODULE
-----------------------------------*/

#header-banner {
	position: absolute;
	top: 20px;
	right: 0px;
	width: 728px;
	height: 90px;
	text-align: right;
}

.banner-display {
	position: relative;
}

#header-banner .banner-display img,
#header-banner .banner-display object,
#header-banner .banner-display embed {
	display: block;
	margin: 0 0 0 auto;
}

.banner-display .flash-banner-display-overlay {
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 1000;
}

#content-right .banner-display {margin-bottom: 20px;}

/*----------------------------------
	BREADCRUMBS
-----------------------------------*/

ul.breadcrumbs {
	margin:0;
	list-style-type:none;
	list-style-image:none;
	padding: 0.5em 0 0.5em 0;
	border-bottom: 1px solid #ccc;
	margin-bottom: 20px;
}

ul.breadcrumbs li {
	display:inline;
	margin-right:5px;
	font-size: 11px;
}

/*----------------------------------
	BLOGS
-----------------------------------*/

.blog-item {border-bottom: 1px solid #ccc;margin-bottom: 20px;}
.blog-item h2 {margin-bottom: 0px;}
.blog-item .item-image {margin: 0 10px 10px 0;}
h3.posted {color: #444;font-size: 11px;margin-top: 0px;}

/*----------------------------------
	COUNTDOWN TIMER
-----------------------------------*/

.countdown-timer {
	background: url("../images/countdown-timer/bg-panel.png") no-repeat 0 0;
    color: #FFFFFF;
    font-size: 18px;
    height: 36px;
    padding: 50px 0 0 20px;
    position: absolute;
    right: 0;
    top: 171px;
    width: 373px
}

.countdown-timer .timer-text {
	position: absolute;
	left: 20px;
	top: 20px;
	width:226px;
	height:26px;
	background: url(../images/countdown-timer/text-round1.png) no-repeat;
	text-indent: -100em;
	overflow: hidden;
}

.countdown-timer .timer-intervals {
	display: block;
	position: relative;
}

.countdown-timer .timer-digit {
	display: inline-block;
	text-align: center;
	width: 20px;
	height: 26px;
	line-height: 24px;
	background: url("../images/countdown-timer/bg-cell.gif") no-repeat 0 0;
}
.countdown-timer .timer-suffix {
	padding: 0 1.2ex 0 0.5ex;
}

.countdown-timer .timer-interval-set-month {
	position: absolute;
	top: -37px;
	right: 20px;
}
.countdown-timer .timer-interval-set-month .timer-digit {
	font-size: 24px;
	line-height: 36px;
	width: 40px;
	height: 36px;
	background: url("../images/countdown-timer/bg-wide-cell.gif") no-repeat 0 0;
}
.countdown-timer .timer-interval-set-month .timer-suffix,
.countdown-timer .timer-interval-set-second .timer-suffix {
	padding-right: 0;
}

/*----------------------------------
	FORMS MODULE 
-----------------------------------*/

.form-item label {width: 180px;}

.form-item {
	padding:0.5em 0;
	margin-bottom:0.5em;
}

/* clearfix without using the class */
.form-item:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
	line-height: 0;
}
* html .form-item { zoom: 1; } /* IE6 */
*:first-child+html .form-item { zoom: 1; } /* IE7 */
.inline .form-item:after, .form-item.inline:after {
	display: none;
}

.form-item textarea {
	width: 360px;
}
form .form-item textarea.textarea-small {
	height: 2em;
}
form .form-item textarea.textarea-medium {
	height: 8em;
}
form .form-item textarea.textarea-large {
	height: 20em;
}

.form-item.required {

}

.form-item.error {
}

.form-item .description {
	font-style:normal;
	margin-left:190px;
	clear:left;
}

fieldset.error {
	border-color:#E74A4A;
}
.form-item.error label {
	color: #E74A4A;
}
.form-item input.error,
.form-item textarea.error,
.form-item select.error {
	border-color:#E74A4A;
	border-style:solid;
	border-width:1px;
}
.form-item.error > input,
.form-item.error > textarea,
.form-item.error > select {
	border-color:#E74A4A;
	border-style:solid;
	border-width:1px;
}

.radiolabel {font-weight: normal;}

.radio-group-wrapper {margin-left: 190px;}

.radio-group-wrapper input {
	margin: 4px 5px 0 0;
	width: auto;
}
.radio-group-wrapper br {
	clear: none;
}

.radio-group-wrapper label {
	float: none;
	display: inline;
}

.form-item .checkbox-set-wrapper {
	-moz-column-count: 2;
	-webkit-column-count: 2;
	column-count: 2;
	-moz-column-gap: 10px;
	-webkit-column-gap: 10px;
	column-gap: 10px;
}
.form-item .checkbox-set-wrapper label,
.form-item .checkbox-set-wrapper input,
.form-item .checkbox-set-wrapper br {
	float: none;
	clear: none;
	display: inline;
	width: auto;
	font-weight: normal;
	padding: 0;
}
.form-item .checkbox-set-wrapper label {
	display: block;
	margin: 0 0 1ex;
}

.form-buttons input {width: auto;margin-left: 190px;}

.fieldgroup-fields {
	margin-bottom:1em;
	padding-bottom:0.5em;
	border-bottom:1px solid #CCC;
}

#member-application-form .form-item textarea {
    width: 340px;
}
#member-application-form .ui-tabs-panel a {
	color: #004EA2;
	text-decoration: underline;
}

/*----------------------------------
	SEARCH RESULTS
-----------------------------------*/

.search-result-details-toggle {
	display:block;
}

.search-result-plumbers .search-result-details-wrapper ul {
	margin:1em 0 0;
	padding:0 0 0 15px;
}

.search-result-plumbers .search-result-details-wrapper ul li {
	float:left;
	margin-right:25px;
}

.search-result-plumbers .search-result-details-wrapper ul li span {
	display:block;
	width:160px;
}

.search-filter .checkboxes-group {
	padding:1em 0;
}

.search-filter .checkboxes-group .form-item {
	float:left;
	width:190px;
}

.search-filter .checkboxes-group label {
	display:inline;
	float:none;
	font-weight:normal;
}

.search-filter .checkboxes-group input.checkbox {
	float:none;
}

#search-form .select-all-checkboxes label{
	color:green;
	font-weight:bold;
}

/*----------------------------------
	POLLS
-----------------------------------*/

.poll-wrapper p input, .poll-wrapper form label, .poll-wrapper form label input {
	display: inline;
	float: none;
	padding: 0;
	width: auto;
}

/*----------------------------------
	STORE MODULE
-----------------------------------*/

.cart-item-note textarea {
	font-family: monospace;
	white-space: pre;
	height: 3em;
}
.cart-item-note td textarea {
	width: 90%;
}

.accept-credit-cards {
	clear: both;
}

.accept-credit-cards span {
	display: block;
	margin-top: 1ex;
	word-spacing: 1em;
}

.cart-discount-redeem input {
	font-family: monospace;
}

/*----------------------------------
	FAQS MODULE
-----------------------------------*/

.faq-list {
	clear: both;
	margin: 0 0 1em;
	padding: 0;
}

.faq-list dt {
	border-top: 1px dotted;
	padding: 1ex 0 0;
	margin: 1ex 2em 0 0;
}

.faq-list dt:first-child {
	border-top: 0 none ;
	padding-top: 0;
	margin-top: 0;
}

.faq-list dd {
	padding: 0;
	margin: 0 0 1ex 2em;
}

.faq-list p {
	padding: 0;
	margin: 0 0 1ex;
}

.faq-expanding dt {
	cursor: pointer;
}

.faq-expanding .faq-expand {
	display: block;
	float: left;
	margin: 0 1ex 0 0;
	padding: 0;
	text-indent: -2em;
	overflow: hidden;
	width: 9px;
	height: 18px;/* should equal line height */
	background: url('../images/retract.png') no-repeat center;
}
.faq-expanding .faq-collapsed .faq-expand {
	background-image: url('../images/expand.png');
}

.aggregate-subpage {
	padding-left: 1em;
}

