@charset "utf-8";
/* CSS Document */

@import url("reset.css");
@import url("fontface.css");

/*---------- Universal ----------*/
html { min-height: 100%; margin-bottom: 1px; }
body {
	font: 80% Verdana, Arial, Helvetica, sans-serif;
	background: #FFF;
	margin: 0;
	padding: 0;
	text-align: center; /* this centers the container in IE 5* browsers. */
	color: #000000;
	}
a {	
	color: #039;
	font-weight: normal;
	text-decoration: none;
	}
p { padding: .5em 0; }	
a:hover { text-decoration: underline; }
a:hover img {text-decoration: none; }
a img {	border: none; }
h1, h2, h3 { 
	font-family: 'Puritan20Bold', Verdana, Geneva, sans-serif; 
	letter-spacing: .05em; 
	font-weight: normal;
	}
h1 { 
	font-size: 1.85em; 
	}
h2, .table_main { font-size: 1.5em; }	
h1 a, h2 a { color:#000; }
img.alignleft, fieldset.alignleft {
	float: left;
	margin: 0 10px 0 0;
	overflow: hidden;
}
img.alignright, fieldset.alignright {
	float: right;
	margin-left: 1px;
}
p { line-height: 1.5em; }
hr {
    margin: 10px 0;
    height: 1px;
    border: 0;
    background: black;
    background: -webkit-gradient(linear, 0 0, 100% 0, from(white), to(white), color-stop(50%, black));
	}
.spaced { padding: 1em 0; }
.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
	}
.clearfix { display: inline-block; }  /* for IE/Mac */

/*---------- Layout Wrapper ----------*/
.wrapper {
	width: 90%;
	margin: 0 auto;
	text-align: left; /* this overrides the text-align: center on the body element. */
	background-color: none;
	}

/*---------- Header & General Navigation formatting - Home, Contact, etc. ----------*/
.header {
	background: url(../images/bg.gif) repeat-x;
	text-align: left;
	background-color: #0054A4;
	position: relative;
	min-height: 80px;
	}
.header img { float: left; }
.tagline {
	position: absolute;
	display: block;
	width: 250px;
	bottom: 5px;
	left: 150px;
	font-family: 'Puritan20Normal';	
	color: #FFF;
	}
.gen-nav_wrap {
	position: relative;
	top: 0;
	right: 0;
	font: .8em/1.75em Verdana, Arial, Helvetica, sans-serif;
	color: #0054A4;	
	text-align: right;
	z-index: 0;
	overflow: hidden;
	}
.gen-nav_wrap a { font-weight: bold; }	
.gen-nav {	
	text-decoration:none;
	list-style:none;
	margin: 3px 0;
	padding: 3px 3px 0 0;
	line-height: 1.5em;	
	}
.gen-nav ul { display: block; }	
.gen-nav li { 
	float: right; 
	border-right: 1px solid #FFF;
	}
.gen-nav li a { 
	color: #FFF; 
	padding: 0 4px;
	}
.gen-nav li a:hover, .gen-nav li a:focus { text-decoration: underline; }
.gen-nav li:first-child { border: none; } 

.main-c_wrapper { 
	padding: 0; 
	-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.4);
	-moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.4);
	box-shadow: 0 5px 10px rgba(0, 0, 0, 0.4);
	}
.main-c { background: #F1F1F1; }

/*---------- Top Menu formatting - Backflow, Hydrant, Partitions ----------*/
.top-menu, .top-nav, .top-nav li { padding: 0; }
.top-menu {
	height: 2.2em;
	min-height: 2.2em;
	background-color: #8BC53F;
	overflow: hidden;
	-webkit-box-shadow: inset 0px 2px 10px rgba(255, 255, 255, 0.4);
	-moz-box-shadow: inset 0px 2px 10px rgba(255, 255, 255, 0.4);
	box-shadow: inset 0px 2px 10px rgba(255, 255, 255, 0.4);		
	}
.top-nav, .top-nav li {
	margin: 0;
	list-style-type: none;
	text-align: center;
	}
.top-nav li, .search label { float:left; }
.top-nav li { padding: .5em 0; }
.top-nav li a { 
	color: #000;
	font: 1.25em 'Puritan20Bold', Verdana, sans-serif bold;
	padding: .5em 10px;
	}
.top-nav li a:hover, .top-nav li a:focus, .top-nav li a.current {
	background-color: #0054A4;
	color: #FFF;
	padding: .5em 10px;
	text-decoration: none;
	}
.top-nav li:first-child { padding-left: 0; } 
.search {
	margin: 2px 2px 1px 2px;
	float: right;
	}
.search label {
	text-align:right;
	padding:4px 10px 0 0;
	}
	
/*---------- Breadcrumb Menu formatting ----------*/
.b {
	background-color: #0054A4;
	overflow: auto;
	padding: 3px 3px 3px 0;	
	height: 1.35em;
	min-height: 1.35em;
	}
.b-nav, .b-nav li, .content { margin: 0; }
.b-nav {
	display:block;
	text-decoration:none;
	list-style:none;
	text-align: right;
	font-size: 0.75em;
	padding: 0;		
	}
.b-nav li {
	display: inline;
	float: left;
	padding-left: 10px;
	}
.b-nav li a { 
	color: #FFF; 
	padding: 0 5px;
	}
.b-nav li a:hover, .b-nav li a:focus { color: #CDA; }
.b-nav li a:before { content: "\00BB \0020"; }
.b-nav li a:first-child { content: "."; } 
.content {
	padding: 0 10px;
	overflow: auto;
	}

/*---------- Left Container - Menu, Quick Order, Etc. ----------*/
.left_wrapper {
	width: 190px;
	float: left;
	font: 90%
	}
.topnav {
	margin: 0.5em 0 0 0;
	border: 1px solid #333333;
	overflow: hidden;
	font: 1.1em 'Puritan20Normal', Verdana, Geneva, sans-serif;
	}
.topnav a, .secondnav a {
	padding: 5px 0px 5px 4px;
	color: #FFF;
	text-decoration: none;
	display: block;
	text-align: left;
	-webkit-box-shadow: inset 0px 2px 10px rgba(0, 0, 0, 0.3);
	-moz-box-shadow: inset 0px 2px 10px rgba(0, 0, 0, 0.3);
	box-shadow: inset 0px 2px 10px rgba(0, 0, 0, 0.3);	
	}
.topnav ul, .secondnav ul, .navcontainer, .navcontainer ul, ul.leftmenu, ul.leftmenu li {
	margin: 0;
	padding: 0;
	}
.topnav a, .secondnav a, .lc, ul.leftmenu li a	{ margin: 0; }
.topnav { padding: 0; }
.topnav ul, .secondnav ul {
	list-style-type: none;
	text-align: center;
	}	
.topnav a {	background-color: #0054A4; }
.topnav a:hover, .topnav a:focus { color: #CDA; }	
.navcontainer, .lc {
	border-left: 1px solid #036;
	border-right: 1px solid #036;
	border-bottom: 1px solid #036;
	}
.lc {
	width: 178px;
	padding: 5px;
	overflow: hidden;
	}
.navcontainer, ul.leftmenu li {	background-color: #FFF; }
.navcontainer {
	width: 188px;
	}
.navcontainer ul, ul.leftmenu {
	border: 0;
	list-style-type: none;
	text-align: left;
	}
ul.leftmenu li {
	display: block;
	text-align: left;
	font-size: .85em;
	}
ul.leftmenu li a {
	width: 170px;
	padding: 5px 0 5px 15px;
	color: #000000;
	text-decoration: none;
	display: block;
	text-align: left;
	vertical-align:middle;
	}
ul.leftmenu li a:hover, ul.leftmenu li a:focus, ul.leftmenu li a.current{
	color: #0054A4;
	background: #FFF url("../images/dot.gif") no-repeat center left;
	}
ul.leftmenu li.attr_group { 
	font-weight: bold;
	border-bottom: 1px solid #8BC53F;
	margin: 0 3px;
	padding: 3px 0;
	}
.f_qty, .f_item { float:left; padding: 5px; }
.f_qty { width: 30px; }
.f_item { width: 125px; }	

/*---------- Right Container - Best Sellers ----------*/
.right_wrapper {
	width: 175px;
	float: right;
	}
.right-aside h1 { font-size: 1.45em; margin: 1em 0 .8em .4em;}
.menu { background-color: #FFF; }
.menu_wrapper { margin: 0 175px 0 200px; }
.menu_wrapper h1 { padding-top: .25em; }
.product_w, .delete_refine { margin: 0 0 0 200px; }
.product_w { position: relative; }
.product, .product_npic, .product_np, .product_cat {
	background-color: #FFF;
	border: 1px solid #CBCBCB;
	float: left;
	padding: 5px;
	font-size: 0.85em;
	margin: 5px;
	position: relative;
	}
.product, .product_cat, .product_np, .product_npic, .price { width: 155px; }	
.product { min-height: 300px; }
.product_np { min-height: 205px; }
.product_npic { min-height: 175px; }
.product p, .product_np p { 
	font-size: .95em; 
	margin: 5px 0 0 0; 
	}	
.product_npic { width: 150px; }	
.product_cat { min-height: 195px; text-align: center; }	
.product img, .product_np img, .product_cat img, .product_cat_header { 
	display: block; 
	margin: 0 auto; 
	}
.product_cat_header { 
	width: 145px;
	margin-bottom: 5px;
	border-top: 1px dashed #0054A4;
	border-bottom: 1px dashed #0054A4;
	padding: 5px;	
	}
.product_bkd { 
	float: left; 
	padding: 4px;
	background-color: #FFF;
	border: 1px solid #CBCBCB;
	}
.product_seq { font-weight: bold; }	
.sm_img { 
	width: 150px;
	height: 125px;
	display: table-cell;   
	vertical-align: middle;	
	}
.sm_img { 	margin: 0 auto; }	
.price, .product_cat_header { 
	display: block;
	position: absolute; 
	bottom: 0; 
	}
.delete_refine { padding-top: 5px; }
.records { display: inline-block; margin: .75em 0; width: 100%;	}
.page_views { float: right; }
.alternates { 
	padding: 0 .5em .5em;
	border: 1px dashed #ccc;
}
	
/*---------- Item Prices ----------*/
form.cart { margin: 5px 0; }
	form.cart h1 { margin-bottom: 1em; }
	form.cart h2 { margin: 1em 0; }
form.cart label {
	display: block;
	margin-bottom: 5px;
		}
input.style, button.style {
	border-top : 1px solid #039;
	border-left : 1px solid #039;
	border-bottom : 1px solid #0054A4;
	border-right : 1px solid #0054A4;
	-webkit-border-radius: 7px;
	-moz-border-radius: 7px;
	border-radius: 7px;		
	padding : 2px 8px;
	margin: 0 .25em;
	color : #333333;
	background: #FFF;
	}
input.style:hover, button.style:hover, input.style:focus, button.style:focus { 
	background: #039; 
	color: #FFF; 
	}
	
input.addqty { width: 20px; float:left; padding: 0; margin: 0;}	
.price { padding: 0 0px 5px 0; }	
.price p { font-size: 1em; }
.price_left { float: left; margin-right: 1em; }
input.add, input.add2 { margin: 0 0 0 .5em; }
input.add2 { padding-bottom: 0; }
input.add-detail { margin: 0 0 -.25em 0 ; }
input.favorite, input.remove { 
	float: left; 
	font-size: .95em;
	clear: both;
	}
.border { border-bottom : 1px solid #0054A4; }

/*---------- Item Detail & Alternate Images ----------*/
.item_detail_text { display: block; }
.detail_imgs { float: left; }
.detail_mainimg { 
	height: 400px; 
	min-width: 275px;
	text-align: center;
	border: none;
	}
.detail_imgs img { margin: 0 auto;  }
.alt_img { width: 125px; text-align: center; }	



	
/*---------- White Content Wrappers ----------*/
.w_w {
	position: inherit;
	background-color: #FFF;
	border: 1px solid #CBCBCB;
	margin: 5px 10px 10px 0px;
	padding: 4px;
	font-size: 0.9em;
	overflow: hidden;
	}
	.w_w.f_brands { 
		height: 170px; 
		overflow: auto;		
		}
.w_w img { margin: 10px; }
.w_w p {
	margin: 0;
	padding: 3px 5px;
	}
	
.w_w h1 { font-size: 1.35em; }
.w_w h2 { font-size: 1.25em; }
.w_w h3 { font-size: 1.15em; }

.special_p { margin-right: 5px; }
.pricing {
	display: block;
	margin: 0 10px;
	overflow: auto;
	min-width: 150px;
	}
.brands { 
	float: left;
	margin: 5px; 
	text-align: center;
	height: 80px;
	}
.brands img { padding: 2px; }
.about {
	padding: 20px 5px;	
	}
.about h1 { margin-left: .5em; }	
.about p { line-height: 2em; }
.account_menu_wrap {
	float: right;
	text-align: right;
	}
.account_menu {
	text-decoration:none;
	font-weight: bold;
	list-style:none;
	line-height: 1.75em;
	}
.account_menu ul, .account_menu li {  }
.account_menu li a { 
	color: #000; 
	padding: 0 4px;
	}
.account_menu li a:hover, .account_menu li a:focus, .account_menu li a.current {
	color: #0054A4;
	}	
	
/*---------- Footer ----------*/
.signin_text, .footer {
	clear: both;
	overflow: hidden;
	}
/*---------- TMS Logo ----------*/
.tms {
	float: left;
	font: 80%;
	margin: 15px 55px 5px 30px;
	position: relative;
	bottom: 10px;
	text-align: center;
	}
.tms a { margin-left: 15px; }


br.clearleft { 
    clear: left;
	margin: 0;
	padding: 0;
	}
br.clear { 
    clear: both;
	margin: 0;
	padding: 0;
	}

/*---------- Shopping Cart ----------*/
.table_main { 
	line-height: 2em;  
	}
.shoppingcart { 
	width: 100%;
	margin: 1em 0;
	}

/*---------- Order in Bulk ----------*/
.order_bulk {
	width: 300px;
	padding: 5px;
	}
	
/*---------- Quick Order Form ----------*/
.d_bulk_qty { float: left; margin: 0 20px 0 5px; }
.bulk_item { padding: 5px 0; }
.bulk_qty, .bulk_item { padding: 5px 0; }
.bulk_qty { width: 25px; margin-right: 5px; }
.bulk_item {
	width: 225px;
}
.lc input, .order_bulk input { margin: 5px; padding: 0; float: left;}

/*---------- Policy Page ----------*/
.w_w_i h1, .w_w_i h2 { margin-left: .25em; }
.w_w_i h1 { font-size: 1.5em; }
.w_w_i h2 { font-size: 1.25em; }

/*---------- Login Form ----------*/
.login{
  margin:0 auto;
  width:400px;
  padding:14px;
  }

/*---------- stylized ----------*/
th, .table { text-align: left; }
.table { line-height: 2em; }
.stylized h1 {
	font-size:14px;
	font-weight:bold;
	margin-bottom:8px;
	}
.stylized p{
	font-size:11px;
	color:#666666;
	margin-bottom:20px;
	border-bottom:solid 1px #F1F1F1;
	padding-bottom:10px;
	}
.stylized label{
	display:block;
	font-weight:bold;
	text-align:right;
	width:140px;
	float:left;
	}
.stylized .small{
	color:#666666;
	display:block;
	font-size: 11px;
	font-weight:normal;
	text-align:right;
	width:140px;
	}
.stylized input{
	float:left;
	font-size:12px;
	padding:4px 2px;
	width:200px;
	margin:2px 0 20px 10px;
	}
.stylized input.style {	width: auto; float: right;}	
.blocktext {
	font-size: 83%;
	width: 350px;
	margin: 1em auto;
	clear: both;
	}
form.apply {
	margin : 0 auto;
	text-align : center;
	width : 350px;
	}
form.apply p {
	text-align : left;
	margin : 0.5em 0;
	}
fieldset, .sub {
	margin : 1em 0;
	padding : 0 1em .5em;
	border : 0 none;
	}
.sub {
	border : 0 none;
	}
form.apply legend {
	margin : 1em;
	padding : 0 1.5em;
	color : #003366;
	background : transparent;
	font-size : 1.1em;
	font-weight : bold;
	}
form.apply legend.p {
	text-align : left;
	margin : 0.5em 0;
	padding : 0;
	color : #333333;
	font-weight : normal;
	overflow: auto;
	}
form.apply label {
	float : left;
	width : 110px;
	padding : 0 1em;
	text-align : right;
	}
fieldset input, textarea, select {
	width : 150px;
	border-top : #555555 1px solid;
	border-left : #555555 1px solid;
	border-bottom : #cccccc 1px solid;
	border-right : #cccccc 1px solid;
	padding : 1px;
	color : #333333;
	margin-bottom : 0.5em;
	}
.fm-multi {
	margin : 5px 0;
	border : 0 none;
	width : 100%;
	}
.fm-multi input {
	width : auto;
	margin-bottom : 0;
	border : 0 none;
	}
.fm-multi label {
	display : block;
	width : 200px;
	padding-left : 5em;
	text-align : left;
	margin : 0 auto 0.5em;
	}
.fm_multi-check label { 
	float: left;
	}
.fm_multi-check label.p { 
	text-align: left; 
	margin-bottom: 1.25em; 
	width: 200px;
	font-size: .8em;
	}
.checkout_comments {
	width: 100%;
	height: 5em;
	}
#cust_button_1, #cust_button_2 {
	display: block; 
	text-align: center;	
	}
#cust_button_1 {
	border : #333333 1px solid;
	background : #0054A4;	 
	color: #FFF;
	}	
#cust_button_2 {
	clear: both;
	padding: .5em;	
	}
input:hover, textarea:hover, input:focus, textarea:focus {
	background : #efefef;
	color : #000000;
	}
fieldset .fm-req {
	font-weight : bold;
	}
.half {
	width: 46%;
	padding: 1em;
	float: left;
	}
.reginfo { height: 175px; }
.details { 
	font-size: .85em;
	text-align: right;
	padding: .5em;
	border-bottom: 1px solid #003366;
	}
.half legend { 
	color: #003366;
	font-weight: bold;
	font-size: 1.1em;
	}
.half label { 
	display: block;
	padding: .5em 0;
	}
.half input:text { 
	width: 60%;
	}
.half .check { 
	float: left;
	width : auto;
	margin: 7px 10px 0 0;
	border : 0 none;
	}
.half .check2 { width: auto; border : 0 none; }	
.half .checktext { margin-bottom: 10px; }
.half h3 { font-size: 1.35em; }
.reg_border { margin-left: 2em; }
input.long { width: 80%; }
input.short {
	width: 4em;
}
.reg_multi input, .reg_multi label { float: left; }
.reg_multi input { width: 50px; border : 0 none;}	
.outline { border: 1px solid #000; }	
.aside { 
	float: right;
	font-size: .85em;
	}
.card_info { margin-left: 2em; }	

/*---------- Reports Table ----------*/
.reptable { 
	width:80%;
	margin: 2em 1em;
	}
.reptable tr { padding-bottom: 1.5em; }	

/*---------- Open Order Table ----------*/
.open_order {
	width: 95%;
	margin: 0 auto;
	border: 0;
}
.open_order tr { 
	line-height: 1.5em;
}
.table_header {
	font-size: 1.15em;
	font-weight: bold;
}
.table_num { padding-right: 2em; }
