@media screen {
    @font-face {
        font-family: myFirstFont;
        src: url(PenumbraHalfSerifStd-Reg.otf);
    }

    @font-face {
        font-family: myFirstFont;
        font-weight: bold;
        src: url(PenumbraHalfSerifStd-Bold.otf);
    }


    /* force a vertical scrollbar in firefox, prevents horizontal page shifting */
    html {
        min-height: 100%;
        margin-bottom: 1px;
        background-color: #cde3ec;
    }

    /* styling for the page body */
    body {
        padding: 0 10px;
        margin: 0 auto;
/*      background: #353535; */
        font-family: Arial, Verdana, Helvetica, sans-serif;
        font-size: 13.54px;
        width: 1000px;
    }

    /* default styling for block elements */
    td, p, form {
        text-decoration: none;
        margin: 0;
    }

    img {
        border: none;
    }

    h1 {
        font-family: myFirstFont, Arial, Verdana, Helvetica, sans-serif;
    }

    ul {
        margin: 2px 0 2px 20px;
    }

    select {
        border: solid 1px #000;
    }
    /* special styling for validation summary lists */
    .validationSummary ul {
        padding-left: 0;
    }

    /* default styling for links */
    a {
        text-decoration: underline;
        color: #05729f;
    }

        a:hover {
            color: #32acde;
            text-decoration: underline;
        }

        a.highlight {
            font-weight: bold;
            color: #003718;
            padding-top: 5px;
            padding-bottom: 5px;
            margin-top: 5px;
            text-decoration: none;
            font-family: Arial, Helvetica, sans-serif;
        }

    input {
        vertical-align: middle;
        border: solid 1px #000;
        color: #000;
        padding: 1px 2px;
    }

        input.textBox {
            background-color: #FFFFFF;
            border: 1px solid #b3b3b3;
            padding: 2px;
            width: 190px;
            height: 16px;
            margin: 0 3px 0 15px;
        }

        input.button, a.button {
            background: #fff url(images/bg_AddToCart.png) no-repeat;
            font-family: Arial, Helvetica, sans-serif;
            font-size: 11px;
            color: #ffffff;
            cursor: pointer;
            margin: 1px 0;
            font-weight: bold;
            white-space: nowrap;
            border: 0;
            width: 105px !important;
            height: 23px;
            text-decoration:none;
        }

            input.button:hover, a.button:hover {
            }

        input[type=image] {
            border: none;
        }

    a.button {
        padding: 4px 0;
        display: -moz-inline-box;
        display: inline-block;
        text-align: center;
        /* width: 86px; */
    }

        a.button:hover {
            padding: 4px 0;
            display: -moz-inline-box;
            display: inline-block;
        }
      

    input.button {
        /* height: 21px; */
    }

        input.button:hover {
            height: 23px;
        }

 input.buttonBuy, a.buttonBuy {
            background: #be5f61 ;
            font-family: Arial, Helvetica, sans-serif;
            font-size: 11px;
            color: #ffffff;
            cursor: pointer;          
            font-weight: bold;
            white-space: nowrap;
            border: 0; 
            margin:2px;         
            height: 23px;
            padding:6px 8px 0px 8px;
            display:inline-block;
            text-decoration:none;
        }
        
    /* style for a paragraph element to highlight */
    p.highlight {
        color: #ff0000;
        padding-top: 5px;
        font-size: 11px;
        margin-top: 5px;
        text-decoration: none;
    }

    .productattributestitle .authorbold {
        display: inline-block;
    }

    .authorbold {
        /* display:block; */
    }
    /* Text styles used to provide status information */
    .goodCondition {
        font-weight: bold;
        color: #008000;
        padding-bottom: 3px;
    }

    .warnCondition {
        font-weight: bold;
        color: #FFA500;
        padding-bottom: 3px;
    }

    .errorCondition {
        font-weight: bold;
        color: #FF0000;
        padding-bottom: 3px;
    }

    .contentArea {
        padding: 5px 10px 5px 10px;
    }

    .borderedArea {
        border: solid 1px #7dc2db;
    }

    .noTopPadding {
        padding-top: 0;
    }

    .noBottomPadding {
        padding-bottom: 0;
    }

    .noRightPadding {
        padding-right: 0;
    }

    .noLeftPadding {
        padding-left: 0;
    }

    .noTopBottomPadding {
        padding-top: 0;
        padding-bottom: 0;
    }

    .noLeftRightPadding {
        padding-left: 0;
        padding-right: 0;
    }


    /* style for element that acts as a spacer between other elements */
    .spacer {
        clear: both;
        font-size: 1px;
        line-height: 1px;
        height: 1px;
        padding: 0;
        margin: 0;
    }

    /* container for the breadcrumbs trail */
    .breadCrumbPanel {
        background: #FFFFFF url(images/CategoryBreadCrumbsEdge.gif) no-repeat left top;
        padding: 8px 0;
        color: #05729f;
        font-family: Verdana, Arial, Helvetica, sans-serif;
        font-size: 11px;
        font-weight: lighter;
        text-indent: 16px;
    }

        .breadCrumbPanel a {
            color: #657906;
            font-size: 11px;
            font-weight: lighter;
            text-transform: lowercase;
        }

            .breadCrumbPanel a:hover {
                color: #788A95;
            }

            .breadCrumbPanel a:visited {
                color: #05729f;
                font-weight: bold;
            }

    .CategoryBreadCrumb {
        padding: 8px 0;
        background: #FFFFFF url(images/CategoryBreadCrumbsEdge.gif) no-repeat left top;
        color: #98c216;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 12px;
        text-indent: 16px;
    }

    .CategoryBreadCrumbs a {
        color: #507d90;
        border: solid 1px red;
        padding: 2px 5px;
        background: #f9fafc;
        border: solid 1px #d9d9d9;
        font-size: 12px;
        text-transform: lowercase;
    }

        .CategoryBreadCrumbs a:hover {
            color: #3a9cc1;
            border: solid 1px #b0d8e0;
        }

        .CategoryBreadCrumbs a:visited {
            color: #3a9cc1;
            border: solid 1px red;
            padding: 2px 5px;
            background: #eef5f7;
            border: solid 1px #b0d8e0;
        }

    .breadCrumbLink {
        text-decoration: underline;
        text-indent: 0;
        color: #5872CB;
        margin: 4px 0 8px 0;
        padding: 4px 0 8px 0;
        border: 1px solid #FF0000;
    }

    /* generic styling for a suggested retail price */
    .msrp {
        text-decoration: line-through;
    }

    /* applied to ajax progress update */
    #centeredProgress {
        width: 300px;
        height: 200px;
        position: absolute;
        top: 50%;
        left: 50%;
        margin-left: -150px;
        margin-top: -200px;
        z-index: 99;
        color: #FFFFFF;
        border: 5px solid #C1C1C1;
        background: #FFFFFF url(images/processing.gif) no-repeat 50%;
    }

    /* background style for the screen when an ajax progress update is displayed */
    #ajaxProgressBg {
        border: 0;
        padding: 0;
        margin: 0;
        width: 100%;
        position: absolute;
        background-color: #4e7d91;
        opacity: 0.3;
        filter: Alpha(opacity:30);
        z-index: 0;
    }

    #ajaxProgress {
        padding: 0;
        position: absolute;
        background-color: #FFFFFF;
        background: #FFFFFF url(images/processing.gif) no-repeat 50%;
        z-index: 1;
        left: 50%;
        margin-left: -100px;
        width: 200px;
        height: 200px;
        border: solid 2px #4e7d91;
    }

    hr {
        width: 100%;
    }

    h2 {
        font-size: 16.67px;
        color: #05729f;
    }

        h2.sectionHeader {
            /* background: url(images/section_header_bg.gif) repeat-x; */
            padding: 0 0 0 10px;
            /* border: 1px solid #4F616D; */
            margin: 0 0 12px 0;
            height: 27px;
            line-height: 27px;
            font-size: 14px;
            color: #FFFFFF;
            font-weight: bold;
        }

    /*---------------------------------------*/
    /*- styles for left sidebar panel       -*/
    /*---------------------------------------*/
    /* container for the left sidebar content */
    #leftSidebarPanel {
        width: 202px;
        margin: 0;
        padding: 0 10px;
        background-color: #ffffff;
		/*border-left: 1px solid #9b9b9b;*/
        float: left;
    }

        #leftSidebarPanel .section {
            margin: 0;
            padding: 0;
            border: 0;
        }

            #leftSidebarPanel .section .header {
                height: 32px;
                margin: 0;
                padding: 0;
                background: url(images/section_header_bg1.gif) repeat-x bottom;
            }

                #leftSidebarPanel .section .header h2 {
                    color: #507d90;
                    text-indent: 8px;
                    font-size: 11px;
                    line-height: 32px;
                    font-weight: bold;
                    padding: 0;
                    margin: 0;
                    background: url(images/header_icons.gif) no-repeat 0 0;
                }

            #leftSidebarPanel .section .content {
            }

                #leftSidebarPanel .section .content .inputForm {
                    margin: 0;
                }

            #leftSidebarPanel .section .labelheading {
                color: #005b94;
                font-weight: lighter;
            }

        #leftSidebarPanel .H2 {
            font-weight: lighter;
            color: #005b94;
            font-size: 11px;
        }

        #leftSidebarPanel .section .content table {
            width: 100%;
            margin: 0;
        }

        #leftSidebarPanel .searchFilterHeader {
            margin: 0;
        }

        #leftSidebarPanel .Cell {
            border-bottom: solid 1px #ecf6f7;
            border-right: solid 1px #ecf6f7;
            background: #FFF;
            padding: 7px 7px 7px 0;
            color: #464646;
            font-size: 11px;
        }

        #leftSidebarPanel .ourDepartmentsCell {
            border-bottom: solid 1px #ecf6f7;
            border-right: solid 1px #ecf6f7;
            background: #FFF;
            padding: 7px 7px 7px 6px;
            color: #464646;
            font-size: 11px;
        }

            #leftSidebarPanel .ourDepartmentsCell b {
                color: #3a9cc3;
            }

        #leftSidebarPanel .shippingEstimateCell {
            border-bottom: solid 1px #ecf6f7;
            border-right: solid 1px #ecf6f7;
            background: #FFF;
        }

        #leftSidebarPanel .myRecentOrdersCell {
            border-bottom: solid 1px #ecf6f7;
            border-right: solid 1px #ecf6f7;
            background: #FFF;
            padding: 7px 7px 7px 0;
            color: #464646;
            font-size: 11px;
        }

            #leftSidebarPanel .myRecentOrdersCell a.bullet {
                background: url(images/Icons/order.gif) no-repeat left;
                padding: 1px 3px 1px 22px;
                color: #9bc219;
                font-size: 12px;
                font-weight: bold;
            }

            #leftSidebarPanel .myRecentOrdersCell a:hover.bullet {
                color: #4f7c91;
            }

        #leftSidebarPanel #miniBasketMainBox {
            padding: 0;
            font-family: Arial, Helvetica, sans-serif;
            font-size: 11px;
            position: relative;
        }

        #leftSidebarPanel .miniBasketItemBox {
            border-bottom: solid 1px #b0d8e0;
            border-right: solid 1px #ecf6f7;
            padding: 5px;
            background: #ffffff url(images/basketBg.gif) repeat-x bottom;
        }

        #leftSidebarPanel #miniBasketSubTotalBox {
            border-right: solid 1px #ecf6f7;
            border-bottom: solid 1px #ecf6f7;
        }

    /*---------------------------------------*/
    /*- styles for right sidebar panel      -*/
    /*---------------------------------------*/
    /* container for the right sidebar content */
    #rightSidebarPanel {
        width: 179px;
        margin: 0;
        padding: 0 0 4px 10px;
        background-color: #FFFFFF;
        float: left;
    }

        #rightSidebarPanel .VisiblePanel {
            width: 100%;
            height: 100%;
            overflow: hidden;
        }

        #rightSidebarPanel .section {
            margin: 0;
            padding: 0;
        }

        #rightSidebarPanel .VisiblePanel .section .content table tr {
            border: solid 1px #8ed4af;
        }

        #rightSidebarPanel .section .header {
            background: #f5f9fa;
            height: 20px;
            color: #3f2a4b;
            margin: 7px 0 0 0;
            padding: 0;
            /* border-bottom: solid 1px #b0d8e0; */
            margin-bottom: 7px;
        }

            #rightSidebarPanel .section .header h2 {
                float: left;
                width: auto;
                text-indent: 5px;
                font-size: 11px;
                border-right: 0;
                line-height: 20px;
                padding: 0;
                margin: 0;
                color: #507d90;
            }

            #rightSidebarPanel .section .header a {
                float: right;
                text-decoration: underline;
                color: #4e7d91;
                padding: 0;
                margin: 0;
            }

                #rightSidebarPanel .section .header a:hover {
                    color: #984700;
                }

        #rightSidebarPanel .section .content {
            padding: 0;
            margin: 0;
        }

        #rightSidebarPanel .section .labelheading {
            color: #005b94;
            font-weight: lighter;
        }

        #rightSidebarPanel .H2 {
            font-weight: lighter;
            color: #005b94;
            font-size: 11px;
            /* display: block; */
        }

        #rightSidebarPanel .section .content .inputForm {
            margin: 0;
            border-top: 0;
        }

        #rightSidebarPanel .section .content .category {
            border: solid 1px #ecf6f7;
            border-right: 0;
        }

        #rightSidebarPanel .section .content tbody {
        }

        #rightSidebarPanel .section .content table {
        }

            #rightSidebarPanel .section .content table .thumbnail {
                /* border: solid 3px #e1f2f9; */
            }

        #rightSidebarPanel .section .nofooter {
            background-color: #FFFFFF;
            padding: 0;
        }

        #rightSidebarPanel .section .footer {
            height: 24px;
            line-height: 24px;
            margin: 0;
            color: #8C0901;
            margin-top: 8px;
            padding: 0 2px;
        }

        #rightSidebarPanel .section .relatedProducts {
            border: solid 1px #7dc2db;
        }

        #rightSidebarPanel .searchFilterHeader {
            margin: 0;
        }

    .Cell {
        background: url(images/basketBg.gif) repeat-x bottom;
        border-bottom: solid 1px #b0d8e0;
        padding-bottom: 5px;
        font-size: 11px;
        color: #464646;
    }

    .expressCheckoutCell {
        background: url(images/basketBg.gif) repeat-x bottom;
        border-bottom: solid 1px #b0d8e0;
    }

    .ourDepartmentsCell {
        background: url(images/basketBg.gif) repeat-x bottom;
        border-bottom: solid 1px #b0d8e0;
        line-height: 16px;
        color: #464646;
        font-size: 11px;
        padding: 0 0 5px 4px;
    }

        .ourDepartmentsCell b {
            color: #3a9cc3;
        }

    .onePageCheckoutCell {
        background: #f4f9fb;
        margin-bottom: 15px;
        padding: 5px;
        /* border: solid 1px #b0d8e0; */
        border-top: 0;
    }

    .shippingEstimateCell {
        background: url(images/basketBg.gif) repeat-x bottom;
        /* border-bottom: solid 1px #b0d8e0; */
    }

    .myRecentOrdersCell {
        background: url(images/basketBg.gif) repeat-x bottom;
        border-bottom: solid 1px #b0d8e0;
        line-height: 25px;
        padding-bottom: 5px;
    }

        .myRecentOrdersCell a.bullet {
            background: url(images/Icons/order.gif) no-repeat left;
            padding: 1px 3px 1px 22px;
            color: #9bc219;
            font-size: 12px;
            font-weight: bold;
        }

        .myRecentOrdersCell a:hover.bullet {
            color: #4f7c91;
        }

    /*---------------------------------------*/
    /*- styles for main panel               -*/
    /*---------------------------------------*/
    /* container for the main panel content */

    #mainPanel.leftSidebarLayout {
        float: left;
        width: 745px;
    }

    #mainPanel.rightSidebarLayout {
        float: left;
        width: 779px;
    }

    #mainPanel {
        padding-left: 30px;
		background:#fff;
		/*border-right:1px solid #9b9b9b;
		border-left:1px solid #9b9b9b;*/
        /*padding-right: 30px;*/
        /* margin: 4px 4px 0 4px; */
    }

        #mainPanel h1 {
            margin-left: 0;
			padding-top:10px;
			margin-top:0px;
         /*   margin-top: 10px;   */
        }

        #mainPanel .section .header h2 .section {
            margin-bottom: 5px;
        }

        #mainPanel .section .header {
            /* background: url(images/basketBg.gif) repeat-x bottom; */
            height: 25px;
            line-height: 20px;
            padding: 0 5px 0 4px;
            margin: 0;
            color: #005b95;
            /* border-bottom: solid 1px #b1d7e0; */
        }

            #mainPanel .section .header H2 {
                margin: 0;
                height: 25px;
                line-height: 27px;
                font-size: 14px;
                text-indent: 7px;
                color: #005b94;
            }

        #mainPanel .section .content {
            margin: 5px 0 0 0;
            padding: 10px 10px 0 10px;
            line-height: 13px;
            color: #464646;
        }

            #mainPanel .section .content strong {
                color: #3b9dc0;
            }

            #mainPanel .section .content li {
                list-style-image: url(images/Icons/check.gif);
                padding: 2px 0;
            }

        #mainPanel div.section div.content td div {
            background: url(images/basketBg.gif) repeat-x bottom;
            padding: 5px;
            border: solid 1px #d9d9d9;
        }

        #mainPanel .section .content table.inputForm {
            background: #FFFFFF;
            border: solid 1px #CFDFDF;
            padding: 5px;
        }

        #mainPanel div .iner_frame .itemList tr td {
            border: solid 1px #8FA0AB;
            color: #4e7d91;
            padding-top: 5px;
            padding-bottom: 5px;
        }

            #mainPanel div .iner_frame .itemList tr td a {
                color: #4e7d91;
                font-size: 11px;
            }

                #mainPanel div .iner_frame .itemList tr td a:hover {
                    color: #416573;
                }

        #mainPanel div .iner_frame .itemList tr th {
            border: solid 1px #8FA0AB;
        }

        #mainPanel div .iner_frame .itemList {
            border: solid 1px #8FA0AB;
        }

    .iner_frame {
        background: #FFFFFF;
        border: solid 1px #e9e9e9;
        padding: 8px;
        margin-top: 10px;
    }

    #mainPanel div .itemList tr.even td {
        border: solid 1px #b3b3b3;
        line-height: 15px;
        background: #f9fcfe;
    }

    #mainPanel div .itemList tr.altodd td {
        border: solid 1px #CCCCCC;
        line-height: 15px;
        /* background: #e4f5eb url(images/oddRowBg.gif) top repeat-x; */
    }

    H2.preference {
        background: url(images/section_header_bg.gif) repeat-x;
        height: 29px;
        line-height: 24px;
        padding: 0 5px 0 4px;
        margin: 0;
        color: #FFFFFF;
        margin-left: 4px;
        margin-right: 4px;
    }

    /* used to display a dialog box in the main panel */
    #mainPanel .dialogSection {
        background: #f4f9fc;
        border: solid 0px #f4f9fc;
        margin: 0;
    }

    #mainPanel .form .inputForm {
        background: #FFFFFF;
    }

        #mainPanel .form .inputForm textarea {
            border: solid 1px #afa9b3;
        }

    #mainPanel .dialogSection .inputForm {
        padding: 10px;
        color: #3f2a4d;
    }

    #mainPanel .dialogSection .header {
        height: 29px;
        line-height: 24px;
        padding: 0;
        margin: 0 1px 0 0;
    }

        #mainPanel .dialogSection .header h2 {
            background: url(images/basketBg.gif) repeat-x bottom;
            color: #005b95;
            height: 29px;
            border-bottom: solid 1px #b1d7e0;
            padding-right: 0;
            width: 100%;
            text-indent: 15px;
            margin: 0;
            text-transform: uppercase;
            font-size: 12px;
            float: left;
            line-height: 29px;
        }

        #mainPanel .dialogSection .header a {
            float: right;
            text-decoration: underline;
            color: #4e7d91;
        }

            #mainPanel .dialogSection .header a:hover {
                float: right;
                text-decoration: underline;
                color: #8C0901;
            }

    #mainPanel .dialogSection .content {
        border-top: 10px solid #f4f9fc;
        margin-top: 0;
        min-height: 200px;
    }

        #mainPanel .dialogSection .content table th.rowheader {
            background-color: White;
        }

        #mainPanel .dialogSection .content table td.txt {
        }

    #mainPanel .dialogSection .nofooter {
        margin-right: 0;
    }

    #mainPanel .dialogSection .footer {
        background: #DCDCDC url(images/sectionFooterBackground.gif) repeat-x left top;
        height: 24px;
        line-height: 24px;
        margin: 0;
        color: #8C0901;
        margin-top: 8px;
    }

    #mainPanel .validationSummary {
        margin-bottom: 6px;
    }

    #mainPanel .section .content .ProductItemView {
        border: none;
    }

    .ProductItemView img {
        width: 120px;
    }

    #mainPanel .section .content .ProductItemViewOdd {
        border: solid 1px #7ec1db;
    }

    /* outer wrapper for the main page content */
    #outerContentWrapper {
        text-align: center;
        width: 100%;
    }

    .searchContent {
        padding-top: 25px;
		min-height: 234px;
    }

    .slider {
        margin-left: -30px;
    }

    /* inner wrapper for the main page content */
    #innerContentWrapper, .footerSeparate {
     /*   background-color: #FFFFFF;  */
        margin: 0;
        text-align: left;
        /* padding: 0 17px 10px 17px; */
        /*border-left: solid 1px #9b9b9b;
        border-right: solid 1px #9b9b9b;*/
    }

    #contentLayout {
        /*width: 100%;*/
		background: #fff;
      /*  padding-bottom: 20px;  */
     /*   border-bottom: solid 1px #9b9b9b;*/
        border-left: solid 1px #9b9b9b;
        border-right: solid 1px #9b9b9b;
    }

    .categories {
        display: inline-block;
        border-left: solid 1px #000;
        padding-left: 5px;
        font-size: 16.67px;
    }

    .categoryNavigator .categories:first-child {
        border-left: none;
    }

    .categoryNavigator .categories > a {
        color: #000;
    }

    .categoryNavigator {
        float: left;
        width: 960px;
    }

        .categoryNavigator .categories > a:hover {
            color: #000;
            text-decoration: underline;
        }

    .categoryHeader {
        font-size: 16.67px;
        font-weight: bold;
        color: #05729f;
        float: left;
        padding-right: 5px;
        width: 145px;
        margin-left: 7px;
    }

    #productContent {
        width: 1000px;
    }

    #productLeft {
        float: left;
        width: 665px;
        /* margin-left: 10px; */
        /* margin-right: 10px; */
    }

        #productLeft .ui-widget-header, #productLeft .ui-widget-content, #productLeft ui-state-default ui-corner-top ui-tabs-selected ui-state-active, #productLeft .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
            background: none;
            border: none;
        }

        #productLeft .ui-tabs .ui-tabs-panel {
            padding: 0;
        }

        #productLeft .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active {
            font-weight: bold;
            /* text-align: left; */
        }

        #productLeft .ui-tabs .ui-tabs-nav li a {
            color: #05729f;
            font-size: 11px;
            border-left: solid 1px #05729f;
            padding: 0px 5px 0px 5px;
            line-height: 14px;
            color: #333333;
            margin-bottom: 10px;
            text-decoration: underline;
        }

        #productLeft .ui-tabs .ui-tabs-nav li.first a {
            border-left: none;
        }

    div.productPageHeader {
        color: #05729f;
        font-size: 16.67px;
        padding-top: 15px;
        /* padding-left: 5px; */
        padding-bottom: 5px;
    }

        div.productPageHeader > span > span, div.productPageHeader .author a {
            color: #05729f;
            font-size: 16.67px;
            text-decoration: none;
            font-family: Arial, Helvetica, sans-serif;
        }

        div.productPageHeader H1, .checkoutPageHeader h1 {
            /* background: url(images/header_icon_mid.gif) no-repeat 13px 0; */
            font-size: 18px;
            padding: 0;
            margin: 0;
            margin-left: 20px;
            /* margin: 0; */
            font-weight: bold;
            color: #05729f;
            /* line-height: 37px; */
            /* text-indent: 55px; */
            /* height: 37px; */
        }

    #productRight {
        float: left;
        width: 300px;
    }

    .bookItem {
        margin-left: 15px;
        margin-right: 10px;
        float: left;
        width: 150px;
    }

    .bookInfo {
        float: left;
        padding-top: 10px;
        padding-bottom: 20px;
    }

    .bookThumbnail {
        min-height: 190px;
    }

    .contributorThumbnail {
        width: 200px;
        float: left;
        margin-right: 10px;
    }

    .contributorContent {
        font-weight: normal;
        padding-left: 5px;
        float: left;
        width: 440px;
    }

    #subscrible {
        width: 240px;
        float: right;
        margin-top: 8px;
        /* bottom: 0; */
        /* margin-top: 85px; */
        /* position: absolute; */
    }

        #subscrible iframe {
            border: 0;
            height: 80px;
            width: 240px;
			overflow:hidden
        }
		
		div#mc_embed_signup form {padding:0px !important}

    #advSearchWrapper {
        width: 130px;
        height: 30px;
        position: relative;
        float: right;
    }

        #advSearchWrapper a {
            color: #05729f;
        }

    #subscrible input {
        border: solid 1px #000;
    }

        #subscrible input[type="submit"] {
            border: none;
            background: url(images/bg_SignUp.png) no-repeat;
            color: transparent;
            width: 70px;
            height: 19px;
        }

    /* additional style required when container is a table */
    #contentLayout .form tr {
        background: #FFFFFF;
        color: #4e7d91;
        border: 1px solid #e9e9e9;
    }

    /******************************************************************************************/
    /* styles for the store header section                                                    */
    /******************************************************************************************/

    #product-tabs {
        margin-bottom: 10px;
        font-family: Arial,Verdana,Tahoma;
    }

    /* style for the outer store header container */
    #storeHeader {
        margin: 25px auto 0 auto;
        /* padding: 0 17px; */
        background: #FFFFFF;
        border: solid 1px #9b9b9b;
        border-bottom: 0;
        width: 1000px;
    }

        #storeHeader .topnavigation {
            background-color: #05729f;
            background-image: none;
            border: none;
            height: 25px;
            padding-left: 30px;
        }

        #storeHeader .sf-menu li ul a {
            text-transform: none;
        }

        #storeHeader .sf-menu {
            margin: 0;
        }

            #storeHeader .sf-menu li {
                background-color: #05729f;
                background-image: none;
                border-right: solid 1px #fff;
                text-transform: uppercase;
            }

            #storeHeader .sf-menu ul li {
                border-bottom: solid 1px #fff;
                line-height: 18px;
                width: 280px;
            }

        #storeHeader .sf-vertical li {
            border-bottom: solid 1px #fff;
        }

        #storeHeader .sf-navbar {
            background: none;
        }

        #storeHeader .sf-menu a {
            border: none;
            /*padding: 5px 20px 5px 20px;*/
            margin: 0 20px 0 20px;
            padding: 0;
            font-size: 14.58px;
            height: 28px;
            line-height: 28px;
            /* text-transform: capitalize; */
        }

        #storeHeader a > .sf-sub-indicator {
            top: 8px;
            right: 0;
        }

    .bottomHeader {
        position: relative;
        width: 410px;
        float: right;
    }

    .socialMedia {
        position: absolute;
        width: 130px;
        float: left;
        left: 20px;
        top: 20px;
    }

    h1 {
        color: #05729f;
        margin-left: 30px;
        text-transform: uppercase;
        margin-top: 5px;
        font-size: 18px;
    }
    /*h1 {
        text-transform: uppercase;
        color: #05729f;
        font-size: 18px;
    }*/
    .recommendReadingContent {
        /* margin-left: -7px; */
        margin-top: 20px;
        width: 940px;
    }

    .mainContent {
        width: 940px;
        margin-top: -10px;
    }

    .recommendReading {
        /*padding-left: 32px;*/
        /* margin-right: 50px; */
        color: #05729f;
        background: url('/Assets/ClientImages/bg_recommendReading.png') bottom center no-repeat;
        width: 968px;
        float: left;
        padding-bottom: 20px;
        margin-bottom: 10px;
    }

    .feedburnerFeedBlock > ul {
        margin: 0;
        list-style-type: none;
        padding-left: 0;
    }

        .feedburnerFeedBlock > ul > li {
            float: left;
            clear: both;
        }

    .feedTitle {
        padding-left: 22px;
        color: #05729f !important;
        font-size: 18px !important;
        text-transform: uppercase !important;
        font-family: Arial,Verdana,Helvetica,sans-serif;
        display: none;
    }

        .feedTitle a {
            color: #05729f !important;
            font-size: 18px !important;
            text-transform: uppercase !important;
            font-family: Arial,Verdana,Helvetica,sans-serif;
            text-decoration: none !important;
            font-weight: bold !important;
            padding-left: 5px;
        }

    .headline a {
        color: #05729f !important;
        font-size: 16px !important;
        text-transform: uppercase !important;
        font-family: Arial,Verdana,Helvetica,sans-serif;
        text-decoration: underline;
        /* line-height: 30px; */
    }

        .headline a:hover {
            color: #32acde !important;
        }

    .newsFeed {
        /* padding-right: 30px; */
        background: url('/Assets/ClientImages/bg_recommendReading.png') bottom center no-repeat;
        padding-bottom: 15px;
        margin-bottom: 10px;
    }

    .headline {
        font-weight: normal;
        font-family: Arial, Verdana, Helvetica, sans-serif;
        font-size: 16px;
        color: #05729f;
        display: block;
        /* padding: 0; */
        /* margin: 0; */
        /* line-height: 16px; */
        padding-bottom: 10px;
        padding-top: 10px;
    }

    .date {
        margin-bottom: 15px;
    }

    .fbsubscribelink {
        margin-top: 10px;
        float: right;
        /* margin-right: 15px; */
    }

    #creditfooter {
        margin-top: 10px;
        float: right;
    }

    .recommendReading img.bookImg {
        margin-top: 10px;
        margin-bottom: 10px;
        width: 200px;
    }

    .recommendReading a, .recommendReading h2 {
        font-weight: normal;
        font-size: 18px;
        margin: 0;
    }

    .recommendReading a {
        display: block;
    }

    .recommendReading .books {
        float: left;
        width: 232px;
    }

    .joinConversation {
        margin-top: 35px;
        /* margin-left: 30px; */
        display: block;
        text-transform: uppercase;
        font-weight: bold;
        font-size: 14.58px;
        clear: both;
    }

    #storeHeader .sf-shadow a {
    }

	#storeHeader #mainmenu.sf-menu > li:hover > ul {
        top: 28px;
    }
    #storeHeader .sf-menu li:hover ul {
        top: 0;
    }

    #storeHeader ul.sf-navbar {
        height: 22px;
    }

    #storeHeader .topnavigation .sf-navbar li {
        background: none;
    }

    #storeHeader .topnavigation .sf-navbar a:hover, #storeHeader .sf-menu a:hover {
        background: none;
        text-decoration: underline;
    }

    #storeHeader .topnavigation .sf-navbar a {
        background: none;
        font-size: 14.56px;
        border-right: solid 1px #fff;
        font-weight: normal;
    }

    #storeHeader .topnavigation li.last a {
        border: none !important;
    }

    #storeHeader .logo {
        margin: 6px 0 0 0;
        padding: 0;
    }

        #storeHeader .logo img {
            margin: 7px 0 0 5px;
        }



    #storeHeader .headerContent {
        margin-top: 5px;
        position: relative;
        /* padding: 0 20px 0 0; */
    }

    #storeHeader .shortcuts {
        /* width: 400px; */
        /* height: 62px; */
        margin-top: 5px;
    }

        #storeHeader .shortcuts a {
            font-family: Arial, Helvetica, sans-serif;
            display: block;
            /* background: url(images/button_topBg.gif) no-repeat; */
            /* width: 36px; */
            float: right;
            /* height: 29px; */
            padding: 0 7px 0 7px;
            margin: 7px 0 0 0;
            font-size: 14.56px;
            border-right: solid 1px #000;
            text-transform: lowercase;
            color: #05729f;
            text-decoration: underline;
            text-align: center;
        }

            #storeHeader .shortcuts a.last {
                border: none;
            }

            #storeHeader .shortcuts a:hover {
                text-decoration: underline;
            }


            #storeHeader .shortcuts a.basket:hover {
            }

            #storeHeader .shortcuts a.acct:hover {
            }

            #storeHeader .shortcuts a.admin:hover {
            }

            #storeHeader .shortcuts a.wishlist:hover {
            }

            #storeHeader .shortcuts a.login:hover {
            }

    #storeHeader .search {
        /* padding: 10px 0 0 0; */
        text-align: center;
        /* width: 364px; */
        float: right;
    }

        #storeHeader .search input.searchPhrase {
            color: #000;
            padding: 3px;
            font-size: 14px;
            /* font-weight: bold; */
            /* background: #ebf3f6; */
            border: solid 1px #000;
            width: 160px;
            margin: 0 0 0 0;
        }

    /* style for the search button */
    .searchButton {
        font-family: Verdana, Arial, Helvetica, sans-serif;
        background: url(images/bg_search.png) no-repeat;
        font-size: 13px;
        color: transparent;
        border: none;
        margin: 5px 2px 3px 2px;
        font-weight: bold;
        cursor: pointer;
        /* margin: 0; */
        /* width: 91px; */
        height: 21px;
        text-align: center;
        /* height: 37px; */
        text-transform: uppercase;
    }

        .searchButton:hover {
        }

    .allButton {
        font-family: Arial, Helvetica, sans-serif;
        background: url(images/button_bg.gif) repeat-x;
        font-size: 11px;
        text-transform: capitalize;
        color: #134FA3;
        border: solid 1px #919FA2;
        padding: 0 2px;
        font-weight: bold;
        cursor: pointer;
        margin: 0;
        position: absolute;
        left: 172px;
        width: 56px;
        height: 19px;
        text-align: center;
        line-height: 22px;
    }

        .allButton:hover {
            background: url(images/button_bg_hover.gif) repeat-x;
            color: #867001;
        }

    /* styling for the navigation container */
    #storeHeader .navigation {
        background: url(images/storeHeader_navigationBG.gif) repeat-x top;
        height: 37px;
        vertical-align: top;
        padding-left: 10px;
        border-left: solid 1px #afd5de;
        border-right: solid 1px #afd5de;
    }

        #storeHeader .navigation .content {
            margin: 0 auto;
        }

        #storeHeader .navigation a {
            background: url(images/navigation_separator.gif) no-repeat right top;
            font-family: Verdana, Arial, Helvetica, sans-serif;
            font-size: 11px;
            color: #0b4e61;
            font-weight: bold;
            text-transform: uppercase;
            width: auto;
            padding: 9px 20px 8px 7px;
            text-decoration: none;
            text-align: center;
            line-height: 30px;
        }

            #storeHeader .navigation a:hover {
                color: #3a9cc1;
            }

    /******************************************************************************************/
    /* styles for the store footer section                                                    */
    /******************************************************************************************/
    /* container for the store footer */
    #footer {
		position:relative;
		float:left;
		width:960px;
        min-height: 300px;
        background-image: url(images/footer-logo.jpg);
        background-position: bottom left;
        background-repeat: no-repeat;
        background-color: #05729f;
      /*  border-bottom: solid 30px #cde3ec;  */
        border-top: solid 20px #cde3ec;
		border-left:none!important;
		border-right:none!important;
        padding: 20px;
        color: #fff;
        font-size: 11px;
        text-align: left;
		margin-bottom: 33px;
    }

    .footerDivider {
        float: left;
        width: 63px;
        height: 293px;
    }

    #footerContact {
        width: 180px;
        float: left;
    }

    .footerLinks {
        width: 180px;
        float: left;
    }

        .footerLinks ul {
            padding: 0;
            margin: 0;
        }

        .footerLinks li {
            list-style-type: none;
        }

        .footerLinks a {
            width: 180px;
            float: left;
            color: #fff;
            text-align: left;
            line-height: 16px;
        }

    #footer td {
        padding: 10px 0px 10px 0px;
    }

    #footer p {
        padding: 8px 0 0 0;
    }

        #footer p a {
            color: #507d90;
            text-decoration: none;
            padding: 0 12px;
            border-right: 1px solid #507d90;
        }

            #footer p a:first-child {
                border-left: none;
            }

    /******************************************************************************************/
    /* styles for the store navigation section                                                */
    /******************************************************************************************/
    /* container for the store navigation links */
    #storeNav {
        margin: 2px 1px;
        width: 198px;
    }

        #storeNav a {
            background-color: #4e7d91;
            color: #4e7d91;
            font-weight: bold;
            text-decoration: none;
            display: block;
            padding: 8px 3px 8px 40px;
            border-bottom: 1px solid #FFFFFF;
        }

            #storeNav a:hover {
                color: #F99034;
                text-decoration: underline;
            }

            #storeNav a.basket {
                background: #000 url(images/storeNav_basket.jpg) no-repeat 5px 3px;
            }

            #storeNav a.wishlist {
                background: #000 url(images/storeNav_wishlist.jpg) no-repeat 5px 3px;
            }

            #storeNav a.account {
                background: #000 url(images/storeNav_account.jpg) no-repeat 5px 3px;
            }

            #storeNav a.login {
                background: #000 url(images/storeNav_login.jpg) no-repeat 5px 3px;
            }

            #storeNav a.logout {
                background: #000 url(images/storeNav_logout.gif) no-repeat 5px 3px;
            }

            #storeNav a.admin {
                background: #000 url(images/storeNav_admin.gif) no-repeat 5px 3px;
            }

    /******************************************************************************************/
    /* styles for the store search dialog                                                     */
    /******************************************************************************************/
    /* styling for the search dialog container */
    #storeSearch {
        width: 530px;
        padding: 0;
        margin: 0 20px;
        display: block;
    }

        #storeSearch input.keywords {
            border: 1px solid #EE8122;
            width: 131px;
            height: 15px;
            padding: 2px 0 0 4px;
        }

        #storeSearch input.searchButton {
            margin: 0;
            vertical-align: middle;
        }

        #storeSearch .tagline {
            font-family: Arial;
            font-size: 24px;
            color: #4A4A48;
            width: 250px;
            margin-right: 45px;
        }

    /******************************************************************************************/
    /* styles for the page header                                                             */
    /******************************************************************************************/
    /* standard page header */

    div.pageHeader div.content {
        padding: 3px;
    }

    #mainPanel .author a, #mainPanel .author a:link, #mainPanel .author a:visited {
        text-decoration: underline;
    }

        #mainPanel .author a:hover {
            color: #32acde;
        }
    /******************************************************************************************/
    /* default styling for generic input forms                                                */
    /******************************************************************************************/
    /* container for form */
    table.inputForm {
        width: 100%;
        text-align: left;
        margin: 0;
    }

        table.inputForm .header {
            font-size: 14px;
            text-align: left;
        }

        table.inputForm input[type="text"] {
            border: solid 1px #000;
            color: #000;
            padding: 2px;
        }

        table.inputForm select {
            border: solid 1px #000;
            width: 330px;
            color: #000;
            padding: 2px;
        }

        table.inputForm th, table.inputForm td {
            padding: 0 5px 2px 0;
            margin: 0;
            text-align: left;
        }


        table.inputForm .rowHeader {
            color: #000;
            padding: 10px 5px 10px 10px;
            text-align: left;
            width: 130px;
        }

            table.inputForm .rowHeader a {
                border: 1px solid #650101;
                width: 100%;
                color: #4e7d91;
                font-size: 10px;
                font-weight: bold;
                text-align: left;
                padding: 6px;
            }

            table.inputForm .rowHeader * {
                font-weight: bold;
                font-size: 12px;
            }

    /******************************************************************************************/
    /* styling for pager controls                                                             */
    /******************************************************************************************/
    /* style for paging container */
    .paging {
        text-align: left;
        padding: 15px 0 5px 1px;
        /* margin: 15px 0 5px 0; */
    }

        .paging span, .paging .current {
            /* padding: 3px 5px; */
            /* border: 1px solid #7dc2db; */
            font-weight: bold;
            font-family: Arial, Helvetica, sans-serif;
            font-size: 14px;
            margin: 3px 0 3px 1px;
            /* background: #c3e6d0 url(images/paging.gif) no-repeat top left; */
            color: #000;
        }

        .paging a {
            /* padding: 3px 5px; */
            /* border: 1px solid #7dc2db; */
            font-weight: bold;
            font-family: Arial, Helvetica, sans-serif;
            font-size: 14px;
            margin: 3px 0 3px 1px;
            /* background: #a6dec1 url(images/pagingA.gif) no-repeat left top; */
            color: #005b95;
            text-decoration: none;
            font-weight: bold;
        }

            .paging a:hover {
                /* background: #2c9052 url(images/pagingAhover.gif) no-repeat left top; */
                color: #000;
                /* border: 1px solid #005b95; */
            }

    /******************************************************************************************/
    /* styles for the simple category list (such as might show on the home page)              */
    /******************************************************************************************/
    /* list container for categories */
    ul.category {
        margin: 0;
        padding: 0;
        list-style-type: none;
        border-bottom: solid 1px #ecf6f7;
    }

        ul.category li {
            margin: 0;
            padding: 0;
            border-bottom: 1px solid #ffffff;
            background: #FFFFFF;
            border-right: 1px solid #ecf6f7;
        }

            ul.category li a {
                display: block;
                background: #f9fafc url(images/left_panel_item_bg.gif) no-repeat right;
                padding: 8px 20px 8px 8px;
                font-size: 11px;
                color: #507d90;
                line-height: 12px;
            }

                ul.category li a:hover {
                    background: #edf5f7 url(images/left_panel_item_bg_hover.gif) no-repeat right;
                    color: #3a9cc1;
                }

    /******************************************************************************************/
    /* styles for the buy product form                                                        */
    /******************************************************************************************/
    /* container for the buy product form */
    table.buyProductForm {
        padding: 5px;
        width: 100%;
        border: solid 1px #cfcfcf;
        background: #FFF;
    }

        table.buyProductForm td, table.buyProductForm th {
            padding: 3px;
        }

        table.buyProductForm .rowHeader {
            color: #517c8f;
            font-weight: bold;
            font-size: 11px;
            border-width: 0;
            padding: 10px 5px 5px 5px;
            border-right: dotted 1px #E1EAEF;
            text-align: right;
        }

    .optionPicker td {
        border: outset 2px #999;
    }

        .optionPicker td.selected {
            border: inset 2px #999;
        }

    /******************************************************************************************/
    /* styles for the catalog nodes                                                           */
    /******************************************************************************************/
    /* wrapper for the catalog container */
    .catalogWrapper {
        padding: 5px 0;
    }

        .catalogWrapper .Thumbnail {
            padding: 10px 10px 10px 10px;
            margin-right: 10px;
            background: #ffffff url(images/thumbnailTdBg.gif) no-repeat top left;
        }

        .catalogWrapper td {
            color: #000;
        }

    .price {
        font-weight: bold;
    }

    .catalogWrapper a {
        color: #005b95;
    }

        .catalogWrapper a:hover {
            color: #000;
        }

    .catalogWrapper .tableNode {
        /* height: 270px; */
    }
    /*.author:after
    {
        content:"\A";
        white-space: pre;
    }
    span span.authorbold:not(:first-child) {
        margin-left: -12px;
    }*/
    .catalog {
    }

    #Price {
        border: solid 1px red;
    }

    .catalog td {
        border-bottom: solid 10px #ffffff;
    }

    .catalog .flowNode {
        text-align: center;
        margin: 0;
        padding: 5px;
        float: left;
        width: 238px;
        height: 180px;
        border: 1px solid #C4C4C4;
    }

    .titleSearch {
        display: block;
    }

    .search .SearchItem {
        min-height: 330px;
    }

    .SearchItem {
        width: 215px;
        min-height: 295px;
        position: relative;
        margin-right: 20px;
    }

    .catalog .tableNode {
        text-align: center;
        /* padding: 10px; */
        /* background: #f4f9fc; */
    }

        .catalog .tableNode div {
            margin-top: 10px;
        }

        .catalog .tableNode img {
            /* margin-top: 6px; */
        }

        .catalog .tableNode a {
            color: #005b95;
            font-weight: normal;
        }

            .catalog .tableNode a:hover {
                color: #268fd2;
            }

        .catalog .tableNode .Thumbnail {
            background: #ffffff;
            padding: 5px;
            line-height: 25px;
            width: 120px;
        }

    .catalog .thumbnail {
        display: block;
        width: auto;
        margin: 0 auto 5px;
        color: #01076C;
        text-align: center;
        min-height: 200px;
        /* background: #003333; */
    }

    .catalog .separator {
        padding: 0 0 0 6px;
    }

    /******************************************************************************************/
    /* styles for featured products grid                                                      */
    /******************************************************************************************/
    /* container for the products grid */

    .featuredProductContainer {
        padding: 5px;
        background: #f4f9fc;
    }

    table.productsGrid {
    }

        table.productsGrid td {
            margin: 0;
        }

        table.productsGrid tr {
        }

        /* cell that contains the product thumbnail */
        table.productsGrid .thumbnail {
            width: 120px;
            /* border: solid 1px #cfcfcf; */
            vertical-align: middle;
            /* background: #FFFFFF; */
            padding: 0 2px;
        }

    /* cell that displays the product details */
    td.details {
        padding-left: 6px;
        text-align: left;
        vertical-align: text-top;
        width: 110px;
    }

        td.details div {
            padding: 3px 3px 3px 0;
        }

        td.details p {
            height: 0;
        }

        td.details .highlight {
            height: 10px;
        }

        td.details .detailsInnerPara {
            height: 75px;
            font-family: Arial, Helvetica, sans-serif;
            font-size: 11px;
            color: #99c316;
        }

            td.details .detailsInnerPara a {
                color: #507d90;
                font-weight: lighter;
                font-family: Arial, Helvetica, sans-serif;
            }

                td.details .detailsInnerPara a:hover {
                    color: #3a9cc1;
                }

        td.details p a {
            color: #045a95;
        }

            td.details p a:hover {
                color: #4e7d91;
            }


    /* style for separators in the grid */
    .rowSeparator {
        padding-bottom: 3px;
        padding-top: 3px;
    }

    .itemSeparator {
        background: url(images/v_dot.gif) repeat-y left top;
        padding-right: 5px;
    }

    /******************************************************************************************/
    /* styles for product display pages                                                       */
    /******************************************************************************************/
    /* container for the product header */
    div.productHeader {
        margin: 0 0 9px 0;
        padding: 0;
        background: #546FC8 url(images/section_header_bg1.gif) repeat-x;
        height: 37px;
    }


    div.pageHeader {
      /*  margin-top: 10px;  */
        margin-left: 15px !important;
        /* background: url(images/section_header_bg2.gif) repeat-x top; */
        height: 37px;
    }

        div.pageHeader H1 {
            /* background: url(images/header_icon_mid.gif) no-repeat 13px 0; */
            font-size: 25px;
            color: #05729f;
            padding:0;
            margin: 0;
            font-weight: bold;
            /* line-height: 37px; */
            /* text-indent: 55px; */
            /* height: 37px; */
        }

    div.productTabDetail {
        min-height: 200px;
        border: 1px solid black;
        padding: 4px;
    }

        div.productTabDetail H2 {
            background: #FFFFFF;
            border: solid 1px black;
            font-size: 12px;
            font-weight: bold;
            padding: 4px;
            margin: 2px 0 4px 0;
        }

    .searchFilterPanel {
        margin: 0;
        padding-top: 25px;
    }

    .productGridBorder {
        padding: 0 0 3px 0;
        margin: 0;
        background: #FFFFFF;
        /* border-right: solid 1px #ecf6f7; */
        /* border-bottom: solid 1px #ecf6f7; */
        /* padding-bottom: 5px; */
    }

        .productGridBorder input {
            border: solid 1px #dcdce4;
            width: 80px;
        }

        .productGridBorder table {
            width: 100%;
        }

    /******************************************************************************************/
    /* styles for search page                                                                 */


    /******************************************************************************************/
    /* container for the search filter controls */


    /* used for the show all link in the search filter panel */
    .showAll {
        color: #ffffff;
        background: url(images/button_bg.gif) repeat-x top;
        padding: 1px 7px;
    }

        .showAll:hover {
            color: #ffffff;
        }

    a.searchCriteria {
        display: block;
        /* background: #f9fafc url(images/left_panel_item_bg.gif) no-repeat right; */
        padding: 8px 20px 8px 8px;
        font-size: 11px;
        color: #507d90;
        line-height: 12px;
    }

        a.searchCriteria:hover {
            /* background: #edf5f7 url(images/left_panel_item_bg_hover.gif) no-repeat right; */
            /* color: #3a9cc1; */
        }


    h3.searchCriteria {
        color: #005b95;
        margin-top: 0;
        padding: 13px 0 0 0;
        font-weight: bold;
        text-indent: 7px;
        font-size: 11px;
    }

    .summarySection h3 {
        font-size: 100%;
    }

    .summarySection .summarySectionContent a {
        color: #005b94;
        background: #E4ECEE url(images/button_bg.gif) repeat-x;
        float: left;
        padding: 1px 5px 1px 5px;
        border: solid 1px #9fd9ef;
    }

        .summarySection .summarySectionContent a:hover {
            background: #DAE7EA url(images/button_bg_hover.gif) repeat-x;
            border: solid 1px #4fbde6;
        }

    /* header for the search sort header */
    .searchSortHeader, .searchFilterHeader h2 {
        /* background: url(images/basketBg.gif) repeat-x bottom; */
        height: 25px;
        line-height: 20px;
        padding: 0 5px 0 4px;
        margin: 0;
        color: #005b95;
        font-size: 13.54px;
        /* border-bottom: solid 1px #b1d7e0; */
    }

        .searchSortHeader span {
            font-weight: bold;
        }

        .searchSortHeader .sorting {
            /* border: 0; */
            color: #222222;
            padding: 1px;
            font-size: 12px;
            font-family: verdana;
        }

    /******************************/
    /* styles for the mini basket */
    /******************************/
    #miniBasketMainBox {
        padding: 0;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 11px;
        position: relative;
    }

    .miniBasketItemBox {
        /* border-bottom: solid 1px #b0d8e0; */
        padding: 5px;
        /* background: #ffffff url(images/basketBg.gif) repeat-x bottom; */
    }

    .miniBasketIconBox {
        width: 50px;
        height: 50px;
        float: left;
        position: relative;
        border: solid 1px #d9d9d9;
        background: #FFFFFF;
        vertical-align: baseline;
        overflow: hidden;
    }

    .miniBasketItemTitleBox {
        margin-left: 34px;
    }

    .miniBasketItemTitleNoIconBox {
        padding-left: 5px;
    }

    .miniBasketItemTitle {
        color: #3f2a4b;
        font-weight: normal;
        float: left;
        text-align: left;
        position: relative;
        margin: 0 5px 0 15px;
    }

        .miniBasketItemTitle a {
            color: #4e7d91;
        }

            .miniBasketItemTitle a:hover {
                color: #9bc116;
            }

    .miniBasketSubItemTitle {
        font-size: 10px;
        padding: 0;
        text-indent: 0;
        margin: 0;
        clear: both;
    }

        .miniBasketSubItemTitle li {
            font-size: 10px;
            color: #788A95;
            list-style-type: none;
            list-style-image: url('images/miniBasketBullet.gif');
            margin: 4px 0 0 10px;
        }

    .miniBasketQtyDeleteLine {
        position: relative;
        padding: 5px 5px 10px 0px;
        background-color: transparent;
        clear: both;
        text-align: center;
    }

        .miniBasketQtyDeleteLine span {
            font-weight: bold;
            /* color: #a0ae59; */
            text-transform: capitalize;
        }

        .miniBasketQtyDeleteLine a {
            background: #f9fafc;
            width: 48px;
            height: 14px;
            color: #507d90;
            border: solid 1px #d9d9d9;
            padding: 2px 5px;
            font-size: 11px;
        }

            .miniBasketQtyDeleteLine a:hover {
                background: #eef5f7;
                color: #3a9cc1;
                border: solid 1px #b0d8e0;
            }

    .miniBasketQtyInput {
        padding: 1px;
        margin-right: 3px;
        margin-top: 1px;
        width: 15px;
        Height: 15px;
        border: 1px #d9d9d9 solid;
        font-size: 11px;
        color: #464646;
    }

    .miniBasketPriceLabel, .miniBasketPrice {
        padding: 2px;
        /* color: #a0ae59; */
        font-weight: bold;
        position: relative;
    }

    .miniBasketPrice {
        color: #fe0002;
    }

    #miniBasketSubTotalBox {
    }

        #miniBasketSubTotalBox div.content nofooter {
            border: 0;
        }

        #miniBasketSubTotalBox #tax_label, #ship_label {
            font-weight: bold;
            font-size: 11px;
            width: 45%;
            float: left;
            text-align: right;
        }

        #miniBasketSubTotalBox #sub_label {
            float: left;
            /* color: #a1ae5e; */
            font-size: 12px;
            width: 45%;
            text-align: right;
            position: relative;
        }

        #miniBasketSubTotalBox #tax_num, #ship_num {
            font-weight: normal;
            font-size: 11px;
            padding-left: 3px;
            width: 49%;
            float: left;
        }

        #miniBasketSubTotalBox #sub_num {
            font-weight: bold;
            font-size: 12px;
            color: #DB0B0B;
            padding-left: 3px;
            padding-bottom: 5px;
            width: 49%;
            float: left;
            position: relative;
        }

    #miniBasketShippingEstimateBox {
    }

    #miniBasketCheckoutButtonBox {
        margin: 2px 0 0 0;
        padding: 8px 2px;
        text-align: center;
        /* border-top: 1px #b0d8e0 solid; */
    }

    /**************************/
    /* styles for the basket  */
    /**************************/
    /* container for message that displays when a basket is empty */
    .emptyBasketPanel {
        background: url(images/empty_shop.gif) no-repeat 30%;
        padding-top: 20px;
        padding-left: 60px;
        margin: 20px 35px 35px 35px;
        height: 50px;
        text-align: center;
    }

        .emptyBasketPanel span.message {
            font-size: 18px;
            font-weight: normal;
            color: #666666;
        }

    /* links to products that are displayed in the basket contents */
    a.basketProductLink {
        text-decoration: none;
        color: Red;
        font-weight: bolder;
    }

        a.basketProductLink:hover {
            color: #4e7d91;
        }

    .basketDialogPrice {
        color: #fe0000;
        font-weight: lighter;
    }

    /****************************/
    /* styles for the wishlist  */
    /****************************/
    /* container for message that displays when a wishlist is empty */
    div.emptyBasketDialogPanel {
    }

        div.emptyBasketDialogPanel span.message {
            text-align: center;
            font-style: italic;
            padding: 5px;
        }

    div.emptyWishlistPanel {
        background: url(images/wish_list.gif) no-repeat 15%;
        padding-top: 20px;
        padding-left: 60px;
        margin: 20px 35px 35px 35px;
        height: 50px;
        text-align: center;
    }

    .emptyWishlistPanel {
        border: solid 1px #a0d9ec;
        background: #FFFFFF;
        text-indent: 5px;
        color: #4e7d91;
    }

    div.emptyWishlistPanel span.message {
        font-size: 18px;
        font-weight: normal;
        color: #666666;
    }

    div.emptyWishlistDialogPanel {
    }

        div.emptyWishlistDialogPanel span.message {
            text-align: center;
            font-style: italic;
            padding: 5px;
        }

    a.wishlistProductLink {
        text-decoration: none;
        color: #636363;
        font-weight: bolder;
    }

        a.wishlistProductLink:hover {
            color: #4e7d91;
        }

    .wishlistDialogPrice {
        font-weight: bold;
    }

    /****************************************/
    /* styles common to all checkout pages  */
    /****************************************/
    div.checkoutPageHeader {
        margin-bottom: 8px;
    }

        div.checkoutPageHeader .content a {
            background: #eef5f7;
            padding: 1px 10px 1px 10px;
            border: solid 1px #b0d8e0;
            color: #3a9cc1;
            font-weight: bold;
        }

            div.checkoutPageHeader .content a:hover {
                background: #fff;
                color: #80aa1e;
            }

        div.checkoutPageHeader div.checkoutSteps {
            background-color: #E5DECA;
            border: 1px solid #BEB49D;
            padding: 0;
            margin: 4px 5px 4px 4px;
            float: right;
        }

        div.checkoutPageHeader div.content {
            /* width: 844px; */
            padding: 10px;
            /* width: 844px; */
            margin: 0pt auto;
            /* border: solid 1px #e9e9e9; */
            color: #464646;
            font-size: 12px;
            text-align: justify;
            background: #f9fafc;
        }

    .checkoutAlert {
        padding: 10px;
        /* width: 844px; */
        margin: 0pt auto;
        /* border: solid 1px #e9e9e9; */
        color: #464646;
        font-size: 12px;
        text-align: justify;
        background: #f9fafc;
    }

    /* Login Message */
    .LoginMessage {
        padding: 5px 0;
        text-indent: 10px;
        width: 100%;
        background: #fff7f7;
        /* border: solid 1px #ffe6e6; */
        margin: 0pt auto;
        color: red;
    }

        .LoginMessage a {
            background: #fff;
            color: #ff0000;
            font-weight: bold;
            text-transform: uppercase;
            font-size: 14px;
            /* padding: 1px 15px; */
            text-decoration: underline;
            /* border: solid 1px #ffe3e3; */
        }

    /* used to contain the details for an individual shipment, used wherever information is organized by shipment */
    div.shipmentSection {
        margin-bottom: 5px;
        border: solid 1px black;
        border-collapse: collapse;
    }

        div.shipmentSection div.header {
            border: solid 1px black;
        }

        div.shipmentSection H2 {
            margin: 0;
            padding: 0 2px;
            height: 25px;
            line-height: 25px;
            font-size: 12px;
        }

        div.shipmentSection .content {
            padding: 2px;
        }

    /* default column header styling for item list */
    th.columnHeader {
        margin: 0;
        /* background: transparent; */
        max-height: 29px;
        padding: 7px 10px;
        color: #005b94;
    }

    /* used wherever a list of order items is displayed */
    table.itemList {
        width: 100%;
        border-collapse: collapse;
        border: 0;
    }

        table.itemList td {
            padding: 2px 10px;
            background: #FFFFFF;
            border: solid 1px #b3b3b3;
        }

            table.itemList td a {
                /* color: #416573; */
            }

                table.itemList td a:hover {
                    color: #788F03;
                }

        table.itemList th.items {
            background: #ebf3f6;
            padding-top: 6px;
            padding-bottom: 6px;
            border: solid 1px #b3b3b3;
            max-height: 29px;
        }

        table.itemList td.items {
            padding: 10px 10px 10px 15px;
            border: solid 1px #b3b3b3;
            text-align: left;
            line-height: 18px;
        }

        table.itemList th.price {
            background: #ebf3f6;
            padding-top: 6px;
            padding-bottom: 6px;
            border: solid 1px #b3b3b3;
            max-height: 29px;
        }

        table.itemList td.price {
            padding: 10px;
            border: solid 1px #b3b3b3;
        }

        table.itemList th.address {
            background: #ebf3f6;
            padding-top: 6px;
            padding-bottom: 6px;
            border: solid 1px #b3b3b3;
            max-height: 29px;
        }

        table.itemList td.address {
            padding: 10px;
            border: solid 1px #b3b3b3;
        }

            table.itemList td.address select {
                border: solid 1px #b3b3b3;
                padding: 2px;
            }

    /* Checkout Navigation */
    .checkoutNavigation {
        margin-top: 4px;
        margin-bottom: 8px;
    }

        .checkoutNavigation span.validation {
            display: block;
            margin-bottom: 12px;
        }

        .checkoutNavigation span.buttons {
        }

    /******************************************************************************************/
    /* styles for table that lays out a form of data (such as an invoice)                     */
    /******************************************************************************************/
    /* table style */
    table.form {
        margin: 4px 0;
        border-collapse: collapse;
        padding: 10px;
        page-break-inside: avoid;
        border: solid 1px #e9e9e9;
        width: 100%;
    }

        table.form td, table.form th {
            padding: 4px 8px;
            border-bottom: solid 1px #e9e9e9;
        }

        table.form th {
            font-weight: bold;
            font-size: 14px;
            border-bottom: solid 1px #e9e9e9;
            text-align: center;
        }

            table.form th.verticalText {
                width: 10px;
                text-align: center;
                color: #015c95;
                font-size: 11px;
                letter-spacing: 25px;
                font-weight: bold;
                border-right: solid 1px #e9e9e9;
                background: #ebf3f6;
                vertical-align: middle;
            }

            table.form th.header {
                text-align: left;
            }

                table.form th.header span.caption {
                    font-size: 20px;
                }

        table.form td.address {
            width: 180px;
            border-right: solid 1px #e9e9e9;
            color: #4e7d91;
            font-size: 12px;
        }

            table.form td.address a {
                color: #005b94;
                background: #E4ECEE url(images/button_bg.gif) repeat-x;
                float: right;
                padding: 1px 5px 1px 5px;
                border: solid 1px #9fd9ef;
            }

                table.form td.address a:hover {
                    background: #DAE7EA url(images/button_bg_hover.gif) repeat-x;
                    border: solid 1px #4fbde6;
                }

        table.form td.expand {
            width: 504px;
            color: #4e7d91;
            line-height: 25px;
        }

        table.form td.dataSheet {
            padding: 0;
            background: #FFFFFF;
        }

            table.form td.dataSheet * {
                font-size: 12px;
            }

        table.form table.dataSheet {
            margin-bottom: -1px;
        }

    table.dataSheet tr.totalRow td, table.dataSheet tr.totalRow th {
        border-top: double 3px gray;
        border-bottom: double 3px gray;
        background-color: #656565;
        color: White;
    }

    table.form td.orderSummary {
        width: 202px;
        padding: 15px;
        border-right: solid 1px #e9e9e9;
    }

        table.form td.orderSummary h3 {
            margin: 0 0 2px 0;
        }

    h1.invoice {
        margin: 0 0 6px 0;
        font-size: 24px;
        font-weight: bold;
    }

    h1.storeName {
        margin: 0 0 6px 0;
        font-size: 18px;
        font-weight: bold;
    }

    /******************************************************************************************/
    /* styles for checkout progress indicator                                                 */
    /******************************************************************************************/
    /* container for the checkout progress indicator */
    .checkoutProgress {
        background: #f4f9fc url(images/header_bg.gif) repeat-x bottom;
        border: 1px solid #b0d8e0;
        height: 25px;
        font-size: 11px;
        font-family: Arial, Helvetica, sans-serif;
        font-weight: bold;
        padding: 1px 1px 3px 1px;
        text-transform: uppercase;
        color: #05729f;
        margin: 0 18px;
        display: block;
        float: right;
    }

        .checkoutProgress span {
            display: block;
            float: left;
            width: auto;
        }

            .checkoutProgress span.on {
                padding: 3px 2px;
                margin: 1px;
            }

            .checkoutProgress span.off {
                padding: 2px;
                margin: 1px;
            }

            .checkoutProgress span.on span {
                padding: 2px 6px;
                background: url(images/basketBg.gif) repeat-x;
                border: solid 1px #b0d8e0;
                color: #05729f;
            }

            .checkoutProgress span.off span {
                padding: 3px 6px 2px 6px;
            }

    /******************************************************************************************/
    /* styles for checkout steps                                                              */
    /******************************************************************************************/
    /* style for the outer container for checkout steps */ /* style for the outer container for checkout steps */
    #storeHeader div.checkoutSteps {
        background-color: #E5DECA;
        border: 1px solid #BEB49D;
        padding: 0;
        width: 100%;
    }

    /******************************************************************************************/
    /* styles for select shipping address                                                     */
    /******************************************************************************************/
    /* style for the address book table */
    table.addressBook {
        width: 100%;
    }

        table.addressBook th.caption {
            border-bottom: 1px solid #b0d8e0;
            background: url(images/basketBg.gif) repeat-x bottom;
            ;
            color: #005b94;
            text-indent: 10px;
            padding: 2px 3px 2px 2px;
            margin: 5px 0 0 0;
        }

            table.addressBook th.caption .text {
                float: left;
                display: block;
                line-height: 24px;
            }

            table.addressBook th.caption .buttons {
                float: right;
                display: block;
            }

        table.addressBook td.entries {
            border: 1px solid #e9e9e9;
            text-align: left;
            padding: 5px;
            background: #FFFFFF;
        }

        table.addressBook .entry {
            background: url(images/shipping_address_bg.gif) no-repeat;
            vertical-align: middle;
            text-align: left;
            margin: 0;
            padding: 5px 0 0 0;
            display: block;
            width: 350px;
            height: 195px;
            float: left;
        }

    .addressBook .address {
        text-align: left;
        padding: 70px 0 0 50px;
        color: #000;
        font-weight: bold;
        line-height: 15px;
        width: 200px;
        float: left;
    }

    .addressBook td .buttons {
        margin-top: 5px;
        text-align: left;
        padding: 60px 0 0 0;
        width: 100px;
        float: right;
    }

        .addressBook td .buttons a {
            display: block;
            margin-bottom: 5px;
            width: 40px;
        }

    table.addressBook td .buttons .button {
        margin-right: 5px;
    }

    /*************************************************/
    /* styles for select multiple shipping addresses */
    /*************************************************/
    /* styling for shipping addreses table */
    table.setShippingAddresses {
    }

        table.setShippingAddresses th {
        }

            table.setShippingAddresses th.items {
            }

        table.setShippingAddresses td.items {
        }

        table.setShippingAddresses th.price {
        }

        table.setShippingAddresses td.price {
        }

        table.setShippingAddresses th.address {
        }

        table.setShippingAddresses td.address {
        }

    table.selectShippingMethod {
    }

        table.selectShippingMethod td.dataSheet {
            padding: 6px;
            border: 1px solid #e9e9e9;
        }

            table.selectShippingMethod td.dataSheet th {
                padding: 5px 2px;
                background: #ebf3f6;
                max-height: 29px;
                border: solid 1px #e9e9e9;
            }

        table.selectShippingMethod th.shipto {
            background: #FFFFFF;
            color: #045a95;
            height: 29px;
            line-height: 30px;
            border-bottom: solid 2px #e9e9e9;
        }

        table.selectShippingMethod td.items {
            background-color: #DEDEDE;
        }

        table.selectShippingMethod th.items {
            background-color: #DEDEDE;
        }

        table.selectShippingMethod td.methods {
            padding: 4px;
            text-align: left;
            border-left: 1px solid #8698B2;
            width: 200px;
        }

            table.selectShippingMethod td.methods h3 {
                padding: 5px 0;
                border-bottom: solid 1px #b0d8e0;
                background: url(images/basketBg.gif) repeat-x bottom;
                display: block;
                font-weight: bold;
                font-size: 100%;
                text-align: center;
                color: #045a95;
                margin: 3px 0 6px 0;
            }

            table.selectShippingMethod td.methods .caption {
                display: block;
                font-weight: bold;
                margin-bottom: 6px;
                text-align: center;
            }

            table.selectShippingMethod td.methods textarea {
                border: solid 1px #afa9b3;
            }

    /* section to ask the customer whether to set gift options for an order */
    .addGiftOptions {
        background: #FFFFFF url(images/giftbox3.gif) no-repeat left top;
        margin: 0 auto;
        width: 420px;
        height: 98px;
        border: solid 0 #8698B2;
        float: right;
        text-align: right;
    }

        .addGiftOptions h3 {
            margin: 10px 10px 5px 300px;
            font-size: 100%;
        }

        .addGiftOptions .content {
            margin-right: 10px;
            margin-top: 5px;
        }

        .addGiftOptions .buttons {
            margin-right: 10px;
            margin-top: 5px;
        }

    .VisiblePanel {
        display: block;
    }

    .ProductItemList {
    }

    .PIVThumnail {
        height: 80px;
    }

    .PIVimage_desc {
        min-height: 60px;
        font-weight: lighter;
        color: #ff0000;
        font-size: 11px;
    }

        .PIVimage_desc a {
            font-size: 11px;
            font-weight: bold;
        }

    .ProductItemView {
        width: 120px;
        padding-right: 35px;
        /* border: solid 1px #dcdce4; */
        /* height: 200px; */
        vertical-align: bottom;
    }

        .ProductItemView div {
            /*background: url(images/basketBg.gif) repeat-x bottom;*/
            padding: 5px;
            /* border: solid 1px #d9d9d9; */
        }

    .ProductItemViewOdd {
        width: 120px;
        padding-right: 35px;
        /* border: solid 1px #dcdce4; */
        vertical-align: bottom;
    }

        .ProductItemViewOdd div {
            /* background: url(images/basketBg.gif) repeat-x bottom; */
            padding: 5px;
            /* border: solid 1px #d9d9d9; */
        }

    .ProductItemView .productsGrid .thumbnail {
        height: 120px;
    }

    .ProductItemView .productsGrid {
        padding: 0;
    }

        .ProductItemView .productsGrid .image_desc {
            border: solid 1px #e1f2f9;
            border-top: 0;
        }


    .HiddenPanel {
        display: none;
    }

    /**************************************************************/
    /* styles for select gift options (checkout/giftoptions.aspx) */
    /**************************************************************/
    /* container for the gift option controls */
    .giftOptions {
        width: 200px;
    }

        .giftOptions textarea {
            border: solid 1px #afa9b3;
        }

        .giftOptions div.giftWrap {
            margin-top: 2px;
            color: green;
        }

            .giftOptions div.giftWrap div.noGiftWrap {
                font-style: italic;
            }

            .giftOptions div.giftWrap div.oneGiftWrap {
            }

                .giftOptions div.giftWrap div.oneGiftWrap span.name {
                    font-weight: bold;
                }

                .giftOptions div.giftWrap div.oneGiftWrap span.price {
                }

            .giftOptions div.giftWrap div.multiGiftWrap {
            }

                .giftOptions div.giftWrap div.multiGiftWrap span.title {
                    font-weight: bold;
                }

                .giftOptions div.giftWrap div.multiGiftWrap select {
                }

        .giftOptions div.giftMessage {
        }

            .giftOptions div.giftMessage span.title {
                font-weight: bold;
                border: solid 1px #b3b3b3;
                background-color: #f3f3f3;
                padding: 2px 10px;
                line-height: 25px;
                color: #045a95;
            }

            .giftOptions div.giftMessage span.price {
            }

            .giftOptions div.giftMessage textarea {
                width: 98%;
                height: 40px;
            }

            .giftOptions div.giftMessage span.count {
            }

            .giftOptions div.giftMessage span.countText {
            }

    /*---------------------------------------*/
    /*- styles for layout of payment page -- */
    /*---------------------------------------*/
    /* style for the summary pane of the payment information section */
    .paymentMethodSummary {
        width: 170px;
        padding: 10px;
        padding-right: 30px;
    }

    div.paymentMethodSummary {
        float: left;
    }

    .paymentMethodList {
        background: #FFFFFF;
        width: 70%;
    }

    div.paymentMethodList {
    }

    .paymentMethodSummary .section {
        margin-bottom: 20px;
    }

        .paymentMethodSummary .section .header {
            background: url(images/section_header_bg.gif) repeat-x;
            margin-top: 10px;
            margin-bottom: 10px;
        }

            .paymentMethodSummary .section .header h2 {
                color: #8a0000 !important;
            }

    paymentMethodSummary .section .content {
    }

    table.orderSummary {
        width: 100%;
    }

        table.orderSummary th {
            text-align: right;
            font-weight: normal;
            white-space: nowrap;
            border-bottom: 0;
        }

        table.orderSummary td {
            text-align: right;
            width: 80px;
            border-bottom: 0;
        }

        table.orderSummary tr.totalDivider {
        }

            table.orderSummary tr.totalDivider td {
                width: 100%;
            }

                table.orderSummary tr.totalDivider td hr {
                }

    /* styles the table for the entry form of a payment method */
    table.paymentForm {
        width: 100%;
        margin-bottom: 20px;
        margin-left: 5px;
    }

        table.paymentForm td {
            padding: 2px;
        }

        table.paymentForm th.caption {
            padding-top: 8px;
            border-bottom: dotted 1px #e9e9e9;
            color: #005b94;
            font-size: 14px;
            line-height: 30px;
            text-align: center;
        }

        table.paymentForm th.rowHeader {
            text-align: right;
            padding-right: 10px;
            color: #4e7d91;
        }

        table.paymentForm input {
            /* border: solid 1px #e9e9e9; */
        }

        table.paymentForm select {
            border: solid 1px #e9e9e9;
            width: 145px;
        }

        table.paymentForm td.submit {
            text-indent: 10px;
        }

            table.paymentForm td.submit span.button {
            }

    ul.columns {
        margin: 0 0 0 30px;
        padding: 0;
        list-style: none;
    }

        ul.columns li {
            margin: 2px;
            background-image: url(images/bullet1.gif);
            background-position: 0 3px;
            background-repeat: no-repeat;
            text-indent: 20px;
            height: 20px;
        }

    /* container for the order summary table */
    div.orderSummaryPanel {
        background: #f9fafc;
        border: solid 1px #e9e9e9;
        margin: 5px 0;
    }

    table.orderSummaryTable {
        width: 100%;
        padding-left: 10px;
        text-indent: 10px;
        text-align: left;
        color: #4e7d91;
    }

        table.orderSummaryTable th.rowHeader {
            width: 16%;
            text-align: right;
        }

        table.orderSummaryTable td a {
            color: #fff;
            font-size: 12px;
            font-weight: bold;
            padding: 0px 10px 2px 10px;
            margin: 0;
            background: #79c0d6 url(images/button_bg.gif) repeat-x top;
        }

    /************************************************/
    /* styles for view row-style of my account page */
    /************************************************/
    .odd {
        background-color: #DBDADA;
        padding: 6px 2px 6px 6px;
    }

    .even {
        background-color: #F5F5F5;
        padding: 6px 2px 6px 6px;
    }

    .altodd {
        background: #fff;
        padding: 6px 2px 6px 6px;
    }

        .altodd a > img {
            width: 150px;
        }

    a.altoddButton {
        background: #fff url(images/bg_AddToCart.png) no-repeat;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 11px;
        color: #ffffff !important;
        cursor: pointer;
        margin: 1px 0;
        font-weight: bold;
        white-space: nowrap;
        border: 0;
        width: 105px !important;
        height: 23px;
        display: inline-block;
        text-align: center;
        padding: 2px 0;
        text-decoration: none;
    }


    .altodd td {
        color: #000000;
        padding: 5px;
        line-height: 18px;
    }

    .altodd input {
        border: solid 1px #afa9b4;
        padding: 2px;
		width: 30px;
    }

    .altodd select {
        border: solid 1px #afa9b4;
        padding: 2px;
    }

    .alteven {
        background: #f9fcfe;
        padding: 20px 2px 6px 6px;
    }

        .alteven td {
            color: #000000;
            padding: 5px;
            line-height: 18px;
        }

        .alteven input {
            border: solid 1px #afa9b4;
            padding: 2px;
			width: 30px;
        }

        .alteven select {
            border: solid 1px #afa9b4;
            padding: 2px;
        }

        .updown input[type=button] {
            width: 15px;
        }

    /**********************************************************************/
    /* styles for view 'ship to' in ViewOrder page (Members/MyOrder.aspx) */
    /**********************************************************************/
    .ship_to {
        writing-mode: tb-rl;
        filter: flipV() flipH();
    }

    .small_cell {
        width: 300px;
    }

        .small_cell .header {
            margin-top: 0;
        }

    .lebeling {
        width: 100px;
    }

    /******************************************************************************************/
    /* styles for paged list of data                                                          */
    /******************************************************************************************/
    /* table style */
    table.pagedList {
        min-width: 300px;
        background: #FFF;
        padding: 5px;
    }

        table.pagedList td {
            padding: 2px 4px;
        }

        table.pagedList th {
            padding: 7px 0 7px 3px;
            font-weight: bold;
            margin: 0;
            color: #4e7d91;
            background: #ebf3f6;
            border: solid 1px #d8e6ec;
        }

            table.pagedList th a {
                padding-left: 2px;
                color: #4e7d91;
                text-decoration: none;
            }

                table.pagedList th a:hover {
                    color: #005b95;
                    text-decoration: underline;
                }

        table.pagedList tr.oddRow {
            background: #fff url(images/oddRowBg.gif) repeat-x bottom;
            height: 45px;
        }

        table.pagedList tr.evenRow {
            background: #fff url(images/evenRowBg.gif) repeat-x bottom;
            height: 45px;
        }

        table.pagedList tr.empty td {
            width: 300px;
            text-align: center;
            padding: 10px;
            font-style: italic;
            border: solid 1px black;
        }

    /************** Style for the Conactpage List ****************/
    ul.contact li {
        list-style-image: url(images/bullet1.gif);
    }

    /************** Style for the Product Image ******************/
    .productimg {
        vertical-align: top;
        text-align: center;
        max-width: 500px;
        padding: 6px;
    }

    /******************************************************************************************/
    /* begin styles for modal popup dialogs                                                   */
    /******************************************************************************************/
    /* background for main page when modal popup is visible */
    .modalBackground {
        background-color: Gray;
        filter: alpha(opacity=70);
        opacity: 0.7;
    }

    .modalPopup {
        background-color: #FFFFFF;
        border-width: 3px;
        border-style: solid;
        border-color: Gray;
        padding: 3px;
        width: 450px;
    }

    .modalPopupHeader {
        cursor: move;
        background-color: #DDDDDD;
        border: solid 1px Gray;
        color: Black;
        margin: -3px;
        padding: 6px;
        font-weight: bold;
    }

    .modalPopupText {
        padding: 10px;
    }

    .pricePopup {
        background-color: #FFFFFF;
        border-width: 3px;
        border-style: solid;
        border-color: Gray;
        padding: 3px;
        width: 300px;
        position: absolute;
        left: 50%;
        margin-left: -150px;
        z-index: 99;
    }

    .pricePopupHeader {
        background-color: #DDDDDD;
        border: solid 1px Gray;
        color: Black;
        margin: -3px;
        padding: 6px;
        font-weight: bold;
    }

    .pricePopup span.fieldHeader {
        display: block;
        float: left;
        width: 135px;
        text-align: right;
        margin-right: 6px;
    }

    .pricePopup span.fieldValue {
        display: block;
        float: left;
    }

    /******************************************************************************************/
    /* begin styles for one page checkout                                                     */
    /******************************************************************************************/
    /* outer frame of the one page checkout form */
    .opcFrame {
        margin: 0 auto;
        width: 100%;
    }

        .opcFrame .content {
            border: solid 1px #e9e9e9;
            background-color: #f3f3f3;
        }

    .opcMainPanel {
        width: 644px;
        padding-right: 10px;
        vertical-align: baseline;
    }

        .opcMainPanel h2 {
            padding: 1px 0 1px 7px;
            font-weight: bold;
            margin: 0 0 10px 0;
            color: #05729f;
            /* background: #ebf3f6; */
            /* border: solid 1px #d8e6ec; */
        }

        .opcMainPanel select {
            border: solid 1px #e9e9e9;
            padding: 2px;
            color: #4e7d91;
        }

        .opcMainPanel input[type=text] {
            border: solid 1px #e9e9e9;
            padding: 2px;
            /* color: #4e7d91; */
            margin: 5px 0 0 0;
        }

        .opcMainPanel .inputForm {
            background: #FFFFFF;
            border: solid 1px #e9e9e9;
        }

    .opcSidebar {
        width: 200px;
        background: #FFFFFF;
        border-top: solid 10px #FFFFFF;
        border-bottom: solid 13px #FFFFFF;
        padding: 5px 0 5px 5px;
    }

    .opcPaymentFrame {
    }

    .opcPaymentMethods {
        background: #f4f9fb;
        border: solid 1px #b0d8e0;
        width: 150px;
        padding: 5px;
    }

    .opcPaymentFrame label {
        float: right;
    }

    /*********** img-description *******/
    p.image_desc {
        margin-left: 3px;
        margin-right: 3px;
    }

    .sy-box {
        width: 998px;
        height: 225px;
        list-style: none;
        margin: 0 0 0 -30px;
        padding: 0;
        /* position: absolute; */
    }

    .AgreementView {
        background-color: #FFFFFF;
        margin: 5px;
        padding: 10px;
        border: solid 1px #92A7EC;
    }

    /* Welcome*/
    div.welcomeImage {
        width: 488px;
        height: 180px;
        background: #FFFFFF url(images/image.gif) no-repeat;
    }

    td.welcomeImage {
    }

    .welcomeText {
        background: #f9fafc;
        color: #3a9cc1;
        font-size: 11px;
        font-family: Verdana, Arial, Helvetica, sans-serif;
        margin: 0;
    }

        .welcomeText td {
            text-align: justify;
            padding: 8px;
            line-height: 16px;
        }

    .itemSeperator {
        width: 2px;
    }

    .inputFormText {
        border: 1px solid #8ed4af;
        padding: 5px 0 0 9px;
        border-bottom: 0;
        border-top: 0;
        font-weight: lighter;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 12px;
        color: #4e7d91;
        background-color: #FFFFFF;
        margin: 0;
    }

    .inputFormBodyText {
        font-family: Arial, Helvetica, sans-serif;
        font-size: 11px;
        font-weight: bold;
        color: #4e7d91;
    }

    .orderItemsList {
        margin-left: 12px;
        padding: 0;
        color: #666666;
    }

    .bottomContent {
        width: 940px;
        float: left;
        /* margin-left: 25px; */
    }

        .bottomContent h1 {
            margin: 0;
            font-size: 25px;
            padding-bottom: 15px;
        }

        .bottomContent .authorSpotLight {
            width: 490px;
            float: left;
        }

    .authorSpotLight h2, .startReading h2 a {
        color: #05729f !important;
        font-family: myFirstFont,Arial;
    }


        .authorSpotLight h2, .startReading h2 a:hover {
            color: #32acde;
            font-family: myFirstFont,Arial;
        }


    .bottomContent .authorVideo, .bottomContent .startReading {
        width: 390px;
        float: left;
    }

    .authorImg {
        float: left;
    }

    .startReadingText {
        height: 178px;
        overflow: hidden;
        text-overflow: ellipsis;
        margin-bottom: 10px;
    }

    .authorContent {
        float: left;
        width: 270px;
        padding-left: 10px;
        padding-right: 10px;
    }

        .authorContent h1, .contributorContent h1, .bottomContent h1 {
            font-size: 18px;
            text-transform: capitalize;
            padding-bottom: 5px;
            font-family: Arial,Tahoma,Verdana;
        }

        .authorContent a {
            text-decoration: underline;
        }

        .authorContent p {
            padding-bottom: 10px;
        }

    .videoDescription {
        font-size: 14.58px;
        color: #05729f;
        text-align: center;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .viewAllVideo {
        font-size: 14.58px;
        color: #05729f;
        text-transform: uppercase;
        font-weight: bold;
        padding-top: 5px;
        display: block;
    }

    .footerSeparate {
		border-bottom: 1px solid #9b9b9b;
		border-right:1px solid #9b9b9b;
		border-left:1px solid #9b9b9b;
    	height: 20px;
		background:#fff;
        /*height: 20px;*/
        /*border-bottom: solid 1px #9b9b9b;*/
    }

    #ProductImage, .productImage  img {
        margin-top: 20px;
        margin-bottom: 10px;
        width: 300px;
    }

    .productBold {
        font-weight: bold;
        font-size: 13.54px;
    }

        .productBold strong {
            font-weight: bold;
        }

    .Thumbnail {
        width: 120px;
    }

    .cartButton {
        position: absolute;
        bottom: -10px;
    }

    .addToCart {
        margin-bottom: 10px;
        margin-top: 10px;
    }

        .addToCart > div {
            font-size: 13.54px;
            font-weight: bold;
            display: inline-block;
        }


        .addToCart input[type="text"] {
            border: solid 1px #000000;
            padding: 3px;
            margin-left: 5px;
            margin-right: 5px;
            width: 40px;
        }

    .alsoAvailableIn {
        font-weight: bold;
    }

    .alsoAvailable > a {
        color: #000;
        text-decoration: underline;
    }

    .payment-coupon {
        background: #E4ECEE;
        border: 1px solid #CCCCCC;
        color: #444444;
        float: left;
        padding: 1px 5px;
    }

    .securityCodeInput {
        background: transparent !important;
        border: none !important;
    }
	
	.coupon-payment .header, .coupon-payment .header h2{
		height:auto !important;
	}
	
	#product-tabs { display: none; }
	#product-tabs > div { display: none; }
}


/* ==========================================================================
        beacon-mobile.css — mobile-friendly overrides for www.beacon.org
        --------------------------------------------------------------------------
        HOW TO INSTALL
        1. Append this stylesheet AFTER all existing stylesheets on every page
            (it must load last so its rules win).
        2. For full effect on phones, the site's <head> template also needs
            this one line (ask whoever manages the ASP.NET master page):
                <meta name="viewport" content="width=device-width, initial-scale=1" />
                
        Desktop is untouched: every rule below only applies when the browser
        window (or phone viewport) is 1015px wide or less. The site's own
        fixed 1000px layout continues to render exactly as before above that.
        ========================================================================== */
        
@media screen and (max-width: 1015px) {
    
        /* ---------------------------------------------------------------
                1. Page frame: release the fixed 1000px skeleton
                --------------------------------------------------------------- */
        html, body {
                overflow-x: hidden;
        }
    
        body {
                width: auto !important;
                max-width: 1000px;
                padding: 0 8px !important;
        }
    
        #outerContentWrapper,
        #innerContentWrapper,
        #contentLayout {
                width: auto !important;
        }
    
        #contentLayout {
                border-left: none !important;
                border-right: none !important;
        }
    
        /* Images, embeds and content tables must never force sideways scroll */
        #mainPanel img,
        #contentLayout img,
        .footerLinks img,
        #footerContact img {
                max-width: 100%;
                height: auto;
        }
    
        iframe, object, embed, video {
                max-width: 100% !important;
        }
    
        #mainPanel table {
                max-width: 100%;
        }
    
        /* ---------------------------------------------------------------
                2. Header: linearize the <table id="storeHeader"> layout
                --------------------------------------------------------------- */
        #storeHeader {
                display: block;
                width: auto !important;
                margin-top: 10px !important;
        }
    
        #storeHeader tbody,
        #storeHeader tr {
                display: block;
        }
    
        #storeHeader td {
                display: block;
                width: auto !important;
        }
    
        #storeHeader td.logo {
                text-align: center;
                padding: 12px 0 4px;
        }
    
        #storeHeader td.logo img {
                max-width: 75%;
                height: auto;
        }
    
        #storeHeader .headerContent {
                padding: 0 10px 8px;
        }
    
        /* Search box, Login and Cart links: centered, comfortable tap targets */
        #storeHeader .shortcuts {
                text-align: center;
        }
    
        #storeHeader .shortcuts a {
                float: none !important;
                display: inline-block;
                padding: 8px 10px;
                margin: 0 !important;
        }
    
        /* the markup contains empty spacer <a> tags; keep them invisible */
        #storeHeader .shortcuts a:empty {
                display: none !important;
        }
    
        #storeHeader .search {
                float: none !important;
                text-align: center;
                margin: 4px 0 8px;
        }
    
        #storeHeader .searchPhrase {
                font-size: 16px !important;   /* 16px+ prevents iOS auto-zoom */
                height: auto !important;
                padding: 7px 8px !important;
                width: 62%;
                max-width: 320px;
                box-sizing: border-box;
                vertical-align: middle;
        }
    
        #storeHeader .searchButton {
                padding: 7px 12px;
                height: auto !important;
                vertical-align: middle;
        }
    
        #advSearchWrapper {
                float: none !important;
                position: static !important;
                width: auto !important;
                height: auto !important;
                text-align: center;
                margin: 2px 0 6px;
        }
    
        .bottomHeader {
                float: none !important;
                width: auto !important;
        }
    
        /* Social media icons: static centered row instead of absolute pin */
        #storeHeader .socialMedia {
                position: static !important;
                float: none !important;
                width: auto !important;
                text-align: center;
                margin: 6px 0;
        }
    
        #storeHeader .socialMedia img {
                margin: 0 7px;
        }
    
        /* ---------------------------------------------------------------
                3. Main navigation: wrap the menu into rows of tappable buttons
                --------------------------------------------------------------- */
        /* position + high z-index so open dropdowns paint above the
                homepage slider (nivo uses its own z-indexes) and page content */
        #storeHeader td.topnavigation {
                height: auto !important;
                padding: 0 !important;
                position: relative;
                z-index: 2000;
        }
    
        /* NOTE: submenus also carry the .sf-menu class, so every rule here
                is scoped to the top-level #mainmenu list only.
                No overflow:hidden here — it would clip the dropdown panels. */
        #storeHeader ul#mainmenu {
                display: block;
                text-align: center;
        }
    
        #storeHeader #mainmenu > li {
                float: none !important;
                display: inline-block;
                vertical-align: top;
                margin-bottom: 10px;
        }
    
        #storeHeader #mainmenu > li > a {
                margin: 0 !important;
                padding: 0 14px !important;
                height: 42px !important;
                line-height: 42px !important;
        }
    
        /* Dropdown panels (hover devices): fixed panel width so the blue
                background always covers the longest item, capped to the screen */
        #storeHeader #mainmenu li ul {
                width: 280px !important;
                max-width: 94vw;
        }
    
        #storeHeader #mainmenu ul li {
                float: none;
                width: 100% !important;
                max-width: 280px;
                text-align: left;
        }
    
        /* ---------------------------------------------------------------
                4. Content columns: stack everything vertically
                --------------------------------------------------------------- */
        #mainPanel,
        #mainPanel.oneColumnLayout,
        #mainPanel.leftSidebarLayout,
        #mainPanel.rightSidebarLayout {
                float: none !important;
                width: auto !important;
                padding-left: 12px !important;
                padding-right: 12px !important;
                box-sizing: border-box;
        }
    
        #leftSidebarPanel,
        #rightSidebarPanel {
                float: none !important;
                width: auto !important;
                padding: 0 12px !important;
                box-sizing: border-box;
        }
    
        /* Homepage slider: full-bleed and fluid */
        .slider {
                margin-left: -12px !important;
                margin-right: -12px !important;
                display: none;
        }
    
        .nivoSlider,
        .theme-default .nivoSlider {
                width: 100% !important;
        }
    
        .nivoSlider img {
                max-width: 100% !important;
                height: auto !important;
        }
    
        /* ---------------------------------------------------------------
                5. Homepage sections
                --------------------------------------------------------------- */
        .mainContent,
        .recommendReadingContent,
        .categoryNavigator,
        .bottomContent {
                float: none !important;
                width: auto !important;
        }
    
        .categoryNavigator .categories {
                padding: 4px 8px 4px 6px;
                margin-bottom: 4px;
        }
    
        /* "Recommended reading" books: fluid 2-up grid */
        .recommendReading {
                float: none !important;
                width: auto !important;
                display: flex;
                flex-wrap: wrap;
                background-size: contain !important;
        }
    
        .recommendReading .books {
                float: none !important;
                width: 50% !important;
                box-sizing: border-box;
                padding: 0 8px;
                text-align: center;
        }
    
        .recommendReading img.bookImg {
                width: 100% !important;
                max-width: 200px !important; /* beats the generic #contentLayout img cap */
                height: auto;
        }
    
        /* Author spotlight / video blocks: stack */
        .bottomContent .authorSpotLight,
        .bottomContent .authorVideo,
        .bottomContent .startReading {
                float: none !important;
                width: auto !important;
                margin-bottom: 22px;
        }
    
        .authorContent {
                float: none !important;
                width: auto !important;
                padding: 0 !important;
        }
    
        .contributorThumbnail,
        .authorImg {
                float: none !important;
                width: auto !important;
                margin: 0 auto 10px !important;
                text-align: center;
        }
    
        /* ---------------------------------------------------------------
                6. Book detail pages (…-P####.aspx)
                --------------------------------------------------------------- */
        #productContent {
                width: auto !important;
        }
    
        #productLeft,
        #productRight {
                float: none !important;
                width: auto !important;
        }
    
        #productRight {
                margin-top: 24px;
        }
    
        /* ---------------------------------------------------------------
                7. Category / search result listings (…-C####.aspx)
                    The results render as a <table class="catalog"> with four
                    fixed-width cells per row; turn each row into a fluid grid.
                --------------------------------------------------------------- */
        table.catalog {
                display: block;
                width: 100% !important;
        }
    
        .catalog tbody {
                display: block;
        }
    
        .catalog tr {
                display: flex;
                flex-wrap: wrap;
        }
    
        .catalog tr.header,
        .catalog tr.paging {
                display: block;
        }
    
        .catalog td.tableNode {
                display: block;
                box-sizing: border-box;
                flex: 0 0 33.33%;
                max-width: 33.33%;
                padding: 0 6px;
        }
    
        .SearchItem,
        .search .SearchItem {
                width: auto !important;
                min-height: 0 !important;
                margin: 0 0 26px !important;
        }
    
        .SearchItem img.Thumbnail {
                max-width: 100%;
                height: auto;
        }
    
        /* price + Details button are absolutely pinned to the card bottom on
                desktop (fixed-height cards); let them flow normally here */
        .SearchItem .cartButton {
                position: static !important;
                margin-top: 6px;
                clear: both;
        }
    
        .SearchItem .cartButton .price {
                float: none !important;
                text-align: left;
        }
    
        /* ---------------------------------------------------------------
                8. Footer: 2-up columns (1-up on phones, below)
                --------------------------------------------------------------- */
        #footer {
                float: none !important;
                width: auto !important;
                overflow: hidden;
                padding: 0 12px 20px;
                box-sizing: border-box;
                background-size: 55% auto !important;
        }
    
        .footerDivider {
                display: none !important;
        }
    
        #footerContact,
        .footerLinks {
                width: 47% !important;
                margin-right: 3%;
                box-sizing: border-box;
        }
    
        .footerLinks a {
                float: none !important;
                display: block;
                width: auto !important;
                padding: 4px 0;
                line-height: 20px;
        }
    a.basket {
        border:  none !important;
    }
    
    div#advSearchWrapper {
        margin-bottom:  15px;
        display: none;
    }
    
    ul#mainmenu {
        background: #05729f;
        padding: 10px 0;
        margin-bottom: 25px !important;
    }
    
    #mainmenu li {
        border:  none !important;
    }
    
    ul#mainmenu {
        width: 100%;
    }
    .footerLinks img {
        display: block;
    }
    div#footerContact {
        padding-top: 25px
    }
    
        /* ---------------------------------------------------------------
                9. Phone-size refinements
                --------------------------------------------------------------- */
        @media screen and (max-width: 640px) {
            
                body {
                        font-size: 15px;
                }
            
                h1 {
                        font-size: 23px;
                }
            
                #storeHeader td.logo img {
                        max-width: 88%;
                }
            
                /* Catalog listings: two books across */
                .catalog td.tableNode {
                        flex-basis: 50%;
                        max-width: 50%;
                }
            
                /* Footer: single column */
                #footerContact,
                .footerLinks {
                        float: none !important;
                        width: auto !important;
                        margin-right: 0;
                        margin-bottom: 18px;
                }
        
        }
}

/* ========================================================================== 
   2026 mobile header, navigation and book-detail refinements
   Keep this block at the end of style.css so it can override Superfish and
   the legacy fixed-width product layout without changing desktop rendering.
   ========================================================================== */
@media screen and (max-width: 1015px) {
    /* Header utility area */
    #storeHeader {
        border: 0;
        box-shadow: 0 1px 0 #d6d6d6;
    }

    #storeHeader td.logo {
        padding: 34px 16px 30px;
    }

    #storeHeader td.logo img,
    #storeHeader td.logo #logo {
        display: block;
        width: 320px;
        max-width: 88vw;
        margin: 0 auto;
    }

    #storeHeader .headerContent {
        margin: 0;
        padding: 0 12px 12px;
    }

    #storeHeader .shortcuts {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: center;
        gap: 6px;
        margin: 0;
    }

    #storeHeader .shortcuts > a:not(:empty) {
        order: 2;
        flex: 0 0 auto;
        min-height: 40px;
        padding: 0 5px;
        border: 0;
        border-radius: 3px;
        line-height: 40px;
        font-size: 14px;
        box-sizing: border-box;
    }

    #storeHeader .shortcuts .search {
        order: 1;
        flex: 1 1 auto;
        min-width: 0;
        margin: 0;
    }

    #storeHeader .search > div[id$="_SearchPanel"] {
        display: flex;
        width: 100%;
        max-width: none;
        margin: 0 auto;
    }

    #storeHeader .search input.searchPhrase {
        flex: 1 1 auto;
        width: auto !important;
        min-width: 0;
        height: 42px !important;
        margin: 0;
        padding: 8px 10px !important;
        border: 1px solid #727272;
        border-radius: 3px 0 0 3px;
        box-sizing: border-box;
        font-size: 16px !important;
    }

    #storeHeader .search input.searchButton {
        flex: 0 0 auto;
        width: auto;
        min-width: 70px;
        height: 42px !important;
        margin: 0;
        padding: 0 10px;
        border-radius: 0 3px 3px 0;
        background: #05729f;
        color: #fff;
        line-height: 42px;
    }

    #storeHeader .bottomHeader,
    #storeHeader .socialMedia {
        display: none !important;
    }

    /* Primary navigation: compact two-column bar with a full-width,
       scrollable dropdown panel. :focus-within makes keyboard and touch
       activation work even when Superfish's hover state is unreliable. */
    #storeHeader td.topnavigation {
        position: relative;
        z-index: 2000;
    }

    #storeHeader ul#mainmenu {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        float: none !important;
        width: 100%;
        margin: 0 !important;
        padding: 4px;
        box-sizing: border-box;
        text-align: left;
    }

    #storeHeader #mainmenu > li {
        position: static;
        display: block;
        width: auto;
        margin: 0;
        border: 0;
    }

    #storeHeader #mainmenu > li > a {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 46px;
        height: auto !important;
        margin: 0 !important;
        padding: 7px 10px !important;
        border: 1px solid rgba(255, 255, 255, .22);
        box-sizing: border-box;
        line-height: 1.2 !important;
        text-align: center;
        white-space: normal;
    }

    #storeHeader #mainmenu > li > ul {
        display: none !important;
        position: absolute !important;
        top: 100% !important;
        right: 0 !important;
        left: 0 !important;
        width: 100% !important;
        max-width: none !important;
        max-height: 68vh;
        overflow-x: hidden;
        overflow-y: auto;
        margin: 0;
        padding: 6px 0;
        box-sizing: border-box;
        background: #05729f;
        box-shadow: 0 8px 14px rgba(0, 0, 0, .28);
        -webkit-overflow-scrolling: touch;
    }

    #storeHeader #mainmenu > li:focus-within > ul {
        display: block !important;
    }

    #storeHeader #mainmenu > li > ul > li {
        position: relative;
        display: block;
        width: 100% !important;
        max-width: none;
        border: 0;
        white-space: normal;
    }

    #storeHeader #mainmenu > li > ul a {
        min-height: 44px;
        height: auto;
        margin: 0 !important;
        padding: 11px 40px 11px 16px;
        box-sizing: border-box;
        line-height: 1.35;
        white-space: normal;
    }

    #storeHeader #mainmenu > li > ul > li > ul {
        display: none !important;
        position: static !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0;
        padding-left: 16px;
        box-sizing: border-box;
        box-shadow: none;
        background: #045f84;
    }

    #storeHeader #mainmenu > li > ul > li:focus-within > ul {
        display: block !important;
    }

    #storeHeader #mainmenu .sf-sub-indicator {
        right: 12px;
    }

    /* Superfish leaves the menu floated, which otherwise gives the navigation
       cell zero height and lets interior-page content slide underneath it. */
    #storeHeader td.topnavigation::after {
        content: "";
        display: table;
        clear: both;
    }

    /* Generic content pages place their title directly inside #mainPanel.
       Give those pages a deliberate break after the navigation without
       changing product headers or homepage feature content. */
    #mainPanel > h1:first-child {
        margin-top: 0 !important;
        padding-top: 32px !important;
        line-height: 1.25;
    }

    /* Book detail sequence: heading, cover/purchase panel, then descriptive
       tabs and related content. display:contents lets CSS reorder the existing
       sibling columns without requiring template or JavaScript access. */
    #productContent {
        display: flex;
        flex-direction: column;
        width: 100% !important;
        align-self: stretch;
        box-sizing: border-box;
    }

    #productLeft,
    #productRight {
        display: contents;
    }

    #productLeft > .productPageHeader {
        order: 1;
    }

    #productRight > * {
        order: 2;
    }

    #productLeft > * {
        order: 3;
    }

    #productLeft > .productPageHeader {
        order: 1;
    }

    #productContent .productPageHeader h1 {
        margin-left: 0;
        font-size: 24px;
        line-height: 1.2;
    }

    #productContent .productPageHeader h2 {
        line-height: 1.3;
    }

    #productContent .productImage,
    #productContent .productBelowAltFormat,
    #productContent #boxes,
    #productContent .proddet_cats {
        width: 100%;
        max-width: 420px;
        margin-right: auto;
        margin-left: auto;
        box-sizing: border-box;
    }

    #productContent .productImage {
        margin: 30px auto 34px;
        text-align: center;
    }

    #productContent .productImage img {
        display: block;
        width: auto;
        max-width: min(82vw, 320px);
        max-height: 62vh;
        margin: 0 auto;
        object-fit: contain;
    }

    #productRight > br,
    #productContent .addthis_toolbox {
        display: none !important;
    }

    #productContent .productBelowAltFormat {
        max-width: none;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: #fff;
        box-shadow: none;
        color: #333;
        font-size: 15px;
        line-height: 1.7;
    }

    #productContent .productBelowAltFormat > span[id$="_lbCaptionCSS"] {
        font-weight: 700;
        color: #333;
    }

    #productContent #boxes {
        max-width: none;
        margin-top: 20px;
        padding-top: 18px;
        border-top: 3px solid #cde3ec;
    }

    #productContent .productBold {
        font-size: 15px;
        line-height: 1.6;
    }

    #productContent .productBold .price {
        margin-left: 4px;
        color: #05729f;
        font-size: 27px;
        line-height: 1;
    }

    #productContent .productBold [id$="_phProductStatus"] {
        margin-top: 10px;
        padding: 3px 0 3px 10px;
        border-left: 4px solid #05729f;
        border-radius: 0;
        background: transparent;
        color: #333;
        font-weight: normal;
    }

    #productContent .addToCart,
    #productContent #PenguinPurchasePanel {
        display: block;
        width: 100%;
        margin: 16px 0 0;
    }

    #productContent .addToCart > div:empty,
    #productContent #PenguinPurchasePanel > br {
        display: none;
    }

    #productContent .addToCart a.button {
        display: block;
        width: 100% !important;
        min-height: 50px;
        margin: 0 0 22px;
        padding: 13px 18px;
        border: 2px solid #05729f;
        border-radius: 2px;
        box-sizing: border-box;
        background: #05729f !important;
        box-shadow: none;
        color: #fff !important;
        font-size: 18px;
        font-weight: 700;
        line-height: 1.2;
        text-align: center;
        text-decoration: none;
    }

    #productContent .addToCart a.button:hover,
    #productContent .addToCart a.button:focus {
        background: #045f84 !important;
        border-color: #045f84;
        text-decoration: none;
    }

    #productContent #PenguinPurchasePanel > span[id$="_OtherRetailersLabel"] {
        display: block;
        margin: 0 0 9px;
        padding-top: 16px;
        border-top: 3px solid #cde3ec;
        color: #05729f;
        font-size: 16px;
        font-weight: 700;
    }

    #productContent .addToCart a.buttonBuy {
        display: block;
        min-height: 44px;
        margin: 0;
        padding: 11px 4px;
        border: 0;
        border-bottom: 1px solid #cde3ec;
        border-radius: 0;
        box-sizing: border-box;
        background: transparent;
        color: #075f84;
        font-size: 14px !important;
        font-weight: 600;
        line-height: 1.4;
        text-align: left;
        text-decoration: none;
    }

    #productContent .addToCart a.buttonBuy::after {
        content: "›";
        float: right;
        margin-left: 10px;
        color: #05729f;
        font-size: 22px;
        line-height: .9;
    }

    #productContent .addToCart a.buttonBuy:hover,
    #productContent .addToCart a.buttonBuy:focus {
        border-color: #7ec1db;
        background: #edf6fa;
        text-decoration: underline;
    }

    #productContent span.alsoAvailableIn {
        display: block;
        margin-top: 22px;
        padding-top: 16px;
        border-top: 3px solid #cde3ec;
        color: #05729f;
        font-size: 16px;
    }

    #productContent table[id$="_AltFormatProducts"] {
        width: 100%;
        margin-top: 6px;
    }

    #productContent .alsoAvailable > a {
        display: inline-block;
        padding: 7px 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: #075f84;
        text-decoration: underline;
    }

    #productContent .proddet_cats {
        max-width: none;
        margin-top: 22px;
        padding-top: 18px;
        border-top: 3px solid #cde3ec;
    }

    #productContent .proddet_cats > span {
        display: block;
        margin-bottom: 7px;
        color: #05729f;
        font-size: 16px;
        font-weight: 700;
    }

    #productContent .proddet_cats ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    #productContent .proddet_cats li {
        margin: 0 0 7px;
        line-height: 1.4;
    }

    #productContent #product-tabs {
        margin-top: 24px;
    }

    /* Footer: preserve Beacon's blue field while shortening the long mobile
       scroll. The subject list becomes two balanced columns, followed by two
       supporting link groups and the address/legal copy. */
    #footer {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px 20px;
        width: 100% !important;
        margin: 0 0 24px;
        padding: 26px 20px 120px;
        border-top: 14px solid #cde3ec;
        box-sizing: border-box;
        background-color: #05729f;
        background-position: right 20px bottom 20px;
        background-size: 180px auto !important;
        color: #fff;
        font-size: 13.5px;
        line-height: 1.4;
    }

    #footer .footerDivider,
    #footer .footerLinks > img,
    #footerContact > img {
        display: none !important;
    }

    #footerContact,
    #footer .footerLinks {
        float: none !important;
        width: auto !important;
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    /* The footer's div sequence is contact, divider, Our List, divider,
       About, divider, Contact/Resources. */
    #footer > .footerLinks:nth-of-type(3) {
        grid-column: 1 / -1;
        order: 1;
    }

    #footer > .footerLinks:nth-of-type(5) {
        grid-column: 1;
        order: 2;
    }

    #footer > .footerLinks:nth-of-type(7) {
        grid-column: 2;
        order: 3;
    }

    #footerContact {
        grid-column: 1 / -1;
        order: 4;
        padding-top: 20px;
        border-top: 1px solid rgba(255, 255, 255, .38);
        font-size: 12px;
        line-height: 1.45;
    }

    #footer > .footerLinks > strong:first-child {
        display: block;
        margin-bottom: 9px;
        font-size: 14px;
        letter-spacing: .04em;
    }

    #footer .footerLinks ul {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 20px;
        row-gap: 0;
        width: 100%;
        margin: 0;
        padding: 0;
    }

    #footer .footerLinks li {
        min-width: 0;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    #footer .footerLinks a {
        float: none !important;
        display: block;
        width: auto !important;
        min-height: 32px;
        padding: 5px 0;
        box-sizing: border-box;
        color: #fff;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }

    #footer .footerLinks a:hover,
    #footer .footerLinks a:focus {
        color: #fff;
        text-decoration-thickness: 2px;
    }
}

/* iPhone/iPad Safari does not consistently retain :focus-within after a tap
   on the legacy href="#" menu triggers. On coarse, non-hover pointers Safari's
   sticky :hover behavior provides the expected first-tap-open interaction. */
@media screen and (max-width: 1015px) and (hover: none),
       screen and (max-width: 1015px) and (pointer: coarse) {
    #storeHeader #mainmenu > li:hover > ul,
    #storeHeader #mainmenu > li.sfHover > ul,
    #storeHeader #mainmenu > li:focus-within > ul {
        display: block !important;
    }

    #storeHeader #mainmenu > li > ul > li:hover > ul,
    #storeHeader #mainmenu > li > ul > li.sfHover > ul,
    #storeHeader #mainmenu > li > ul > li:focus-within > ul {
        display: block !important;
    }
}

/* AddThis was discontinued; its old static bookmark image now renders as a
   broken image on product pages. Remove that obsolete control everywhere. */
#product-tabs a.addthis_button {
    display: none !important;
}

@media screen and (min-width: 761px) and (max-width: 1015px) {
    #storeHeader ul#mainmenu {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    #storeHeader #mainmenu > li > a {
        min-height: 44px;
    }
}
