/* #CybotCookiebotDialog { top: auto !important; left: 1rem !important; bottom: 1rem !important; transform: none !important; } */
#CybotCookiebotDialogBodyContent { padding: .5rem 0 .25rem 0 !important; }
#CybotCookiebotDialogHeader, #CybotCookiebotDialogBodyFieldsetInnerContainer > div:nth-child(2) { display: none !important; }
#CybotCookiebotDialogFooter .CybotCookiebotDialogBodyButton { padding: .5rem !important; }
#CybotCookiebotDialogBodyLevelButtonsSelectPane .CybotCookiebotDialogBodyLevelButtonWrapper { padding: .5rem 0 .75rem 0 !important; }
#CybotCookiebotDialog.CybotEdge .CybotCookiebotDialogBodyBottomWrapper { margin-top: 0 !important;}
@media(max-width: 1280px) {
    body #CybotCookiebotDialog { width: 100%; max-width: 100%; top: auto; left: 0; bottom: 0; transform: none; border-top: 1px solid #aaa; border-radius: 0; }
    body #CybotCookiebotDialog .CybotCookiebotDialogBodyContentHeading { padding: 0 1rem; font-size: .75rem; }
}
@media(max-width: 600px) {
    body #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyButtonsWrapper { flex-direction: row; gap: 1rem; }
    body #CybotCookiebotDialogBodyButtons .CybotCookiebotDialogBodyButton:not(:first-of-type) { margin-top: 0; }
    body #CybotCookiebotDialog .CybotCookiebotDialogBodyContentHeading { padding: 0 .5rem; }
    body #CybotCookiebotDialog.CybotEdge #CybotCookiebotDialogBodyEdgeMoreDetails { margin: .5rem 2rem .5rem 0; }
    body .CybotCookiebotDialogBodyBottomWrapper { display: none; }
}

.mb1 { margin-bottom: .5rem; }  .mb2 { margin-bottom: 1rem; }  .mb3 { margin-bottom: 1.5rem; }  .mb4 { margin-bottom: 2rem; }
.mt1 { margin-top: .5rem; }  .mt2 { margin-top: 1rem; }  .mt3 { margin-top: 1.5rem; }  .mt4 { margin-top: 2rem; }
.center { text-align: center; }

.frame #site-header, .frame .footer-subscribe, .frame #site-footer { display: none !important; }

#custcol_autoship_frequency-container { display: none; }
.visible-us-pat #custcol_autoship_frequency-container { display: block; }

.header-ca-link a { font-size: 10px;line-height: 14px; }
.header-ca-link .dk { display: inline-block;max-width: 200px;margin-top:-3px;vertical-align: middle;text-align: left; }

.header-promo-message-wrapper { background-color: #0B2545; }
.header-messages { position: relative; overflow: hidden;}
.header-messages > div { opacity: 0; position: absolute; width: 100%; transition: opacity .4s ease; }
.header-messages > div.active { opacity: 1; position: relative; }
.header-messages-prev, .header-messages-next { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; border: 0; background: none; padding: 5px; cursor: pointer; font-size: 20px; line-height: 1; }
.header-messages-prev { left: 5px; }
.header-messages-next { right: 5px; }

.hide-public .anon-only { display: none; }

.dosing-table tr:nth-child(even) td { background-color: #EAF4E6; }

.cta-green { color: #fff; border: 0; background: #8AAE3C; }
.link-btn { display: inline-block; padding: .5rem 1rem; color: #fff !important; background: #005596; }
.link-btn:hover { background: #1065a6; }

.home-product-feature-content { color: #fff; }

.supplement-facts .organic-icon { display: none; }

.nav-top-border { border-top: 1px solid #aaa; padding-top: .5rem; }


/* temporary to allow test transactions but not display the prod */
.facets-items-collection-view-row:has([data-sku="RF-1177-TEST"]),
div.facets-item-cell-table[data-item-id="1266"] { display: none; }

/* accessibility */
.facets-item-cell-table-description, .item-relations-related-item-description,
.product-line-sku-label, .product-line-sku-value, .product-views-price-package-size { color: #595959; }
#back-to-top { background: #1A6DAD; }
.product-details-testimonial-detail:nth-of-type(odd) .product-details-testimonial-detail-inner { background-color: #47799E; }
.product-details-full-supplements .product-details-supplements-detail.ingredients-science a,
.facets-faceted-navigation-item-category-facet-optionlist.category-level2 .option-active { color: #1C76BA; }
.product-details-full-content div[role="tab"] h2 { font-size: 1.5rem; }

/* new PLP template updates */
.product-details-full.product-details-full-alternate .product-details-full-formulation-features .product-details-full-formulation-features-text h3 { margin: 2rem 0 1rem 0; font-size: 1.25rem; }
.product-details-summary h2 { font-size: 1rem; color: #000; font-weight: normal; line-height: 1.625rem; }
.product-details-full-extra-content { display: flex; justify-content: center; align-items: center; padding-bottom: 4rem; }
.product-details-full.product-details-full-alternate .product-details-full-extra-content .product-details-full-extra-content-detail { padding: 1rem 1.5rem; background: #f7f7f7; }
.product-details-full.product-details-full-alternate .product-details-full-extra-content .product-details-full-extra-content-title { font-size: 1.25rem; color: #005596; text-align: center; }
.product-details-full.product-details-full-alternate .product-details-full-extra-content .product-details-full-extra-content-detail img { display: block; width: auto; height: 192px; margin: 1rem auto; mix-blend-mode: multiply; }


.webinar-klaviyo-form { max-width: 600px; margin: 24px auto 0 auto; }
.webinar-klaviyo-form .klaviyo-form { border: 1px solid #ddd !important; background: #eee !important; }
.webinar-klaviyo-form #downshift-0-menu { max-height: 1000px !important; background-color: #fff !important; }
.webinar-klaviyo-form #downshift-0-menu div { background-color: rgba(255,255,255,1) !important; }
.webinar-klaviyo-form [data-testid] + [data-testid] [component] div { background: #fff !important; }

.footer-main-nav-list .footer-main-nav-section-content a { display: inline-block; padding: .25rem 0; }
.footer-content-divider, .footer-main-logos { display: none; }
.footer-subscribe { display: block; margin: -36px auto 36px auto; padding: 8px 16px; background: #288822; color: #fff; }
.footer-subscribe.mobile { display: none; margin-bottom: 24px; }
.footer-subscribe-wrapper { margin-bottom: 24px; padding: 24px 0; border-bottom: 1px solid #ccc; }
@media(max-width: 991px) {
	.footer-subscribe { margin: 24px auto 0 auto; }
	.footer-subscribe.desktop { display: none; }
	.footer-subscribe.mobile { display: block; }
}


.new-starburst { position: relative; }
.new-starburst:after { content: 'NEW!'; position: absolute; right: 100%; top: -1rem; margin-right: 1.5rem; display: block; color: #444; background: #FFB84D;
                       padding: 2.25rem 1.25rem; border-radius: 50%; font-size: 1.5rem; transform: rotate(-15deg); }

.cct-custom-layout-wrapper .checklist { list-style: none; padding: 0; margin: 0; color: inherit; }
.cct-custom-layout-wrapper .checklist li { position: relative; padding-left: 1.5em; list-style: none; color: inherit;
                                            background: url('//content.restorativeformulations.com/src/img/checkmark-white.png') no-repeat; }

.home-featured-webinar .cct-custom-layout-row { padding-top: 0; }

@media(min-width: 992px) {
    .cct-html-carousel-wrapper {
        padding-bottom: 0;
    }
}


.home-features-section .checklist { margin: 1.5rem 0 2rem 0; }
.home-features-section .checklist li { padding: .125rem 0 .125rem 2.25rem; font-size: 1.5rem; background-position: 0 4px; background-size: 24px; }

.home-features-section-top { margin-bottom: 2rem; }
.home-features-section-top .home-feature-title-major { font-size: 46px; }
.home-features-section-top .cct-custom-layout-row { align-items: stretch; }
@media(max-width: 1150px) {
    .home-features-section-top .new-starburst:after { right: auto; left: 100%; margin-right: 0; margin-left: 1.5rem; }
    .home-features-section-top .home-feature-title-major { font-size: 36px; }
}
@media(max-width: 47rem) {
    .home-features-section-top .new-starburst:after { right: 0; left: auto; margin-right: -1.5rem; padding: 1.25rem .5rem; font-size: 1rem; }
}




.home-feature-category { color: #fff; background-color: #005795; }
.home-feature-category .cct-custom-layout-row { padding: 0; }
.home-feature-category .cct-custom-layout-row > div { display: flex; gap: 4rem; align-items: center; justify-content: center; }
.home-feature-category .cct-custom-layout-row > div > div:first-child { flex: 1;}
.home-feature-category .cct-custom-layout-row > div > div:last-child { flex: 2;}
.home-feature-category .cct-custom-layout-row h2 { margin-bottom: 2rem; line-height: 1.375em; color: inherit;}
.home-feature-category .cct-custom-layout-row h2 span { display: block; font-size: 1.125em; text-transform: uppercase; }
@media(max-width: 1023px) {
    .home-feature-category .cct-custom-layout-row { padding-bottom: 0; }
    .home-feature-category .cct-custom-layout-row > div { gap: 2rem; }
    .home-feature-category .cct-custom-layout-row > div > div { text-align: center; }
    .home-feature-category .cct-custom-layout-row > div > div:first-child { padding: 2rem; }
    .home-feature-category .cct-custom-layout-row > div { flex-direction: column; }
}

/* PLP */
.facets-facet-browse-header { position: relative; }
.facets-item-cell-list-left { padding-bottom: 1rem; }
.facets-item-cell-list-right .itembadges-container-top-left { position: static; }

/* PDP */
/* for product badge */
.product-details-full-content svg[aria-label=Organic] rect { width: 96px; }
.product-details-full-content svg[aria-label=Organic] text { transform: translate(8px, 0px); }
.product-details-full-content svg[aria-label=Coming-Soon] rect { width: 128px; }
.product-details-full-content svg[aria-label=Coming-Soon] text { transform: translate(8px, 0px); }
.product-details-full-content svg[aria-label=New] rect { width: 56px; }
.product-details-full-content svg[aria-label=New] text { transform: translate(4px, 1px); }
.product-details-full-content svg[aria-label=NeuroSynergy-Series] rect { width: 200px; }
.product-details-full-content svg[aria-label=NeuroSynergy-Series] text { transform: translate(14px, 1px); }

.product-details-summary ul ul { margin: .5rem 0 1rem 0 !important; }
.product-details-full-us .product-details-summary li:has(ul):after { content: none; }

.product-details-health-benefits-detail-icon.metabolism, .product-details-health-benefits-detail-icon.glucose-metabolism { background-image: url(https://www.restorativeformulations.com/secure/extensions/Intente/Restorative_Formulations_21_1_0/21.1.0/img/hormone-metabolism.jpg); }
.product-details-health-benefits-detail-icon.stress-modulation, .product-details-health-benefits-detail-icon.cognitive-performance, .product-details-health-benefits-detail-icon.mood-motivation,
.product-details-health-benefits-detail-icon.relaxation-sleep-mood { background-image: url(https://www.restorativeformulations.com/sca-dev-2024-2-0/extensions/Intente/Restorative_Formulations_21_1_0/23.2.1/img/memory-mood-stress.jpg); }
.product-details-health-benefits-detail-icon.healthy-aging { background-image: url('https://www.restorativeformulations.com//site/restorativeformulations/pdf/double-helix.jpg'); }

.cart-add-to-cart-button .cart-add-to-cart-button-button { background: #218721; transition: background-color .5s; }
.cart-add-to-cart-button .cart-add-to-cart-button-button:hover { background: #2E8B57; }

.product-details-full-product-info-pdf .product-details-full-product-info-pdf-link { padding: 8px 12px 11px 12px; box-sizing: content-box; background: #005596; font-size: .825rem; color: #fff; }

.product-details-full-us .product-details-full-formulation-features-text>p:not(:empty):after { content: "*"; margin-left: 4px; }
.product-details-full-formulation-features-text h4 { margin-bottom: .5rem;}

#product-details-full-form { display: flex; flex-direction: column; }
section[data-view="Product.Options"] { order: 1; }

.product-details-full-us .product-details-full-formulation-features-text .form-feature-ingredients li:after { content: none; }
.form-feature-ingredients li { margin: 0 0 1rem 0; }
.form-feature-ingredients h3, .form-feature-ingredients p { display: inline; font-size: .875rem; color: inherit; }
.form-feature-ingredients h3:after { content: "\2014"; display: inline-block; margin: 0 .25rem; font-weight: normal; }
.form-feature-ingredients p:after { content: "*"; }
p.all-prod-formula-msg { margin-top: 2rem; }

.patient-account-find-link { display: none; }

/* banner ad */
.header-promo-banner-ad { color: #fff; background-color: #0c3769; }
.header-promo-banner-ad .container { display: flex; gap: 2rem; align-items: center; justify-content: center; padding: 1rem; }
.header-promo-banner-ad .container > div:first-child { position: relative; }
.header-promo-banner-ad p { color: inherit; }
.header-promo-banner-ad p:first-child { font-size: 2rem; line-height: 1.375em; }
.header-promo-banner-ad p + p { font-size: .875rem; font-weight: 600; color: #80A4C6; }
.header-promo-banner-ad p strong { color: #2DB96E; }
.header-promo-banner-ad .button { padding: .375rem 1rem; font-size: .875rem; line-height: 1.5em; color: #fff; border-radius: .5rem; background-color: #2A8463; text-transform: uppercase; white-space: nowrap; }
.header-promo-banner-ad .button:hover { background-color: #1A7453; }
.header-promo-banner-ad .badge { position: absolute; top: 0; right: 0; font-size: .75rem; padding: 4px 12px; letter-spacing: 1px; color: #0c3769; background: #f6c93c; border-radius: 4px; animation: pulse 2s infinite; z-index: 10; pointer-events: none; }
@media (max-width: 800px) {
    .header-promo-banner-ad { margin-top: .75rem; }
    .header-promo-banner-ad .container { flex-direction: column; gap: 1rem; padding: 0 2rem .5rem 2rem; text-align: center; }
    .header-promo-banner-ad p:first-child { font-size: 1.125rem; }
    .header-promo-banner-ad p + p { margin-top: .25rem; font-size: .75rem; line-height: 1.375em; }
    .header-promo-banner-ad .button { font-size: .875rem; }
    .header-promo-banner-ad .badge { top: -1.875rem; left: 50%; right: auto; margin-left: -26px; }
}
@media (max-width: 450px) {
    .header-messages { overflow: visible; }
    .header-messages-prev { left: -.5rem; }
    .header-messages-next { right: -.5rem; }
    .header-promo-message p { font-size: .75rem;}
}
@keyframes pulse {
    0% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(246, 201, 60, 0.7);
    }
    70% {
        transform: scale(1);
        box-shadow: 0 0 0 6px rgba(246, 201, 60, 0);
    }
    100% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(246, 201, 60, 0);
    }
}


/* cart */
.cart-summary-button-proceed-checkout { display: block; }
.cart-sidebar-product { margin: 3rem 0; text-align: center; }
.cart-sidebar-product h3 { margin-bottom: 1rem; font-size: 1.25rem;  font-weight: normal; }
.cart-sidebar-product img { max-width: 128px; }
.cart-sidebar-product a.button { display: block; max-width: 8rem; margin: .5rem auto; padding: .375rem .5rem; color: #fff; background: #005596; }

div[data-view="CustomFields.Group"] { display: flex; gap: 2rem; }
#custom-fields-checkout-custbody_autoship_freq_30, #custom-fields-checkout-custbody_autoship_freq_60 { display: none; } /* hide until auto-ship checked */

#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden; }
#cboxWrapper {max-width:none;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
#cboxTitle{margin:0;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
#colorbox, #cboxContent, #cboxLoadedContent{ box-sizing:content-box; }

#cboxOverlay{background:#000; opacity: 0.9; filter: alpha(opacity = 90);}
#colorbox{outline:0;}
    #cboxContent{margin-top:32px; overflow:visible; background:#000;}
        .cboxIframe{background:#fff;}
        #cboxError{padding:50px; border:1px solid #ccc;}
        #cboxLoadedContent{background:#000; padding:1px;}
        #cboxLoadingGraphic{background:url(images/loading.gif) no-repeat center center;}
        #cboxLoadingOverlay{background:#000;}
        #cboxTitle{position:absolute; top:-22px; left:0; color:#000;}
        #cboxCurrent{position:absolute; top:-22px; right:205px; text-indent:-9999px;}

        /* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
        #cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; text-indent:-9999px; width:20px; height:20px; position:absolute; top:-20px; background:url(images/controls.png) no-repeat 0 0;}

        /* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
        #cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}

        #cboxPrevious{background-position:0 0; right:44px;}
        #cboxPrevious:hover{background-position:0 -25px;}
        #cboxNext{background-position:-25px 0; right:22px;}
        #cboxNext:hover{background-position:-25px -25px;}
        #cboxClose{background-position:-50px 0; right:0;}
        #cboxClose:hover{background-position:-50px -25px;}
        .cboxSlideshow_on #cboxPrevious, .cboxSlideshow_off #cboxPrevious{right:66px;}
        .cboxSlideshow_on #cboxSlideshow{background-position:-75px -25px; right:44px;}
        .cboxSlideshow_on #cboxSlideshow:hover{background-position:-100px -25px;}
        .cboxSlideshow_off #cboxSlideshow{background-position:-100px 0; right:44px;}
        .cboxSlideshow_off #cboxSlideshow:hover{background-position:-75px -25px;}


@media (min-width: 992px) {
    .all-prod-under-breadcrumb .ndnr-award {
        top: -118px;
    }
}


.rf-popup-overlay { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh;
background-color: rgba(0, 0, 0, 0.75);
display: flex; align-items: center; justify-content: center; z-index: 999999;
padding: 1rem; box-sizing: border-box; animation: rfFadeIn 0.25s ease-out; }

/* 2. Modal Card Base */
.rf-popup-card { position: relative; max-width: 520px; width: 100%;
    background: #ffffff; padding: 40px 32px 32px 32px; border-radius: 12px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
    text-align: center; box-sizing: border-box; animation: rfSlideUp 0.3s cubic-bezier(0.16, 1, 0.3, 1); }

/* 3. Top-Right "X" Close Button */
.rf-popup-close-x { position: absolute; top: 16px; right: 16px; background: transparent; border: none;
    font-size: 1.5rem; color: #888; cursor: pointer; line-height: 1; padding: 4px; border-radius: 50%;
    transition: color 0.2s, background-color 0.2s; }

.rf-popup-close-x:hover { color: #111; background-color: #f0f0f0; }

/* Entrance Animations */
@keyframes rfFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes rfSlideUp {
    from {
        opacity: 0;
        transform: translateY(20px) scale(0.97);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.rf-popup-logo {margin-bottom: 1rem;}
.rf-popup-title {color: #1e5c54;font-size: 3.25rem;margin: 0 0 .5rem 0;line-height: 1;text-transform: uppercase;letter-spacing: 0;transform: scale(.85, 1.15);}
.rf-popup-subtitle { color: #212529;font-size: 1.5rem;margin: 0 0 2.5rem 0;line-height: 1;text-transform: uppercase;letter-spacing: 0;transform: scale(.85, 1.15);}
.rf-popup-card a.button { display: inline-block; margin-bottom: 2rem; padding: .5rem 1rem; background-color: #1e5c54;color: #ffffff; font-size: 22px; }
.rf-popup-card a:hover {background-color: #16433d;}
.rf-popup-card small { display: block; font-size: .875rem; font-weight: bold; color: #8e969d; text-transform: uppercase; letter-spacing: 0;transform: scale(.85, 1.15);}
/*
.rf-popup-form-group {text-align: left;margin-bottom: 20px;}
.rf-popup-form-label {display: block;font-size: 14px;font-weight: 600;color: #556068;margin-bottom: 8px;}

.rf-popup-input-text {width: 100%;padding: 14px 16px;border: 1px solid #cfd7de;border-radius: 8px;font-size: 15px;color: #333333;outline: none;box-sizing: border-box;transition: border-color 0.2s;}
.rf-popup-input-text::placeholder {color: #9aa5b1;}
.rf-popup-input-text:focus {border-color: #1e5c54;}

.rf-popup-physician-row {display: flex;align-items: center;justify-content: space-between;margin-bottom: 24px;}
.rf-popup-radio-group {display: flex;gap: 12px;}
.rf-popup-radio-btn {display: inline-flex;align-items: center;justify-content: center;padding: .5rem 1.25rem;border: 1px solid #cfd7de;border-radius: 20px;font-size: 14px;font-weight: 500;color: #333333;cursor: pointer;user-select: none;}
.rf-popup-radio-btn input {margin-right: 8px;accent-color: #1e5c54;cursor: pointer;top: 4px;}

.rf-popup-submit-btn {width: 100%;background-color: #1e5c54;color: #ffffff; font-size: 22px; padding: 14px;border: none;border-radius: 8px;cursor: pointer; font-weight: bold; letter-spacing: 1px;transform: scale(.85, 1.15);text-transform: uppercase;transition: background-color 0.2s;}
.rf-popup-submit-btn:hover {background-color: #16433d;}
*/

.rf-popup-close-link {display: inline-block;margin-top: 1.5rem;color: #6c757d;font-size: 14px;text-decoration: underline; cursor: pointer; background: none; }
.rf-popup-close-link:hover { color: #333333; }

@media(max-width:600px){
    .rf-popup-card { padding: 1rem; }
    .rf-popup-title { font-size: 2.5rem; }
    .rf-popup-subtitle { font-size: 1.25rem; }
    .rf-popup-submit-btn { padding: .5rem 1rem;}
    .rf-popup-form-label { text-align: left; }
    .rf-popup-radio-btn { padding: .5rem 1rem; }
}