﻿.productDetailContainer
{
    max-width: 1000px;
    margin: 0 auto;
    padding: 15px;
    position: relative;
    /*box-shadow: 0 0.55rem 0.75rem rgb(0 0 0 / 20%);*/
}

.productDetailTopPane
{
    display: flex;
    /*align-items: center;*/
}

/* One Column */
.productDetailOneColumn
{
    text-align: center;
    width: 100%;
}

.productDetailBottomPane .productDetailOneColumn
{
    text-align: left;
}

.productDetailImageContainer
{
    margin-top: 10px;
}

/* Two Column */
.productDetailTwoColumn
{
    display: none;
}

/* Left Column */
.productDetailLeftColumn
{
    display: none;
    width: 45%;
    position: relative;
    margin-top: 25px;
    margin-right: 10px;
}

.productDetailLeftColumn img 
{
    max-width: 100%;
    /*position: absolute;*/
    /*left: 0;*/
    /*top: 0;*/
    /*opacity: 0;*/
    transition: all 0.3s ease;
    max-height: 450px;
    margin: auto;
    display: block;
}

.productDetailLeftColumn img.active 
{
    opacity: 1;
}

.productDetailLargeImage
{
    border: 1px solid #CCC;
    max-width: 100%;
    max-height: 600px;
}

.productDetailLargeImage.clickable:hover
{
    cursor: pointer;
}

.productDetailImageClickToZoomMessage
{
    display: none;
    color: #625b5b;
    font-size: 14px;
    justify-content: center;
    margin-top: 5px;
    width: 100%;
}

.productDetailAltImageListContainer
{
    list-style: none;
    padding-left: 0px;
    padding-top: 15px;
    display: inline-flex;
    justify-content: center;
    width: 100%;
}

.productDetailAltImageListContainer li
{
    padding-left: 5px;
    padding-right: 5px;
}

.productDetailAltImageListContainer li:hover
{
    cursor: pointer;
}

.productDetailAltImageListContainer .productDetailAltImage
{
    max-height: 100px;
    border: 1px solid #CCC;
}

/* Right Column */
.productDetailRightColumn
{
    display: none;
    width: 55%;
    margin-top: 30px;
}

/* Product Description */
.productDetailProductDescription 
{
    margin-bottom: 20px;
}

.productDetailProductDescription span 
{
    font-size: 20px;
}

.productDetailOneColumn .productDetailProductDescription span
{
    font-size: 24px;
}

.productDetailAuthorRow
{
    font-size: 0; /* eliminate white space between span elements */
    line-height: 18px;
}

.productDetailAuthorRow span.productDetailProductDescriptionAuthorName,
.productDetailAdditionalAuthorRow span,
.productDetailPublisherRow span
{
    font-size: 16px!important;
    color: #43484D;
}

.productDetailProductDescriptionAuthorName a
{
    color: #24557F;
    text-decoration: none;
    font-weight: bold;
    font-size: 15px;
}

.productDetailAuthorEditSpacer
{
    font-size: 16px!important;
}

.productDetailProductDescriptionAuthorAffiliation
{
    font-size: 16px!important;
    font-style: italic;
}

.productDetailAdditionalAuthorRow,
.productDetailPublisherRow
{
    padding-top: 10px;
}

.productDetailEditedByLabel
{
    display: inline-block;
    width: 100%;
    font-size: 16px!important;
    font-style: italic;
}

.productDetailProductDescriptionAuthorName 
{
    font-weight: 500;
}

.productDetailTitle
{
    font-weight: bold;
    color: #43484D;
    /*border-bottom: 1px solid #E1E8EE;*/
    margin-bottom: 5px;
    /*padding-bottom: 10px;*/
    line-height: 22px;
    display: inline-flex;
    flex-direction: row;
}

.productDetailTitleShareSpacer
{
    min-width: 40px;
    min-height: 40px;
    height: 40px;
    margin-right: -5px;
    margin-top: -15px;
}

.productDetailProductDescription p
{
    font-size: 16px;
    font-weight: 300;
    color: #86939E;
    line-height: 24px;
}

.productDetailBookTypeChoose,
.productDetailOptionChoose
{
    display: inline-flex;
    flex-direction: column;
    margin-bottom: 20px;
}

.productDetailBookTypeChoose button,
.productDetailBundleContainer button,
.productDetailGetPermissionsChooserModal button,
.productDetailOptionChoose button
{
    /*border: thin solid #E1E8EE;*/
    border: thin solid #86939E;
    border-radius: 3px;
    padding: 8px 20px;
    font-size: 24px;
    /*color: #5E6977;*/
    background-color: #fff;
    cursor: pointer;
    /*transition: all .5s;*/
    width: 200px;
    margin-bottom: 10px;
}

.productDetailOptionChoose button.unavailable
{
    border: 2px dashed #E1E8EE;
}

.productDetailBookTypeChoose button,
.productDetailBundleContainer button,
.productDetailGetPermissionsChooserModal button
{
    padding: 8px 20px;
}

.productDetailOptionChoose button
{
    padding: 8px 12px;
}

.productDetailBundleContainer button
{
    font-weight: bold;
    border-color: #86939E;
}

.productDetailBookTypeChoose button:hover,
.productDetailBookTypeChoose button:active,
.productDetailBookTypeChoose button:focus,
.productDetailBundleContainer button:hover,
.productDetailBundleContainer button:active,
.productDetailBundleContainer button:focus,
.productDetailGetPermissionsChooserModal button:hover,
.productDetailGetPermissionsChooserModal button:active,
.productDetailGetPermissionsChooserModal button:focus,
.productDetailOptionChoose button:hover,
.productDetailOptionChoose button:active,
.productDetailOptionChoose button:focus,
{
    border: thin solid #86939E;
    outline: none;
}

.productDetailOptionImageThumbnail
{
    padding: 5px 0px;
}

.productDetailBundleContainer button:hover
{
    outline: none;
    background-color: #EEEEEE;
}

.productDetailType
{
    /*border-bottom: 1px solid #E1E8EE;*/
    margin-bottom: 20px;
}

.productDetailPDFAndEPUBMessageContainer
{
    margin-bottom: 10px;
}

.productDetailPDFAndEPUBMessage
{
    font-style: italic;
    font-size: 15px;
}

/* Product Price */
.productDetailProductPrice
{
    display: flex;
    align-items: center;
    justify-content: center;
}

.productDetailProductPrice span
{
    font-size: 26px;
    font-weight: 300;
    color: #43474D;
    margin-right: 20px;
}

.productDetailCartBtn:hover,
.productDetailCartBtn:active,
.productDetailCartBtn:focus
{
    /*border: 2px solid #86939E;*/
    outline: none;
    text-decoration: none;
}

.productDetailCartBtn
{
    display: inline-block;
    background-color: #E87722;
    border-radius: 6px;
    font-size: 24px;
    color: #FFFFFF;
    text-decoration: none;
    padding: 12px 30px;
    /*transition: all .5s;*/
}

.productDetailCartBtn:hover
{
    background-color: #cf671e;
}

a.productDetailCartBtn
{
    color: #FFFFFF;
}

.productDetailCartBtn.disabled
{
    opacity: .6;
}

.productDetailCartBtn.disabled:hover
{
    background-color: #E87722;
    cursor: default;
}

.productDetailAvailableLabel,
.productDetailOptionLabel
{
    font-size: 24px;
    font-weight: bold;
}

.productDetailAvailableLabel
{
    border-top: 1px solid #E1E8EE;
    padding-top: 15px;
    padding-bottom: 15px;
    font-size: 24px;
    font-weight: bold;
    margin-top: 10px;
}

.productDetailOptionLabel
{
    padding: 10px 0px;
}

.productDetailBookTypeButton
{
    margin-right: 5px;
}

.productDetailBookTypeButton.active,
.productDetailBundleTypeButton.active
{
    background-color: #CDCDCD;
    border: thin solid #86939E;
    outline: none;
    /*font-weight: bold;*/
}

.productDetailCartItemContainer
{
    padding-bottom: 15px;
    font-size: 14px;
}

.productDetailAddToCartContainer,
.productDetailBundleAddToCartContainer
{
    display: none;
}

.productDetailAddToCartContainer.active,
.productDetailBundleAddToCartContainer.active
{
    display: inline-block;
    font-weight: bold;
}

.productDetailBundleAddToCartRateTableContainer
{
    width: 100%;
    align-content: center;
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
}

.productDetailBundleAddToCartRateTableContainer td
{
    text-align: left;
}

.productDetailOptionAddToContainer
{
    margin-bottom: 15px;
}

.productDetailAddToCart,
.productDetailAddToCartRate,
.productDetailAddToCartValue,
.productDetailAddToCartRateValue
{
    font-size: 18px!important;
}

.productDetailAddToCartRate,
.productDetailAddToCartValue,
.productDetailAddToCartRateValue
{
    font-weight: normal!important;
}

.productDetailAddToCartRateValue
{
    padding-left: 10px;
}

.productDetailAddToCartRateContainer
{
    padding-top: 10px;
}

.productDetailRightColumn .productDetailAddToCartRateContainer tr.productDetailAddToCartRow:not(:last-child)
{
    border-bottom: 1px solid #CCC;
}

.productDetailAddToCartRow.sale
{
    padding-top: 15px;
}

.productDetailAddToCartRow.sale .productDetailAddToCartRate,
.productDetailAddToCartRow.sale .productDetailAddToCartRateValue
{
    color: red;
    font-weight: bold !important;
}

.productDetailAddedToCartContainer.jmodal
{
    max-width: 400px;
    min-height: 300px;
}

.productDetailAddedToCartMessage
{
    font-weight: bold;
    text-align: center;
    width: 100%;
    padding-top: 45px;
    padding-bottom: 45px;
    display: none;
}

.productDetailAddedToCartMessage.success
{
    font-size: 20px;
}

.productDetailAddedToCartMessage.error
{
    font-size: 16px;
}

.productDetailAddedToCartBtnContainer
{
    justify-content: space-evenly;
    width: 100%;
    display: none;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.productDetailAddedToCartContinueBtn,
.productDetailAddedToCartCheckoutBtn,
.productDetailAddedToCartErrorOKBtn
{
    display: inline-block;
    border-radius: 6px;
    font-size: 15px;
    color: #FFFFFF;
    text-decoration: none;
    padding: 6px 15px;
}

.productDetailAddedToCartContinueBtn,
.productDetailAddedToCartCheckoutBtn
{
    margin-bottom: 10px;
}

.productDetailAddedToCartContinueBtn
{
    background-color: #98a4ae;
}

.productDetailAddedToCartCheckoutBtn
{
    background-color: #97d700;
}

.productDetailAddedToCartErrorOKBtn
{
    background-color: #d9465a;
}

a.productDetailAddedToCartContinueBtn,
a.productDetailAddedToCartCheckoutBtn,
a.productDetailAddedToCartErrorOKBtn
{
    color: #FFF;
}

a.productDetailAddedToCartContinueBtn:hover,
a.productDetailAddedToCartCheckoutBtn:hover,
a.productDetailAddedToCartErrorOKBtn:hover
{
    text-decoration: none;
    /*background-color: #5caaed;*/
}

.productDetailUnavailableContainer
{
    background-color: #CECECE;
    padding: 15px 25px;
    margin-top: 10px;
}

.productDetailExpectedPublicationRow
{
    margin-top: 10px;
}

.productDetailOutOfStockRow,
.productDetailExpectedPublicationRow
{
    /* margin-top: 10px; */
    font-weight: normal !important;
}

.productDetailOutOfStockRow span,
.productDetailExpectedPublicationRow span
{
    /*color: red !important;*/
    font-size: 14px !important;
}

.productDetailNoAvailableFormats
{
    display: none;
    font-size: 16px;
    font-style: italic;
    font-weight: bold;
}

.productDetailRevisionItemsWrapper
{
    /*display: none;*/
    padding-top: 15px;
}

.productDetailRevisionItem
{
    font-size: 16px !important;
    font-weight: bold;
}

.productDetailRevisionItem a
{
    /*color: #515151!important;*/
}

.productDetailFlagIconContainer
{
    /*text-align: center;*/
    /*width: 55%;*/
    padding-top: 10px;
}

.productDetailFlagIcon
{
    width: 85px;
    margin-right: 10px;
}

/* Cross Sell Pane */
.productDetailCrossSellHeader
{
    padding-top: 10px;
    display: inline-block;
}

/*.productDetailCrossSellPane
{
    position: relative;*/ /* Required for arrow keys to be absolutely positioned child divs inside menu-wrapper parent. */
    /*width: 100%;*/
    /*width: fit-content;*/
    /*max-width: 900px;*/
    /*max-width: 100%;
    height: 150px;*/ /* Intentionally shorter than menu items, to hide horizontal scroll bar. */
    /*margin: 5px auto;*/
    /*margin: 5px;
    border-top: 1px solid #DDDDDD;
    border-bottom: 1px solid #DDDDDD;*/
    /*overflow-x: hidden;*/
    /*overflow-y: hidden;
    display: flex;
    align-items: center;
    padding: 0 20px;*/ /* Inner space on the left and right sides of wrapper must match flexbox gap space between menu items. */
    /*box-sizing: border-box;
}*/

.productDetailCrossSellPane ul::-webkit-scrollbar
{
    display: none;
}

.productDetailCrossSellPane ul
{
    list-style: none;
    display: flex;
    flex-direction: row;
    align-items: center;
    max-height: 150px;
    padding-left: 5px;
    height: 150px;
    box-sizing: border-box;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    position: relative; /* Required for animation. */
    gap: 20px; /* Flexbox space between menu items must match the left/right padding of menu wrapper. */
    margin: 0;
}

.productDetailCrossSellPane ul li.productDetailCrossSellListItem
{
    /*background: #f3f3f3;*/ /* Weird - Visible items inherit this from .menu but not hidden items */
    /*width: 75px;*/
    /*height: 75px;*/
    /*outline: 1px dotted gray;*/
    /*box-sizing: border-box;*/
    /*border-radius: 5px;*/
    display: flex; /* Needed to center number in middle of menu item, solution # 1 of 3. */
    align-items: center; /* Needed to vertically center number in middle of menu item, solution # 2 of 3. */
    justify-content: center; /* Needed to horizontally center number in middle of menu item, solution # 3 of 3. */
}

.productDetailCrossSellPane .arrows
{
    display: flex;
    align-items: center;
}

.productDetailCrossSellPane .arrow
{
    position: absolute;
    height: 50px;
    border: none;
    background: #CCC;
    /* width: 3em; Excluding width means that arrow div will only be as wide as it needs to be to contain the < or > characters. */
}

.productDetailCrossSellPane .leftArrow
.productDetailCrossSellPane .rightArrow
{
    border-top: 1px solid #DDD;
    border-bottom: 1px solid #DDD;
}

.productDetailCrossSellPane .leftArrow
{
    left: 0;
    border-right: 1px solid #DDD;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
}

.productDetailCrossSellPane .rightArrow
{
    right: 0;
    border-left: 1px solid #DDD;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
}

.productDetailCrossSellPane .hidden
{
    display: none;
}

.productDetailCrossSellPane .productDetailSmallImage
{
    max-height: 140px;
    border: 1px solid #DDDDDD;
}

.productDetailCrossSellPane .productDetailSmallImage:hover
{
    outline: 4px solid #86b7fe;
    outline-offset: -4px;
}

/* End Cross Sell Pane*/

/* Cross Sell Pane - slick */
.slickContainer.productDetailCrossSellPane
{
    max-width: 100%;
    border-top: 1px solid #DDDDDD;
    border-bottom: 1px solid #DDDDDD;
    overflow-y: hidden;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    padding-left: 40px!important;
    padding-right: 40px!important;
    width: fit-content;
}

.slickContainer .productDetailCrossSellListItem
{
    max-width: 240px;
    width: 100%;
    align-items: center;
    padding: 20px;
}

.slickContainer.productDetailCrossSellPane .slick-prev
{
    left: 0px!important;
}

.slickContainer.productDetailCrossSellPane .slick-next
{
    right: 0px !important;
}
/* End Cross Sell Pane - slick */

/* Bottom Pane */
.productDetailBottomPane
{
    padding-top: 20px;
}

.productDetailAccordion
{
    padding-left: 0px;
}

.productDetailAccordionToggleContainer
{
    font-size: 22px;
    text-align: left;
}

.productDetailAccordionExpand,
.productDetailAccordionCollapse
{
    display: none;
}

.productDetailAccordionExpand.active,
.productDetailAccordionCollapse.active
{
    display: inline-block;
}

.productDetailAccordionExpand,
.productDetailAccordionCollapse
{
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 32px;
}


.productDetailAccordionExpand
{
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAABmJLR0QA/wD/AP+gvaeTAAAAzklEQVRoge3ROw7CMBCE4REFMrdNyb0okpwOGkYJFlYSx49dmF/azsV8MqCUUkoppVp26T1gR5sbrwAeAO71t2Q3AJgA3FIPiHi+zyJmwLJvRgITQ6xh1ghCQuqxVcwhBLOGyUIwK5hTCNYbUwTBemGKIlhrTBUEa4WpimC1MU0QrBamKYKVxnRBsFKYrgh2FmMCwXIxphDsKMYkgu3FmEawLYwLBEthXCFYADDic/j6RjhAsG8/4+Yn4mKMSwQjxjWCBfwAQimllFLqn3sB3HSxLkcapNkAAAAASUVORK5CYII=');
}

.productDetailAccordionCollapse
{
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAABmJLR0QA/wD/AP+gvaeTAAABeklEQVR4nO3bTWrDMBCA0dn2EiX0Ztn10C2hB+nPohlIS+LYjmzJ1nuglcEYfQy2Fo4AAAAAAAAAAAAAmnc4LxrwHBHvEfERES+Vn6V7GeP7vESp6H8MUSq6FUOUCu7FEGVFY2OIsoKpMURZ0CEiTnF70z/P69b1UzinFHNvMr4i4jUijjEcxaQUMDZGEmVBU2MkURYwN0YSpaBHYyRRCigVI4nygNIxkigzLBUjiTLB0jGSKCOsFSOJMmDtGEmUK2rFSKJcqB0jiRLtxEhdR2ktRuoySqsxUldRWo+RuoiylRhp11G2FiPtMspWY6RdRdl6jLSLKHuJkTYdZW8x0iaj7DVG2lSUvcdIm4jSS4zUdJTeYqQmo/QaIzUVpfcYqYkoYvxVNYoY11WJIsawVaOIMc4qUcSYZtEoYsyzSBQxHlM8ylAQMcYZilJsSsSY5lqUYu8RMea5jFLsS+stxHjEMX7/lS92FnkqdaOO2UMAAAAAAAAAAAD4ASnrxLUxw4sWAAAAAElFTkSuQmCC');
}

.productDetailAccordionHeader
{
    /*display: inline-block;*/
    width: 100%;
    /*padding: 5px;*/
    border-top: 1px solid #EEEEEE;
    /*line-height: 28px;*/
    /*vertical-align: middle;*/
    cursor: pointer;
    /*height: 38px;*/
}

.productDetailAccordionToggleContainer
{
    width: 100%;
    display: inline-block;
    padding-top: 8px;
    padding-bottom: 8px;
    padding-left: 8px;
    padding-right: 2px;
    margin-bottom: -5px;
}

.productDetailAccordionToggleContainer:hover
{
    background-color: #EEEEEE;
}

.productDetailAccordionLabel
{
    text-transform: uppercase;
    float: left;
    /*font-weight: bold;*/
}

.productDetailAccordionExpand,
.productDetailAccordionCollapse
{
    float: right;
}

.productDetailAccordionContent
{
    display: none;
    padding: 10px;
}

.productDetailAccordionContent.active
{
    display: inline-block;
    font-weight: normal !important;
}

.productDetailDescriptionRow
{
    line-height: 15px;
}

.productDetailDescription
{
    padding-top: 10px;
    display: inline-block;
}

.productDetailSeries,
.productDetailSubseries,
.productDetailBookInfoLabel
{
    font-size: 14px !important;
}

.productDetailSeries 
{
    display: inline-block;
}

.productDetailSeries,
.productDetailSubseries 
{
    font-weight: bold;
}

.productDetailBookInfoLabel,
.productDetailDescriptionCooperation 
{
    font-weight: normal !important;
}

.productDetailDescriptionCooperationRow :empty 
{
    display: none;
}

.productDetailDescriptionCooperation 
{
    /*padding-bottom: 10px;*/
    /*display: inline-block;*/
}

.productDetailTabContent
{
    padding: 20px;
    border-left: 2px solid #DDDDDD;
    border-bottom: 2px solid #DDDDDD;
    border-right: 2px solid #DDDDDD;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    position: relative;
    z-index: 10;
}

/*.productDetailTabContent ul
{
    padding-left: 5px;
}*/

.productDetailNav
{
    display: inline-flex;
    width: 100% !important;
    height: 48px;
    position: relative;
    z-index: 2;
}

ul.productDetailNav
{
    font-size: 12px;
    padding-left: 0px;
}

ul.productDetailNoList
{
    list-style: none;
}

ul.productDetailNav .active
{
    font-weight: bold;
}

.productDetailNav > li.productDetailAdditionalInfo
{
    float: left;
    line-height: 45px;
    padding-left: 10px;
    padding-right: 10px;
    border-left: 2px solid #DDDDDD;
    border-right: 2px solid #DDDDDD;
    border-top: 2px solid #DDDDDD;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    margin-bottom: -2px;
    margin-right: 2px;
    width: 130px!important;
    text-align: center;
    white-space: nowrap;
}

.productDetailNav > li.productDetailAdditionalInfo.wideTab
{
    width: 160px!important;
}

.productDetailNav > li.productDetailAdditionalInfo
{
    background-color: #DDDDDD;
}

.productDetailNav > li.rightButtons
{
    width: 100%;
}

.productDetailNav > li.rightButtons ul
{
    justify-content: flex-start;
    flex-direction: row-reverse;
    align-items: center;
}

.productDetailNav > li.productDetailAdditionalInfo.active
{
    background-color: #FFFFFF;
    border-bottom: 2px solid #FFFFFF;
}

.productDetailNav > li.productDetailAdditionalInfo.active:hover
{
    background-color: #FFFFFF !important;
    cursor: unset !important;
}

.productDetailNav > li.productDetailAdditionalInfo:hover
{
    background-color: #EEEEEE;
    cursor: pointer;
}

.productDetailNavTabs
{
    border-bottom: 2px solid #DDDDDD;
    margin-bottom: -2px;
}

.productDetailDescription,
.productDetailReadership
{
    font-weight: normal;
    font-size: 15px;
}

.productDetailSetHeader,
.productDetailIncludedInSetHeader
{
    font-weight: bold;
    font-size: 15px;
    margin-top: 5px;
}

.productDetailSetProductsPane ul,
.productDetailIncludedInSetPane ul
{
    list-style: none;
    font-size: 15px;
    padding-left: 5px;
}

.productDetailAwardRow
{
    font-weight: bold !important;
    padding-top: 10px;
}

.productDetailLevel0
{
    margin-left: 0px;
}

.productDetailLevel1
{
    margin-left: 20px;
}

.productDetailLevel2
{
    margin-left: 40px;
}

.productDetailLevel3
{
    margin-left: 60px;
}

.productDetailLevel4
{
    margin-left: 80px;
}

.productDetailLevel5
{
    margin-left: 100px;
}

.productDetailReadershipHeader
{
    font-weight: bold;
}

.productDetailTOCRow
{
    padding-top: 5px;
    padding-bottom: 5px;
}

.productDetailTOCRow span
{
    font-size: 12px;
    line-height: 18px;
    display: inline-block;
}

.productDetailTOC a
{
    text-decoration: none;
}

.productDetailReviewRow,
.productDetailReviewSourceRow
{
    padding: 5px;
    font-style: italic;
}

.productDetailReviewSourceRow
{
    text-align: right;
    margin-right: 20%;
    padding-bottom: 15px;
}

.productDetailReviewSource::before
{
    content: " -- ";
}

.productDetailRequestCopy
{
    float: right;
    padding: 10px;
    margin-left: 5px;
    border: thin solid #86939E;
    border-radius: 3px;
    cursor: pointer;
}

.productDetailRequestCopy.examDeskCopy
{
    /*display: none;*/
}

.productDetailRequestCopy:hover
{
    outline: none;
    background-color: #EEEEEE;
}

.productDetailFooterPane
{
    padding-top: 10px;
    display: flex;
    flex-direction: row-reverse;
}

/* share button */
.productDetailShareContainer
{
    padding: 20px;
}

.productDetailShareLinkContainer
{
    padding: 5px;
    margin-right: 10px;
    border: thin solid #E1E8EE;
    border-radius: 6px;
    position: absolute;
    right: 0px;
    top: 10px;
}

.productDetailShareLinkBtn
{
    content: ' ';
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAAEFklEQVRogdWay28bVRTGf2f8yCaGklRC6oKWJY8qEvwFFFqpiG5YZMOCtkllqcTOg0qEeDMIxaRS68SPRFh1HLpgw5ZFpZT2T0BFSmFJlAUSUh2SJkHK2DOHhZMQkti1PWOP+Zb2PUffN3d873fOsdBlmMkunXdEh1HeB87tfbwq8JPjOIXE6PDK4fXSeYonI5PJ9GzTO4sQBYwayxxFvy2XIuOmOWhBlwjIZDI920bvA5T3Ggx5bJV6L5vmoFVLaUexJZG5JsgDXAj37aSgC3ZgJrt03kGfUPu1qQXbEGPA9x1wRIdpnjxAQNUZ8l0Aygeth3LRfwHwWsuRwtluEGC3HKmorwLu5POngR0XKdaCXpFpBsnc/X7VSsyyZAx4ueVEqssdPUarxO3PRRhBibhMZxtiDHRkB5K5+/1QmQA7JhBBvciqC5MjV5+2VYCZKvSFQsYE2HFUaj3xDUXThsg7qlxpKLHqI2s9cgvadBObqUJfOGyMo8SBl2os21R0rlwx5szxaxv5fD5U2g3OIBIHaj1YG3TBKkVutcXMfbPw/SuObY0LOlqPOEpagj1zX9785K+jX96ev/eG7QSuo3oJkXNUb+lVgYcixuLkyNWnh9cfE3DMjwsOyqoIy+pQnIpf//Uk4lrZHUMYpfap8lyRtBEIz55EvFUcCGjQj1dQzfT3VCaj0WjZnF06FQo6Y0Ld4/A5QsaynFlzYnjdK+L/EdCsHxfhR0f1Z0FGgVM1Mm+pkimXnVQ7iO8jCFU/LqoN+3FVrghy8okhbIFmIZhKxD4tecSzJsSFHz+SiS1VciKBu1Mj7Se+j+DeD9YN+R2ERa3YycTYjT89Y9Yggm78OPBHOFweuBWNPvOMUZMwcOPHoddP8uD2vQfHExYuYABrLuL/3vP0vsEQeOgi/oxlhVaTuWJ6eu7eq56xagIynS68LYbxBAi4y+TPMSoA09nFeUFuepTx4CLrhBABMM0fwuH+7QfAhYaCushKGACmOWhZpd7LqMxTv0tQEeHu7rO1jxOxIdOqyOuKfgVsHlupRAQS4ZDxezJX/NpMFfraIeC4nc5995aqM6RwkWp720F1FZHlgGEXv/jsxm9HY7rCTnsBLwqaZKb4JugQIpcQzu7ZnM7OB1otKdet0G2FGLVLys7OB/aLehHiddooG4qmBXkX+KjB1AfzgY70hf5tq0jMg35QFSrzU/FrI//7xpYvA4791uILaukXQmDW1wnNnXz+tGWFfgHOtJhixfcRUzJb3KT2SVUfwlY3zAda5+D3fGAPbuqRNd8FuKpHVJd9F+A4ToHWxky2YQSKvgtIjA6vKJpvPrI6H/BdAEC5FBkHHjccoPrIKlXnA10hoIl6xAbNWuuRD7vqzx6HcUI9AnXmA/8AvpT7j6m2n4EAAAAASUVORK5CYII=);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 24px;
    height: 24px;
}

.productDetailShareModal
{
    max-width: 600px !important;
    min-height: 175px !important;
}

.productDetailShareInfo,
.productDetailGetPermissionsInfo
{
    font-size: 16px;
    padding-bottom: 20px;
    text-align: center;
}

.productDetailShareLinkInputContainer
{
    border: 1px solid #E1E8EE;
    font-size: 14px;
    border-radius: 4px;
    padding: 5px;
}

.productDetailShareLinkDisplay
{
    word-break: break-all;
}

.productDetailShareCopyToClipboardBtnContainer,
.productDetailGetPermissionsChooserContainer
{
    padding-top: 20px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.productDetailShareCopyToClipboardBtn
{
    border: 1px solid #E1E8EE;
    padding: 8px 15px;
    font-size: 14px;
    border-radius: 6px;
    background-color: #E1E8EE;
}

.productDetailShareLinkContainer:hover,
.productDetailShareCopyToClipboardBtn:hover
{
    background-color: #EEEEEE;
    cursor: pointer;
}

.productDetailShareCopyToClipboardSuccess
{
    display: none;
    text-align: center;
}

.productDetailShareCopyToClipboardSuccessMessage
{
    font-size: 14px;
    color: #270;
    background-color: #DFF2BF;
    border-radius: 6px;
    padding: 8px 15px;
}

.productDetailBundleContainer
{
    margin-top: 15px;
    padding: 10px;
    box-shadow: 0 0rem 0.75rem rgb(0 0 0 / 20%);
    border-radius: 5px;
    text-align: center;
}

span.productDetailBundleHeader
{
    font-weight: bold;
    font-size: 16px;
}

.productDetailBundleInfoContainer
{
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    border: 1px solid #E1E8EE;
    font-size: 13px;
    margin-top: 5px;
    padding: 10px;
    position: relative;
    width: 100%;
}

span.productDetailBundleInfo
{
    font-size: 13px;
}

.productDetailBundleContainer button.showOptions
{
    padding: 8px 10px;
    margin-top: 10px;
}

.productDetailBundleContainer button.hideOptions
{
    width: 24px;
    margin: 10px;
    position: absolute;
    top: 0px;
    right: 0px;
    display: inline-block;
    padding: 1px 4px;
}

.productDetailBundleOptions
{
    display: none;
    margin-top: 10px;
}

.productDetailBundleOptionsBookType
{
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 0;
}

.productDetailBundleTypeButton
{
    width: 240px!important;
    margin: 5px;
}

.productDetailImageZoomModal
{
    /*display: inline-flex;*/
    justify-content: center;
    width: auto;
    max-width: unset!important;
}

.productDetailImageZoomContainer,
.productDetailImageZoomContainer img
{
    max-height: 750px;
    overflow: hidden;
}

.productDetailImageZoomContainer img
{
    border: 1px solid #CCC;
}

.productDetailGetPermissionsChooserModal
{
    max-width: 400px;
    min-height: 165px;
}

.productDetailGetPermissionsInfo
{
    padding-top: 20px;
}

/* product detail specific modal classes begin */
.jmodal.success .productDetailAddedToCartMessage.success,
.jmodal.error .productDetailAddedToCartMessage.error
{
    display: inline-block;
}

.jmodal.success .productDetailAddedToCartBtnContainer.success,
.jmodal.error .productDetailAddedToCartBtnContainer.error
{
    display: inline-flex;
}
/* product detail specific modal classes end */

/* product detail specific loading panel classes begin */
.productDetailLoadingPanel
{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: .6;
    background-color: #EEEEEE;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: inherit;
    z-index: 9999;
}

.productDetailLoadingPanel.containedToParent
{
    position: absolute;
}

.productDetailLoadingPanel.hideContents
{
    opacity: 1;
    z-index: 100;
}

.productDetailLoadingPanel.hidden
{
    display: none;
}

.productDetailImageLoaderContainer
{
    text-align: center;
    position: relative;
}

.productDetailNotPointsEligible
{
    font-size: 13px;
    font-style: italic;
    padding-top: 10px;
}

.productDetailGroupedFormats .productDetailTypeContainer
{
    padding-top: 15px;
    border-top: 1px solid #E1E8EE;
    margin-top: 10px;
}

.productDetailGroupedFormats .productDetailBundleItemMessage
{
    font-size: 13px;
    padding: 10px 10px;
    background-color: #0057b8 !important;
    margin-top: -5px;
    color: white;
    width: fit-content;
    border-radius: 3px;
    margin-bottom: 10px;
    opacity: .8;
    font-style: italic;
    font-weight: bold;
}

.productDetailGroupedFormats .productDetailBookTypeButton
{
    width: fit-content!important;
}

.productDetailGroupedFormats .productDetailAddToCartRateValue.strike
{
    text-decoration: line-through;
    font-size: 13px!important;
    color: #666!important;
}

.productDetailRequestHeader
{
    font-weight: bold;
    font-size: 14px;
}

.productDetailRequestRow:not(:first-child)
{
    margin-top: 15px;
}

.productDetailRequestDescription
{
    font-size: 14px;
}

/* product detail specific loading panel classes end */
/* Responsive - using bootstrap screen buckets */
/* Extra small devices (smaller phone viewpoints) */
@media print, screen and (min-width: 320px)
{
    .container
    {
        max-width: 960px !important;
    }
}

/* Extra small devices (small devices and most phones) */
@media print, screen and (min-width: 480px)
{
}

/* Medium devices (most tablets) */
@media print, screen and (min-width: 768px)
{
    .productDetailOneColumn
    {
        display: none;
    }

    .productDetailLeftColumn,
    .productDetailRightColumn,
    .productDetailTwoColumn
    {
        display: unset;
    }

    .productDetailPDFAndEPUBMessage
    {
        font-size: 12px;
    }

    .productDetailProductPrice
    {
        justify-content: left;
    }

    .productDetailAvailableLabel,
    .productDetailOptionLabel
    {
        font-size: 16px;
    }

    .productDetailBookTypeChoose,
    .productDetailOptionChoose
    {
        display: unset;
        margin-bottom: 20px;
    }

    .productDetailBookTypeChoose button,
    .productDetailBundleContainer button,
    .productDetailGetPermissionsChooserModal button
    {
        font-size: 14px;
        width: 120px;
    }

    .productDetailOptionChoose button
    {
        font-size: 11px;
        width: 80px;
    }

    .productDetailAddToCart,
    .productDetailAddToCartRate,
    .productDetailAddToCartValue,
    .productDetailAddToCartRateValue
    {
        font-size: 14px !important;
    }

    .productDetailCartBtn
    {
        font-size: 16px;
    }

    .productDetailAddedToCartBtnContainer
    {
        flex-direction: row;
    }

    .productDetailCrossSellPane
    {
        overflow-x: hidden;
    }

    .productDetailChelImprintMessage
    {
        font-size: 14px !important;
    }

    .productDetailImageClickToZoomMessage.active
    {
        display: inline-flex;
    }
}

/* not device-specific, handling header  */
@media only screen and (min-width: 840px)
{
    
}

/* Large devices (smaller desktop viewpoints) */
@media print, screen and (min-width: 992px)
{
    .productDetailContainer
    {
        box-shadow: 0 0.75rem 0.75rem rgba(0, 0, 0, 0.3);
    }
}

/* Extra large devices (large devices and wide screens) */
@media print, screen and (min-width: 1200px)
{
}

/* everything below was initial attempt at mobile friendly, needs to be revisited */
@media (max-width: 1000px)
{
    .productDetailContainer
    {
        flex-direction: column;
        /*margin-top: 60px;*/
    }

    .productDetailLeftColumn,
    .productDetailRightColumn
    {
        width: 100%;
    }

    .productDetailLeftColumn img
    {
        max-width: 300px;
        right: 0;
        top: -65px;
        left: initial;
    }

    /*.productDetailFlagIconContainer
{
	text-align: left;
	width: 100%;
}*/
}

@media (max-width: 535px)
{
    .productDetailLeftColumn img
    {
        width: 220px;
        top: -85px;
    }
}

@media print
{
    @page
    {
        size: 330mm 427mm;
        margin: 14mm;
    }
}