img:not([src]):not([ng-src])[hide-on-error] {
    display: none !important;
    text-indent: -9999px
}

.maplibregl-ctrl-top-right {
    top: calc(2rem + 100px) !important;
    right: 2rem !important;
}

body.in-iframe .where-to-buy-content {
    position: relative;
    height: 100%;
}

.product-search-container {
    margin: 1rem auto;
}

.product-search-label {
    font-size: 1rem;
    margin-bottom: 0.5rem;
}

.product-search-input-group {
    display: flex;
    align-items: center;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: white;
    margin-bottom: 5px;
}

.product-search-input {
    flex: 1;
    border: none;
    padding: 0.5rem;
    outline: none;
    font-size: 1rem;
}

.product-search-button {
    border: none;
    padding: 0.5rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
}

.product-search-button:active,
.product-search-button:focus {
    border: none;
    outline: none;
}

.product-search-button img {
    width: 15px;
    height: 15px;
}

.product-search-button svg {
    fill: white;
}

.product-search-input-group:focus-within {
    border-color: #000;
}

.where-to-buy,
.where-to-buy.light {
    --text-color: #2F2F2F;
    --text-color-major: var(--fg-color-2, var(--accent-color-1, #393939));
    --text-color-minor: var(--text-color-minor-text, #6b6b6b);
    --text-color-button-primary: #FFFFFF;
    --text-color-secondary: var(--fg-color-3, var(--accent-color-2, #2F2F2F));
    --background-color: #FFFFFF;
    --background-color-button: #EDEDED;
    --background-color-button-minor: #F7F7F7;
    --background-color-button-primary: var(--accent-color-3, var(--accent-color-1, #000000));
    --background-color-retailer-logo: var(--background-image-color-pin, var(--background-color, #FFFFFF));

    /* custom styles */
    --border-bottom-nav-tabs: var(--border-bottom-nav-tabs-override);
    --button-color-border-tab-and-filter: var(--button-color-border-tab-and-filter-override);
    --text-color-product-filter-border: var(--text-color-product-filter-border-override);
    --search-box-border-color-border: var(--search-box-border-color-border-override);
    --focuse-color: #2775be;
    --color-mix-color: #FFFFFF;
    --color-mix-color-2: var(--color-mix-pallet-for-border, #333333);

}

.where-to-buy.dark {
    --text-color: #DDDDDD;
    --text-color-major: var(--fg-color-2, var(--accent-color-1, #FFFFFF));
    --text-color-minor: var(--text-color-minor-text, #C8C8C8);
    --text-color-button-primary: #000000;
    --text-color-secondary: var(--fg-color-3, var(--accent-color-2, #FFFFFF));
    --background-color: #242424;
    --background-color-button: #343434;
    --background-color-button-minor: #2D2D2D;
    --background-color-button-primary: var(--accent-color-3, var(--accent-color-1, #DDDDDD));
    --background-color-retailer-logo: var(--background-image-color-pin, var(--text-color-major, #000000));
    --focuse-color: #ffa200;
    --color-mix-color: #333333;
    --color-mix-color-2: var(--color-mix-pallet-for-border, #FFFFFF);


}



/* ZOOMED IN PRODUCT */

.product-zoom-img>img {
    max-width: 100%;
    max-height: 100%;
    height: 100%;
    width: 100%;
    transform: scale(1.3);
    object-fit: contain;
}

.product-zoom-img {
    right: 5px;
    z-index: 1;
    overflow: hidden;
    background: rgba(255, 255, 255, 0);
    height: 145px;
    border: 1px solid var(--text-color-minor);
}






.floating-widget,
.where-to-buy.dark {
    background-color: var(--background-color);
    border-radius: var(--floating-menu-border-radius);
    border: 1px solid var(--floating-menu-border-shadow-color);
}

.where-to-buy {
    background-color: var(--background-color);
}

a,
a:hover {
    color: inherit;
}

.product-description.selected {
    color: var(--text-color-major) !important;
}

/* .product-description {
    background: none;
    border: none;
    cursor: pointer;
    outline: inherit;
} */




#more-retailers-bt {
    background: none;
    border: none;
    cursor: pointer;
    outline: inherit;
    margin-bottom: 3px;
}

#more-retailers-bt:focus {
    outline: 4px solid orange;

}
.no-click {
    pointer-events: none;
}

input {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background: transparent;
    border: 2px solid #c0c1c2;
    overflow: hidden;
    outline: 0;
    padding: 4px 10px 0;
    width: 100%;
    height: 100%;
    vertical-align: top;
    z-index: 1;
}

/* Text meant only for screen readers. */
.hidden-screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    word-wrap: normal !important;
}

.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: fixed !important;
    width: 1px;
    word-wrap: normal !important;
}

a.screen-reader-text:focus {
    background-color: #fff;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, .6);
    clip: auto !important;
    -webkit-clip-path: none;
    clip-path: none;
    color: #333;
    display: block;
    font-size: 1rem;
    font-weight: 700;
    height: auto;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
    position: fixed !important;
    top: 5px;
    left: auto;
    right: 20px;

}

.screen-reader-text-filter {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: sticky !important;
    width: 1px;
    word-wrap: normal !important;
}

a.screen-reader-text-filter:focus {
    background-color: #fff;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, .6);
    clip: auto !important;
    -webkit-clip-path: none;
    clip-path: none;
    color: #333;
    display: block;
    font-size: 1rem;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: max-content;
    z-index: 100000;

}



input:-webkit-autofill,
input:focus:-webkit-autofill {}

:root .store-distance * {
    font-size: 12px;
}

:root .back-to-products div i {
    float: left;
    line-height: 49px;
    margin-left: 4px;
    font-size: 29px;
    position: absolute;
}

:root .back-to-products-right div i {
    float: left;
    line-height: 49px;
    margin-left: 13px;
    font-size: 29px;
    position: absolute;
}



body {
    scroll-behavior: smooth;
}

body:not(.in-iframe) {
    height: 800px;
}

body.in-iframe .where-to-buy {
    overflow-y: auto;
}

.nav-tabs .nav-link {
    cursor: pointer;
    min-width: inherit;
    outline: none;
    border-top-left-radius: var(--button-border-radius);
    border-top-right-radius: var(--button-border-radius);
}

.nav-tabs .nav-link.active {
    cursor: default;
    min-width: inherit;
    outline: none;
}

.product-card.selected {
    color: var(--text-color-major);
}

.form-floating:placeholder-shown {
    position: absolute;
    opacity: .65;
    z-index: 10;
    left: 0;
    height: 100%;
    padding: 1rem 0.75rem;
    pointer-events: none;
    border: 1px solid transparent;
    transform-origin: 0 0;
    transition: opacity .1s ease-in-out, transform .1s ease-in-out;
}




li.hidden .product-selector-product:after {
    display: none;
}

#map>div>div>div>div>div>div>div>div>div>div>button {
    top: -3px !important;
    right: -3px !important;
}

#map>div>div>div>div>div>div>div>div>div>div>button span {
    height: 16px;
    width: 16px;
}

:root .product-selector-product {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-card > div {
    position: relative;
    border: 2px solid transparent;
}

.product-card.selected > div {
    border-color: var(--background-color-button-primary, #3a5688);
}

:root .product-card.selected > div:after {
    content: "\2713";
    background-color: var(--background-color-button-primary, #000) !important;
    position: absolute;
    font-size: 16px;
    font-weight: 700;
    height: 28px;
    width: 28px;
    line-height: 28px;
    text-align: center;
    color: #fff;
    border-radius: 50%;
    right: 10px;
    top: 10px;
    z-index: 5;
    opacity: 1;
}


.btn {
    padding-left: 0.675rem;
    padding-right: 0.675rem;
}

.btn.disabled {
    cursor: not-allowed;
}

.form-control:focus,
.form-control {
    background-color: var(--background-color);
    border-color: color-mix(in srgb, var(--background-color-in-store-selected-store, var(--background-color-noactive-tab-and-filter, var(--background-color-button, #858585))) 40%, var(--color-mix-color-2)) !important;
    border-radius: var(--button-border-radius, 5px);
}

.form-control {
    color: var(--text-color-minor);
}

.form-control::-webkit-input-placeholder {
    color: var(--text-color-minor);
}


a:hover,
a:not([href]):hover {
    text-decoration: underline;
    color: var(--text-color-major);

}

a.nav-link:focus a,
a.nav-link:hover a,
a:not([href]).nav-link:focus,
a:not([href]).nav-link:hover {
    text-decoration: none;
}

.btn span {
    margin-top: 0;
    margin-bottom: 0;
}

.col.back-to-products {
    max-width: 88px;
    background: none;
    border: none;
    outline: inherit;
}


#search-button {
    display: inline-block;
    cursor: pointer;
    background: none;
    border: none;
    outline: inherit;
    padding: 0;
    width: 50px;
    display: flex;
}


#search-button>span {
    border-top-left-radius: 0px !important;
    border-bottom-left-radius: 0px !important;
    background-color: var(--button-color-search-background, var(--background-color-button, #858585));
    flex: 1;
    padding: 0;
    border: 1px solid var(--button-color-search-background);
    height: 100%;
}


#search-button>span>img {
    filter: invert(var(--search-icon-bw));
}


:root .add-to-cart-text {
    font-size: var(--text-size-buy-online-cta, 15px) !important;

}



:root div.buy-now>button {
    background-color: var(--button-color-buy-online-cta, var(--background-color-button-primary, #000000));
    border-color: var(--button-color-buy-online-cta, var(--background-color-button-primary, #000000));
    color: var(--text-color-buy-online-cta, var(--text-color-button-primary, #FFFFFF));

}

:root div.buy-now>button:hover {
    font-size: var(--text-size-buy-online-cta, 15px) !important;
    color: var(--text-color-buy-online-cta, var(--text-color-button-primary, #FFFFFF)) !important;
    background-color: var(--button-color-buy-online-cta, var(--background-color-button-primary, #000000));
    text-decoration: underline;
}


:root .btn span {
    line-height: 19px;
    left: 0px;
}

*.btn {
    background-color: var(--background-color-button);
    color: var(--text-color-major);
    border: 1px solid;
    border-color: var(--background-color-button);
    display: block;
}

.btn.active {
    background-color: var(--text-color);
    border-color: var(--text-color);
    color: var(--background-color-button);
}

:root .btn * {
    font-size: 15px;
    line-height: 18px;
    font-weight: 500;
    text-align: center;
    position: center;
}

:root .btn {
    text-align: center;
    font-weight: 500;
    line-height: 18px;
    font-size: 15px;
    position: center;
}



:root .nav-item>.nav-link *,
:root .btn-primary *,
:root .back-to-products h2,
:root .btn-primary {
    text-align: center;
    font-weight: 500;
    left: 15px;
    line-height: 18px;
    font-size: 14px;
    position: inherit;
}

.btn-primary.focus,
.btn-primary:focus,
.btn-primary {
    background-color: var(--background-color-button-primary);
    border-color: var(--background-color-button-primary);
    color: var(--text-color-button-primary);
}

.btn.btn-primary:not(:disabled):not(.disabled):active {
    filter: brightness(1.2);
}

.btn.btn-primary:not(:disabled):not(.disabled):active {
    background-color: var(--text-color-button-primary);
    border-color: var(--text-color-button-primary);
    color: var(--background-color-button-primary);
}

.search-btns .btn img {
    margin-top: .1em;
}



/* unselected color */
.nav-item .nav-link:not(.active):not(.disabled) {
    background-color: color-mix(in srgb, var(--background-color-noactive-tab-and-filter, var(--background-color-button-minor, #858585))70%, var(--color-mix-color));
}

/* unselected color font */
.nav-item:not(.active) .nav-link,
a:not([href]),
a:not([href]):hover,
a,
a:hover {
    color: var(--text-color-major);
    cursor: pointer;
}

.nav-item:not(.active) .nav-link {
    color: var(--button-color-tab-and-filter);
}


*.active,
.where-to-buy,
.nav-tabs .nav-link.active {
    color: var(--text-color)
}

.buy-now button,
.buy-now .btn {
    left: -1px;
    max-width: 108px;
    width: 100%;
    min-height: 50px;
}

.nav-tabs .nav-item {
    text-align: center;
    min-width: 78px;
    border: var(--button-color-border-tab-and-filter);
    border-bottom: var(--border-bottom-nav-tabs);
    border-top-left-radius: var(--button-border-radius);
    border-top-right-radius: var(--button-border-radius);
    /* TODO:: 1px solid resolve */
}



.nav-tabs .nav-link:focus {
    background-color: var(--background-color-button-minor);
}

.px-std {
    padding-left: 10px;
    padding-right: 10px;
}

.px-col {
    padding-left: 15px;
    padding-right: 15px;
}

.mx-std {
    margin-left: 10px;
    margin-right: 10px;
}

.my-std {
    margin-top: 10px;
    margin-bottom: 10px;
}

.mb-std {
    margin-bottom: 10px;
}

.mt-std {
    margin-top: 10px;
}



/* this needs to be edited select active */
.nav-tabs .nav-item.active {
    border-radius: var(--button-border-radius);
}

/* selected button */


.nav-tabs .nav-item.active .nav-link {
    background-color: var(--button-color-tab-and-filter, var(--background-color-button, #858585));
    border-style: solid;
    border-color: color-mix(in srgb, var(--button-color-tab-and-filter, var(--background-color-button-minor, #858585)) 45%, var(--color-mix-color-2)) !important;
    color: var(--text-color-active-tab-filter, #ffffff) !important;
    border: none;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.nav-tabs .nav-item.active .nav-link span {
    color: var(--text-color-active-tab-filter, #ffffff) !important;
}

li.nav-item.active {
    border: none;
}

.physical-store.selected {
    background-color: var(--background-color-in-store-selected-store, var(--background-color-noactive-tab-and-filter, var(--background-color-button, #858585)));
    border-style: solid;
    border-color: color-mix(in srgb, var(--background-color-in-store-selected-store, var(--background-color-noactive-tab-and-filter, var(--background-color-button, #858585))) 45%, var(--color-mix-color-2)) !important;
    border-width: 1px
}

.nav-item>.nav-link {
    display: block;
    padding: 1rem 1rem;
}

.nav-item>.nav-link span {
    margin: 0;
}

.nav-item>.nav-link.active span {
    color: var(--text-color-active-tab-filter, #ffffff) !important;
}


/* .nav-item>.nav-link h3,
.back-to-products h3,
.back-to-products-right h3 {
    text-align: center;
    font-weight: 600;
    line-height: 1;
    position: center;
    font-size: 15px;
} */

:root .nav-item>.nav-link.disabled span {
    font-weight: 500;
    opacity: .75;
}

.nav-item>.nav-link span {
    line-height: 1.2;
}

.nav-tabs .nav-item {
    margin-bottom: 0px;
}

.tab-nav-button-border,
.tab-nav-button-border-right {
    position: relative;
    border: 1px solid var(--background-color-button);
    border-radius: 5px;
    cursor: pointer;
    width: 100%;
    min-width: 75px;
}

.tab-nav-button-border-right {
    left: 0px;
}

:root h1 {
    font-family: var(--font-family-sans-serif, '"Helvetica Neue", Helvetica, Arial, sans-serif');
    font-size: 40px;
    font-style: normal;
    font-variant: normal;
    font-weight: 700;
    line-height: 42px;
}

:root h2 {
    font-family: var(--font-family-sans-serif, '"Helvetica Neue", Helvetica, Arial, sans-serif');
    font-size: 17px;
    font-style: normal;
    font-variant: normal;
    font-weight: 500;
    line-height: 26px;
    margin-bottom: 0px;
    margin-top: 5px;
}



:root h4 {
    font-family: var(--font-family-sans-serif, '"Helvetica Neue", Helvetica, Arial, sans-serif');
    font-size: 17px;
    font-style: normal;
    font-variant: normal;
    font-weight: 500;
    line-height: 26px;
    margin-bottom: 0px;
    margin-top: 5px;
}


.product-card-list {
    position: inherit;
}

.product-card:not(.selected).product-card:not(.pristine) img {
    opacity: 0.4;
    filter: alpha(opacity=40);
}


.product-card>div {
    height: calc(100% - 0.5em);
    padding: 0.6rem !important;
    margin: 0.3rem !important;
    overflow-y: hidden;
    border-radius: var(--button-border-radius, 10px);

}

.product-card img {
    mix-blend-mode: multiply;
}

.product-card {
    cursor: pointer;
    overflow: visible;
    max-height: 246px;
}

.filter-section-product-card {
    max-height: none;
}


.product-card>label>input {
    position: absolute;
    display: none;
    color: #fff !important;
}

:root .product-card .product-title>div {
    line-height: 20px;
    font-family: var(--font-family-sans-serif-small, '"Helvetica Neue", Helvetica, Arial, sans-serif');
    color: var(--text-color-product-title);
    font-size: var(--text-size-product-title, 14px);
}

:root .product-card .product-line .product-title-line {
    color: var(--text-color-product-line);
    font-size: calc(var(--text-size-product-line)/1.10) !important;
    font-weight: var(--text-weight-product-line) !important;
}


.instore-option {
    margin-right: 15px
}

:root *,
:root html {
    font-family: var(--font-family-sans-serif, '"Helvetica Neue", Helvetica, Arial, sans-serif');
    font-size: 14px;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    line-height: 21px;
}

:root blockquote {
    font-family: var(--font-family-sans-serif, '"Helvetica Neue", Helvetica, Arial, sans-serif');
    font-size: 21px;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    line-height: 30px;
}

:root pre {
    font-family: var(--font-family-sans-serif, '"Helvetica Neue", Helvetica, Arial, sans-serif');
    font-size: 13px;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    line-height: 18.5714px;
}

.centered-on-bottom {
    position: absolute;
    bottom: 0px;
    width: 100%;
    text-align: center;
}

.size-container {
    margin-top: 20px;
    text-align: center;
}

.location-container {
    margin-top: 50px;
}

.banner.location-container {
    margin-top: unset;
}

.location-container form {
    width: 100%;
}

.location-container input {
    height: 50px;
}

.nav-tabs,
.product-container,
.categories {
    border-bottom: 1px var(--background-color-button) solid;
}

.nav-tabs {
    border-bottom: var(--button-color-border-tab-and-filter);
}


/* .stores-over-map.stores:not(.loading),
.physical-store:last-child,
.product-container:last-child {
    border-bottom: none;
}

.physical-store:last-child,
.stores-over-map.stores:not(.loading) {
    padding-bottom: 2px;
} */

.product-container.unavailable {
    opacity: .75;
}

.product-container {
    margin-top: 10px;
    width: 100%;
    border-bottom: 1px var(--background-color-buy-online-line-break, var(--background-color-button, #858585)) solid;
    border-radius: 2px;
}

.product-container:focus>div>div>div.col-9.pl-0.pr-0>div>div>div.row.see-more.text-center.ng-scope>div>a {
    text-shadow: #000 0px 0px 1px
}

#more-retailers-bt #more-retailers-bt .product-container .product-img {
    margin-top: auto;
    margin-bottom: auto;
    padding-left: 0.5em;
    padding-right: 0.5em;
    text-align: center;
}

.product-img img {
    max-width: 100%;
    max-height: 128px;
    margin-left: auto;
    position: relative;
    margin-right: auto;
    display: inline-block;
    object-fit: contain;
}

.store-option {
    border-top: 1px var(--background-color-buy-online-line-break, var(--background-color-button-minor, #858585)) solid;
    margin-left: 0px;
    height: auto;
    padding-top: 10px;
    padding-bottom: 10px;
    align-items: center;
}

.store-option.see-more {
    border-top: none;
}

.no-padding {
    padding: 0px;
}

.store-logo {
    padding: 4px;
}

:root .price {
    text-align: center;
    line-height: 50px;
    font-size: 17px;
    font-weight: 700;
}

:root .btn {
    writing-mode: horizontal-tb !important;
    text-rendering: auto;
    letter-spacing: normal;
    word-spacing: normal;
    text-indent: 0px;
    text-shadow: none;
    align-items: flex-start;
    margin: 0em;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: var(--button-border-radius, 5px) !important;
}

.map {
    position: absolute !important;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
}

.product-title h2,
.store-name>span {
    margin-top: 0;
}

.store-name>span {
    color: var(--text-color-retailer-name);
    font-size: var(--text-size-retailer-name, 17px) !important;
    font-weight: var(--text-weight-retailer-name, 500) !important;
}

.product-title h2 {
    margin-bottom: 10px;
    color: var(--text-color-product-title);
    font-size: var(--text-size-product-title) !important;
}

.product-line h2 {
    color: var(--text-color-product-line);
    font-size: var(--text-size-product-line) !important;
    font-weight: var(--text-weight-product-line) !important;
}

.physical-store {
    padding: 10px 12px;
    width: 100%;
    border-radius: 2px;
    cursor: pointer;
}

.where-to-buy .banner.row.location-container .search-btns {
    display: inline-block;
    vertical-align: top;
}

:root .where-to-buy .banner.row .search-btns {
    box-sizing: border-box;
    font-size: 16px;
    line-height: 48px;
    position: relative;
    height: 45px;
    width: 100%;
    display: inline-block;
    cursor: pointer;
    text-align: center;
    text-transform: none;
    letter-spacing: 1px;
    z-index: 99;
    height: 100%;
    line-height: 50px;

}

.btn,
.search-btns-row>* {
    height: 50px;
}

.btn-sm {
    height: 28px;
}


.product-selector-product {
    cursor: pointer;
    min-height: 130px;
}

:root .or {
    line-height: 50px;
    height: 50px;
    margin: 0 12px;
    display: inline-block;
    vertical-align: top;
    font-size: 14px;
    text-transform: lowercase;
}

.no-gutters {
    margin-right: 0;
    margin-left: 0
}

.no-gutters>.col,
.no-gutters>[class*=col-] {
    padding-right: 0;
    padding-left: 0
}

.categories {
    text-align: center;
    display: inline-block;
    width: 100%;
    overflow-y: hidden;
    overflow-x: auto;
}

.categories>div {
    position: relative;
    display: inline-block;
    min-width: 170px;
}

.categories>div:hover {
    opacity: 1;
    background-color: var(--background-color);
    filter: brightness(.95);
}

:root .categories button.category,
:root .categories button.category * {
    overflow-y: unset;
    overflow-x: unset;
    font-size: 14px;
    font-style: normal;
    font-variant: normal;
    text-align: center;
    display: inline-block;
    font-family: var(--font-family-sans-serif-small, '"Helvetica Neue", Helvetica, Arial, sans-serif');
    font-weight: var(--text-weight-product-category, 400);
    color: var(--text-color-product-filter);
    background: none;
    border: none;
    width: 80%;
}


:root .categories button.category.selected,
:root .categories button.category.selected * {
    font-weight: bold;
    color: var(--text-color-secondary);
}

#where-to-buy>div.where-to-buy-content.desktop.products-open>div>div.overlay-widgets.row.justify-content-between.m-lg-0.ml-0.mr-0.mb-0>div.p-0.py-lg-4plus.pl-lg-3.pr-lg-4plus.col-12.col-lg-5.order-1.order-lg-2.nav-menu.m-lg-0.pointer-events-none>div>div.w-100.mt-std>div>div.row-fluid.justify-content-left.px-0.py-2.pb-3.categories.ng-scope>fieldset>div:nth-child(4)>label .categories>div:after {
    position: absolute;
    display: none;
    content: '|';
    padding: 0 1rem;
    visibility: hidden;
}

.categories>div:last-child:after {
    content: '';
}

.floating-home-menu:not(.open) {
    height: 72px;
}


.product-container .product-container-inner .product-img img {
    max-height: 145px;
}

.product-title {
    line-height: 30px;
}

.floating-widget {
    padding: 10px;
}

.retailer-logo-container {
    position: relative;
}

.retailer-name-container {
    display: flex;
    width: 100%;
    flex-direction: column;
}

.with-ic-text {
    font-size: 10px;
    font-style: italic;
}

.retailer-logo {
    border-radius: 50%;
    overflow: hidden;
    position: absolute;
    height: 100%;
    width: 100%;
}

.retailer-logo>.border-outer {
    position: relative;
    height: 100%;
    width: 100%;
    background-color: var(--background-color-retailer-logo);
    --size: 10%;
}

.retailer-logo>.border-outer>.border-inner {
    border-radius: 50%;
    overflow: hidden;
    position: absolute;
    height: calc(100% - (var(--size) * 2));
    width: calc(100% - (var(--size) * 2));
    margin: var(--size);
}

.retailer-logo div.image-wrap {
    position: relative;
    height: 100%;
    width: 100%;
    background-color: var(--background-color-retailer-logo);
}

/* .retailer-logo div.image-wrap img.logo-bw {
    display: none;
} */


.retailer-logo svg,
.retailer-logo img {
    position: absolute;
    object-fit: contain;
    height: 100%;
    max-width: 100%;
    margin: 0 auto;
    /* padding: 6%; */
}

.square>.retailer-logo-container .retailer-logo img {
    height: 110%;
    width: 110%;
    max-width: unset;
    top: -5%;
    left: -5%;
    padding: unset;
}

.floating-home-menu .store-category {
    cursor: pointer;
    padding: 4px;
    min-height: 36px;
    max-width: 165px;
    outline: 2px solid rgba(0, 0, 0, 0.14);
    text-align: center;
}

.floating-home-menu div.check-mark {
    display: inline-block;
    vertical-align: sub;
    margin-left: 32px;
}

:root .floating-home-menu div.check-mark>i {
    margin-left: 4px;
    font-size: 18px;
    margin-top: 2px;
    vertical-align: top;
}

.no-logo>.retailer-logo-container .retailer-logo svg {
    padding: 17% 11%;
    fill: var(--accent-color-2, #CCCCCC);
    display: block;
}

/* *:not(.no-logo)>.retailer-logo-container .retailer-logo svg.default-logo,
*.no-logo>.retailer-logo-container .retailer-logo img {
    display: none !important;
}

*:not(.no-logo)>.retailer-logo-container .retailer-logo img,
*.no-logo>.retailer-logo-container .retailer-logo svg {
    display: inline-block;
} */

.map-container .store-marker:not(.selected-store) .retailer-logo-container {
    transform: scale(var(--pin-scale, .8));
    transition: all 1s ease;
}

.map-container.many-stores .store-marker:not(.selected-store) .retailer-logo-container {
    margin-top: calc(25 * (1 - var(--pin-transform, 1)) + 'px');
    transition: all 1s ease;
}

.map-container .store-marker:not(.selected-store) .retailer-logo-container>svg.circle {
    opacity: calc(1 - var(--pin-transform, 1));
    transition: all 1s ease;
}

.map-container .store-marker:not(.selected-store) .retailer-logo-container>svg.pin {
    transform: scale(var(--pin-scale, .8));
    transition: all 1s ease;
}

/* .map-container.many-stores .store-marker:not(.selected-store) .retailer-logo-container>svg.pin {
    visibility: hidden;
}

.map-container.many-stores .store-marker:not(.selected-store) .retailer-logo-container>svg.circle {
    visibility: visible;
} */

.map-container .store-marker:not(.selected-store) .retailer-logo {
    outline-color: var(--background-color-pin, var(--accent-color-1, var(--background-color, #000000)));
    outline: 3px solid;
}



.store-marker.no-logo {
    z-index: 0;
}

.store-marker.no-logo>div.retailer-logo-container .retailer-logo {
    top: 6%;
}

.store-marker>div.retailer-logo-container {
    width: 50px;
    height: 50px;
}

.store-marker>div.retailer-logo-container>img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.store-marker.no-logo>div.retailer-logo-container {
    width: 44px;
    height: 44px;
    opacity: .94;
}

.store-marker .retailer-logo-container>svg {
    filter: drop-shadow(1px 2px 1px rgba(10, 10, 10, 0.4));
    fill: var(--background-color-pin, var(--accent-color-1, var(--background-color, #000000)));
}

.store-marker .retailer-logo {
    height: 59%;
    width: 59%;
    left: 21%;
    top: 7%;
}

.store-marker.no-logo>.retailer-logo-container .retailer-logo svg {
    padding: 25% 16%;
}

.store-name .retailer-logo>div.image-wrap {
    background-color: #FFFFFF00;
}

.store-name .retailer-logo-container .retailer-logo>div:not(.border-outer)>img,
.store-name .retailer-logo-container .retailer-logo>div:not(.border-outer)>svg {
    mix-blend-mode: multiply;
}

.store-name {
    display: flex;
    align-items: center;
    margin-bottom: 0.4rem;
    margin-top: 0.25rem;
}

.store-name-row {
    margin-left: 0% !important;
}

.store-name>*:nth-child(2) {
    margin-left: 8px;
    margin-top: -1px;
}

.store-name .retailer-logo-container {
    display: inline-block;
    height: 40px;
    width: 40px;
    flex-shrink: 0;
}

.product-container-inner .store-name .retailer-logo-container {
    height: 40px;
    width: 40px;
}

.product-container-inner .store-name>*:nth-child(2) {
    margin-left: 10px;
}

:root .product-container-inner .store-name h2 {
    font-weight: 500;
    line-height: 1;
    font-size: 15px;
}

.physical-store .store-name h2 {
    display: inline;
}

.store-name .retailer-logo>.border-outer {
    --size: 4%;
}


.stores-products-menu>div>ul {
    padding-right: 0px;
}

.stores-products-menu>div>ul>li:nth-child(n) {
    flex: 1 1 auto;

}

.stores-products-menu>div>ul>li:nth-child(n)>button {
    width: 100%;
    height: 100%;
}

.stores-products-menu>div>ul>li:nth-child(1) {
    width: 22%;
}

.stores-products-menu>div>ul>li:nth-child(2) {
    width: 30%;
}

.stores-products-menu>div>ul>li:nth-child(3) {
    width: 12%;
}



@media (hover: none) {

    button.category {
        text-decoration: underline;
    }

    .product-description .product-title-name {
        text-decoration: underline;
    }

    a {
        text-decoration: underline;
    }

    .products-found-count {
        text-decoration: underline;
    }


    #more-retailers-bt {
        text-decoration: underline;
    }

    #reset-product-button {
        text-decoration: underline;
    }

    *.btn:hover {
        background-color: var(--background-color-button);
        border-color: var(--background-color-button);
        color: var(--text-color-major);
        border: 1px solid;
    }

    .btn.active:hover {
        background-color: var(--text-color);
        border-color: var(--text-color);
        color: var(--background-color-button);
    }

    :root .btn:hover * {
        font-size: 15px;
        line-height: 18px;
        font-weight: 500;
        text-align: center;
        position: center;
    }

    :root .btn:hover {
        text-align: center;
        font-weight: 500;
        line-height: 18px;
        font-size: 15px;
        position: center;
    }
}


div.row.popout-address>span {
    display: inline-block
}


.flyout .maplibregl-popup-content {
    background-color: var(--background-color);
    border-radius: 5px;
    box-shadow: 0 1px 3px rgb(0 0 0 / 12%), 0 1px 2px rgb(0 0 0 / 24%);
}

.flyout.maplibregl-popup-anchor-bottom .maplibregl-popup-tip {
    border-top-color: var(--background-color);
}

.tab-nav-button-border.btn {
    background-color: var(--background-color-noactive-tab-and-filter, var(--background-color-button-primary, #858585));
    border-color: var(--button-color-tab-and-filter, var(--background-color-button-primary, #858585));
    color: var(--button-color-tab-and-filter, var(--text-color-button-primary, #FFFFFF));
}

.tab-nav-button-border.btn.active {
    border-color: var(--button-color-tab-and-filter, var(--background-color-button, #858585));
    background-color: var(--button-color-tab-and-filter, var(--background-color-button, 858585));
    color: var(--text-color-active-tab-filter, var(--text-color-major, #FFFFFF));
}

#filter-button-span {
    font-size: var(--text-size-filter-button) !important;
}

#reset-product-button {
    border: var(--text-color-product-filter-border);
    background-color: var(--background-color-noactive-tab-and-filter);
    color: var(--text-color-product-filter)
}

#reset-retailer-button {
    border: var(--text-color-product-filter-border);
    background-color: var(--background-color-noactive-tab-and-filter);
    color: var(--text-color-product-filter)
}


.horizontal-scrollable {
    flex-wrap: nowrap;
    display: inline-flex;
    overflow: auto;
    container-type: inline-size;

}

.retailer-filter-name {
    font-size: .815rem;
    font-weight: 400;
}

.retailer-filter-card {
    border: none;
    background-color: transparent;
}


.retailer-logo-filter-section {
    object-fit: contain;
    max-width: 50%;
    margin: 0 auto;
    margin-top: 7px;
}

.retailer-logo-filter-section-selected {
    max-width: 25%;
    margin: 0 auto;
    margin-top: 7px;

}

.retailer-filter-name-container {
    text-align: center;
}

@media only screen and (min-width: 410px) {
    .retailer-logo-filter-section {
        max-width: 40% !important;
    }

}

@media only screen and (min-width: 520px) {
    .retailer-logo-filter-section {
        max-width: 30% !important;
    }

    .retailer-logo-filter-section-selected {
        max-width: 19%;
    }
}

@media only screen and (min-width: 576px) {
    .retailer-logo-filter-section {
        max-width: 50% !important;
    }

    .retailer-logo-filter-section-selected {
        max-width: 16%;
    }
}

@media only screen and (min-width: 992px) {
    .retailer-logo-filter-section {
        max-width: 50% !important;
    }

    .retailer-logo-filter-section-selected {
        max-width: 25%;
    }
}

@media only screen and (min-width: 1084px) {
    .retailer-logo-filter-section {
        max-width: 30% !important;
    }

    .retailer-logo-filter-section-selected {
        max-width: 15%;
    }

}

@media only screen and (min-width: 1200px) {
    .retailer-logo-filter-section {
        max-width: 60% !important;
    }
}


@media (hover: hover) {

    .col.grey-text:hover {
        text-decoration: underline;
        color: var(--text-color-major);

    }

    a.grey-text:hover {
        color: var(--text-color-major);
    }

    .product-card:not(.selected).product-card:not(.pristine):hover img {
        opacity: 1;
        filter: alpha(opacity=100);
    }

    .product-card.pristine:not(.selected)>div:hover {
        background-color: var(--background-color-button-minor);
        border-style: solid;
        border-width: 1px;
        border-color: color-mix(in srgb, var(--background-color-button-minor) 95%, var(--color-mix-color-2));
    }

    .product-card.pristine:not(.selected)>div {
        border-style: solid;
        border-width: 1px;
        border-color: transparent;
    }

    .btn:hover {
        color: var(--text-color-major);
    }

    .btn.active:hover {
        color: var(--background-color-button-minor);
    }

    .btn.btn-primary:hover {
        background-color: var(--background-color-button-primary);
        border-color: var(--background-color-button-primary);
        color: var(--text-color-button-primary);
    }

    .btn.btn-primary:hover {
        filter: brightness(1.2);
    }

    .nav-tabs .nav-item .nav-link:hover {
        filter: brightness(.99);
        border-style: solid;
        border-width: 1px;
        border-color: color-mix(in srgb, var(--background-color-button-minor) 92%, var(--color-mix-color-2)) !important;
    }



    .physical-store.selected:hover {
        background-color: var(--background-color-in-store-selected-store, var(--background-color-noactive-tab-and-filter, var(--background-color-button, #858585)));
    }

    .physical-store:hover {

        background-color: color-mix(in srgb, var(--background-color-in-store-selected-store, var(--background-color-noactive-tab-and-filter, var(--background-color-button, #858585))) 10%, var(--color-mix-color));
        border-style: solid;
        border-width: 1px;
        border-color: color-mix(in srgb, var(--background-color-in-store-selected-store, var(--background-color-noactive-tab-and-filter, var(--background-color-button, #858585))) 98%, var(--color-mix-color-2));
    }

    .retailer-filter-card:hover {
        background-color: var(--background-color-noactive-tab-and-filter, var(--background-color-button-minor, #858585));
        border-color: var(--background-color-noactive-tab-and-filter, var(--background-color-button-minor, #858585));
        cursor: pointer;
    }

    .physical-store:hover,
    *.btn:not(.active):not(.disabled):hover,
    *:not(.active)>a:hover {
        filter: brightness(.975);
    }


    *.btn:not(.active):not(.disabled):hover {
        filter: brightness(.975);
    }

    .product-card:hover .product-title {
        color: var(--text-color-major);
    }


    .tab-nav-button-border.btn.active:hover {
        border-color: var(--background-color-button);
        background-color: var(--background-color-noactive-tab-and-filter, var(--background-color-button, #858585));
        color: var(--button-color-tab-and-filter, var(--text-color-major, #FFFFFF));
        filter: brightness(.975);
    }

    .tab-nav-button-border.btn:hover {
        background-color: var(--background-color-noactive-tab-and-filter, var(--background-color-button-primary, #858585));
        border-color: var(--button-color-tab-and-filter, var(--background-color-button-primary, #858585));
        color: var(--button-color-tab-and-filter, var(--text-color-button-primary, #FFFFFF));
        filter: brightness(.975);
    }

}

.enriched-category-button {
    border: 0;
    padding: 0;
    margin: 0;
    background-color: unset;
    outline: none;
}

.enriched-category-button:focus {
    outline: none;
}

.category-list {
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    overflow-x: scroll;
    overflow-y: hidden;
    padding-bottom: 10px;
    padding-top: 20px;

    max-width: 35vw;
    width: 35vw;

    justify-content: center;
}

.product-locator-category-item {
    padding-left: 5px;
    padding-right: 5px;
    min-width: 100px;
}

.product-locator-category-item-image {
    text-align: center;
    padding-bottom: 12px;
}

.product-locator-category-item-text {
    padding-bottom: 10px;
    text-align: center;
}

.product-locator-category-item-text.selected {
    font-weight: bold;
}

.floating-home-menu {
    max-width: 37vw;
    width: 37vw;
}

@media (max-width: 991px) {
    .floating-home-menu {
        max-width: unset;
        width: 100%;
    }

    .category-list {
        width: 100%;
        max-width: unset;
    }
}

@media (min-width: 0px) {

    .title-header {
        display: inline-block;
    }

    .maplibregl-ctrl-top-right {
        z-index: 0;
    }

    .where-to-buy.products-open .stores-over-map {
        display: none;
    }

    .stores-over-map {
        padding-top: 0;
    }

    .stores-products-menu {
        width: 100%;
    }

    .stores-over-map.products {
        width: 100%;
        overflow-y: auto;
        overflow-x: hidden;
    }

    .stores-over-map.stores {
        width: 100%;
        overflow-y: auto;
    }

    .nav-menu {
        width: 100%;
    }

    .store-logo img {
        max-width: 36px;
        vertical-align: top;
    }

    .store-logo span {
        display: inline-block;
        width: calc(100% - 50px);
        vertical-align: top;
        height: 100%;
        line-height: 18px;
    }

    .product-container .product-container-inner .product-img img {
        margin-left: unset;
    }

    .product-container .product-container-inner .product-img {
        margin-top: 10px;
    }

    /* Align product title vertically with product image on mobile */
    .product-container-inner .row.justify-content-between {
        align-items: var(--text-alignment-product-title, center);
    }

    .product-container-inner .d-block.d-sm-none.product-title {
        display: flex;
        align-self: var(--text-alignment-product-title, flex-start);
        height: 100%;
    }

    .map-container:not(.map-open) {
        visibility: hidden;
    }

    div.exit-iframe-button {
        width: 100%;
        background-color: var(--background-color);
        position: relative;
    }

    :root #close {
        cursor: pointer;
        display: inline-block;
        margin: 10px 10px 0px 10px;
        background: #ccc6;
        font-size: 18px;
        padding: 0px 5px 3px 5px;
    }

    #close:hover {
        background: #ccc;
        color: #fff;
    }
}

@media only screen and (min-width: 418px) {
    .stores-products-menu>div>ul {
        margin-right: 10px;
    }

    .stores-products-menu>div>ul>li:nth-child(n) {
        flex: none;
    }

    .stores-products-menu>div>ul>li:nth-child(1) {
        width: auto;
    }

    .stores-products-menu>div>ul>li:nth-child(2) {
        width: auto;
    }

    .stores-products-menu>div>ul>li:nth-child(3) {
        width: auto;
    }

    :root .nav-item>.nav-link *,
    :root .btn-primary *,
    :root .back-to-products,
    :root .btn-primary {
        text-align: center;
        font-weight: 500;
        line-height: 18px;
        font-size: var(--text-size-tabs, 15px);
        position: inherit;
    }
}

@media only screen and (min-width: 992px) {
    div.exit-iframe-button {
        display: none;
    }

    body.in-iframe .where-to-buy {
        min-height: 620px;
    }

    .title-header {
        display: none;
    }

    .map-container:not(.map-open) {
        visibility: visible;
    }

    .where-to-buy.products-open .stores-over-map {
        display: unset;
    }

    .stores-over-map {
        padding-top: 10px;
    }

    .stores-products-menu {
        width: min(50%, 30.5rem) !important;
    }

    .stores-over-map.products {
        width: min(100%, 30.5rem);
        overflow-y: auto;
        overflow-x: hidden;
    }

    .stores-over-map.stores {
        width: 22rem;
        overflow-y: auto;
    }

    .nav-menu {
        width: 90px;
    }


    .floating-home-menu.open {
        width: auto;
        /* min-width: 572px; */
    }

    .stores-over-map.stores.full-height,
    .stores-over-map,
    .floating-home-menu.open {
        height: auto;
    }

    .stores-over-map .scrolling-container {
        max-height: calc(var(--height) - 10em);
    }

    .floating-home-menu .scrolling-container {
        max-height: calc(var(--height) - 17em);
    }

    .floating-home-menu.open {
        overflow-y: hidden;
    }

    .stores-over-map.stores.full-height {
        align-content: flex-start;
    }


    .floating-widget,
    .side-tab-over-map {
        background-color: var(--background-color);
        border-radius: var(--floating-menu-border-radius, 5px);
        box-shadow: 0 1px 3px rgb(0 0 0 / 12%), 0 1px 2px rgb(0 0 0 / 24%);
        border: var(--floating-menu-border-shadow-color);
    }

    .btn {
        border-radius: var(--floating-menu-border-radius, 5px) !important;
    }

    .store-logo img {
        max-height: 42px;
        max-width: 50px;
    }

    .map-container {
        visibility: visible;
    }

    .store-logo span {
        vertical-align: middle;
        margin-top: 8px;
        width: auto;
        display: inline-block;
        vertical-align: unset;
        height: unset;
    }

    .py-lg-4plus {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important;
    }

    .pr-lg-4plus {
        padding-right: 2rem !important;
    }

    .pl-lg-4plus {
        padding-left: 2rem !important;
    }

    .product-container .product-container-inner .product-img {
        margin-top: 10px;
    }

    .where-to-buy.dark .stores-products-menu,
    .where-to-buy.dark .nav-menu {
        opacity: var(--resting-panel-opacity, .95);
    }

    .stores-products-menu,
    .nav-menu {
        opacity: var(--resting-panel-opacity, .88);
        transition: opacity 5s cubic-bezier(1, 0, 1, .3);
        transition-delay: 3s;
    }

    .where-to-buy .stores-products-menu:hover,
    .where-to-buy .nav-menu:hover {
        opacity: 1;
        transition: opacity 0s ease-out;
    }

    .maplibregl-ctrl-bottom-right {
        right: 1.5rem;
        bottom: 1.5rem;
    }

    .nav-tabs .nav-item {
        min-width: 108px;
    }

}

img.spinner {
    height: 28px;
    width: auto;
    margin: auto;
    opacity: .4;
    filter: brightness(1.2);
}

div.spinner-container.secondary>img.spinner {
    height: 20px;
    width: auto;
    margin: auto;
    opacity: .3;
    filter: brightness(1.2);
}

div.spinner-container {
    padding-top: 2rem !important;
    padding-bottom: 1rem !important;
}

div.spinner-container.secondary {
    padding-top: 1rem !important;
    padding-bottom: .5rem !important;
}

.map-container {
    overflow: hidden;
}

.map-container .map#map {
    position: relative;
}

@media (max-width: 991px) {
    .map-container.map-open #map.map {
        min-height: min(520px, 72vh);
        min-height: min(520px, 72dvh);
    }
}

/*
 * Keep touch panning working even if the external MapLibre stylesheet is slow
 * to load or blocked by CSP/network rules. MapLibre relies on these touch-action
 * values for mobile drag/pinch gestures to reach the canvas.
 */
.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,
.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas {
    touch-action: pan-x pan-y;
}

.maplibregl-canvas-container.maplibregl-touch-drag-pan,
.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas {
    touch-action: pinch-zoom;
}

.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,
.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas {
    touch-action: none;
}

.map-initial-loader {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 10010;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.88);
}

.where-to-buy.theme-dark .map-initial-loader {
    background: rgba(28, 28, 28, 0.9);
}

.map-loading-overlay {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 10020;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.88);
    pointer-events: auto;
}

.map-initial-loader .spinner,
.map-loading-overlay .spinner {
    display: block;
}

.where-to-buy.theme-dark .map-loading-overlay {
    background: rgba(28, 28, 28, 0.9);
}

.map-container .maplibregl-ctrl-attrib-inner {
    display: none;
}

.flyout .maplibregl-popup-content {
    padding: 10px;
}

:root .flyout .maplibregl-popup-close-button {
    font-size: 17px;
    top: 2px;
    right: 2px;
    color: var(--text-color-major);
    filter: grayscale(80%);
    opacity: .5;
}


.flyout.maplibregl-popup {
    font: 12px/20px 'Helvetica Neue', Arial, Helvetica, sans-serif;
}

.store-logo img {
    margin-right: 10px;
}

.stores-over-map,
.floating-home-menu {
    z-index: 99;
    width: 100%;
    overflow-y: hidden;
}

.scrolling-container {
    overflow-y: auto;
    position: sticky;
}

@media only screen and (min-width: 992px) {
    .scrolling-container {
        overflow-y: scroll;
        position: sticky;
    }
}

.product-card:not(.selected).product-card:not(.pristine),
.grey-text,
a.grey-text,
.nav-tabs .nav-link.disabled {
    color: var(--text-color-minor);
}



/* Store container // No Stores found */
.px-std.m-0.container-fluid.scrolling-container.ng-scope {
    overflow-x: hidden;
}

/* selecion container x products selected */
.col-12.pb-1.pt-1.text-center.products-selected-count {
    overflow: hidden;
}


/* Buy online container We want to make the scroll stick on the right edge, but that brings our the elements */
.order-lg-1.stores-products-menu>div>div {
    width: 100%;

}

button.products-found-count {
    background: none;
    border: none;
    cursor: pointer;
    outline: inherit;
    color: var(--text-color-products-found, var(--background-color-button-primary, #000000));
}

button.products-found-count:hover {
    background: none;
    border: none;
    cursor: pointer;
    outline: inherit;
    color: var(--text-color-products-found, var(--background-color-button-primary, #000000));
    text-decoration: underline;
}

.flyout button.products-found-count {
    text-align: left;
    text-decoration: underline;
}

.flyout button.products-found-count:hover {
    text-decoration: underline;
}



/* Reusable Styles */
.pointer-events-none {
    pointer-events: none;
}

.pointer-events-all {
    pointer-events: all;
}

/* Overlay Widgets */
.overlay-widgets .overlay-widgets__combobox {
    padding-left: 10px;
}

.overlay-widgets .overlay-widgets__combobox-input {
    display: inline-block;
    width: 100px;
    font-size: 16px;
    top: 4px;
}

.overlay-widgets .overlay-widgets__combobox-button span img {
    height: 20px;
}

.overlay-widgets .overlay-widgets__retailers-reset {
    margin-top: 2px;
}

.overlay-widgets .overlay-widgets__products-reset {
    margin-top: -4px;
}

.overlay-widgets .overlay-widgets__products-selected {
    overflow: hidden;
    line-height: 28px;
}

.product-card:focus-visible {
    outline: none
}

.product-card:focus-visible .product-description {
    outline: 2px solid var(--focuse-color);
    width: 95%
}

*:focus-visible {
    padding: 1px;
    outline: 2px solid var(--focuse-color);
}

.nav-tabs .nav-item .nav-link:focus-visible {
    padding: 5px;
    outline: 2px solid var(--focuse-color);
}

#floatingInput:focus-visible {
    outline: 2px solid var(--focuse-color);
}

#search-button:focus-visible {
    outline: 2px solid var(--focuse-color);
}

#reset-product-button:focus-visible {
    outline: 2px solid var(--focuse-color);
}

.col.back-to-products:focus-visible {
    outline: 2px solid var(--focuse-color);
}

#search-button>span:focus-visible {
    outline: 2px solid var(--focuse-color);
}

:root div.buy-now>button:focus-visible {
    outline: 2px solid var(--focuse-color);
}

:root .flyout .maplibregl-popup-close-button:focus-visible {
    outline: 2px solid var(--focuse-color);
}

#search-button>span:focus-visible {
    outline: 2px solid var(--focuse-color);
}

button.products-found-count:focus-visible {
    outline: 2px solid var(--focuse-color);
}

.product-description:focus-visible {
    outline: 2px solid var(--focuse-color);
}

.pagination-btn {
    height: 40px;
}

.pagination-btn:focus-visible {
    outline: 2px solid var(--focuse-color);
}

input:focus {
    padding: 0px 10px 0;
    color: var(--text-color-minor);
}

input:focus::placeholder {
    filter: brightness(1.5);
}

#mobile-exit-up:focus {
    outline: none;
}

.address-tip {
    visibility: hidden;
    position: absolute;
    z-index: 100;
    color: var(--text-color-minor);
    font-size: 11px;
    width: inherit;
    padding: 10px 15px 10px 15px;
}


.input-group:focus-within .address-tip {
    visibility: visible;
}

#up {
    bottom: 14px;
    left: 1%;
    min-width: 100px;
}

/* Map Pan Controls */
.where-to-buy-content {
    position: relative;
}

.map-pan-controls {
    display: none;
    position: absolute;
    z-index: 10;
    bottom: 6.5rem;
    right: 1.5rem;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    background-color: #fff;
    box-shadow: 0 0 0 2px rgb(0 0 0/10%);
}

@media only screen and (min-width: 992px) {
    .map-pan-controls {
        display: block;
    }
}

#panUp,
#panRight,
#panDown,
#panLeft {
    border: none;
    /* outline: none; */
    background: none;
    width: 16px;
    height: 16px;
    left: 0;
}

#panUp {
    position: absolute;
    top: 0;
    left: 17px;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23333'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z' stroke='%23333' stroke-width='2'/%3e%3c/svg%3e");
    transform: rotate(90deg);
}

#panRight {
    position: absolute;
    left: 34px;
    top: 17px;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23333'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z' stroke='%23333' stroke-width='2'/%3e%3c/svg%3e");
    transform: rotate(180deg);
}

#panDown {
    position: absolute;
    bottom: 0;
    left: 17px;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23333'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z' stroke='%23333' stroke-width='2'/%3e%3c/svg%3e");
    transform: rotate(270deg);
}

#panLeft {
    position: absolute;
    left: 0;
    top: 17px;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23333'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z' stroke='%23333' stroke-width='2'/%3e%3c/svg%3e");
}


.product-locator-footer {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    bottom: 40px;
    left: 10px;
    z-index: 100;
    background-color: var(--background-color);
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    border-radius: 8px;
    padding: 2px 8px 4px;
}

@media only screen and (min-width: 992px) {
    .product-locator-footer {
        left: unset;
        bottom: 30px;
        right: 80px;
    }
}

.product-locator-footer .powered-by-text {
    text-decoration: none;
    font-size: 14px !important;
    font-style: italic;
    color: var(--text-color-primary);
    display: flex;
    align-items: center;
}

.product-locator-footer .powered-by-text:hover {
    color: var(--text-color-hover);
}

.product-locator-footer .powered-by-text span i {
    font-size: 14px !important;
}

.product-locator-footer .powered-by-text span i strong {
    font-size: 14px !important;
}

.product-locator-footer .powered-by-text img {
    margin-left: 4px;
    width: 20px;
    height: 30px;
}

.product-locator-footer .privacy-policy-link {
    font-size: 14px;
    color: var(--text-color-primary);
}

.product-locator-footer-desktop {
    display: none;
}

@media only screen and (min-width: 992px) {
    .product-locator-footer-desktop {
        display: flex;
    }
}

.product-locator-footer-mobile {
    position: unset;
    left: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 4px 8px;
    border-bottom: none;
    border-left: none;
    border-right: none;
    height: 70px;
}

@media only screen and (min-width: 992px) {
    .product-locator-footer-mobile {
        display: none;
    }
}


.search-bar-flex {
    display: flex;
    align-items: stretch;
    width: 100%;
    gap: 0;
  }

  .flex-row {
    display: flex;
    flex-direction: row;
    gap: 0;
  }

  .flex-1 {
    flex: 1;
  }

  .flex-3 {
    flex: 3;
  }

  .flex-0 {
    flex: 0;
  }

  .height-full {
    height: 100%;
  }

  .search-container {
    margin-top: 0;
    flex: 1;
    height: 100%;
  }

  .search-container input {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }

  .filter-button {
    display: flex;
    flex: 1;
    border: none;
  }
  
  .close-external-cta:hover {
    cursor: pointer;
  }

  .external-cta-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    background: rgba(0, 0, 0, 0.4);
    cursor: pointer;
  }

  .external-cta-modal {
    position: absolute;
    left: 25%;
    top: 5%;
    right: 25%;
    background: #fff;
    padding: 10px;
    border-radius: 10px;
    cursor: default;
  }

  .external-cta-modal .close-external-cta {
    width: 99%;
    text-align: right;
    color: #000;
  }
