[data-drawer] {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    --drawer-size: min(85vw, 350px);
    visibility: hidden;
    opacity: 1 !important;
    z-index: 70;
    font-size: var(--font-navigation-size);
    font-family: var(--font-navigation-family);
    font-style: var(--font-navigation-style);
    font-weight: var(--font-navigation-weight);
    text-transform: var(--font-navigation-text-transform);
    letter-spacing: var(--font-navigation-letter-spacing);
    display: block !important
}

[data-drawer-panel], html.js .drawer-submenu__panel {
    --drawer-animation: all .3s ease-in-out;
    --drawer-padding: 2.6rem;
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: var(--drawer-size);
    background-color: var(--modals-and-drawers-background);
    color: var(--modals-and-drawers-foreground);
    opacity: 0;
    z-index: 10;
    transform: translate(var(--drawer-position));
    height: 100vh;
    height: calc(calc((var(--vh, 1vh) * 100)))
}

html.no-js [data-drawer-panel] {
    --drawer-animation: transform .3s ease-in-out
}

html.js .drawer-submenu__panel {
    --drawer-animation: all .3s ease-in-out;
    background-color: var(--modals-and-drawers-background)
}

[data-drawer-panel]:not(.slide-from-right), html.js .drawer-submenu__panel {
    --drawer-original-position: -100%;
    --drawer-position: var(--drawer-original-position)
}

[data-drawer-panel].slide-from-right {
    --drawer-original-position: 100vw;
    --drawer-position: var(--drawer-original-position)
}

html.js .initialized [data-drawer-panel], html.no-js [data-drawer-panel], html.js .initialized .drawer-submenu__panel {
    transition: var(--drawer-animation)
}

html.no-js [data-drawer]:target, html.js [data-drawer].is-open {
    opacity: 1 !important;
    visibility: visible
}

html.no-js [data-drawer]:target > [data-drawer-overlay], html.js [data-drawer].is-open > [data-drawer-overlay] {
    z-index: 1;
    opacity: 1
}

html.js [data-drawer].is-open > [data-drawer-overlay] {
    cursor: var(--hover-close-url) 18 18, auto
}

html.no-js [data-drawer]:target [data-drawer-panel]:not(.slide-from-right), html.js [data-drawer].is-open [data-drawer-panel]:not(.slide-from-right), html.js .drawer-submenu__panel {
    --drawer-position: 0;
    opacity: 1
}

html.no-js [data-drawer]:target [data-drawer-panel].slide-from-right, html.js [data-drawer].is-open [data-drawer-panel].slide-from-right {
    --drawer-position: calc(100vw - var(--drawer-size));
    opacity: 1
}

[data-drawer-header] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.4rem var(--drawer-padding);
    min-height: 40px;
    text-transform: uppercase;
    font-size: 1.6rem;
    line-height: 2.56rem;
    letter-spacing: 0.19rem;
    font-weight: 500
}

#drawer-menu [data-drawer-header] {
    padding: 1.4rem var(--drawer-padding);
    text-transform: uppercase;
    font-size: 1.6rem;
    font-weight: 300
}

[data-drawer-close], [data-drawer-submenu-close] {
    display: grid;
    place-content: center;
    width: 4rem;
    height: 4rem;
    cursor: pointer
}

.drawer-menu__item.--drilldown {
    overflow: unset
}

[data-drawer-close] {
    margin-right: calc(-1 * var(--drawer-padding) + 1.2rem)
}

[data-drawer-submenu-close] {
    margin-left: calc(var(--drawer-padding) * -1)
}

#drawer-menu [data-drawer-close] {
    right: calc(calc(var(--drawer-padding) * 1.6) / 2)
}

[data-drawer-content] {
    height: 100%;
    overflow-y: auto
}

[data-drawer-footer] {
    display: flex;
    align-self: flex-end;
    width: 100%
}

html.js .drawer-submenu__panel-container {
    width: 100%;
    position: fixed;
    z-index: 2;
    top: 0;
    bottom: 0;
    left: var(--drawer-size);
    display: flex;
    flex-direction: row;
    width: var(--drawer-size)
}

.drawer-menu__item, .drawer-submenu__item, .drawer-subsubmenu__item {
    display: block
}

.drawer-menu__item:not(.--drilldown), .drawer-submenu__item, .drawer-menu__item.--drilldown .drawer-menu__item-label {
    padding: 1.14rem 2.6rem;
    font-size: max(var(--font-navigation-size))
}

.drawer-subsubmenu__item {
    padding: calc(var(--drawer-padding) * .4) calc(var(--drawer-padding) * 1.6)
}

.drawer-subsubmenu__item + .drawer-submenu__item {
    margin-top: calc(var(--drawer-padding) * .8)
}

.drawer-menu__item-label {
    transition: all .3s
}

.drawer-submenu__item.--small {
    font-size: calc(var(--font-navigation-size) * .8)
}

.drawer-menu__item localization-form button.btn.localization-form__select {
    width: 100%;
    border: 0;
    padding-left: 0
}

.drawer-menu__item localization-form .disclosure__list-wrapper {
    border: 1px solid
}

.drawer-menu__item-label span {
    position: relative
}

.is-open > .drawer-menu__item-label {
    background-color: var(--modals-and-drawers-background)
}

[data-drawer-panel].has-open-submenu {
    background-color: var(--modals-and-drawers-background-darken)
}

.drawer-menu-nav {
    display: flex;
    flex-direction: column
}

.drawer-menu-nav > a.drawer-menu__item, .drawer-menu-nav :not(.is-open) .drawer-menu__item-label {
    transition: all .3s
}

.has-open-submenu .drawer-menu-nav > a.drawer-menu__item, .has-open-submenu .drawer-menu-nav :not(.is-open) .drawer-menu__item-label {
    opacity: .35
}

.has-open-submenu .drawer-menu__divider {
    opacity: .35
}

.drawer-menu-nav > a.drawer-menu__item:hover, .drawer-menu-nav :not(.is-open) .drawer-menu__item-label:hover {
    opacity: 1
}

html.js .drawer-menu__item.--emphasize, html.js .drawer-submenu__item.--emphasize {
    padding: calc(var(--drawer-padding) * 1.2) var(--drawer-padding) calc(var(--drawer-padding) * .6);
    text-transform: uppercase;
    font-weight: 500
}

html.no-js [data-drawer]:target [data-accordion-item] > input:checked ~ [data-accordion-panel] .drawer-submenu__panel, html.js [data-accordion-item].is-open .drawer-submenu__panel {
    --drawer-position: 0 !important;
    z-index: 9;
    opacity: 1;
    height: 100%
}

drawer-menu [data-accordion-item] > input:checked ~ [data-accordion-panel] {
    height: 100vh;
    height: calc(calc((var(--vh, 1vh) * 100)));
    visibility: visible;
    max-height: 100%
}

html.no-js .drawer-submenu__panel-container, html.no-js .drawer-subsubmenu__panel {
    padding-left: 1rem !important
}

.drawer-media__close {
    display: none
}

.drawer-menu__utilities {
    flex: 1 0 auto
}

@media only screen and (max-width: 1023px) {
    [data-drawer-clip] {
        display: none
    }

    [data-drawer-clip] rect {
        transform: translateY(-100%)
    }

    [data-drawer-panel] {
        overflow-x: hidden
    }

    html.js .drawer-submenu__panel {
        --drawer-position: var(--drawer-size) !important
    }

    html.no-js [data-drawer]:target [data-accordion-item] > input:checked ~ [data-accordion-panel], html.js [data-accordion-item].is-open .drawer-submenu__panel-container {
        left: 0
    }
}

@media only screen and (min-width: 1024px) {
    [data-drawer] {
        --drawer-size: min(40vw, 320px)
    }

    [data-drawer].drawer--wide {
        --drawer-size: min(45vw, 460px)
    }

    [data-drawer-clip] {
        position: fixed;
        top: 0;
        left: var(--drawer-size)
    }

    .drawer-media__close {
        position: absolute;
        top: 0;
        right: 0;
        z-index: 1;
        padding: 2.4rem 4.8rem;
        display: grid;
        opacity: 0
    }

    html.js [data-drawer-panel] .drawer-submenu__panel {
        --drawer-size: min(40vw, 320px);
        --drawer-position: calc(var(--drawer-size) * 0)
    }

    html.js .drawer-submenu__panel-media {
        width: calc(100% - var(--drawer-size));
        left: var(--drawer-size);
        max-height: 100vh;
        opacity: 0
    }

    html.js .drawer-submenu__panel-container {
        justify-content: flex-end;
        overflow: hidden
    }

    html.js .drawer-submenu__panel-media .media {
        height: 100%;
        width: 100%;
        opacity: 0
    }

    html.js [data-accordion-item]:not(.is-open) .drawer-submenu__panel-media .media {
        transition: none
    }

    html.js [data-accordion-item].is-open .drawer-submenu__panel-media {
        opacity: 1
    }

    html.js [data-accordion-item].is-open .drawer-submenu__panel-media .media {
        --transition: opacity .8s linear .416s;
        transition: var(--transition);
        opacity: 1
    }

    html.js [data-accordion-item].is-open .drawer-media__close {
        --transition: opacity .416s ease-in-out .416s;
        transition: var(--transition);
        opacity: 1
    }

    html.js [data-drawer-panel].has-open-submenu [data-accordion-item].is-open .drawer-submenu__panel-media .media {
        --transition: opacity .6s linear
    }

    html.js [data-drawer-panel].has-open-submenu [data-accordion-item].is-open .drawer-media__close {
        --transition: opacity .416s ease-in-out
    }

    html.no-js [data-drawer]:target [data-accordion-item] > input:checked ~ [data-accordion-panel] .drawer-submenu__panel, html.js [data-accordion-item].is-open .drawer-submenu__panel {
        --drawer-position: var(--drawer-size) !important;
        transition: var(--drawer-animation)
    }

    html.js .drawer-submenu__panel-container.--has-media {
        width: calc(100vw - var(--drawer-size))
    }
}

.drawer-banner-panel {
    --gutter: 0;
    --gap: 3px;
    padding: calc(var(--gutter));
    padding-bottom: 0.8rem;
}

.drawer-cart__content {
    padding: 0 var(--drawer-padding)
}

.drawer-menu__divider {
    border-top: 1px solid #000000;
    width: calc(100% - 5.3rem);
    position: relative
}

.menu-banner {
    position: relative
}

.menu-banner__overlay {
    --gutter: 16px;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: var(--gutter)
}

.menu-banner__overlay__heading {
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 1.6rem
}

.menu-banner__overlay__tag {
    position: absolute;
    border: 1px solid;
    padding: 5px 20px;
    text-transform: uppercase;
    font-size: 1.2rem
}

.menu-divider hr {
    border-top: 1px solid var(--modals-and-drawers-borders);
    width: 100%
}

.menu-divider hr + * {
    margin-top: var(--gutter)
}

.drawer-menu__bottom-banner {
    padding: 8px
}

.drawer-menu__bottom-banner__container {
    width: 100%;
    background-color: var(--background);
    color: var(--color);
    padding: 1.8rem 3rem;
    font-size: 1.3rem;
    line-height: 2.08rem;
    letter-spacing: 0.13rem;
}

.drawer-menu__item.--store-switcher[data-accordion-item] > label {
    justify-content: flex-start
}
