/* GLOBAL STYLES */
html, body{
    height: 100%;
}

html, body, h1, h2, h3, h4, div, p, ul, li, input, select, td, a{
    font-family: Arial, Helvetica, sans-serif;
}
html,body,div,p,ul,li,input,select,td,a{ font-size: 12px; }

h1, h2, h3, h4, h5, h6{
    color: #fe8ea4;
}

h1{ font-size: 20px;
    padding-bottom: 8px;
    font-family: Arial, Helvetica, sans-serif;

}
h2{ font-size: 18px; }
h3{ font-size: 16px; }
h4{ font-size: 14px; }
h5{ font-size: 12px; }
h6{ font-size: 12px; margin: 0px 0px 6px 0px; }
h4{ padding: 0px; margin: 0px; }

body{
    background: #000 url(/images/body_bg.gif) repeat 50% 0px;
    width: 100%;
    height: 100%;
    color: #fff;
    margin: 0px;
    padding: 0px;
}

#pageContainerOuter{
    background: url(/images/body_bg_top.gif) repeat-x 50% 0px;
    text-align: center;
}

#pageContainer{
    background: url(/images/page_bg.gif) repeat top left;
    width: 980px;
    margin: 0px auto 0px auto;
    padding: 0px;
    text-align: center;
}

/* END GLOBAL STYLES */

/* LOGO STYLES */
#header{
    position: relative;
    width: 980px;
    height: 70px;
    margin: 0px auto;
    background: url(/images/header.gif) no-repeat top left;
}

.headerLnk{
    position: absolute;
    z-index: 25000;
    left: 24px;
    top: 16px;
    text-decoration: none;
}
#header .headerLnk img{border: 0px solid #000;}
.headerLnk, .headerLnk img{width: 255px;height: 35px;}

.headerContactLnk{
    position: absolute;
    right: 10px;
    top: 21px;
    z-index: 25000;
    text-decoration: none;
}
.headerContactLnk img{
    border: 0px solid #000;
}
.headerContactLnk, .headerContactLnk img{width: 230px;height: 35px;}

/* END LOGO STYLES */

/* MENUBAR STYLES */

#menubar{
    position: relative;
    z-index: 25000;
    background: #000 url(/images/menubar.gif) repeat top left;
    height: 50px;
    max-height: 50px;
    text-align: center;
}
#tmenu{
    height: 50px;
    margin: 0px auto;

}

#tmenu td{
    margin: 0px;
    padding: 0px;
    white-space: nowrap;
    position: relative;
}

#tmenu td a{
    display: block;
    position: relative;

    color: #fff;

    padding: 0px 10px 0px 10px;

    height: 50px;

    text-align: center;
    text-decoration: none;
    font-weight: normal;
    font-size: 12px;
    text-align: center;
}
#tmenu td a span{
    display: block;
    padding: 20px 4px 3px 4px;
    text-decoration: none;
}

#tmenu td a:hover span, #tmenu td a.ta_cur span{
    border-bottom: 2px solid #ff8ea3;
}

 /* DROP DOWN MENU */
#tmenu td ul{
    position: absolute;
    z-index: 25000;
    display: none;
    top: 50px;
    list-style: none;
    margin: 0px;
    padding: 0px;
    width: auto;
    opacity: .90;
    overflow: hidden;
    background-color: #000;
}

#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: 11px;
    text-decoration: none;
    color: #fff;

    border-right: 0px solid #98c1f0;
    border-bottom: 1px solid #372428;

    min-width: 200px;
}

#tmenu td ul li a:hover, #tmenu td ul li a.ta_cur{
    background-color: #000;
    background-image: none;
    text-decoration: none;
    color: #ff8ea3;
    text-transform: none;
    border-bottom: 1px solid #ff8ea3;
}

#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: 240px;
    max-width: 240px;
}
#columnLeft{ padding-right: 10px; }
#columnRight{ padding-left: 10px; }

#contentContainer{ padding: 10px; }

#contentTable{ width: 960px; }

#content{
    position: relative;
    background: url(/images/content_bg.gif) repeat top left;
    border: 1px solid #181818;
    margin: 0px;
    padding: 20px;

    color: #fff;

    width: auto;
    height: auto;
    min-height: 500px;

    text-align: left;
    line-height: 1.4em;
}

.content_home{ background-color: transparent !important; background-image: none !important; border: 0px solid #000 !important; padding: 0px !important; }

#footer{
    margin: 0px auto;
    padding: 0px 20px 5px 20px;
    text-align: center;
    color: #727272;
}

#copyright{
    float: left;
    text-align: center;
    font-size: 10px;
    padding: 0px;
}

#bbbsystems{
    float: right;
    padding: 0px;
}

#bbbsystems a{
    color: #727272;
    text-decoration: none;
    font-size: 10px;
    padding: 0px;
    margin: 0px;
}
#bbbsystems a:hover{ color: #727272; text-decoration: underline; }

/* END USUAL STRUCTURAL STUFF */

/* FORM ELEMENTS */

input, select, textarea{
    background: #cfcfcf url(/images/input_bg.gif) repeat-x top left;
    font-weight: normal;
    font-size: 12px;
    border: 1px solid #000;
    padding: 2px;
}
textarea{ background-image: none !important; }

.button, .buttonOver{
    background: #191919 url(/images/button_bg.gif) repeat-x top left;
    font-weight: normal;
    font-size: 11px;
    cursor: pointer;
    text-decoration: none;
    border: 1px solid #000;
    padding: 2px 4px 3px 4px;
}

.button{
    color: #ffffff;
}
.buttonOver{
    color: #ffffff;
    opacity: .8;
}

/* END FORM ELEMENTS */

/* ANCHORS */
a{ color: #ff8ea3; }
a:hover{ color: #feb3c1; }
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 */

/* MISC */
/* DONT CHANGE THIS P IE Users will appreciate it */
/* Most ie users will probably paste stuff, so here it is. */

/*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;
}

.galleryContainer td{ padding-bottom: 35px; }

div.galleryContainer{
    margin: 16px;

    width: 579px;
    height: auto;

}
html>body div.galleryContainer{
    width: 577px;
}

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; }


/* Portfolio Gallery */

#portfolio_gallery_table{ width: 100%; }
#portfolio_left, #portfolio_right{ vertical-align: top; }
#portfolio_left{ width: 248px; text-align: center; }
#portfolio_right{ text-align: center; }

#img_gallery_tbl{ width: 100%; margin: 0px auto; }
#img_gallery_tbl td{ width: 25%; text-align: center; }

#img_gallery_tbl div{
    margin: 6px auto;
    padding: 0px;
    cursor: pointer;
    opacity: .8;
    border: 1px solid #575757;
    height: 100px;
    width: 100px;
    text-align: center;
}
#img_gallery_tbl div img{
    display: block;
    margin: 0px auto;
    padding: 0px;
}

#img_gallery_tbl div.over, #img_gallery_tbl div.cur{
    opacity: 1;
    border: 1px solid #ff8ea3;
}

#gallery_img_main{
    border: 1px solid #000000;
    display: block;
    margin: 0px auto 10px auto;
}

#gallery_back_link{
    padding-top: 12px;
}

.g_gal_img_desc{
    display: none; /* Get's displayed as the images rotate */
}

#portfolio_img_main_container{
    position: relative;
    text-align: center;
}

#gallery_description{
    position: absolute;
    bottom: 16px;
    left: 25%;

    width: 50%;
    min-height: 64px;

    font-size: 11px;
    font-family: Courier New, Courier, Georgia, Times New Roman, serif;
    padding: 16px 8px 8px 8px;

    text-align: left;

    font-style: italic;
    background-color: #171717;
    opacity: .8
}

#gallery_x{
    position: absolute;
    top: 2px;
    right: 4px;
    font-weight: bold;
    font-style: normal;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 11px;
    cursor: pointer;
}