/**************************************************************
*** Core styles
**************************************************************/

*
{
	margin: 0;
	padding: 0;
}

body
{
	font: normal 0.8em/1.2em Arial, Helvetica, sans-serif;
	background-color: #535353;
	color: #000;
}

a
{
	color: #f37321;
	font-weight: bold;
	text-decoration: none;
}

a:hover
{
	text-decoration: underline;
}

p
{
	margin-bottom: 1.2em;
}

img
{
	border: none;
}

h1
{
}

h2
{
}

h3
{
}

h4
{
	font-size: 0.9em;
	line-height: 1.3em;
	color: #f37321;
}

h5
{
	font-size: 1.2em;
	line-height: 1.2em;
	color: #f37321;
	margin: 0 0 1em 0;
}

.bgheading
{
	background: #f37321 url('/content/images/heading-bg-orange.gif') repeat-x 0 0;
	color: #fff;
	height: 33px;
	font-size: 1.4em;
	line-height: 1.4em;
	font-weight: normal;
	text-transform: uppercase;
	position: relative;
}

.bgheading span
{
	position: absolute;
	left: 10px;
	top: 3px;
	overflow: hidden;
	height: 30px;
}

.grey
{
	background: #535353 url('/content/images/heading-bg-grey.gif') repeat-x 0 0;
}



/**************************************************************
*** Core structure
**************************************************************/

header
{
	margin: 0 auto;
	width: 990px;
	background: #fff url('/content/images/container-bg.gif') repeat-y 0 0;
	position: relative;
	height: 247px;
}
header.noslideshow
{
	height: 132px;
}

body.home header
{
	height: 387px;
}

header #phone
{
	background: url('/content/images/icon-phone.png') no-repeat 0 0;
	padding-left: 20px;
	width: 115px;
	height: 17px;
	position: absolute;
	top: 10px;
	right: 23px;
	font-size: 1.25em;
	line-height: 1em;
	font-weight: bold;
	color: black;
}

header #logo
{
	width: 315px;
	height: 133px;
	position: absolute;
	top: 0;
	left: 15px;
	z-index: 15;
	text-indent: -9999px;
}

header #logo img
{
	display: block;
	width: 100%;
	height: 100%;
}

#search
{
	position: absolute;
	right: 25px;
	top: 34px;
	width: 132px;
	height: 20px;
	background-color: #fff;
	border: 1px solid black;
}

#search fieldset
{
	border: none;
}

#search fieldset legend
{
	display: none;
}

#search input.textbox
{
	float: left;
	font-size: 13px;
	height: 20px;
	padding-left: 5px;
	color: #dbdbdb;
	border: none;
	border-right: 1px solid black;
	width: 106px;
}

#search input.active
{
	color: #000;
}

#search input.button
{
	float: right;
	background: #535353 url('/content/images/icon-search.png') no-repeat 0 0;	
	height: 20px;
	width: 20px;
	border: none;
	padding: 0; margin: 0; border: 0;
	text-indent: -9999px;
	cursor: pointer;
}

* html #search input.button{line-height:0} /* ie6 */
*+html #search input.button{line-height:0} /* ie7 */

header nav ul.nav
{
	width: 644px;
	height: 40px;
	position: absolute;
	top: 67px;
	left: 330px;
	border-left: 1px solid #000;
}

header nav ul.nav li
{
	background-color: #535353;
	height: 40px;
	float: left;
	list-style-type: none;
	border-left: 1px solid #9b9b9b;
	border-right: 1px solid #000;
}

header nav ul.nav li.nav-02 { width: 90px; }
header nav ul.nav li.nav-03 { width: 105px; }
header nav ul.nav li.nav-04 { width: 88px; }
header nav ul.nav li.nav-05 { width: 86px; }
header nav ul.nav li.nav-06 { width: 58px; }
header nav ul.nav li.nav-07 { width: 126px; }
header nav ul.nav li.nav-08 { width: 78px; }

header nav ul.nav li.nav-02 a span { left: 20px; }
header nav ul.nav li.nav-03 a span { left: 20px; }
header nav ul.nav li.nav-04 a span { left: 18px; }
header nav ul.nav li.nav-05 a span { left: 16px; }
header nav ul.nav li.nav-06 a span { left: 16px; }
header nav ul.nav li.nav-07 a span { left: 18px; }
header nav ul.nav li.nav-08 a span { left: 16px; }

header nav ul.nav li.last
{
	border-right: none;
}

header nav ul.nav li a
{
	font-weight: bold;
	display: block;
	height: 40px;
	color: #f37321;
	position: relative;
}
header nav ul.nav li a span
{
	position: absolute;
	top: 12px;
}

header nav ul.nav li a:hover
{
	color: #fff;
}

header nav ul.nav li.nav-03 a span { background: transparent url('/content/images/product-arrow.png') no-repeat; background-position: 55px 0; width: 70px; }
header nav ul.nav li.nav-03 a.listing span { background: none; }

header nav ul.nav li.products a:hover span { background-position: 55px -12px; }
header nav ul.nav li.products ul { position: absolute; left:-9999px; z-index: 15; white-space: nowrap; }
header nav ul.nav li.products ul li {
	border: 0;
	float: none;
	height: auto;
	padding: 0 0.5em 0 0.5em;
	line-height: 2.2em;
	border-top: 1px solid #9b9b9b;
	border-bottom: 1px solid #000;
}

header nav ul.nav li.products ul li a span {
	background: transparent url('/content/images/sub-product-arrow.png') no-repeat 0 0;
	position: relative;
	top: 4px;
	padding: 0 5px;
	left: 0;
}
header nav ul.nav li.products ul li a:hover span { background-position: -12px 0; }
header nav ul.nav li.products ul li a { height: auto; position: relative; }
header nav ul.nav li.products ul li a:hover { text-decoration: none; }

/* Level 2 */
header nav ul.nav li.products:hover ul { left: 92px; }
header nav ul.nav li.products:hover ul li ul { left: -9999px; }

/* Level 3 */
header nav ul.nav li.products ul li:hover ul { left: 130px; margin-top: -25px; }
header nav ul.nav li.products ul li:hover ul li ul { left: -9999px; }

/* Level 3 */
header nav ul.nav li.products ul li ul li:hover ul { left: 130px; margin-top: -25px; }
header nav ul.nav li.products ul li ul li:hover ul li ul { left: -9999px; }

/* Level 4 */
header nav ul.nav li.products ul li ul li ul li:hover ul { left: 130px; margin-top: -25px; }
header nav ul.nav li.products ul li ul li ul li:hover ul li ul { left: -9999px; }

#slideshow
{
	width: 960px;
	height: 140px;
	position: absolute;
	top: 107px;
	left: 15px;
}

body.home #slideshow
{
	height: 280px;
}

#slideshow ul li
{
	width: 159px;
	height: 140px;
	border-left: 1px solid black;
	overflow: hidden;
	float: left;
	list-style-type: none;
}

#slideshow ul li.first
{
	border-left: none;
	width: 160px;
}

body.home #slideshow ul li, body.home #slideshow ul li img
{
	width: 319px;
	height: 280px;
}

body.home #slideshow ul li.first, body.home #slideshow ul li.first img
{
	width: 320px;
}

#content
{
	margin: 0 auto;
	width: 990px;
	background: #fff url('/content/images/container-bg.gif') repeat-y 0 0;
	position: relative;
}

#content #left
{
	border-top: 1px solid black;
	float: left;
	width: 640px;
	border-right: 1px solid black;
	background: #fff url('/content/images/content-gradient.gif') repeat-x 0 0;	
	margin-left: 15px;
}

#content #left.fullwidth
{
	width: 960px;
	border-right: none;
	margin-right: 15px;
}

#content #right
{
	border-top: 1px solid black;
	float: left;
	width: 319px;
	margin-right: 15px;
}

#content div.text
{
	padding: 1.5em;
}

#content div.before-listing
{
	padding-bottom: 0;
}

#content div.text ul
{
	margin-left: 15px;
}

footer
{
	margin: 0 auto;
	width: 990px;
	background: #535353 url('/content/images/container-footer.gif') no-repeat 0 0;
	padding: 10px 0;
	height: 25px;
	position: relative;
}

footer div.text
{
	position: absolute;
	left: 15px;
	top: 15px;
}

footer nav ul.nav
{
	position: absolute;
	right: 15px;
	top: 15px;
}

footer nav ul.nav li {
	float: left;
	list-style-type: none;
	border-left: 1px solid #000;
	padding: 0 5px;
}

footer nav ul.nav li.first
{
	border-left: none;
}

footer .responsive-info
{
	position: absolute;
	top: 30px;
	left: 15px;
}

img#page-loading
{
	position: absolute;
	left: -9999px;
	top: -9999px;
}
img#page-loading.ready
{
	left: 50%;
	margin-left: -100px;
	top: 300px;
	display: none;

}
body.home img#page-loading {top: 450px;}

/**************************************************************
*** Homepage styles
**************************************************************/

ul.brandlist
{
	margin-bottom: 15px;
}

ul.brandlist li
{
	list-style-type: square;
	width: 160px;
	float: left;
	margin-left: 15px;
	
}

ul.news li {
	border-top: 1px solid black;
	list-style: none;
	padding: 1.5em 1.5em 0 1.5em;
}

ul.news li.first {
	border: none;
}

ul.news li p.date {
	font-style: italic;
	color: #636262;
	margin-bottom: 0.6em;
}

ul.news li h5
{
	margin: 0;
}

ul.news li img {
	float: left;	
}

ul.featured-products li {
	list-style: none;
	border-bottom: 1px solid black;
	padding: 1.5em;
}

ul.featured-products li.first /* set on both for the responsive design, so we can override it */
{
	border-bottom: 1px solid black;
}

ul.featured-products li img {
	float: left;
	padding: 0 5px 5px 0;
}



/**************************************************************
*** Product page styles
**************************************************************/

div.breadcrumbnav
{
	padding: 1.5em 1.5em 0 1.5em;
}

ul.productcats
{
	padding: 15px 0 0 15px;
}

ul.productcats li
{
	text-align: center;
	float: left;
	list-style: none;
	border: 1px solid black;
	padding: 0.5em 1.5em 0.5em 1.5em;
	width: 152px;
	min-height: 152px;
	margin: 0 15px 15px 0;
	background: #fff;
}

ul.productcats li h5
{
	margin: 0;
}

ul.productcats li img
{
}

div.product-detail
{
	padding: 15px;
}

div.product-detail ul.images
{
	float: left;
	border: 1px solid black;
	margin-right: 15px;
	background: #fff;
	padding-bottom:1.5em;
}

div.product-detail ul.images li
{
	text-align: center;
	list-style-type: none;
	padding: 1.5em 1.5em 0 1.5em;
	width: 152px;
}

#content div.product-detail div.text
{
	padding: 0 0 1.5em 0;
	float: left;
	width: 719px;
}

#content div.product-detail div.noimages
{
	width: auto;
	float: none;
}


/**************************************************************
*** Search page styles
**************************************************************/

ul.search-results
{
	padding: 1.5em;
}

ul.search-results li
{
}

ul.search-results li div.search-img
{
	background: #fff;
	float: left;
	width: 75px;
	border: 1px solid black;
	margin-right: 15px;
}

ul.search-results li div.search-desc
{
	width: 505px;
	float: left
}

ul.search-results li div.search-desc h4
{
	margin-bottom: 5px;
}

ul.search-results li div.no-image
{
	width: 597px;
}


/**************************************************************
*** Shared styles
**************************************************************/

div#content div.text table.files, #content div.product-detail div.text table
{
	border: none;
	border-collapse: collapse;
	margin: 1.5em 0 0 0;
	border-top: 1px solid #535353;
	border-left: 1px solid #535353;
}
div#content div.text table.files td, div#content div.text table.files th, #content div.product-detail div.text table td, #content div.product-detail div.text table th
{
	border-right: 1px solid #535353;
	border-bottom: 1px solid #535353;
	padding: 5px;
	text-align: left;
	font-size: 0.9em;
}
div#content div.text table.files td {
	padding-right: 10px;
}
div#content div.text table.files td a {
	background: url('../images/pdf-icon.gif') no-repeat 0 0;
	padding-left: 20px;
}


/**************************************************************
*** Clearfix (updated for HTML5)
**************************************************************/

.clearfix:before, .clearfix:after { content: " "; display: table; }
.clearfix:after { clear: both; }
clearfix { *zoom: 1; }

/**************************************************************
*** Form styles
**************************************************************/

form.cmxform fieldset, form.cmxform ol, form.cmxform li, form.cmxform legend { border: 0; padding: 0; color: #000; }
form.cmxform fieldset { margin: 15px 15px 15px 15px; }
form.cmxform legend { display: none; }
form.cmxform ol { list-style: none; margin: 0 !important; padding: 0 !important; }
form.cmxform li { margin-bottom: 5px; }
form.cmxform li span.asterisk { color: #ff0000; padding: 8px 5px 0 5px; vertical-align: middle; font-size: 1.5em; }
form.cmxform li span.notreq { visibility: hidden; }
form.cmxform label { display: inline-block; vertical-align: top; margin-top: 3px; width: 100px; }
form.cmxform label.nolabel { width: 0; }
form.cmxform li.long label { width: 315px; }
form.cmxform input, form.cmxform select, form.cmxform textarea /*, input, select, textarea*/ {
	width: 170px;
	padding: 5px 5px;
	border: 1px solid #d2d2d2;
	font: normal 1em/1em Arial, Helvetica, sans-serif;
}
form.cmxform textarea, textarea { display: inline-block; line-height: 15px; height: 130px; overflow: auto; }
form.cmxform input.checkbox, input.checkbox { width: 16px; height: 16px; border: 0; background: none; padding: 0; margin: 0 5px 0 0; vertical-align: middle; }
form.cmxform input.button { width: auto; border: 1px solid #d2d2d2 !important }
form ol li.error,
form ol li.error label,
form ol li.error a,
form ol li.sserror,
form ol li.sserror label
{
	color: #FF6C59;
}

form ol li.error input,
form ol li.error textarea,
form ol li.error select
{
	border:2px solid #FF6C59;
}

form ol li.sserror
{
	padding-top: 0;
	margin: 0;
}

/* MVC styles */
form.cmxform .input-validation-error { border: 2px solid #FF6C59; }
form.cmxform .field-validation-error { display: none; } 

div.custom-form p { margin: 15px; } 
div.custom-form .error-message { color: #FF6C59; } 

/* Additional security code styles */
li.security-group { position: relative; }
li.security-group img { position: absolute; left: 225px; top: 2px; border-left: 1px solid #D2D2D2; } 

#interactive-google-map
{
	background: transparent url('/content/images/non-interactive-google-map.png') no-repeat 0 0;
	width: 100%;
	height: 450px;
}