html,
body
{
    margin: 0;
    padding: 0;
    background: #e8ecec url(/img/common/bg.jpg) no-repeat fixed center top;
    font-size: 100%;
    font-family: Helvetica, Arial, sans-serif;
}

a
{
    color: #444;
    font-weight: bold;
}

h1 a,
h2 a
{
    color: black;
}

h1,
h2.lg
{
    margin: 0 0 0.5em 0;
    font-size: 180% !important;
    text-transform: uppercase;
    line-height: 100%;
}

h2, h3
{
    clear: left;
    margin: 0 0 0.5em 0;
    font-size: 1em;
}

h2
{
    text-transform: uppercase;
}

p,
ul,
ol
{
    margin: 0 0 1.25em 0;
}

ul
{
    padding: 0;
    list-style-type: none;
}

ul li
{
    margin: 0;
    padding: 0;
}

img
{
    border: 0 none;
    vertical-align: middle;
}

form,
fieldset
{
    border: 0;
    padding: 0;
    margin: 0;
}

input,
textarea,
button,
select
{
    font-family: Helvetica, Tahoma, Verdana, sans-serif;
    font-size: 110%;
    height: 1.5em;
    line-height: 1.5em;
    margin: 0 0 0.75em 0;
    vertical-align: middle;
    border: 0 none;
    background-color: #ddd;
    color: black;
    padding: 0;
}

textarea
{
    height: auto;
    min-height: 1.5em;
}

.textarea
{
    min-height: 6.5em;
}

button,
.button
{
    border: 0;
    width: auto;
    overflow: visible;
    padding: 0 0.75em !important;
    background-color: #ddd;
    color: black;
    font-weight: bold;
    font-size: 110%;
}

button img
{
    margin-top: 1px;
}

legend
{
    font-weight: bold;
    color: #555;
    padding: 0 0 12px 0;
    margin: 0;
}

label
{
    vertical-align: middle;
}

label span
{
    display: block;
    float: left;
    clear: left;
    width: 35%;
}

table
{
    margin: 0 0 0.75em 0;
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}

th
{
    text-align: left;
    font-size: 100%;
}

tr
{
    vertical-align: top;
}

.slideshow
{
    width: 100%;
    height: 432px;
    border-top: 6px solid black;
    border-bottom: 6px solid black;
    margin: 0 0 1em 0;
    overflow: hidden;
    position: relative;
}

.col-4 .slideshow,
.range .slideshow
{
    height: 398px;
}

.range .slideshow
{
    height: 198px;
    background-position: right center;
    background-repeat: no-repeat;
}

.range .slideshow a
{
    display: block;
    padding-top: 198px;
}

.benchtops .slideshow
{
    height: 116px;
}

.product-thumbnail
{
    height: 200px;
    overflow: hidden;
    width: 100%;
    background-position: 50% 50%;
    background-repeat: no-repeat;
}

.product-thumbnail a
{
    padding-top: 200px;
    display: block;
}

.slideshow .slide-title
{
    position: absolute;
    left: 12px;
    top: 12px;
    background: black;
    color: white;
    font-weight: bold;
    padding: 0.25em;
    height: 1em;
    line-height: 1em;
    text-transform: uppercase;
}

.slideshow .slide-link
{
    position: absolute;
    right: 12px;
    bottom: 12px;
    background: black;
    color: white;
    font-weight: bold;
    padding: 0.25em;
    height: 1em;
    line-height: 1em;
    text-transform: uppercase;
}

.slideshow .slide-no
{
    position: absolute;
    left: 12px;
    bottom: 12px;
    list-style-type: none;
    margin: 0;
    padding: 0;
    height: 1.5em;
}

.slideshow .slide-no li
{
    margin: 0 2px 0 0;
    padding: 0.25em;
    float: left;
    width: 1em;
    height: 1em;
    line-height: 1em;
    overflow: hidden;
    font-weight: bold;
    text-align: center;
    background: black;
    color: white;
    cursor: pointer;
}

.slideshow .slide-img
{
    position: absolute;
    left: 0;
    top: 0;
}

.slideshow-controls
{
    border-top: 6px solid #000;
    border-bottom: 6px solid #000;
    height: 84px;
    overflow: hidden;
    margin: 0 0 20px 0;
    padding: 0;
    list-style-type: none;
}

.slideshow-controls li
{
    float: left;
    margin: 0 0 0 5px;
    padding: 0;
    width: 133px;
    height: 84px;
    overflow: hidden;
    background: #f0f0f0;
}

.slideshow-controls li:first-child
{
    margin-left: 0;
}

.slideshow-tray
{
    position: absolute;
    left: 0;
    top: 0;
    width: 9999px;
}

.slideshow-tray .panel
{
    float: left;
}

.faq dt
{
    font-weight: bold;
    margin: 0;
    padding: 0;
}

.faq,
.faq dd
{
    margin: 0 0 0.75em 0;
    padding: 0;
}

.faq dt:before
{
    content: 'Q/ ';
}

.faq dd:before
{
    content: 'A/ ';
}

.waiting
{
    background-image: url(/img/common/spinner.gif);
    background-repeat: no-repeat;
    background-position: 12px 12px;
}

.nowrap
{
    white-space: nowrap;
}

.rule
{
    border-top: 6px solid #000;
    padding-top: 1em;
    margin-top: 0.5em;
}

.rule-off
{
    border-top: 6px solid #999 !important;
    padding-top: 1em;
    margin-top: 0.5em;
    color: #999;
}

.no-rule
{
    border-top: 0 none !important;
    padding-top: 0 !important;
}

.sticker
{
    width: 78px;
    height: 79px;
    overflow: hidden;
    position: relative;
    margin-left: 70%;
    margin-top: -70px;
}

.sticker a
{
    display: block;
    padding-top: 79px;
}

.feature
{
    margin: 0.5em 0 1em 0;
    padding-top: 1em;
    border-top: 6px solid black;
}

.feature h2
{
    margin-top: 0;
    font-size: 1.3em;
    text-transform: uppercase;
}

.insetimg,
.insetimg-lg
{
    padding-right: 140px;
    background-repeat: no-repeat;
    background-position: right top;
}

.insetimg-lg
{
    padding: 6px 420px 0 0 !important;
    height: 196px;
    background-position: right bottom;
    margin: 0 !important;
}

.col,
.col-2,
.col-3,
.col-4
{
    float: left;
    clear: right;
    margin-right: 12px;
}

.grid-1-4
{
    clear: both;
}

.grid-5 .col,
.grid-1-4 .col,
.grid-1-2-2 .col
{
    width: 128px;
    border-top: 6px solid #000;
    padding-top: 0.75em;
    margin-top: 0.5em;
}

.grid-5 .col-2,
.grid-1-2-2 .col-2,
.grid-1-4 .col-2
{
    width: 267px;
    border-top: 6px solid #000;
    padding-top: 0.75em;
    margin-top: 0.5em;
}

.grid-1-4 .col-3,
.grid-5 .col-3
{
    border-top: 6px solid #000;
    padding-top: 0.75em;
    width: 407px;
    margin-top: 0.5em;
}

.grid-1-4 .col-4,
.grid-1-2-2 .col-4
{
    border-top: 6px solid #000;
    padding-top: 0.75em;
    width: 548px;
    margin-top: 0.5em;
    margin-right: 0;
}

.grid-5 .col-2
{
    border-top: 6px solid #000;
}

.grid-5 .col-4
{
    width: 100%;
    border-top: 6px solid #000;
    padding-top: 0.75em;
    margin-top: 0.5em;
}

.grid-3-2 .col
{
    width: 408px;
}

.grid-1-4 .col-4
{
    width: 548px;
    margin-top: 0.5em;
}

.grid-3-2 .last
{
    width: 268px;
}

.col-4 .col,
.col-4 .col-2,
.col-4 .col-3
{
    margin-top: 0 !important;
}

.inactive
{
    color: #ddd;
}

.subcategory
{
    margin: 0;
    padding: 0;
    list-style-type: none;
    text-transform: uppercase;
}

.subcategory li
{
    margin: 0 0 0.25em 0;
    padding: 0 0 0.25em 0;
    border-bottom: 1px solid white;
}

.subcategory li.sel
{
    border-bottom: 1px solid black;
}

.subcategory li a
{
    text-decoration: none;
}

.benefits,
.download
{
    margin: 0;
    padding: 0;
    list-style-type: none;
}

.benefits li,
.download li
{
    margin: 0 0 0.25em 0;
    padding: 0 0 0.25em 0;
    border-bottom: 1px solid #000;
}

.benefits li
{
    text-transform: uppercase;
    padding-left: 1.5em;
}

.benefits li:before
{
    content: '*';
    font-weight: bold;
    color: #00aeef;
    font-size: 250%;
    vertical-align: bottom;
    line-height: 0px;
    float: left;
    display: block;
    margin: 0.45em 0 0 -0.55em;
    clear: left;
    height: 0.15em;
}

.testimonials
{
    margin: 0 0 0.75em 0;
    padding: 0;
}

.testimonials dd
{
    margin: 0 0 0.75em 0;
    padding: 0 0 0.75em 0;
    border-bottom: 1px solid black;
}

.price
{
    margin-top: 0.5em;
    padding: 0.5em 0 0 0;
    border-top: 6px solid black;
}

.price span
{
    font-size: 200%;
    font-weight: bold;
    letter-spacing: -0.5pt;
}

.link
{
    border-top: 6px solid black;
    text-transform: uppercase;
    padding: 3px;
}

.link a
{
    text-decoration: none;
    color: black;
}

.breakout
{
    -moz-box-shadow: #333 0 5px 10px;
    -webkit-box-shadow: #333 0 5px 10px;
}

.breakout ul
{
    padding: 0 6px 6px 6px;
}

.cart thead th,
.cart thead td
{
    border-bottom: 1px solid #000;
    border-left: 1px solid #000;
    padding: 2px 5px;
    text-transform: uppercase;
}

.cart tbody th,
.cart tbody td
{
    border-left: 1px solid #ccc;
    padding: 2px 5px;
    text-transform: uppercase;
}

.cart tbody .total th,
.cart tbody .total td
{
    border-top: 1px solid #000
}

.chart
{
    font-size: 90%;
}

.chart thead th,
.chart thead td
{
    border-bottom: 1px solid #000;
    padding: 2px 3px;
    text-transform: uppercase;
}

.chart tbody th,
.chart tbody td
{
    border-left: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    padding: 2px 3px;
    text-transform: uppercase;
}

.zend_form,
.zend_form dl,
.zend_form dt,
.zend_form dd
{
    margin: 0;
    padding: 0;
}

.zend_form .hint
{
    vertical-align: middle;
    padding-left: 10px;
}

.zend_form dt
{
    display: none;
}

.zend_form dl dt
{
    margin: 0;
    padding: 0;
    display: block;
    clear: left;
    float: left;
    white-space: normal;
    width: 35%;
}

.zend_form dl dt label
{
    display: block;
    line-height: 1.5em;
    min-height: 1.5em;
    background: #ffffff;
    text-transform: uppercase;
    font-size: 0.8em;
    font-weight: bold;
}

.zend_form p
{
    line-height: 1.5em;
}

.zend_form input
{
    margin: 0;
    padding: 0;
}

.zend_form dl dt label.required:after
{
    content: ' *';
}

.zend_form dl dd
{
    margin: 0 0 0 0;
    padding: 0 0 3px 0;
    display: block;
    float: left;
    white-space: normal;
    width: 65%;
}

.zend_form dl dd.next,
.zend_form dl dd.back
{
    width: auto;
}

.errors,
.messages
{
    background-color: #fff080;
    margin: 0 0 5px 0;
    padding: 5px;
    border: 1px solid #c00;
    list-style-type: none;
    font-size: 90%;
}

.errors li,
.messages li
{
    margin: 0;
    padding: 0;
}

.full
{
    width: 100%;
}

.three-qtr
{
    width: 75%;
}

.half
{
    width: 50%;
}

.qtr
{
    width: 25%;
}

.top
{
    margin-top: 0 !important;
}

.last
{
    margin-right: 0 !important;
}

.next
{
    display: block;
    float: right !important;
}

.back
{
    display: block;
    float: left !important;
}

.clear
{
    clear: both;
}

#layout
{
    margin: 0 auto 0 auto;
    width: 910px;
    position: relative;
    font-size: 0.6875em;
}

#box
{
    padding: 115px 0 30px 210px;
}

#boxed
{
    font-size: 0.6875em;
}

#content
{
    background-color: white;
    padding: 15px 6px 0 6px;
    border-top: 13px solid black;
    min-height: 600px;
    -moz-box-shadow: #333 0 5px 10px;
    -webkit-box-shadow: #333 0 5px 10px;
}

#sidebar
{
    position: absolute;
    left: 0;
    top: 30px;
    width: 185px;
    min-height: 718px;
    background-color: white;
    background-image: url(/img/common/logo.png);
    background-position: 6px 194px;
    background-repeat: no-repeat;
    border-top: 13px solid black;
    border-bottom: 13px solid black;
    padding: 6px;
    -moz-box-shadow: #333 0 5px 10px;
    -webkit-box-shadow: #333 0 5px 10px;
}

#navigation
{
    position: absolute;
    left: 210px;
    top: 30px;
    width: 700px;
    height: 48px;
    background: #f6f6f6;
    overflow: hidden;
    border-top: 13px solid black;
    -moz-box-shadow: #333 0 5px 10px;
    -webkit-box-shadow: #333 0 5px 10px;
}

#subnav
{
    margin: -15px -6px 0 -6px;
    background: white url(/img/common/shadow-1.png) left bottom repeat-x;
    padding-bottom: 14px;
    font-size: 81%;
    line-height: 125%;
}

#home
{
    padding: 0;
    margin: -6px -6px 0 -6px;
}

#navigation dl,
#subnav dl,
#home dl
{
    margin: 0;
    padding: 0;
    font-size: 1.3em;
}

#navigation dd,
#subnav dd,
#home dd
{
    margin: 0;
    padding: 0;
    float: left;
    width: 140px;
    text-transform: uppercase;
    font-weight: bold;
}

#navigation dd a,
#subnav dd a,
#home dd a
{
    display: block;
    padding: 6px;
    height: 38px;
    color: black;
    text-decoration: none;
}

#navigation dd.sel a,
#subnav dd.sel a
{
    height: 25px;
    border-bottom: 13px solid black;
}

#navigation dd a:hover,
#subnav dd a:hover
{
    height: 25px;
    border-bottom: 13px solid black;
}

#search-site
{
    margin: 0;
    padding: 21px 0 0 0;
    text-transform: uppercase;
    height: 48px;
}

#search-site fieldset
{
    border-top: 9px solid black;
}

#quicklinks
{
    margin: 296px 0 0 0;
    padding: 6px 0 6px 0;
    text-transform: uppercase;
    border-top: 9px solid black;
}

#quicklinks dd
{
    margin: 0;
    padding: 0 0 6px 0;
}

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

#quicklinks a:hover
{
    text-decoration: underline;
}

#affiliates
{
    border-top: 9px solid black;
    border-bottom: 9px solid black;
    margin: 0;
    padding: 12px 0;
}

#affiliates dd
{
    margin: 0;
    padding: 0;
    width: 160px;
    height: 36px;
    overflow: hidden;
}

#affiliates dd a
{
    display: block;
    padding-top: 36px;
}

#affiliate-hafele { background-image: url(/library/affiliate/hafele.png) }
#affiliate-hia { background-image: url(/library/affiliate/hia.png) }

#footer
{
    margin: 30px 0 0 0;
    background-color: #f6f6f6;
    border-top: 13px solid black;
    padding: 5px;
    font-size: 81%;
    text-transform: uppercase;
    -moz-box-shadow: #333 0 5px 10px;
    -webkit-box-shadow: #333 0 5px 10px;
}

#footer dl
{
    margin: 0;
    padding: 0;
}

#footer dd
{
    display: inline;
    margin: 0;
    padding: 0 1em;
    border-left: 1px solid black;
}

#footer dd:first-child
{
    padding-left: 0;
    border-left: 0 none;
}

#footer a
{
    color: black;
    text-decoration: none;
}

#footer a:hover
{
    text-decoration: underline;
}

#browser-support
{
    margin: 0 auto 0 auto;
    width: 700px;
    position: relative;
    font-size: 0.6875em;
    padding: 0 0 0 210px;
    position: relative;
}

#browser-support dl
{
    font-size: 90%;
    margin: 0;
    padding: 0 0 20px 0;
}

#browser-support dd
{
    margin: 0;
    padding: 0 10px 0 0;
    float: left;
}

#browser-support dd a
{
    color: #999;
}

#home dl:after,
#navigation dl:after,
#browser-support dl:after,
#subnav dl:after,
.benefits li:after,
.slideshow-tray:after,
.grid-1-2-2:after,
.grid-1-4:after,
.grid-3-2:after,
.grid-5:after
{
    content: "."; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
    overflow: hidden;
}
