/** Shopify CDN: Minification failed

Line 292:10 Expected ":"

**/
/****
*
*
* These are our base style overrides. They have been split out from base.css to allow easy-merging with the latest versions of Dawn.
* When working on a dedicated project you are free to add your styles here or base.css.
* If you are feeling ambitious, I would even go as far as suggesting you consolidate these back to base.css.
*
*
*/

/* Global */

:root,
body,
.color-main {
    --color-foreground: var(--color-black);
    color: rgba(var(--color-foreground), 1);
}

.alert-message {
    display: flex;
    flex: 1;
    column-gap: calc(var(--grid-mobile-horizontal-spacing) * 0.5);
    align-items: center;
    font-size: var(--font-size-tagline-regular);
    line-height: var(--line-height-paragraph-small);
    padding: var(--grid-mobile-vertical-spacing) var(--grid-mobile-horizontal-spacing);
    letter-spacing: 0.05rem;
    font-weight: 500;
    margin: 0;
    color: rgb(var(--color-error-text));
    background-color: rgb(var(--color-white));
    --color-icon: rgb(var(--color-error-text));
    outline: solid 0.1rem rgb(var(--color-error-background));
    outline-offset: -0.1rem;
    position: relative;
}

.alert-message:before {
    content: '';
    position: absolute;
    top: 0.1rem;
    left: 0.1rem;
    right: 0.1rem;
    bottom: 0.1rem;
    background-color: rgb(var(--color-white));
    z-index: 0;
}

.alert-message:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(var(--color-error-background), 0.1);
    z-index: 1;
}

.alert-message.color-inverse:after {
    display: none;
}

.alert-message.color-inverse {
    color: rgb(var(--color-error-background));
    --color-icon: rgb(var(--color-error-background));
    outline: none;
}

.alert-message span {
    position: relative;
    z-index: 2;
}

.alert-message svg {
    width: 2rem;
    height: auto;
    position: relative;
    color: var(--color-icon);
    align-self: flex-start;
}

.alert-message svg path {
    fill: var(--color-icon);
}

.alert-message--error {
    --color-error-background: var(--color-error);
    --color-error-text: var(--color-black);
}

.alert-message--attention {
    --color-error-background: var(--color-attention);
    --color-error-text: var(--color-black);
}

.alert-message--success {
    --color-error-background: var(--color-success);
    --color-error-text: var(--color-black);
}

.page-width--micro {
    padding: 0 1.5rem;
    max-width: 45rem;
}

/* Font Overrdies */

body {
    --font-size: var(--font-size-paragraph-regular);
    font-size: var(--font-size);
    line-height: var(--line-height-paragraph-regular);
    letter-spacing: normal;
    color: rgba(var(--color-foreground), 1);
}

.paragraph-large {
    --font-size: var(--font-size-paragraph-large);
    font-size: var(--font-size);
    line-height: var(--line-height-paragraph-large);
}

.paragraph-regular {
    --font-size: var(--font-size-paragraph-regular);
    font-size: var(--font-size);
    line-height: var(--line-height-paragraph-regular);
}

.paragraph-small {
    --font-size: var(--font-size-paragraph-small);
    font-size: var(--font-size);
    line-height: var(--line-height-paragraph-small);
}

.paragraph-extra-small {
    --font-size: var(--font-size-paragraph-extra-small);
    font-size: var(--font-size);
    line-height: var(--line-height-paragraph-extra-small);
}

.tagline-large {
    --font-size: var(--font-size-tagline-large);
    font-size: var(--font-size);
    line-height: var(--line-height-tagline-large);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.2rem;
}

.tagline-regular {
    --font-size: var(--font-size-tagline-regular);
    font-size: var(--font-size);
    line-height: var(--line-height-tagline-regular);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.2rem;
}

.tagline-small {
    --font-size: var(--font-size-tagline-small);
    font-size: var(--font-size);
    line-height: var(--line-height-tagline-small);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.2rem;
}

body h1,
body .h1 {
    --font-size: var(--font-size-h1);
    font-size: var(--font-size);
    line-height: var(--line-height-h1);
    font-weight: 500;
    color: rgba(var(--color-foreground), 1);
    margin-block-start: 0;
    margin-block-end: var(--grid-mobile-vertical-spacing);
    letter-spacing: 0;
}

body h2,
body .h2 {
    --font-size: var(--font-size-h2);
    font-size: var(--font-size);
    line-height: var(--line-height-h2);
    font-weight: 500;
    color: rgba(var(--color-foreground), 1);
    margin-block-start: 0;
    margin-block-end: var(--grid-mobile-vertical-spacing);
    letter-spacing: 0;
}

body h3,
body .h3 {
    --font-size: var(--font-size-h3);
    font-size: var(--font-size);
    line-height: var(--line-height-h3);
    font-weight: 500;
    color: rgba(var(--color-foreground), 1);
    margin-block-start: 0;
    margin-block-end: var(--grid-mobile-vertical-spacing);
    letter-spacing: 0;
}

body h4,
body .h4 {
    --font-size: var(--font-size-h4);
    font-size: var(--font-size);
    line-height: var(--line-height-h4);
    font-weight: 500;
    color: rgba(var(--color-foreground), 1);
    margin-block-start: 0;
    margin-block-end: var(--grid-mobile-vertical-spacing);
    letter-spacing: 0;
}

body h5,
body .h5 {
    --font-size: var(--font-size-h5);
    font-size: var(--font-size);
    line-height: var(--line-height-h5);
    color: rgba(var(--color-foreground), 1);
    font-weight: 500;
    margin-block-start: 0;
    margin-block-end: var(--grid-mobile-vertical-spacing);
}

body h6,
body .h6 {
    --font-size: var(--font-size-h6);
    font-size: var(--font-size);
    line-height: var(--line-height-h6);
    color: rgba(var(--color-foreground), 1);
    margin-block-start: 0;
    margin-block-end: var(--grid-mobile-vertical-spacing);
}

.letter-spacing,
.body .letter-spacing {
    letter-spacing: max(0.13rem, calc(var(--font-size) * 0.1));
}

/* Grid Additions */

.grid--4-col .grid__item {
    width: calc(25% - var(--grid-mobile-horizontal-spacing) * 3 / 4);
}

.grid--5-col .grid__item {
    width: calc(20% - var(--grid-mobile-horizontal-spacing) * 4 / 5);
}

.grid--6-col .grid__item {
    width: calc(16.666% - var(--grid-mobile-horizontal-spacing) * 5 / 6);
}

/* Buttons */
.button {
    letter-spacing: 0;
}
.button:not(.skip-to-content-link, .active-facets__button-inner) {
    transition: background-color var(--duration-short) ease-in-out,
        color var(--duration-short) ease-in-out, outline-color var(--duration-short) ease-in-out;
    padding: 1.6rem 4.8rem;
    font-weight: 500;
    font-size: var(--font-size-paragraph-regular);
    line-height: var(--line-height-paragraph-regular);
    min-width: unset;
}

.button:after {
    --color-button: var(--color-light-line);
    box-shadow: 0 0 0 calc(var(--buttons-border-width) + var(--border-offset))
            rgba(var(--color-button-text), var(--border-opacity)),
        0 0 0 var(--buttons-border-width) rgba(var(--color-button), var(--alpha-button-background));
}
.button--primary:after {
    --color-button: var(--color-light-line);
}
.button--primary.color-inverse {
    --color-button: var(--color-white);
    --color-button-text: var(--color-dark);
}
.button.button--primary.color-inverse:hover {
    --color-button: var(--color-white);
    --color-button-text: var(--color-red);
    border
}
.button.button--primary.color-inverse:not([disabled]):after,
.button.button--primary.color-inverse:not([disabled]):hover:after {
    --color-button-text: var(--color-light-line);
}

.button.button--small {
    font-weight: 500;
    padding: var(--grid-mobile-vertical-spacing)
        calc(var(--grid-desktop-horizontal-spacing) + 0.8rem);
}

.button.button--success {
    --color-button: var(--color-success);
    --color-button-text: var(--color-white);
}

.button--success.color-inverse {
    --color-button: var(--color-white);
    --color-button-text: var(--color-success);
}

.button.button--success:after {
    box-shadow: 0 0 0 calc(var(--buttons-border-width) + var(--border-offset))
            rgba(255, 255, 255, calc(1 - 1)),
        0 0 0 var(--buttons-border-width) rgba(var(--color-button), var(--alpha-button-background));
}

.button.button--warning {
    --color-button: var(--color-attention);
    --color-button-text: var(--color-white);
}

.button--warning.color-inverse {
    --color-button: var(--color-white);
    --color-button-text: var(--color-attention);
}

.button.button--warning:after {
    box-shadow: 0 0 0 calc(var(--buttons-border-width) + var(--border-offset))
            rgba(0, 0, 0, calc(1 - 1)),
        0 0 0 var(--buttons-border-width) rgba(var(--color-button), var(--alpha-button-background));
}

.button.button--error {
    --color-button: var(--color-error);
    --color-button-text: var(--color-white);
}

.button--error.color-inverse {
    --color-button: var(--color-white);
    --color-button-text: var(--color-error);
}
.button--error.color-inverse:after {
    --color-button-text: var(--color-white);
}

.button.button--error:after {
    box-shadow: 0 0 0 calc(var(--buttons-border-width) + var(--border-offset))
            rgba(0, 0, 0, calc(1 - 1)),
        0 0 0 var(--buttons-border-width) rgba(var(--color-button), var(--alpha-button-background));
}

.button.color-inverse:after {
    box-shadow: 0 0 0 calc(var(--buttons-border-width) + var(--border-offset))
            rgba(var(--color-button-text), var(--border-opacity)),
        0 0 0 var(--buttons-border-width)
            rgba(var(--color-button-text), var(--alpha-button-background));
}

.button:not([disabled], .button--secondary):hover:after {
    box-shadow: 0 0 0 calc(var(--buttons-border-width) + var(--border-offset))
            rgba(0, 0, 0, calc(1 - 1)),
        0 0 0 calc(var(--buttons-border-width) + 1px)
            rgba(var(--color-button), var(--alpha-button-background));
}

.button.color-inverse:not([disabled]):hover:after {
    box-shadow: 0 0 0 calc(var(--buttons-border-width) + var(--border-offset))
            rgba(0, 0, 0, calc(1 - 1)),
        0 0 0 calc(var(--buttons-border-width) + 1px)
            rgba(var(--color-button-text), var(--alpha-button-background));
}

button.shopify-payment-button__button--unbranded {
    font-weight: 500;
    font-size: var(--font-size-paragraph-regular);
    line-height: var(--line-height-paragraph-regular);
    padding: var(--grid-mobile-vertical-spacing) var(--grid-desktop-horizontal-spacing);
}

button.button--dark {
    --color-button-text: var(--color-dark);
    background-color: rgb(var(--color-dark));
    color: rgb(var(--color-white));
    padding-left: 0.8rem;
    padding-right: 0.8rem;
}
button.button--dark:after {
    --color-button: var(--color-dark);
}

.button.button--secondary {
    --color-button: var(--color-secondary-button-text);
    --color-button-text: var(--color-secondary-button);
}
.button.button--secondary:hover {
    --color-button: 187, 23, 42;
}
.button.button--outline {
    --color-button: var(--color-white);
    --color-button-text: var(--color-dark);
    padding-left: 1.6rem;
    padding-right: 1.6rem;
}
.button.button--outline:hover {
    --color-button-text: var(--color-secondary-button-text);
}
.button.button--outline:after {
    --color-button: var(--color-dark);
}
.button.button--outline:hover:after {
    --color-button: var(--color-secondary-button-text);
}
.button.button--primary:hover {
    --color-button: var(--color-dark-grey);
}

/* Header */

sticky-header.header-wrapper {
    background-color: rgb(var(--color-white));
}

sticky-header.header-wrapper .header__menu-item,
sticky-header.header-wrapper .header__active-menu-item {
    color: rgb(var(--color-dark-grey));
}

.header__menu-item {
    font-size: var(--font-size-paragraph-regular);
    line-height: var(--line-height-paragraph-regular);
    font-weight: 500;
}

.cart-count-bubble {
    background-color: rgb(var(--color-red));
    color: rgb(var(--color-white));
    font-weight: 500;
    font-size: 1.3rem;
}

.header--middle-left .header__heading-link,
.header--top-left .header__heading-link {
    margin-left: 0;
}

.shopify-section-header-sticky sticky-header header {
    transition: padding var(--duration-short) ease-in-out;
}

body .menu-drawer {
    width: 100%;
}

.menu-drawer__localization .localization-form:only-child .localization-form__select {
    padding-left: 1.6rem;
}

.header__heading-link {
    padding: 0;
}

header .localization-form:only-child .button,
header .localization-form:only-child .localization-form__select {
    margin-top: 0;
}

.header__icon {
    color: rgb(var(--color-dark-grey));
}

.header__icons {
    align-items: center;
}
header.top-bar {
    border-bottom: 0.1rem solid rgb(var(--color-light-line));
}
header.top-bar .top-bar-wrapper {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    padding: 0.7rem 0;
}
header.top-bar ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    column-gap: 2.4rem;
}
header.top-bar ul li a {
    display: inline-flex;
    align-items: center;
    column-gap: 0.4rem;
    font-size: var(--font-size-paragraph-extra-small);
    line-height: var(--line-height-paragraph-extra-small);
    color: rgb(var(--color-dark));
    text-decoration: none;
    padding: 0.2rem 0;
}
header.top-bar ul li a:hover {
    box-shadow: inset 0 -0.1rem 0 0 rgb(var(--color-dark));
}
header.top-bar .icon {
    width: 1.4rem;
    height: 1.4rem;
}
/* Footer */

.footer {
    background-color: rgb(var(--color-dark));
}

body .footer__content-bottom {
    border: none;
}

footer.footer.footer--sticky-padding {
    padding-bottom: var(--sticky-padding);
}

.footer p80-accordion,
.footer .p80-accordion__item,
.footer .p80-accordion__summary {
    border: none !important;
    background-color: transparent !important;
}

.footer .p80-accordion__summary {
    background-color: transparent;
    color: rgb(var(--color-white));
    padding-top: 0;
    font-weight: 700;
}
.footer .footer-block__newsletter h2,
.footer .p80-accordion__summary > h2 {
    color: rgb(var(--color-strong-line));
    font-size: var(--font-size-tagline-large);
    line-height: var(--line-height-tagline-large);
    font-weight: 500;
    width: 100%;
    display: flex;
    align-items: center;
    text-transform: uppercase;
}
.footer .footer-block__newsletter h2 {
    padding-bottom: var(--grid-desktop-vertical-spacing);
}

.footer .p80-accordion__summary svg path {
    fill: rgb(var(--color-white));
}

.footer .p80-accordion__content {
    border: none;
    outline: none;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 2.4rem;
    background-color: transparent;
    font-size: var(--font-size-paragraph-small);
    line-height: var(--line-height-paragraph-small);
}

.footer .p80-accordion__content > * {
    font-size: var(--font-size-paragraph-small);
    line-height: var(--line-height-paragraph-small);
}

.footer-block__details-content .list-menu__item--link {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
    line-height: var(--line-height-paragraph-small);
}

.footer .p80-accordion__content > *,
.footer .list-social__link,
.footer .footer-block__details-content .list-menu__item--link,
.footer .newsletter-form__field-wrapper small .copyright__content a,
.footer-block__details-content .list-menu__item--link:hover,
.copyright__content a:hover {
    color: rgb(var(--color-white)) !important;
}

.footer h2 {
    margin: 0;
}
.footer .newsletter-form__button,
.footer .newsletter-form__button:focus-visible {
    background-color: rgb(var(--color-red)) !important;
    box-shadow: none !important;
    color: rgb(var(--color-white));
    height: calc(100% - 0.2rem);
    top: 0.1rem;
    --border-offset: 0.1rem;
}

.footer .newsletter-form__button:after {
    content: '';
    position: absolute;
    top: var(--buttons-border-width);
    right: var(--buttons-border-width);
    bottom: var(--buttons-border-width);
    left: var(--buttons-border-width);
    z-index: 1;
    border-radius: var(--buttons-radius);
    box-shadow: 0 0 0 calc(var(--buttons-border-width) + var(--border-offset))
            rgba(255, 255, 255, calc(1 - 1)),
        0 0 0 var(--buttons-border-width) rgba(var(--color-white), var(--alpha-button-background));
    outline: solid 0.2rem transparent;
    outline-offset: -0.1rem;
    transition: outline var(--duration-short) ease-in-out;
}
.footer .newsletter-form__button {
    width: 10.8rem;
    border-radius: 0.4rem;
    padding: 1.6rem 2.4rem;
    border: 0;
    --border-offset: 0;
    font-size: var(--font-size-tagline-regular);
    line-height: var(--line-height-tagline-regular);
}
.footer .newsletter-form__field-wrapper .field {
    padding-right: 11.6rem;
}
.footer .newsletter-form__field-wrapper .field__input {
    padding-right: 1.5rem;
    border-radius: 0.4rem;
    background-color: rgb(var(--color-dark-grey));
    border: 0;
    --border-offset: 0;
    color: rgb(var(--color-light-line));
}
.footer .newsletter-form__field-wrapper .field .field__label {
    color: rgb(var(--color-light-line));
}
.footer .newsletter-form__field-wrapper .field:before,
.footer .newsletter-form__field-wrapper .field:after {
    display: none;
}
.footer__content-top .grid {
    flex-grow: 1;
}
.footer .footer-block__details-content.footer-contact-list svg {
    width: 1.4rem;
    height: 1.4rem;
    position: absolute;
    top: 1.3rem;
    left: 0;
}
.footer .footer-block__details-content.footer-contact-list li {
    position: relative;
    padding-left: 2rem;
}

html body .footer .field .newsletter-form__button:hover:after,
html body .footer .field .newsletter-form__button:focus-visible:after {
    outline: solid 0.1rem rgb(var(--color-white));
}

.footer .footer-block__details-content {
    margin: 0;
}

.footer .newsletter-form__message {
    color: rgb(var(--color-white));
}

.footer .footer-block__newsletter {
    width: 100%;
}

.footer-block__newsletter h2 {
    text-align: left;
}

.footer-block__newsletter + .footer__list-social {
    width: 100%;
}

.footer-block__details-content .list-menu__item--link:hover,
.copyright__content a:hover {
    color: rgb(var(--color-white));
}

.footer .footer__list-social {
    justify-content: center;
    row-gap: var(--grid-mobile-horizontal-spacing);
}
.footer .footer__list-social li {
    width: 100%;
}
.footer .footer__list-social a.list-social__link {
    border: 0.1rem solid rgb(var(--color-grey));
    border-radius: 0.4rem;
    text-decoration: none;
    column-gap: 0.8rem;
    justify-content: center;
}

/* Quick Add */

body quick-add-modal .slider .product__media-item.grid__item {
    margin: 0;
}

/* Badges */

.badge {
    border: none;
}

/* Pagination */

.pagination__item {
    font-weight: 700;
    font-size: var(--font-size-paragraph-regular);
    line-height: var(--line-height-paragraph-regular);
    color: rgb(var(--color-black));
}

.pagination__item.light,
.pagination__item.light:hover {
    opacity: 1;
    background-color: rgb(var(--color-white));
    color: rgb(var(--color-red));
}

.pagination__item.light:after {
    display: none !important;
}

.pagination__item svg,
body .pagination__item .icon-caret {
    width: 1.6rem;
    height: auto;
}

/* Product Upsell */

.product-complementary {
    position: relative;
    width: 100%;
}

.product-complementary > h3 {
    margin-top: 0;
}

.product-complementary__item .card {
    row-gap: var(--grid-mobile-horizontal-spacing);
}

.product-complementary__item.product-complementary__item--horizontal .card {
    gap: var(--grid-mobile-horizontal-spacing);
    flex-wrap: wrap;
    align-items: flex-start;
}

.product-complementary__item .card .quick-add {
    margin-top: 0;
}

.product-complementary__item.product-complementary__item--horizontal .card .quick-add {
    width: 100%;
}

.product-complementary__item.product-complementary__item--horizontal .card__inner {
    max-width: 10rem;
    flex: 1;
}

.product-complementary__item.product-complementary__item--horizontal .card__content {
    width: calc(100% - 10rem - var(--grid-mobile-horizontal-spacing));
    flex: 1;
}

.product-complementary__item .card__information {
    padding-top: 0;
}
.product-complementary__item .card .price__container,
.product-complementary__item .card .price__container .price-item {
    color: rgb(var(--color-dark));
    font-weight: 400;
    font-size: var(--font-size-paragraph-small);
    line-height: var(--font-size-paragraph-small);
}

.product-complementary__item .card .price__container .price__sale .price-item--regular {
    color: rgba(var(--color-black), 0.5);
}

.product-complementary__item .card .price__container .price__sale .price-item--sale {
    color: rgb(var(--color-error));
}

.product-complementary__item .product-complementary__item-rating {
    line-height: var(--line-height-tagline-regular);
}

.product-complementary__item .quick-add {
    margin-bottom: 0;
}

.product-complementary__item .quick-add button {
    padding-top: 1rem;
    padding-bottom: 1rem;
    min-height: 4rem;
}

@media (max-width: 749px) {
    .product-complementary__item.product-complementary__item--vertical .card {
        gap: var(--grid-mobile-horizontal-spacing);
        flex-wrap: wrap;
        align-items: flex-start;
        flex-direction: row;
    }

    .product-complementary__item.product-complementary__item--vertical .card .quick-add {
        width: 100%;
    }

    .product-complementary__item.product-complementary__item--vertical .card__inner {
        max-width: 7.2rem;
        flex: 1;
    }

    .product-complementary__item.product-complementary__item--vertical .card__content {
        width: calc(100% - var(--grid-mobile-horizontal-spacing) / 2);
        flex: 1;
    }

    .product-complementary__item.product-complementary__item--vertical .card__content,
    .product-complementary__item.product-complementary__item--vertical .card__information {
        padding-top: 0;
    }
}

/*
 *
 * Render blocking glide component styles for CLS
 *
 */

#p80-ajax-cart,
.product .complementary__wrapper {
    --slides-desktop: 1;
    --slides-tablet: 1;
    --slides-mobile: 1;
    --spacing-grid: var(--grid-desktop-horizontal-spacing);
}

glide-component {
    position: relative;
    display: block;
    --bullet-size: 2.4rem;
}

glide-component .glide {
    position: relative;
    z-index: 1;
}

glide-component .glide,
glide-component .glide__track,
glide-component .glide__slides {
    height: 100%;
}

glide-component .slideshow__loader {
    opacity: 0;
    z-index: 2;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgb(var(--color-white));
    pointer-events: none;
    transition: opacity var(--duration-default) ease-in-out;
}

glide-component .slideshow__loader svg {
    width: 5rem;
    height: 5rem;
    position: relative;
}

glide-component .slideshow__loader svg .path {
    stroke: rgb(var(--color-black));
}

glide-component .slideshow__loader.slideshow__loader--visible {
    opacity: 1;
    pointer-events: all;
}

glide-component .glide__track > ul {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    padding: 0;
    margin: 0;
    list-style: none;
}

glide-component .glide__track > ul > li {
    flex-shrink: 0;
    height: auto;
}

glide-component:not(.glide-component--loaded) li * {
    word-break: keep-all;
    line-break: auto;
    word-wrap: unset;
    overflow-wrap: unset;
    white-space: nowrap;
}

glide-component li * {
    word-break: normal;
    line-break: strict;
    word-wrap: break-word;
    overflow-wrap: break-word;
    white-space: normal;
}

glide-component:not(.glide-component--loaded) .glide__track > ul > li:not(:first-of-type) {
    display: none;
}

glide-component:not(.glide-component--loaded, .glide-component--slideshow) .glide__track > ul > li {
    width: calc(
        (100% / var(--slides-mobile)) - var(--spacing-grid) +
            (var(--spacing-grid) / var(--slides-mobile))
    );
}

glide-component:not(.glide-component--loaded, .glide-component--slideshow) .glide__track > ul {
    max-width: 100%;
}

glide-component .glide__controls {
    opacity: 0;
    transition: opacity var(--duration-default) ease-in-out;
}

glide-component .glide__pagination {
    position: absolute;
    opacity: 0;
}

glide-component .glide__bullets {
    position: absolute;
    opacity: 0;
}

/* Since the custom framework input CSS is lazy loaded we do require this line to be render blocking as a minor safety catch */

.custom-input .custom-input__icon svg,
.custom-input .custom-input__icon img {
    opacity: 0;
    position: absolute;
    pointer-events: none;
    z-index: -1;
    transform: translate(-50%, -50%) scale(0);
}

.custom-input .alert-message {
    display: none;
}

/* Quick Add */

.quick-add-modal .scroll-trigger.scroll-trigger {
    transform: none;
}

body .quick-add-modal {
    background: rgba(var(--color-black), 0.5);
}

/*
*
*   This is pulled directly from `component-loading-spinner.css` which I've commented out of the relevant snippet
*   Saves 500ms on LCP
*
*/

.loading__spinner {
    position: absolute;
    z-index: 1;
    width: 1.8rem;
}

.loading__spinner {
    width: 1.8rem;
    display: inline-block;
}

.spinner {
    animation: rotator 1.4s linear infinite;
}

@keyframes rotator {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(270deg);
    }
}

.path {
    stroke-dasharray: 280;
    stroke-dashoffset: 0;
    transform-origin: center;
    stroke: rgb(var(--color-foreground));
    animation: dash 1.4s ease-in-out infinite;
}

@media screen and (forced-colors: active) {
    .path {
        stroke: CanvasText;
    }
}

@keyframes dash {
    0% {
        stroke-dashoffset: 280;
    }
    50% {
        stroke-dashoffset: 75;
        transform: rotate(135deg);
    }
    100% {
        stroke-dashoffset: 280;
        transform: rotate(450deg);
    }
}

.loading__spinner:not(.hidden) + .cart-item__price-wrapper,
.loading__spinner:not(.hidden) ~ cart-remove-button {
    opacity: 50%;
}

.loading__spinner:not(.hidden) ~ cart-remove-button {
    pointer-events: none;
    cursor: default;
}

/*
*
* Custom CSS for Shopify component assets
* Split out into this file to ease  merging Dawn back into p80-dawn.
* Do not add your new css here (unless you are writing a new query - replace existing styles whenever possible)
* You can modify these selectors if you so desire and they are already targetting what you need to update.
*
*/

body .card-information > * {
    font-size: var(--font-size-paragraph-regular);
    line-height: var(--line-height-paragraph-regular);
    color: rgb(var(--color-black));
}

body .card-information .caption-with-letter-spacing {
    font-size: var(--font-size-tagline-small);
    line-height: var(--line-height-tagline-small);
}

body .card-information > .price {
    color: rgb(var(--color-black));
    font-weight: 400 !important;
    font-size: var(--font-size-paragraph-regular);
    line-height: var(--line-height-paragraph-regular);
}

body .card__information {
    padding-bottom: 0;
}

body .card .quick-add {
    margin-top: 1.7rem;
    margin-bottom: 0;
}

body .card__heading a:focus-visible {
    text-decoration: underline;
}

html body cart-items > .page-width {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: var(--grid-mobile-vertical-spacing);
}

html body cart-items .title-wrapper-with-link {
    display: grid;
    align-items: center;
    grid-gap: var(--grid-mobile-horizontal-spacing);
    row-gap: var(--grid-mobile-vertical-spacing);
    grid-template-columns: 1fr;
    margin: 0;
}

html body cart-items #main-cart-items tbody tr {
    padding-top: 1.6rem;
    padding-bottom: 1.6rem;
    margin-bottom: 0;
}
html body cart-items #main-cart-items tbody tr {
    border-bottom: 0.1rem solid rgba(var(--color-light-line), 1);
}
html body cart-items #main-cart-items tbody tr:last-child {
    border-bottom: 0;
}

html body cart-items .title-wrapper-with-link h1 {
    order: 2;
}

html body cart-items .title-wrapper-with-link a {
    order: 1;
    font-weight: 500;
}

html body cart-items .title-wrapper-with-link > * {
    justify-self: center;
}

html body cart-items form.cart__contents > div thead th {
    text-transform: uppercase;
    font-weight: 500;
    font-size: var(--font-size-tagline-large);
    line-height: var(--line-height-tagline-large);
    color: rgb(var(--color-dark));
    opacity: 1;
}

html body cart-items .cart-item cart-remove-button {
    position: relative;
    height: 100%;
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0.5rem;
}

html body cart-items .cart-item cart-remove-button a {
    min-width: unset !important;
    padding: 1.4rem !important;
    background-color: rgb(var(--color-light-background));
}

cart-remove-button:after {
    pointer-events: none;
    content: '';
    position: absolute;
    top: var(--inputs-border-width);
    right: var(--inputs-border-width);
    bottom: var(--inputs-border-width);
    left: var(--inputs-border-width);
    border: 0.1rem solid transparent;
    border-radius: var(--inputs-radius);
    box-shadow: 0 0 0 var(--inputs-border-width) rgba(var(--color-strong-line), 1);
    transition: box-shadow var(--duration-short) ease;
    z-index: 1;
}

quantity-input.quantity:hover:after,
.ajax-cart__remove-button:hover:after,
cart-remove-button:hover:after {
    box-shadow: 0 0 0 calc(var(--inputs-border-width) * 2)
        rgba(var(--color-black), var(--inputs-border-opacity));
    transition: box-shadow var(--duration-short) ease-in-out;
}

.cart-item__quantity-wrapper {
    display: flex;
    column-gap: 1.2rem;
    row-gap: 1.2rem;
    flex-wrap: wrap;
}

html body cart-items .quantity-popover-container {
    padding: 0;
}

html body cart-items .cart__warnings {
    padding: 0;
}

html body .cart-item__image-container {
    display: flex;
}
html body cart-items td .cart-item__image-container {
    border: 0;
}
html body cart-items .cart-item__media img {
    width: 100%;
    height: auto;
    display: block;
    max-width: unset;
}

body .predictive-search__heading {
    font-size: var(--font-size-paragraph-large);
    line-height: var(--line-height-paragraph-large);
}

body .totals > h2 {
    font-size: var(--font-size-h4);
    line-height: var(--line-height-h4);
    font-weight: 500;
}

body .totals * {
    font-size: var(--font-size-h4);
    line-height: var(--line-height-h4);
    font-weight: 500;
}

body .article-card__info {
    font-size: var(--font-size-paragraph-small);
    line-height: var(--line-height-paragraph-small);
}

body .article-card__excerpt {
    width: 100%;
    font-size: var(--font-size-paragraph-regular);
    line-height: var(--line-height-paragraph-regular);
}

body .card__information {
    display: flex;
    flex-wrap: wrap;
    row-gap: var(--grid-mobile-vertical-spacing);
}

body .card__information > *,
body .article-card .card__heading {
    margin: 0;
    padding: 0;
    width: 100%;
}

body .article-card__info {
    margin-top: calc(var(--grid-mobile-vertical-spacing) / -0.8);
}

body .card__heading {
    font-size: var(--font-size-paragraph-extra-large);
    line-height: var(--line-height-paragraph-extra-large);
    font-weight: 500;
    font-family: var(--font-body-family);
    color: rgb(var(--color-dark));
}

body .card-information > * {
    font-size: var(--font-size-paragraph-regular);
    line-height: var(--line-height-paragraph-regular);
    color: rgb(var(--color-black));
}

body .price {
    color: rgb(var(--color-black));
}

body .price--on-sale .price-item--regular {
    color: rgb(var(--color-light-grey));
    font-size: var(--font-size-paragraph-regular);
    line-height: var(--line-height-paragraph-regular);
}

body .price .price-item.price-item--sale {
    color: rgb(var(--color-error));
}

@media (max-width: 749px) {
    glide-component[data-pagination-style='bullets'][data-pagination-mobile='true'] {
        padding-bottom: calc(var(--bullet-size) * 1.5);
    }
    glide-component[data-pagination-style='arrows'][data-pagination-mobile='true'] {
        padding-bottom: calc(var(--bullet-size) * 1.5);
    }
    glide-component[data-pagination-style='bullets'][data-pagination-mobile='true']
        .slideshow__loader,
    glide-component[data-pagination-style='arrows'][data-pagination-mobile='true']
        .slideshow__loader {
        bottom: calc(var(--bullet-size) * -1.5);
    }
}

@media (min-width: 750px) and (max-width: 989px) {
    glide-component[data-pagination-style='bullets'][data-pagination-tablet='true'] {
        padding-bottom: calc(var(--bullet-size) * 1.5);
    }
    glide-component[data-pagination-style='arrows'][data-pagination-tablet='true'] {
        padding-bottom: calc(var(--bullet-size) * 1.5);
    }
    glide-component[data-pagination-style='bullets'][data-pagination-tablet='true']
        .slideshow__loader,
    glide-component[data-pagination-style='arrows'][data-pagination-tablet='true']
        .slideshow__loader {
        bottom: calc(var(--bullet-size) * -1.5);
    }
}

.image-with-text__text.icon-block {
    position: relative;
    padding-left: 3.2rem;
}
.image-with-text__text.icon-block svg {
    width: 2.4rem;
    height: 2.4rem;
    position: absolute;
    top: 0;
    left: 0;
}
.shopify-section-group-header-group.with-collection-hero-image {
    z-index: 4;
}
.with-collection-hero-image .breadcrumbs ol li a:hover,
.with-collection-hero-image .breadcrumbs ol li,
.with-collection-hero-image .breadcrumbs ol li a {
    color: rgb(var(--color-white));
}

@media screen and (min-width: 750px) {
    .grid.product-grid {
        row-gap: 7.2rem;
    }
}

.underlined-link {
    text-underline-offset: 0.6rem;
    text-decoration-thickness: 0.2rem;
}
.underlined-link span {
    color: rgb(var(--color-dark));
}

html cart-items .page-width.page-width--micro {
    padding: 0;
    margin: 0;
}
