/* GLOBAL STYLES */
html, body{
    height: 100%;
}

html, body, h1, h2, h3, h4, div, p, ul, li, input, select, td, a{
    font-family: Verdana, Arial, Helvetica, sans-serif;
}
html,body,div,p,ul,li,input,select,td,a{ font-size: 12px; }

h1, h2, h3, h4, h5, h6{
    color: #fff;
    margin: 0px;
    padding: 0px 0px 8px 0px;
}

h1{ font-size: 1.65em; color: #f00; }
h2{ font-size: 1.5em; }
h3{ font-size: 1.4em; }
h4{ font-size: 1.3em; }
h5{ font-size: 1.2em; }
h6{ font-size: 1em; }

body{
    background:  #2c2c2c url(/images/body_background.gif) repeat top left;
    width: 100%;
    height: 100%;
    color: #fff;
    text-align: center;
    margin: 0px;
    padding: 0px;
}

#pageContainerOuter{
    width: 1000px;
    margin: 0px auto;

    box-shadow: 0px 0px 16px #000;
    -moz-box-shadow: 0px 0px 16px #000;
    -webkit-box-shadow: 0px 0px 16px #000;
}
#pageContainer{
    border: 1px solid #343434;
    border-top: 0px solid #343434;
    background: #000000;
    text-align: center;
}

#pageContainerInner{
    position: relative;
    margin: 0px auto;
    padding: 0px 19px;
    text-align: left;
}



/* END GLOBAL STYLES */

/* LOGO STYLES */
#headerOuter{
    border-bottom: 5px solid #ed1d24;
}
#header{
    position: relative;
    height: 128px;
    margin: 0px auto;
}

#header .headerLnk{
    position: absolute;
    left: 12px;
    top: 23px;
    z-index: 25000;
    width: 334px;
    height: 80px;
}
#header .headerLnk img{
    border: 0px solid #f00;
    width: 334px;
    height: 80px;
}

#header .headerContactLnk{
    position: absolute;
    right: 10px;
    top: 43px;
    z-index: 25000;
    width: 163px;
    height: 47px;
}
#header .headerContactLnk img{
    border: 0px solid #f00;
    width: 163px;
    height: 47px;
}

/* END LOGO STYLES */

/* MENUBAR STYLES */

#menubar{
    position: relative;
    z-index: 25000;
}
#tmenu{}
#tmenu td{
    margin: 0px;
    padding: 0px;
    white-space: nowrap;
    position: relative;
}

#tmenu td a{
    display: block;
    position: relative;
    color: #fff;

    text-align: center;
    text-decoration: none;
    font-weight: normal;
    font-size: 11px;

    padding: 10px 16px 10px 16px;
}
#tmenu td a span{
    display: block;
    text-decoration: none;
    padding: 3px 0px;
    border-bottom: 2px solid #000000;
}

#tmenu td a:hover, #tmenu td a.ta_cur{
    color: #fff;
}
#tmenu td a:hover span, #tmenu td a.ta_cur span{
    color: #fff;
    border-bottom: 2px solid #ed1d24;
}


 /* DROP DOWN MENU */
#tmenu td ul{
    position: absolute;
    z-index: 25000;
    display: none;
    top: 39px;
    list-style: none;
    margin: 0px;
    padding: 0px;
    width: auto;
    opacity: .95;
    overflow: hidden;
    background-color: #484848;
}

#tmenu td ul li{
    display: block;
    margin: 1px 5px;
    overflow: visible;
    padding: 1px;
}

#tmenu td ul li a{
    display: block;
    padding: 4px 5px 3px 5px;
    margin: 0px;
    height: auto;

    white-space: nowrap;
    background-image: none;
    text-transform: none;
    text-align: left;
    font-weight: normal;
    font-size: 12px;
    text-decoration: none;
    color: #fff;
    border-right: 0px solid #98c1f0;
    border-bottom: 1px solid #2c2c2c;

    min-width: 200px;
}

#tmenu td ul li a:hover, #tmenu td ul li a.ta_cur{
    background-color: #6c6c6c;
    background-image: none;
    text-decoration: none;
    color: #fff;
    text-transform: none;
    border-bottom: 1px solid #ed1d24;
}

#tmenu td ul .drop_spacer{ border-bottom: 0px solid #fff; }

 /* END DROP DOWN MENU */
/* END MENUBAR STYLES */

/* USUAL STRUCTURAL STUFF */

#columnLeft, #columnMain, #columnRight{ vertical-align: top; }

#columnLeft, #columnRight{
    width: 255px;
    max-width: 255px;
}
#columnLeft{ }
#columnRight{ }

#contentContainer{ margin-top: 10px; }

#contentTable{ width: 960px; }

#content{
    position: relative;
    margin: 0px;
    padding: 0px 20px 10px 0px;

    width: auto;
    height: auto;
    min-height: 500px;

    text-align: left;
    line-height: 1.4em;
}

.content_block{
    background-color: #161616;
    border: 1px solid #4f4f4f;
    padding: 10px;
    margin-right: 20px;
    margin-bottom: 20px;
    box-shadow: 5px 5px #2c2c2c;
    -moz-box-shadow: 5px 5px #2c2c2c;
    -webkit-box-shadow: 5px 5px #2c2c2c;
}

#footer{
    margin: 0px auto 0px auto;
    padding: 8px 0px 5px 0px;
    text-align: center;
    color: #484848;
}

#copyright{
    float: left;
    text-align: center;
    font-size: 10px;
    padding: 4px 0px;
}

#bbbsystems{
    float: right;
    padding: 4px 0px;
}

#bbbsystems a{
    color: #484848;
    text-decoration: none;
    font-size: 10px;
    padding: 0px;
    margin: 0px;
}
#bbbsystems a:hover{ text-decoration: underline; }

/* END USUAL STRUCTURAL STUFF */

/* FORM ELEMENTS */

input, select, textarea{
    background-color: #fff;
    font-weight: normal;
    font-size: 12px;
    border: 1px solid #d1d1d1;
    padding: 2px;
}

.button, .buttonOver{
    background: #1a1a1a url(/images/button_bg.jpg) repeat-x top left;
    font-weight: bold;
    font-size: 11px;
    cursor: pointer;
    text-decoration: none;
    border: 1px solid #595959;
    padding: 2px 2px 3px 2px;
}

.button{
    color: #ffffff;
}
.buttonOver{
    color: #ffffff;
    opacity: .8;
}

/* END FORM ELEMENTS */

/* ANCHORS */
a{ color: #ed1d24; }
a:hover{ color: #fd3d44; }
a.cellHeader{ text-decoration: none; font-weight: bold;}
a.cellHeader:hover{ text-decoration: underline;}
a.cellHeaderSmall{ text-decoration: none; font-size: 10px; font-weight: bold;}
a.cellHeaderSmall:hover{ text-decoration: underline; }
a.cellLarge{ text-decoration:none; font-weight: normal; }
a.cellLarge:hover{ text-decoration:none;}
a.small{ font-size: 11px; font-weight: bold; margin-bottom: 4px;}
a.toolbarText{ font-weight: bold; font-size: 10px; text-decoration: none;}
a.toolbarIcon{ margin: 0px;}
a.toolbarIcon:hover{ margin: 0px;}
.toolbarIcon{ margin: 0px;}

/* END ANCHORS */

/*used for the checkout page header text and for email header text*/
.boldHeader{ font-weight: bold; }
span.small{ font-size: 12px; }
.large{ font-size: 12px; }
.tdHeader{ font-size: 12px; }
.error{ font-weight: bold;  color: #FF0000; border: 0px solid #CCCCCC;}
span.good{ font-weight: bold; }

/* replacement for hr */
div.hr, div.hr2{ height: 1px; font-size: 1px; margin: 6px 0px; border-top: 1px solid #89ADDC; }
form{ padding: 0px; margin: 0px; }
table.center{ margin: 0px auto; }
table.right{ margin-left: auto; margin-right: 0px; }

/* general 100% + 0 padding and 0 margin (where applicable) */
.t100{ width: 100%; margin: 0px; padding: 0px; }

.center{ text-align: center; }
.right{ text-align: right; }


/* GALLERY STYLES */

.galleryDescription{
    margin: 0px;
}

div.galleryContainer{
    margin: 16px;

    width: auto;
    height: auto;

}

.galleryContainer td{
    width: 33%;
    padding: 4px;
    vertical-align: top;
}
.galleryContainer td a{
    display: block;
    opacity: .85;
    padding: 8px;
    border: 1px solid #990000;
}
.galleryContainer td a:hover{
    border: 1px solid #cc0000;
    opacity: 1;
}

ul.galleryContainer{
    display: block;
    list-style: none;
    margin: 0px;
    padding: 0px;

    width: 100%;
    height: auto;

    clear: both;
}

ul.galleryContainer li{
    float: left;
    margin: 0px;
    padding: 0px 0px;

    text-align: center;
}
html>body ul.galleryContainer li{
}


ul.galleryContainer li a{
    display: block;
    margin: 0px;
    padding: 6px 0px;

    white-space: normal;

    height: 100px;

    text-decoration: none;
}
html>body ul.galleryContainer li a{
    height: auto;
    min-height: 100px;

}

ul.galleryContainer li img{
    margin: 0px 4px;
    border: 0px solid #FFFFFF;
}

/* LARGE PRODUCT GALLERY */

div.pGalleryContainerL{
    margin: 16px auto 0px auto;
    width: 579px;
    height: auto;
    clear: both;
    display: table;
    border-left: 1px solid #CECCF9;
}
html>body div.pGalleryContainerL{
    width: 577px;
}

ul.pGalleryContainerL{
    display: block;
    list-style: none;
    margin: 0px;
    padding: 0px;
    width: 100%;
    height: auto;
    clear: both;
}

ul.pGalleryContainerL li{
    float: left;
    margin: 0px;
    padding: 0px 0px;
    text-align: center;
    width: 140px;
    border-top: 1px solid #CECCF9;
    border-right: 1px solid #4C638C;
    border-bottom: 1px solid #4C638C;
}
html>body ul.pGalleryContainerL li{
    width: 140px;
}


ul.pGalleryContainerL li a{
    display: block;
    margin: 0px;
    padding: 6px 0px;
    white-space: normal;
    height: 80px;
    text-decoration: none;
}
html>body ul.pGalleryContainerL li a{
    height: auto;
    min-height: 80px;

}

ul.pGalleryContainerL li img{
    margin: 0px 4px;
    border: 0px solid #FFFFFF;
}

/* END GALLERIES */

.dottedHR{ border-top: 1px dotted #000000; padding: 5px 0px; }

.productOptH{
    margin: 3px 0px;
    color: #000000;
    border-bottom: 1px solid #C4D0EA;
    font-weight: bold;
    font-size: 14px;
}

/* CONTACT STYLES */
.contactTable{
    width: 430px !important;
    text-align: left;
}

.contactTable td{
    padding: 2px;
}

.contactLeft{
    width: 100%;
    text-align: left;
}

.contactRight{
    width: 100%;
    text-align: left;
}

.contactTable .contactBottom{
    padding-top: 14px;
}

.required{
    color: #FF0000;
}

/* END CONTACT STYLES */

.clearBoth{
    clear: both;
}

.centerTable td{
    text-align: center;
}
.centerTable td a img{
    border: 0px solid #000;
}


/* ############# POPUP CALENDAR ############# */
#d_form_cal{
    background-color: #ffffff;
}
.cpYearNavigation, .cpMonthNavigation{
    background-color: #C0C0C0;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    color: #000000;
    font-weight: bold;
}
.cpDayColumnHeader, .cpYearNavigation, .cpMonthNavigation, .cpCurrentMonthDate, .cpCurrentMonthDateDisabled, .cpOtherMonthDate, .cpOtherMonthDateDisabled, .cpCurrentDate, .cpCurrentDateDisabled, .cpTodayText, .cpTodayTextDisabled, .cpText{
    font-family: Arial;
    font-size: 8pt;
}
td.cpCurrentMonthDate, td.cpOtherMonthDate, td.cpCurrentDate{
    padding: 0px 4px !important;
}
td.cpDayColumnHeader{
    text-align: center;
    border: 1px solid #C0C0C0;
    border-width: 0px 0px 1px 0px;
}
.cpCurrentMonthDate, .cpOtherMonthDate, .cpCurrentDate{
    text-align: center;
    text-decoration: none;
}
.cpCurrentMonthDateDisabled, .cpOtherMonthDateDisabled, .cpCurrentDateDisabled{
    color: #D0D0D0;
    text-align: center;
    text-decoration: line-through;
}
.cpCurrentMonthDate, .cpCurrentDate{
    color: #000000;
}
.cpOtherMonthDate{
    color: #808080;
}
td.cpCurrentDate{
    color: #FFFFFF;
    background-color: #C0C0C0;
    border-width: 1px;
    border: solid thin #800000;
}
td.cpCurrentDateDisabled{
    border-width: 1px;
    border: solid thin #FFAAAA;
}
td.cpTodayText, td.cpTodayTextDisabled{
    border: 1px solid #C0C0C0;
    border-width: 1px 0px 0px 0px;
}
a.cpTodayText, span.cpTodayTextDisabled{ height: 20px; }
a.cpTodayText{ color: #000000; }
.cpTodayTextDisabled{ color: #D0D0D0; }
.cpBorder{ border: 1px solid #808080; }

#cal_StartDate, #cal_EndDate, #cal_RecurStartDate, #cal_RecurEndDate{
    background: transparent !important;
}
#cal_StartDate table, #cal_EndDate table, #cal_RecurStartDate table, #cal_RecurEndDate table{
    background-color: #FFF;
}

#google_map, #google_pano{
    width: 100%;
    height: 230px;
}

#google_pano{ display: none; }


#mapDirectionsC{
    padding: 8px;
    background-color: #EBF1F9;
    border: 1px solid #D2DCEC;
}

.startAddress{
    width: 250px;
}

#directions{
    display: none;
    margin-top: 8px;
    width: 98%;
    background-color: #FFFFFF;
    border: 1px solid #D2DCEC;
}
.printDirections{
    text-align: right;
}

#workNode{ display: none; }

/* custom form cells */

.cell, .cellOdd, .cellError{ padding: 3px; }
.cellError{ background-color: #ffcfcf; }

/* search results */
.searchResults{
    margin-bottom: 15px;
}
.searchResults h3{
    margin: 0px;
    padding: 0px;
}

.searchDesc{
    padding: 5px 0px;
}
.searchURL{
    color: #25a609;
}

.resultsNav{
    border-top: 1px solid #7da7e4;
    border-bottom: 1px solid #7da7e4;
    padding: 8px 0px;
    margin: 8px 0px;
}
.resultsNav a{
    font-size: 12px;
}
.jumpNav{
    float: right;
    margin-top: 15px;
}
.resultsNav .curNav{
    font-size: 15px;
    font-weight: bold;
    text-decoration: none;
}
.searchSuggestion{
    color: #25a609;
    font-style: italic;
    margin-bottom: 4px;
    font-size: 14px;
}
.searchSuggestion a{ font-weight: bold; font-size: 14px; }

/* end search results */

#hh_phone{ display: none; }