@media (min-width:320px) and (max-width:767px) {
    .hidden--for-phone {
        display: none !important
    }
}

@media (min-width:320px) {
    .hidden--from-phone {
        display: none !important
    }
}

@media (max-width:319px) {
    .hidden--to-phone {
        display: none !important
    }
}

@media (min-width:768px) and (max-width:1023px) {
    .hidden--for-tablet {
        display: none !important
    }
}

@media (min-width:768px) {
    .hidden--from-tablet {
        display: none !important
    }
}

@media (max-width:767px) {
    .hidden--to-tablet {
        display: none !important
    }
}

@media (min-width:1024px) {

    .hidden--for-desktop,
    .hidden--from-desktop {
        display: none !important
    }
}

@media (max-width:1023px) {
    .hidden--to-desktop {
        display: none !important
    }
}

.h6,
h6 {
    font-weight: 400;
    line-height: 1.2em;
    font-size: 1.47157rem;
    margin-top: 0;
    margin-bottom: 1em;
    font-size: min(max(1rem, 4.47157vw), 1.47157rem)
}

.h6 small,
h6 small {
    display: block;
    font-size: calc(var(--baseFontSize) * 1.25);
    line-height: 1;
    margin-bottom: 1em;
    letter-spacing: 0
}

@media (min-width:1024px) {

    .h6 small,
    h6 small {
        font-size: calc(var(--baseFontSize) * 1.375)
    }
}

.inline .h6,
.inline h6 {
    display: inline;
    margin: 0
}

.inline .h6+p,
.inline h6+p {
    display: inline;
    font-weight: 500;
    font-size: 1.47157rem
}

.h5,
h5 {
    font-weight: 400;
    line-height: 1.2em;
    font-size: 2.16552rem;
    margin-top: 0;
    margin-bottom: 1em;
    font-size: min(max(1.4509rem, 4.71462vw), 2.16552rem)
}

.h5 small,
h5 small {
    display: block;
    font-size: calc(var(--baseFontSize) * 1.25);
    line-height: 1;
    margin-bottom: 1em;
    letter-spacing: 0
}

@media (min-width:1024px) {

    .h5 small,
    h5 small {
        font-size: calc(var(--baseFontSize) * 1.375)
    }
}

.inline .h5,
.inline h5 {
    display: inline;
    margin: 0
}

.inline .h5+p,
.inline h5+p {
    display: inline;
    font-weight: 500;
    font-size: 2.16552rem
}

.h4,
h4 {
    font-weight: 400;
    line-height: 1.2em;
    font-size: 3.18671rem;
    margin-top: 0;
    margin-bottom: 1em;
    font-size: min(max(2.1351rem, 5.05161vw), 3.18671rem)
}

.h4 small,
h4 small {
    display: block;
    font-size: calc(var(--baseFontSize) * 1.25);
    line-height: 1;
    margin-bottom: 1em;
    letter-spacing: 0
}

@media (min-width:1024px) {

    .h4 small,
    h4 small {
        font-size: calc(var(--baseFontSize) * 1.375)
    }
}

.inline .h4,
.inline h4 {
    display: inline;
    margin: 0
}

.inline .h4+p,
.inline h4+p {
    display: inline;
    font-weight: 500;
    font-size: 3.18671rem
}

.h3,
h3 {
    font-weight: 400;
    line-height: 1.2em;
    font-size: 4.68947rem;
    margin-top: 0;
    margin-bottom: 1em;
    font-size: min(max(2.34473rem, 6.34473vw), 4.68947rem)
}

.h3 small,
h3 small {
    display: block;
    font-size: calc(var(--baseFontSize) * 1.25);
    line-height: 1;
    margin-bottom: 1em;
    letter-spacing: 0
}

@media (min-width:1024px) {

    .h3 small,
    h3 small {
        font-size: calc(var(--baseFontSize) * 1.375)
    }
}

.inline .h3,
.inline h3 {
    display: inline;
    margin: 0
}

.inline .h3+p,
.inline h3+p {
    display: inline;
    font-weight: 500;
    font-size: 4.68947rem
}

.h2,
h2 {
    font-weight: 400;
    line-height: 1.2em;
    font-size: 6.90088rem;
    margin-top: 0;
    margin-bottom: 1em;
    font-size: min(max(3.45044rem, 7.45044vw), 6.90088rem)
}

.h2 small,
h2 small {
    display: block;
    font-size: calc(var(--baseFontSize) * 1.25);
    line-height: 1;
    margin-bottom: 1em;
    letter-spacing: 0
}

@media (min-width:1024px) {

    .h2 small,
    h2 small {
        font-size: calc(var(--baseFontSize) * 1.375)
    }
}

.inline .h2,
.inline h2 {
    display: inline;
    margin: 0
}

.inline .h2+p,
.inline h2+p {
    display: inline;
    font-weight: 500;
    font-size: 6.90088rem
}

.h1,
h1 {
    font-weight: 400;
    line-height: 1.2em;
    font-size: 10.15513rem;
    margin-top: 0;
    margin-bottom: 1em;
    font-size: min(max(5.07757rem, 9.07757vw), 10.15513rem)
}

.h1 small,
h1 small {
    display: block;
    font-size: calc(var(--baseFontSize) * 1.25);
    line-height: 1;
    margin-bottom: 1em;
    letter-spacing: 0
}

@media (min-width:1024px) {

    .h1 small,
    h1 small {
        font-size: calc(var(--baseFontSize) * 1.375)
    }
}

.inline .h1,
.inline h1 {
    display: inline;
    margin: 0
}

.inline .h1+p,
.inline h1+p {
    display: inline;
    font-weight: 500;
    font-size: 10.15513rem
}

@media (max-width:1023px) {

    .h1,
    h1 {
        font-size: calc(var(--baseFontSize) * 3)
    }
}

h1 {
    overflow: hidden
}

body strong {
    font-weight: 500
}

body {
    font-size: 1rem;
    line-height: 1.47157
}

.slide-up {
    display: block;
    line-height: 1.1;
    opacity: 0;
    transform: translateY(calc(var(--gutter)*.5));
    transition: .8s cubic-bezier(.42, 0, .002, 1)
}

@media (min-width:1024px) {
    .slide-up {
        transform: translateY(calc(var(--gutter)*1.5))
    }
}

.in-view .slide-up {
    opacity: 1;
    transform: translateY(0)
}

p {
    margin-top: 0
}

sup.tm {
    font-size: 66%;
    vertical-align: 5px;
    font-weight: 500;
    line-height: 1;
    margin-left: 1px;
    text-transform: uppercase
}

img {
    max-width: 100%
}

article img {
    height: auto
}

picture,
picture img {
    display: block;
    margin: auto
}

figure {
    margin: 0
}

a {
    color: #1d1d1d;
    outline: none;
    -webkit-tap-highlight-color: transparent
}

a :not(.btn):focus {
    outline: 2px solid #4a4846
}

a :not(.btn):focus,
a :not(.btn):focus:not(:focus-visible) {
    background: transparent
}

a :not(.btn):focus-visible {
    outline: 2px solid #4a4846;
    background: transparent
}

.btn,
body button {
    font-family: Suisse Intl, sans-serif;
    color: #1d1d1d;
    font-weight: 400;
    display: inline-block;
    cursor: pointer;
    text-decoration: none;
    transition: .3s cubic-bezier(.49, .025, .49, 1);
    line-height: 1;
    padding: calc(var(--gutter) * .85) var(--gutter);
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-appearance: none;
    appearance: none;
    background: none;
    border: 0
}

.btn.btn--naked,
body button.btn--naked {
    text-decoration: underline;
    padding: 0;
    outline: 0
}

.btn.btn--arrow,
body button.btn--arrow {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    gap: calc(var(--gutter) * .3);
    text-decoration: none
}

@media (min-width:1024px) {

    .btn.btn--arrow,
    body button.btn--arrow {
        gap: calc(var(--gutter) * .5)
    }
}

.btn.btn--arrow svg,
body button.btn--arrow svg {
    margin: 0;
    transition: transform .3s ease-in-out
}

.btn.btn--arrow:hover svg,
body button.btn--arrow:hover svg {
    transform: translate(5px)
}

.btn.btn--icon,
body button.btn--icon {
    text-decoration: none;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    gap: calc(var(--gutter)*.5)
}

.btn.btn--icon svg,
body button.btn--icon svg {
    margin: 0
}

.btn:not(.btn--naked),
body button:not(.btn--naked) {
    border-radius: 4px;
    font-weight: 500
}

.btn.btn--rounded,
body button.btn--rounded {
    border-radius: 100em
}

.btn.btn--buy,
.btn.btn--plain,
.btn.btn--plain-light,
body button.btn--buy,
body button.btn--plain,
body button.btn--plain-light {
    background: #1d1d1d;
    color: #fff;
    padding-left: var(--gutter);
    padding-right: var(--gutter)
}

@media (min-width:1280px) {

    .btn.btn--buy,
    .btn.btn--plain,
    .btn.btn--plain-light,
    body button.btn--buy,
    body button.btn--plain,
    body button.btn--plain-light {
        padding-left: calc(var(--gutter)*1.3);
        padding-right: calc(var(--gutter)*1.3)
    }
}

.btn.btn--light,
body button.btn--light {
    background: #b7b2a7;
    color: #1d1d1d;
    padding-left: var(--gutter);
    padding-right: var(--gutter)
}

.btn.btn--translucent,
body button.btn--translucent {
    background: hsla(0, 0%, 100%, .3);
    color: #fff
}

.btn.btn--plain-light,
body button.btn--plain-light {
    color: #1d1d1d;
    background: #fff
}

.btn.btn--translucent-invert,
body button.btn--translucent-invert {
    background: rgba(29, 29, 29, .3);
    color: #fff
}

.btn.btn--lighter,
body button.btn--lighter {
    color: #1d1d1d;
    background: #e4e4e0;
    background-clip: padding-box
}

.btn.btn--wide,
body button.btn--wide {
    min-width: 160px;
    text-align: center
}

.btn.btn--icon-only,
body button.btn--icon-only {
    display: -ms-flexbox;
    display: flex;
    place-items: center;
    padding: 0;
    min-width: 0;
    width: calc(var(--gutter)*2);
    height: calc(var(--gutter)*2)
}

@media (min-width:1024px) {

    .btn.btn--icon-only,
    body button.btn--icon-only {
        width: calc(var(--gutter)*2.5);
        height: calc(var(--gutter)*2.5)
    }
}

.btn:not(:disabled):focus:not(.btn--naked),
.btn:not(:disabled):hover:not(.btn--naked),
body button:not(:disabled):focus:not(.btn--naked),
body button:not(:disabled):hover:not(.btn--naked) {
    color: #fff;
    background: #1d1d1d
}

.btn:not(:disabled):focus.btn--buy,
.btn:not(:disabled):focus.btn--plain,
.btn:not(:disabled):focus.btn--translucent,
.btn:not(:disabled):focus.btn--translucent-invert,
.btn:not(:disabled):hover.btn--buy,
.btn:not(:disabled):hover.btn--plain,
.btn:not(:disabled):hover.btn--translucent,
.btn:not(:disabled):hover.btn--translucent-invert,
body button:not(:disabled):focus.btn--buy,
body button:not(:disabled):focus.btn--plain,
body button:not(:disabled):focus.btn--translucent,
body button:not(:disabled):focus.btn--translucent-invert,
body button:not(:disabled):hover.btn--buy,
body button:not(:disabled):hover.btn--plain,
body button:not(:disabled):hover.btn--translucent,
body button:not(:disabled):hover.btn--translucent-invert {
    color: #1d1d1d;
    background: #fff
}

.btn:not(:disabled):focus.btn--plain-light,
.btn:not(:disabled):hover.btn--plain-light,
body button:not(:disabled):focus.btn--plain-light,
body button:not(:disabled):hover.btn--plain-light {
    color: #fff;
    background: #1d1d1d
}

.btn svg,
body button svg {
    margin: auto;
    vertical-align: text-top
}

.btn:focus svg,
.btn:hover svg,
body button:focus svg,
body button:hover svg {
    fill: currentColor
}

.btn[aria-label] svg,
body button[aria-label] svg {
    display: block
}

.btn:disabled,
body button:disabled {
    opacity: .5;
    pointer-events: none
}

.page-main .btn--plain:not(.btn--icon-only) {
    min-width: 110px;
    text-align: center
}

label+button {
    vertical-align: bottom
}

.list,
ol,
ul {
    padding: 0
}

ol ol {
    padding-left: var(--gutter)
}

.list--inline {
    list-style: none
}

.list--inline li {
    display: inline-block;
    vertical-align: middle
}

.no-bullets,
.page-footer ul {
    list-style: none
}

.bulleted {
    padding-left: var(--gutter)
}

button,
input,
select,
textarea {
    background-color: transparent;
    border-style: none
}

button,
input,
optgroup,
select,
textarea {
    font: inherit
}

input {
    border-radius: 0
}

.form-wrapper {
    position: relative
}

.form-wrapper .message>*,
.form-wrapper form {
    margin: 0
}

.form-wrapper form {
    position: relative
}

.form-wrapper fieldset {
    border: 0
}

.form-wrapper .message {
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    pointer-events: none
}

.form-wrapper .message>* {
    position: absolute;
    opacity: 0;
    width: 100%;
    pointer-events: none;
    transition: none
}

.form-wrapper .message button {
    cursor: pointer;
    border: 0;
    padding: 0;
    background: transparent;
    text-decoration: underline
}

.form-wrapper .form.success,
.form-wrapper form.success {
    opacity: 0
}

.form-wrapper .ko {
    padding: calc(var(--gutter) * 1 / 2);
    transform: translateY(10px);
    background: #e38181;
    color: #fff;
    border-radius: 4px
}

.form-wrapper .ko .btn,
.form-wrapper .ko a,
.form-wrapper .ko button {
    color: currentColor
}

.form-wrapper .error+.message .ko,
.form-wrapper .success+.message .ok {
    transition: opacity .15s ease-in-out, transform .35s cubic-bezier(.42, 0, .002, 1);
    position: static;
    opacity: 1;
    pointer-events: all
}

.form-wrapper .error+.message .ko {
    position: absolute;
    bottom: 0;
    left: 0;
    transform: translateY(0)
}

.form-wrapper button[name=subscribe],
.form-wrapper button[type=submit] {
    position: relative
}

.form-wrapper button[name=subscribe]>*,
.form-wrapper button[type=submit]>* {
    transition: opacity .3s ease-in-out
}

.form-wrapper .loading .qty,
.form-wrapper .loading input {
    opacity: .1;
    pointer-events: none
}

.form-wrapper .loading .qty input {
    opacity: 1
}

.form-wrapper .loading .line:hover .edit,
.form-wrapper .loading .line:hover .remove {
    opacity: 0 !important
}

.form-wrapper .loading button[name=subscribe],
.form-wrapper .loading button[type=submit] {
    opacity: 1;
    pointer-events: none;
    background-color: #1d1d1d1a
}

.select {
    position: relative;
    display: inline-block;
    cursor: pointer;
    border: 2px solid;
    border-radius: 4px;
    background: rgba(74, 72, 70, .15);
    max-width: 100%
}

.select:after {
    display: block;
    height: 100%;
    content: url('data:image/svg+xml;charset=UTF-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 6" width="10" height="6"><path d="M8.4425 0.221191L5 3.65619L1.5575 0.221191L0.5 1.27869L5 5.77869L9.5 1.27869L8.4425 0.221191Z"/></svg>');
    pointer-events: none;
    position: absolute;
    bottom: 0;
    right: calc(var(--gutter) * 1 / 3)
}

.select select {
    padding: calc(var(--gutter) * 1 / 9) calc(var(--gutter) * 1) calc(var(--gutter) * 1 / 9) calc(var(--gutter) * 1 / 6)
}

.select option {
    background: #fff;
    color: #1d1d1d
}

@media (max-width:414px) {
    .select {
        display: block
    }
}

option,
select {
    color: #1d1d1d;
    -webkit-appearance: none;
    appearance: none;
    background: transparent
}

form label,
form select {
    cursor: pointer
}

@media (max-width:414px) {
    form select {
        display: block;
        width: 100%
    }
}

form option {
    background: #fff;
    color: #1d1d1d
}

form input,
form textarea {
    border: 0;
    border-bottom: 1px solid rgba(29, 29, 29, .1);
    padding: calc(var(--gutter) * .5) 0;
    max-width: 100%;
    outline: none;
    transition: all .35s cubic-bezier(.42, 0, .002, 1)
}

form input:focus-visible,
form textarea:focus-visible {
    border-bottom: 1px solid #1d1d1d
}

@media (max-width:414px) {

    form input,
    form textarea {
        display: block;
        width: 100%
    }

    form input[type=checkbox],
    form input[type=radio],
    form textarea[type=checkbox],
    form textarea[type=radio] {
        display: inline-block;
        width: auto
    }
}

form input:not([type=number]) {
    vertical-align: middle
}

form textarea {
    vertical-align: top
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    opacity: 1
}

.optin {
    display: block;
    margin-top: calc(var(--gutter)*2);
    font-size: calc(var(--baseFontSize)*.875)
}

@media (min-width:1024px) {
    .optin {
        padding: 0 var(--gutter)
    }
}

:-ms-input-placeholder {
    opacity: 1
}

::placeholder {
    color: #9a9a9a;
    opacity: 1
}

:-ms-input-placeholder,
::-ms-input-placeholder {
    color: #9a9a9a
}

#cookie-consent-dialogBox .cc-window {
    bottom: calc(var(--gutter) * 1) !important;
    right: auto !important;
    left: calc(var(--gutter) * 1) !important;
    border-radius: 6px;
    box-shadow: 0 2.8px 2.2px #00000005, 0 6.7px 5.3px #00000007, 0 12.5px 10px #00000009, 0 22.3px 17.9px #0000000b, 0 41.8px 33.4px #0000000d, 0 100px 80px #00000012;
    padding: calc(var(--gutter) * 1) !important;
    background-color: #fff;
    font-size: var(--baseFontSize);
    line-height: var(--baseLineHeight);
    font-family: Suisse Intl, sans-serif;
    color: #1d1d1d;
    z-index: 7 !important;
    font-size: 14px;
    max-width: 350px
}

@media (max-width:1023px) {
    #cookie-consent-dialogBox .cc-window {
        right: calc(var(--gutter) * 1) !important
    }
}

#cookie-consent-dialogBox .cc-message {
    margin: 0;
    line-height: 1.44;
    margin-bottom: calc(var(--gutter) * .5);
    color: #6b6b6b
}

#cookie-consent-dialogBox .cc-message>a,
#cookie-consent-dialogBox .cc-message span,
#cookie-consent-dialogBox .cc-message strong {
    display: none
}

#cookie-consent-dialogBox .cc-compliance {
    display: block !important
}

#cookie-consent-dialogBox .cc-btn {
    display: inline-block;
    border: 2px solid;
    text-decoration: none;
    font-family: inherit;
    border-radius: 50em;
    padding: calc(var(--gutter) * .35) var(--gutter)
}

#cookie-consent-dialogBox .cc-btn.cc-allow {
    background-color: #1d1d1d;
    border-color: #1d1d1d;
    color: #fff;
    min-width: 90px
}

#cookie-consent-dialogBox .cc-btn.cc-allow:focus,
#cookie-consent-dialogBox .cc-btn.cc-allow:hover {
    background-color: #f6f6f6;
    color: #1d1d1d
}

#cookie-consent-dialogBox .cc-btn.cc-deny {
    background-color: #fff;
    color: #1d1d1d;
    font-weight: 400
}

@media (max-width:1023px) {
    #cookie-consent-dialogBox .cc-btn.cc-deny {
        margin-right: 10px
    }
}

@media (min-width:1024px) {
    #cookie-consent-dialogBox .cc-btn.cc-deny {
        padding-left: 0
    }
}

#cookie-consent-dialogBox .cc-btn.cc-deny span {
    display: none
}

@media (min-width:415px) {
    #cookie-consent-dialogBox .cc-btn.cc-deny {
        border: 0 !important
    }

    #cookie-consent-dialogBox .cc-btn.cc-deny span {
        text-decoration: underline
    }
}

html[lang^=de] #cookie-consent-dialogBox .privacy-de,
html[lang^=en] #cookie-consent-dialogBox .privacy-en,
html[lang^=fr] #cookie-consent-dialogBox .privacy-fr,
html[lang^=nl] #cookie-consent-dialogBox .privacy-nl {
    display: block
}

.intercom-app>*,
.intercom-launcher,
.intercom-launcher-frame,
.intercom-placeholder {
    bottom: calc(var(--gutter)*.5) !important;
    right: calc(var(--gutter)*.4) !important
}

@media (max-width:1023px) {

    .intercom-app>*,
    .intercom-launcher,
    .intercom-launcher-frame,
    .intercom-placeholder {
        bottom: calc(var(--gutter)*.3) !important;
        right: calc(var(--gutter)*.3) !important;
        transform: scale(.75)
    }
}

.menu-active .intercom-app>*,
.menu-active .intercom-launcher,
.menu-active .intercom-launcher-frame,
.menu-active .intercom-placeholder {
    bottom: calc(var(--gutter)*.9) !important;
    right: calc(var(--gutter)*1) !important;
    background: #fff
}

.menu-active .intercom-app>* path,
.menu-active .intercom-launcher-frame path,
.menu-active .intercom-launcher path,
.menu-active .intercom-placeholder path {
    fill: #1d1d1d
}

@media (min-width:1024px) {

    .template-cart .intercom-app>*,
    .template-cart .intercom-launcher,
    .template-cart .intercom-launcher-frame,
    .template-cart .intercom-placeholder {
        right: calc(35% + (var(--gutter)*3)) !important
    }

    .template-cart .intercom-app>:not(.intercom-messenger-frame),
    .template-cart .intercom-launcher-frame:not(.intercom-messenger-frame),
    .template-cart .intercom-launcher:not(.intercom-messenger-frame),
    .template-cart .intercom-placeholder:not(.intercom-messenger-frame) {
        bottom: calc(var(--gutter)*.85) !important
    }
}

@media (min-width:1024px) {

    .typeform-open .intercom-app>*,
    .typeform-open .intercom-launcher,
    .typeform-open .intercom-launcher-frame,
    .typeform-open .intercom-placeholder {
        right: auto !important;
        left: calc(var(--gutter)*.4) !important
    }
}

.intercom-placeholder {
    width: 48px !important;
    height: 48px !important;
    position: fixed;
    z-index: 8;
    border-radius: 50em;
    background: #1e1e1e;
    cursor: pointer;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #fff
}

.nav-opened .intercom-placeholder {
    pointer-events: none;
    opacity: 0
}

.intercom-placeholder svg {
    width: 23px !important;
    height: 27px !important;
    fill: #fff
}

.intercom-messenger-frame {
    bottom: calc((var(--gutter)*.4) + 48px + var(--gutter)) !important
}

.intercom-launcher-discovery-frame {
    display: none !important
}

@media (prefers-reduced-motion:no-preference) {
    .scroll-snap-x {
        scroll-behavior: smooth
    }
}

@media (prefers-reduced-motion:reduce) {
    html {
        scroll-behavior: auto
    }

    #redirect,
    .dialog-content,
    .dialog-overlay {
        transition: none;
        animation: none
    }
}

:root {
    --gutter: 20px;
    --baseFontSize: 16px;
    --baseLineHeight: 1.4;
    --intercomWidgetWidth: 60px;
    --page-header-height: 65px;
    --top-banner-height: 0px
}

@media (min-width:1024px) {
    :root {
        --page-header-height: 72px
    }
}

* {
    box-sizing: border-box
}

body,
html {
    width: 100%;
    min-height: 100vh
}

html {
    scroll-behavior: smooth;
    padding: 0 !important
}

body {
    margin: 0;
    overflow-x: hidden
}

body:not(.stick-hero-to-top) {
    padding-top: var(--page-header-height)
}

blockquote,
details,
dl,
ol,
p,
table,
ul {
    margin-bottom: var(--gutter)
}

table {
    border-spacing: 0;
    width: 100%
}

td {
    border-bottom: 1px solid #1d1d1d
}

td,
th {
    padding: calc(var(--gutter) * 1 / 6) calc(var(--gutter) * 1 / 4)
}

dt {
    font-weight: 500
}

dd {
    padding-left: var(--gutter)
}

hr {
    margin: calc(var(--gutter) * 1) 0;
    border: 0;
    border-top: 1px solid #e9e9e9
}

@keyframes spinner-rotate {
    0% {
        transform: translate3d(-50%, -50%, 0) rotate(0)
    }

    to {
        transform: translate3d(-50%, -50%, 0) rotate(1turn)
    }
}

fieldset {
    display: block;
    padding: 0;
    border: 0;
    margin: 0
}

.visuallyhidden {
    position: absolute !important;
    overflow: hidden;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    pointer-events: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    position: fixed !important;
    z-index: 6;
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    width: auto;
    white-space: inherit
}

.hidden {
    display: none !important
}

.spinner {
    position: absolute;
    left: 50%;
    top: 50%;
    display: inline-block;
    width: 20px;
    height: 20px;
    transform: translate3d(-50%, -50%, 0);
    pointer-events: none;
    animation: spinner-rotate 1.25s ease-in-out infinite;
    animation-play-state: paused;
    margin: 0 !important;
    color: inherit;
    opacity: 0
}

.spinner,
.spinner * {
    fill: currentColor
}

.spinner-wrapper {
    position: absolute;
    opacity: 0;
    pointer-events: none
}

.btn.btn--loading,
.form-wrapper .loading button[name=subscribe],
.form-wrapper .loading button[type=submit],
body button.btn--loading,
dialog.dialog--panel header .add-to-cart.loading {
    position: relative;
    transition: none
}

.btn.btn--loading>:not(.spinner-wrapper):not(.spinner):not(.btn__spinner),
.form-wrapper .loading button[name=subscribe]>:not(.spinner-wrapper):not(.spinner):not(.btn__spinner),
.form-wrapper .loading button[type=submit]>:not(.spinner-wrapper):not(.spinner):not(.btn__spinner),
body button.btn--loading>:not(.spinner-wrapper):not(.spinner):not(.btn__spinner),
dialog.dialog--panel header .add-to-cart.loading>:not(.spinner-wrapper):not(.spinner):not(.btn__spinner) {
    opacity: 0
}

.btn.btn--loading .btn__spinner,
.btn.btn--loading .spinner,
.form-wrapper .loading button[name=subscribe] .btn__spinner,
.form-wrapper .loading button[name=subscribe] .spinner,
.form-wrapper .loading button[type=submit] .btn__spinner,
.form-wrapper .loading button[type=submit] .spinner,
body button.btn--loading .btn__spinner,
body button.btn--loading .spinner,
dialog.dialog--panel header .add-to-cart.loading .btn__spinner,
dialog.dialog--panel header .add-to-cart.loading .spinner {
    opacity: 1;
    animation-play-state: running
}

body {
    font-family: Suisse Intl, sans-serif;
    color: #1d1d1d;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
    max-width: 100%
}

@media (min-width:1024px) {
    [data-columns] {
        display: -ms-grid;
        display: grid;
        grid-gap: var(--gutter);
        -ms-flex-align: start;
        align-items: flex-start
    }

    [data-columns="2"] {
        -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr)
    }

    [data-columns="3"] {
        -ms-grid-columns: (1fr)[3];
        grid-template-columns: repeat(3, 1fr)
    }

    [data-columns="4"] {
        -ms-grid-columns: (1fr)[4];
        grid-template-columns: repeat(4, 1fr)
    }

    [data-columns="5"] {
        -ms-grid-columns: (1fr)[4] 2fr;
        grid-template-columns: repeat(4, 1fr) 2fr
    }

    [data-columns="6"] {
        -ms-grid-columns: (1fr)[6];
        grid-template-columns: repeat(6, 1fr)
    }
}

.shadow {
    pointer-events: none;
    position: absolute;
    top: 100%;
    left: 50%;
    width: 103.637695312% !important;
    transform: translate(-47.7%, -64.8%)
}

.shadow,
.shadow img {
    height: auto;
    max-width: none
}

.shadow img {
    margin: 0;
    width: 100%
}

@media (max-width:623px) {
    .shadow img {
        display: none;
    }
}

[data-model="Cowboy 3"] .shadow {
    width: 141.1% !important;
    transform: translate(-53%, -70%)
}

.render {
    position: relative
}

#preview-bar-iframe {
    display: none !important
}

#redirect {
    background: #fff;
    color: #1d1d1d;
    padding: var(--gutter);
    cursor: pointer;
    position: fixed;
    z-index: 3;
    border-bottom: 1px solid rgba(29, 29, 29, .1);
    top: 0;
    left: 0;
    width: 100vw;
    transition: transform .35s cubic-bezier(.42, 0, .002, 1);
    transform: translateY(var(--top-banner-height, 0))
}

#redirect .btn,
#redirect .btn--naked {
    font-size: 14px
}

#redirect .continue {
    text-align: center
}

#redirect .continue.btn {
    padding: calc(var(--gutter) * .7) calc(var(--gutter) * 1.25)
}

@media (max-width:1023px) {
    #redirect .continue.btn {
        padding: calc(var(--gutter) * .5) calc(var(--gutter) * 1)
    }
}

#redirect .continue:focus,
#redirect .continue:hover {
    background-color: #f6f6f6;
    color: #1d1d1d
}

#redirect p {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    gap: calc(var(--gutter)*.25);
    font-size: calc(var(--baseFontSize)*.875);
    margin-bottom: calc(var(--gutter)*.5)
}

#redirect p.descr {
    display: block;
    color: #1d1d1db3
}

#redirect p:first-of-type {
    font-size: 16px;
    margin-bottom: 0
}

@media (max-width:1023px) {
    #redirect p:first-of-type {
        margin-bottom: calc(var(--gutter)*.25)
    }
}

#redirect p:last-of-type {
    margin-bottom: 0;
    gap: calc(var(--gutter)*1)
}

#redirect p strong {
    font-weight: 600
}

#redirect img {
    width: 16px;
    height: 16px;
    border-radius: 100%
}

#redirect button {
    cursor: pointer
}

#redirect .close {
    height: 100%;
    padding: 0 var(--gutter);
    margin-left: var(--gutter)
}

#redirect .close svg {
    display: block;
    color: currentColor
}

.menu-active #redirect,
.scroll-down:not(.scroll-stopped) #redirect {
    opacity: 0;
    pointer-events: none;
    transform: translateY(-100%)
}

@media (max-width:1023px) {
    #redirect div {
        margin-bottom: calc(var(--gutter)*.5)
    }
}

@media (min-width:1024px) {
    #redirect {
        padding: calc(var(--gutter)*.75) calc(var(--gutter)*3);
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: 1fr minmax(min-content, max-content) minmax(min-content, max-content);
        grid-template-columns: 1fr minmax(min-content, max-content) minmax(min-content, max-content);
        -ms-flex-align: center;
        align-items: center
    }
}

.locales {
    margin: 0;
    color: #1d1d1d;
    position: relative
}

.locales summary {
    cursor: pointer;
    outline: none;
    color: #fff;
    list-style: none;
    padding: calc(var(--gutter) * 1 / 2) 0
}

.locales summary small {
    color: #d8d1c5
}

.locales summary svg {
    vertical-align: -3px;
    margin-left: calc(var(--gutter) * .25)
}

.locales summary::marker {
    display: none
}

.locales img {
    display: inline-block;
    vertical-align: -1px;
    height: calc(var(--gutter) * .6);
    width: calc(var(--gutter) * .6);
    border-radius: calc(var(--gutter) * .6);
    margin-right: calc(var(--gutter) * .3)
}

.locales small {
    font-size: 1em;
    color: #747474
}

.locales small:before {
    content: " / "
}

.locales ul {
    margin: 0 !important;
    width: 190px;
    padding: calc(var(--gutter) * .4) 0;
    position: absolute;
    bottom: 100%;
    left: calc(var(--gutter) * -.4);
    right: 0;
    transform: translateY(calc(var(--gutter) * -.5));
    border: 1px solid rgba(29, 29, 29, .1);
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 2.8px 2.2px #00000005, 0 6.7px 5.3px #00000007, 0 12.5px 10px #00000009, 0 22.3px 17.9px #0000000b, 0 41.8px 33.4px #0000000d, 0 100px 80px #00000012
}

.locales ul a {
    display: block;
    color: inherit !important;
    padding: calc(var(--gutter) * .4) calc(var(--gutter) * .5);
    text-decoration: none !important;
    margin: 0 !important
}

.locales ul a:hover {
    background-color: #1d1d1d1a
}

.locales[open] summary svg {
    transform: rotate(180deg)
}

.cart__controls,
.product__controls,
.product__info {
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.cart__controls .qty,
.product__controls .qty,
.product__info .qty {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-align: center;
    align-items: center;
    border: 1px solid rgba(29, 29, 29, .1);
    border-radius: 4px
}

.cart__controls .qty button,
.product__controls .qty button,
.product__info .qty button {
    text-decoration: none;
    padding: calc(var(--gutter)*.5) calc(var(--gutter)*.7)
}

.cart__controls .qty svg,
.product__controls .qty svg,
.product__info .qty svg {
    color: #1d1d1d !important;
    vertical-align: middle
}

.cart__controls .qty [data-quantity-plus]:disabled,
.product__controls .qty [data-quantity-plus]:disabled,
.product__info .qty [data-quantity-plus]:disabled {
    pointer-events: all
}

.cart__controls [data-quantity-input],
.product__controls [data-quantity-input],
.product__info [data-quantity-input] {
    position: relative;
    z-index: 4;
    display: inline-block;
    text-align: center;
    font-size: calc(var(--baseFontSize)*.9);
    border: 0;
    padding: 0;
    width: 1ch
}

.cart__controls.cart__controls input::-webkit-inner-spin-button,
.cart__controls.cart__controls input::-webkit-outer-spin-button,
.product__controls.cart__controls input::-webkit-inner-spin-button,
.product__controls.cart__controls input::-webkit-outer-spin-button,
.product__info.cart__controls input::-webkit-inner-spin-button,
.product__info.cart__controls input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0
}

.cart__controls.cart__controls input[type=number],
.product__controls.cart__controls input[type=number],
.product__info.cart__controls input[type=number] {
    -moz-appearance: textfield
}

.cart__controls .remove,
.product__controls .remove,
.product__info .remove {
    transition: .2s cubic-bezier(.42, 0, .002, 1);
    font-size: calc(var(--baseFontSize)*.75);
    color: #1d1d1d !important
}

.cart__controls .remove:not(:only-child),
.product__controls .remove:not(:only-child),
.product__info .remove:not(:only-child) {
    margin-left: calc(var(--gutter)/2)
}

@media (min-width:1024px) {

    .cart__controls .remove,
    .product__controls .remove,
    .product__info .remove {
        opacity: 0;
        pointer-events: none
    }
}

.cart {
    position: relative;
    z-index: 4
}

.cart .cart__trigger {
    display: inline-block;
    position: relative;
    color: currentColor
}

.cart .cart__trigger .btn,
.cart .cart__trigger button {
    color: inherit;
    transition: .2s ease-in-out
}

@media (min-width:1024px) {
    .cart .cart__trigger {
        position: relative;
        z-index: 2
    }
}

.menu-active .cart {
    opacity: 0;
    pointer-events: none
}

.cart--empty__message {
    display: none;
    font-size: var(--baseFontSize);
    margin: calc(var(--gutter)*.5) 0 0
}

.cart--empty__message .cart--empty__link {
    color: #1d1d1d !important
}

.cart--empty .cart--empty__message {
    display: block
}

.cart__count {
    position: absolute;
    top: 0;
    right: 0;
    transform: translate3d(50%, -25%, 0);
    width: 18px;
    height: 18px;
    line-height: 18px;
    border-radius: 100em;
    font-size: calc(var(--baseFontSize)*.625);
    background: #1d1d1d;
    text-align: center;
    color: #fff;
    cursor: pointer;
    transition: .35s cubic-bezier(.42, 0, .002, 1)
}

.cart--empty .cart__count {
    opacity: 0;
    pointer-events: none
}

.cart__form-widget {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1;
    width: 100vw;
    border-radius: 0 0 4px 4px;
    overflow: hidden;
    font-size: calc(var(--baseFontSize)*.875);
    opacity: 0;
    pointer-events: none;
    color: #1d1d1d;
    transition: .35s cubic-bezier(.42, 0, .002, 1)
}

.cart__form-widget .close {
    position: absolute;
    z-index: 4;
    top: 0;
    right: 0;
    padding: var(--gutter);
    color: #1d1d1d
}

.cart__form-widget .close svg {
    margin: auto
}

@media (max-width:1023px) {
    .cart__form-widget {
        right: -66px
    }
}

@media (min-width:1024px) {
    .cart__form-widget {
        position: absolute;
        top: -10px;
        right: calc(var(--gutter) * -1.5);
        width: auto;
        max-width: 50vw;
        min-width: 420px
    }
}

.cart__form-widget.proceeding * {
    pointer-events: none
}

.cart__form-widget.proceeding .cart__summary {
    opacity: .3
}

.cart__inner {
    padding: 0 var(--gutter) var(--gutter);
    border-radius: 4px 4px 0 0;
    background: #fff
}

@media (min-width:1024px) {
    .cart__inner {
        padding: 0 calc(var(--gutter) * 1.5) calc(var(--gutter) * 1.5)
    }
}

.cart__heading {
    line-height: 1;
    letter-spacing: .04em;
    text-transform: uppercase;
    font-size: calc(var(--baseFontSize) * 3 / 4);
    font-weight: 600;
    padding-top: calc((var(--gutter) * 1.5) - 10px);
    margin-bottom: calc(var(--gutter) * 1.5)
}

@media (max-width:1023px) {
    .cart__heading {
        padding-top: calc(var(--gutter) * 1.25)
    }
}

.cart__items {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    max-height: 50vh;
    overflow: auto
}

@media (min-width:1024px) {
    .cart__items {
        max-height: calc(65vh - 85px)
    }
}

@media only screen and (min-width:1024px) and (max-height:660px) {
    .cart__items {
        max-height: calc(60vh - 85px)
    }
}

@media only screen and (min-width:1024px) and (max-height:560px) {
    .cart__items {
        max-height: calc(55vh - 85px)
    }
}

@media only screen and (min-width:1024px) and (max-height:480px) {
    .cart__items {
        max-height: calc(50vh - 85px)
    }
}

.cart__item {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    gap: var(--gutter);
    margin-bottom: var(--gutter);
    position: relative;
    max-height: 104px;
    transition: all .5s cubic-bezier(.42, 0, .002, 1), opacity .35s cubic-bezier(.42, 0, .002, 1)
}

.cart__item:not(.is-standalone) {
    -ms-flex-order: -1;
    order: -1
}

.cart__item .cart__item-descr {
    -ms-flex: 1;
    flex: 1;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.cart__item .cart__item-price {
    position: absolute;
    top: 0;
    right: 0;
    text-align: right
}

.cart__item .cart__item-price .sub {
    display: block;
    font-size: calc(var(--baseFontSize)*.75);
    font-weight: 400;
    line-height: 1
}

.cart__item .cart__item-price .sub.yearly {
    color: #1d1d1d99
}

.cart__item .cart__item-picture {
    width: 92px;
    height: 92px;
    border-radius: 4px;
    background: #ebeae4;
    overflow: hidden
}

.cart__item .cart__item-picture picture {
    width: 100%;
    height: 100%
}

.cart__item .cart__item-picture img {
    display: block;
    height: 80%;
    width: 80%;
    margin-top: 10%;
    object-fit: contain
}

.cart__item .cart__item-title>* {
    display: block
}

.cart__item .cart__item-title strong {
    font-size: calc(var(--baseFontSize)*.9375);
    padding-right: 60px;
    line-height: 1.3
}

.cart__item .cart__item-title small {
    color: #1d1d1db3;
    font-size: calc(var(--baseFontSize)*.8125);
    padding-right: 60px
}

.cart__item.cart__item--services .cart__item-picture img {
    height: 100%;
    width: 100%;
    margin: 0
}

.cart__item.cart__item--bike__cowboy-4-st .cart__item-title strong:after {
    content: " ST"
}

.cart__item:hover .remove {
    opacity: .7;
    pointer-events: all
}

.cart__item.removing {
    opacity: .1;
    max-height: 0;
    margin-bottom: 0;
    overflow: hidden
}

.cart__summary {
    border-top: 1px solid #e9e9e9;
    padding-top: var(--gutter);
    transition: .35s cubic-bezier(.42, 0, .002, 1)
}

.cart__summary p {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    line-height: 1;
    margin: 0 0 calc(var(--gutter) * .5)
}

.cart__summary p:last-child {
    margin-bottom: 0
}

.cart__summary p>:last-child {
    margin-left: auto;
    text-align: right
}

.cart__summary p>strong {
    font-size: calc(var(--baseFontSize)*1.125)
}

.cart__summary .note {
    color: #1d1d1db3;
    font-size: calc(var(--baseFontSize)*.75)
}

.cart__summary .discount-label,
.cart__summary del {
    font-size: calc(var(--baseFontSize)*.75);
    color: #1d1d1d99
}

.cart__summary del {
    display: none
}

.cart--discounted .cart__summary del {
    display: inline-block
}

.cart__submit {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap
}

.cart__cta {
    -ms-flex: 1;
    flex: 1;
    padding: var(--gutter);
    border: 0 !important;
    border-radius: 0 !important;
    text-align: center;
    text-decoration: none
}

.cart__cta.cart__cta-cart {
    background: #e9e9e9
}

.header-packed.scroll-stopped .template-index .cart__cta.cart__cta-cart {
    color: #1d1d1d !important
}

@media (hover:hover) {

    .cart__cta.cart__cta-cart:focus,
    .cart__cta.cart__cta-cart:hover {
        background: #4a4846 !important;
        color: #fff !important
    }
}

.cart--circular-bike-in .cart__cta.cart__cta-cart {
    display: none
}

.cart__cta.cart__cta-accessories,
.cart__cta.cart__cta-checkout {
    background: #1d1d1d;
    color: #fff !important
}

@media (hover:hover) {

    .cart__cta.cart__cta-accessories:focus,
    .cart__cta.cart__cta-accessories:hover,
    .cart__cta.cart__cta-checkout:focus,
    .cart__cta.cart__cta-checkout:hover {
        background: #4a4846 !important
    }
}

.cart--empty .cart__cta.cart__cta-accessories,
.cart--empty .cart__cta.cart__cta-checkout,
.cart__cta.cart__cta-accessories {
    display: none
}

.cart--circular-bike-in .cart__cta.cart__cta-accessories,
.cart--empty .cart__cta.cart__cta-accessories {
    display: revert
}

.cart--circular-bike-in .cart__cta.cart__cta-accessories {
    background: #e9e9e9 !important;
    color: #1d1d1d !important
}

.cart--circular-bike-in .cart__cta.cart__cta-accessories:hover {
    background: #4a4846 !important;
    color: #fff !important
}

.cart--empty .cart__cta-cart span,
.cart__form-widget:not(.cart--bike-in) .cart__cta-cart span,
.if-empty {
    display: none
}

.cart--empty .cart__cta-cart span.if-empty,
.cart__form-widget:not(.cart--bike-in) .cart__cta-cart span.if-empty {
    display: revert
}

.cart--empty .cart__items,
.cart--empty .cart__summary {
    display: none
}

.cart--opened body {
    overflow: hidden
}

.cart--opened:before {
    display: block;
    content: "";
    position: fixed;
    z-index: 3;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(29, 29, 29, .8)
}

.cart--opened .cart {
    opacity: 1 !important;
    pointer-events: all !important
}

.cart--opened .cart__form-widget {
    opacity: 1;
    pointer-events: all;
    box-shadow: 0 7px 29px #ffffff26
}

.cart--opened .cart__trigger svg,
.cart--opened .close svg {
    color: #1d1d1d !important
}

:root {
    --shadow-color: 286deg 36% 64%;
    --shadow-elevation-low: 0px .2px .3px hsl(var(--shadow-color)/.15), 0px .6px .8px -1px hsl(var(--shadow-color)/.38);
    --shadow-elevation-medium: 0px .2px .3px hsl(var(--shadow-color)/.14), 0px .9px 1.2px -.5px hsl(var(--shadow-color)/.29), .1px 3px 4.1px -1px hsl(var(--shadow-color)/.43);
    --shadow-elevation-high: 0px .2px .3px hsl(var(--shadow-color)/.16), 0px 1.8px 2.4px -.2px hsl(var(--shadow-color)/.25), .1px 3.6px 4.9px -.5px hsl(var(--shadow-color)/.35), .1px 6.9px 9.3px -.7px hsl(var(--shadow-color)/.45), .3px 12.8px 17.3px -1px hsl(var(--shadow-color)/.54)
}

.tag {
    display: inline-block;
    padding: calc(var(--gutter)*.3) calc(var(--gutter)*.45) !important;
    text-decoration: none !important;
    font-size: calc(var(--baseFontSize)*.625);
    color: #1d1d1d;
    background: #e9e9e9;
    vertical-align: middle;
    border-radius: 50em;
    margin-left: calc(var(--gutter)*.5);
    line-height: 1;
    font-weight: 400;
    letter-spacing: 0;
    white-space: nowrap;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.tag.eyebrow {
    position: absolute;
    bottom: 100%;
    left: 0;
    margin: 0 0 calc(var(--gutter)*.2)
}

.tag.inset {
    font-size: calc(var(--baseFontSize)*.625);
    text-transform: uppercase;
    padding: calc(var(--gutter)*.25) calc(var(--gutter)*.35) calc(var(--gutter)*.2) !important
}

@media (max-width:1023px) {
    .tag.inset {
        position: absolute;
        bottom: 100%;
        left: 0;
        margin: 0 0 calc(var(--gutter)*.2) !important
    }
}

.tag.line-break {
    margin: calc(var(--gutter)*.15) 0 0
}

.tag.tag-promo_free_insurance,
.tag.tag-promo_world_car_free_day_2023,
.tag.tag-referral {
    background: #708573;
    color: #fff
}

.tag.tag-referral {
    display: none
}

@keyframes fade-in {
    0% {
        opacity: 0
    }
}

@keyframes fade-slide-up {
    0% {
        opacity: 0;
        transform: translate3d(0, 10%, 0)
    }
}

@keyframes fade-slide-down {
    0% {
        opacity: 0;
        transform: translate3d(0, -10%, 0)
    }
}

@keyframes fade-slide-rtl {
    0% {
        opacity: 0;
        transform: translate3d(100%, 0, 0)
    }
}

@keyframes fade-slide-ltr {
    0% {
        opacity: 0;
        transform: translate3d(-100%, 0, 0)
    }
}

dialog {
    display: none;
    border: 0;
    border-radius: 4px;
    color: #1d1d1d;
    padding: 0;
    overflow: auto;
    -ms-flex-align: stretch;
    align-items: stretch;
    outline: 0
}

dialog.dialog--with-heading .text {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
    text-align: left
}

dialog.dialog--with-heading .text>:first-child {
    padding: calc(var(--gutter) * 1.5) calc(var(--gutter) * 4) calc(var(--gutter) * 1.5) var(--gutter);
    background: #1e1e1e;
    color: #fff
}

@media (min-width:1024px) {
    dialog.dialog--with-heading .text>:first-child {
        padding: calc(var(--gutter) * 2);
        padding-right: calc((var(--gutter) * 2) + 46px);
        margin-bottom: calc(var(--gutter) * 2)
    }
}

dialog.dialog--with-heading .text>* {
    padding: 0 var(--gutter)
}

dialog.dialog--with-heading .text>:last-child {
    margin-bottom: 0
}

@media (min-width:1024px) {
    dialog.dialog--with-heading .text>* {
        padding: 0 calc(var(--gutter) * 1.5)
    }
}

dialog.dialog--with-heading .text>.full-bleed {
    padding: 0 !important;
    margin-bottom: calc(var(--gutter)*1.5)
}

dialog.dialog--with-heading .text>#dialog-referral-reward--title {
    margin-bottom: 0
}

dialog.dialog--with-heading .btn--close.btn--plain-light {
    top: var(--gutter);
    right: var(--gutter)
}

@media (min-width:1024px) {
    dialog.dialog--with-heading .btn--close.btn--plain-light {
        top: calc(var(--gutter) * 1.45)
    }
}

dialog[data-ui=modal] {
    width: 900px;
    max-width: calc(100vw - (var(--gutter) * 2))
}

dialog[data-ui=modal]>:not(.close) {
    height: auto;
    max-height: calc(100vh - (var(--gutter) * 2))
}

dialog[data-ui=modal] .media {
    background: #ebeae4
}

@media (min-width:1024px) {
    dialog[data-ui=modal] {
        max-width: calc(100vw - (var(--gutter) * 6))
    }

    dialog[data-ui=modal]>* {
        max-height: calc(100vh - (var(--gutter) * 6))
    }

    dialog[data-ui=modal].dialog--media>:not(form) {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%
    }
}

@supports (height:100svh) {
    dialog[data-ui=modal]>:not(.close) {
        max-width: calc(100svw - (var(--gutter) * 2));
        max-height: calc(100svh - (var(--gutter) * 2))
    }

    @media (min-width:1024px) {
        dialog[data-ui=modal]>:not(.close) {
            max-width: calc(100svw - (var(--gutter) * 6));
            max-height: calc(100svh - (var(--gutter) * 6))
        }
    }
}

dialog.dialog--narrow {
    width: calc(100vw - (var(--gutter) * 2));
    max-width: 480px
}

dialog.dialog--panel {
    position: fixed;
    right: 0;
    left: auto;
    top: 0;
    bottom: 0;
    z-index: 3;
    max-height: none;
    max-width: none;
    height: 100vh;
    width: 100%;
    border-radius: 0
}

@media (min-width:1024px) {
    dialog.dialog--panel {
        width: calc(36.5% - var(--gutter));
        border-radius: 6px 0 0 6px
    }
}

dialog.dialog--panel[data-direction=ltr] {
    right: auto;
    left: 0;
    border-radius: 0 6px 6px 0
}

dialog.dialog--panel .text {
    -ms-flex-item-align: start;
    align-self: flex-start;
    text-align: left;
    height: 100vh;
    width: 100%;
    max-height: none;
    max-width: none;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    overflow: hidden;
    color: #747474;
    padding: 0
}

dialog.dialog--panel .text>:first-child {
    font-size: calc(1.125 * var(--baseFontSize));
    background: #ebeae4;
    color: #1d1d1d;
    padding: calc(var(--gutter) * .85) calc(var(--gutter) * 1.5);
    margin-bottom: 0
}

@media (max-width:1023px) {
    dialog.dialog--panel .text>:first-child {
        padding: calc(var(--gutter) * .85) calc(var(--gutter) * 1)
    }
}

dialog.dialog--panel header {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-align: center;
    align-items: center;
    gap: calc(var(--gutter)*.75)
}

dialog.dialog--panel header .price {
    display: block;
    font-size: calc(.875 * var(--baseFontSize))
}

dialog.dialog--panel header .btn {
    font-size: calc(1 * var(--baseFontSize))
}

@media (max-width:1023px) {
    dialog.dialog--panel header .btn.add-to-cart {
        font-size: calc(.875 * var(--baseFontSize));
        padding-top: calc(var(--gutter)*.65);
        padding-bottom: calc(var(--gutter)*.65)
    }
}

dialog.dialog--panel header .add-to-cart,
dialog.dialog--panel header .close {
    margin-left: auto
}

dialog.dialog--panel header .add-to-cart+.close,
dialog.dialog--panel header .close+.close {
    margin-left: 0
}

dialog.dialog--panel .btn--close {
    position: static
}

dialog.dialog--panel .inner {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: calc(var(--gutter) * 1.5);
    height: 100%;
    width: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    font-size: calc(.875 * var(--baseFontSize));
    padding-top: calc(var(--gutter) * 1.5);
    color: #737373
}

@media (max-width:1023px) {
    dialog.dialog--panel .inner {
        padding: calc(var(--gutter) * 1)
    }
}

dialog.dialog--panel .inner picture {
    width: 100%;
    height: auto
}

dialog.dialog--panel .inner picture img {
    width: calc(100% + (var(--gutter)*3));
    margin-left: calc(var(--gutter)*-1.5);
    max-width: none;
    height: auto
}

@media (min-width:1024px) {
    dialog.dialog--panel .inner picture img {
        width: 100%;
        margin: 0
    }
}

dialog.dialog--panel .inner .h6 {
    font-size: calc(1.125 * var(--baseFontSize));
    line-height: 1.33;
    color: #1d1d1d
}

@media (min-width:1024px) {
    dialog.dialog--panel .inner .h6 {
        font-size: calc(1.25 * var(--baseFontSize))
    }
}

@media (max-width:1023px) {
    dialog.dialog--panel .inner {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column
    }

    dialog.dialog--panel .inner picture {
        -ms-flex-order: -1;
        order: -1
    }
}

dialog.dialog--panel .inner>* {
    margin-bottom: var(--gutter)
}

@media (min-width:1024px) {
    dialog.dialog--panel .inner>* {
        margin-bottom: calc(var(--gutter)*1.5)
    }
}

dialog.dialog--panel .inner h3 {
    font-size: calc(1.25 * var(--baseFontSize))
}

dialog.dialog--panel .inner h4 {
    font-size: calc(1 * var(--baseFontSize))
}

dialog.dialog--panel .inner dt,
dialog.dialog--panel .inner h3,
dialog.dialog--panel .inner h4 {
    color: #1d1d1d;
    margin-bottom: calc(var(--gutter)*.75);
    font-weight: 400
}

dialog.dialog--panel .inner ul {
    margin-top: 0
}

dialog.dialog--panel .inner li {
    margin-bottom: calc(var(--gutter)*1.25)
}

dialog.dialog--panel .inner dl {
    -ms-grid-columns: .75fr 1fr;
    grid-template-columns: .75fr 1fr;
    grid-gap: calc(var(--gutter)*1.5)
}

dialog.dialog--panel .inner dt {
    border-top: 1px solid rgba(0, 0, 0, .1);
    padding-top: calc(var(--gutter)*.75)
}

dialog.dialog--panel .inner dd {
    padding: 0;
    margin-top: -6px
}

dialog.dialog--panel .inner dd li {
    margin-bottom: 0
}

dialog.dialog--panel .inner .more {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    gap: calc(var(--gutter)*1);
    border-top: 1px solid rgba(0, 0, 0, .1);
    margin-bottom: 0;
    padding-top: calc(var(--gutter)*1)
}

@media (min-width:1024px) {
    dialog.dialog--panel .inner .more {
        padding-top: calc(var(--gutter)*1.5)
    }
}

dialog.dialog--panel .inner .more a,
dialog.dialog--panel .inner .more button {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-align: center;
    align-items: center;
    text-decoration: none;
    padding: 0;
    gap: calc(var(--gutter) * .5)
}

dialog.dialog--panel .inner .more a:focus,
dialog.dialog--panel .inner .more a:hover,
dialog.dialog--panel .inner .more button:focus,
dialog.dialog--panel .inner .more button:hover {
    background: none;
    color: #1d1d1d
}

dialog.dialog--panel .inner .disclaimer {
    color: #9a9a9a;
    font-size: calc(.75 * var(--baseFontSize))
}

dialog.dialog--panel .overflow-x {
    padding-right: 0 !important
}

dialog.dialog--panel .table-outter {
    overflow: scroll
}

dialog.dialog--panel .table-outter table {
    table-layout: fixed;
    width: 100%;
    margin-bottom: calc(var(--gutter) * 1.5);
    margin-right: var(--gutter)
}

dialog.dialog--panel table {
    text-align: left;
    border-collapse: collapse;
    color: #1d1d1d;
    font-size: calc(.8125 * var(--baseFontSize));
    margin-top: 0
}

@media (min-width:1024px) {
    dialog.dialog--panel table {
        table-layout: fixed;
        width: 100%
    }
}

dialog.dialog--panel td,
dialog.dialog--panel th {
    padding: var(--gutter) calc(var(--gutter)*.75);
    border: 1px solid rgba(29, 29, 29, .1)
}

dialog.dialog--panel td:first-child,
dialog.dialog--panel th:first-child {
    border-left: none;
    font-weight: 500;
    padding-left: 0;
    position: sticky;
    left: 0;
    background: #fff
}

dialog.dialog--panel th {
    font-weight: 500;
    font-size: calc(.8125 * var(--baseFontSize))
}

@media (min-width:1024px) {
    dialog.dialog--panel th {
        font-size: calc(.9375 * var(--baseFontSize))
    }
}

dialog.dialog--panel th:first-child {
    border: none
}

dialog.dialog--panel thead th {
    position: sticky;
    top: 0;
    background: #ebeae4
}

dialog.dialog--panel thead th:first-child {
    background: #fff;
    z-index: 2
}

dialog.dialog--panel tbody {
    z-index: 1
}

dialog.dialog--panel tfoot td {
    position: relative;
    z-index: 2;
    font-weight: 500;
    font-size: calc(.8125 * var(--baseFontSize));
    cursor: pointer
}

@media (min-width:1024px) {
    dialog.dialog--panel tfoot td {
        font-size: calc(.9375 * var(--baseFontSize))
    }
}

dialog.dialog--panel tfoot td span {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    gap: calc(var(--gutter)*.3)
}

@media (min-width:1024px) {
    dialog.dialog--panel tfoot td span {
        gap: calc(var(--gutter)*.5)
    }
}

dialog.dialog--panel tfoot td svg {
    transition: transform .3s ease-in-out
}

dialog.dialog--panel tfoot td:hover svg {
    transform: translate(5px)
}

dialog.dialog--panel tfoot td:first-child {
    border: none
}

dialog.dialog--panel::backdrop {
    background-color: #1d1d1db3
}

dialog.dialog--panel[open] {
    animation-name: fade-slide-rtl
}

dialog.dialog--panel[open][data-direction=ltr] {
    animation-name: fade-slide-ltr
}

@supports (min-height:100dvh) {

    dialog.dialog--panel,
    dialog.dialog--panel .text {
        height: 100dvh
    }
}

dialog .media {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    overflow: hidden;
    margin: 0
}

dialog .media img {
    display: block;
    margin: auto;
    height: 100%;
    width: 100%;
    object-fit: cover
}

dialog .text {
    overflow: auto;
    padding: calc(var(--gutter)*2.5) calc(var(--gutter)*1) calc(var(--gutter)*1);
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
    text-align: center;
    width: 100%
}

dialog .text .h5 {
    margin-bottom: calc(var(--gutter)*1)
}

dialog .text label {
    display: block
}

dialog .text [type=email] {
    margin-bottom: var(--gutter);
    max-width: 100%;
    outline: 0;
    min-width: 280px;
    text-align: center
}

dialog .text #care-cities-fallback-email {
    text-align: left
}

dialog .text .form-newsletter [name=subscribe] {
    min-width: 140px
}

dialog .text .form-newsletter .optin {
    max-width: 260px;
    margin: calc(var(--gutter)*2) auto 0;
    opacity: .6
}

dialog .text .form-newsletter.incentivized .optin {
    max-width: none;
    padding: 0
}

@media (min-width:1024px) {
    dialog .text {
        padding: calc(var(--gutter)*2)
    }
}

dialog .disclaimer {
    color: #1d1d1db3;
    font-size: calc(var(--baseFontSize) * .75);
    margin-top: calc(var(--gutter) * 1);
    margin-bottom: 0
}

dialog .bike-picture--container picture {
    display: none
}

dialog::backdrop {
    pointer-events: none;
    background-color: #1d1d1de6
}

dialog .btn--close {
    position: absolute;
    top: var(--gutter);
    right: var(--gutter);
    background: #1d1d1d !important;
    color: #fff !important;
    outline: none
}

dialog .btn--close.btn--plain-light {
    top: 0;
    right: 0;
    background: #fff !important;
    color: #1d1d1d !important
}

@media (min-width:1024px) {
    dialog .btn--close {
        top: calc(var(--gutter) * 1.5);
        right: calc(var(--gutter) * 1.5)
    }
}

dialog[open] {
    display: -ms-flexbox;
    display: flex;
    animation: fade-slide-up .35s both
}

dialog[open]#dialog-model-switcher {
    animation-name: fade-slide-down
}

dialog[open]::backdrop {
    animation: fade-in .2s both
}

dialog[data-ui=banner] {
    position: fixed;
    z-index: 3;
    top: 0;
    left: 0;
    right: 0;
    width: 100vw;
    background: #1d1d1d;
    color: #fff;
    font-weight: 500;
    max-width: none;
    border-radius: 0;
    -ms-flex-align: center;
    align-items: center;
    font-size: calc(.875 * var(--baseFontSize))
}

dialog[data-ui=banner] .btn--close {
    position: static
}

dialog[data-ui=banner] .close {
    position: relative;
    z-index: 2
}

dialog[data-ui=banner] .text {
    position: relative;
    z-index: 1;
    margin: 0;
    padding: 0;
    text-align: center;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    transform: translate(25px);
    -ms-flex: 1;
    flex: 1
}

@media (max-width:1023px) {
    dialog[data-ui=banner] .text {
        padding-right: var(--gutter)
    }
}

dialog[data-ui=banner] .text a {
    display: block;
    padding: calc(var(--gutter)*.7) 0;
    color: inherit;
    text-decoration: none
}

dialog[data-ui=banner] .text a:hover .btn--plain-light {
    background: #1d1d1d;
    color: #fff
}

@media (min-width:768px) {
    dialog[data-ui=banner] .text a {
        padding: calc(var(--gutter)*.7) calc(var(--gutter)*2)
    }
}

dialog[data-ui=banner] .text .btn--naked {
    color: #fff
}

@keyframes xfade {
    0% {
        opacity: 1;
        transform: translateY(0);
        pointer-events: all
    }

    45% {
        opacity: 1;
        transform: translateY(0);
        pointer-events: all
    }

    50% {
        opacity: 0;
        transform: translateY(-10px);
        pointer-events: none
    }

    95% {
        opacity: 0;
        transform: translateY(-10px);
        pointer-events: none
    }

    to {
        opacity: 1;
        transform: translateY(0);
        pointer-events: all
    }
}

dialog[data-ui=banner].rotating .text>* {
    pointer-events: all
}

dialog[data-ui=banner].rotating .text>:first-child {
    animation: xfade 10s 0s infinite
}

dialog[data-ui=banner].rotating .text>:nth-child(2) {
    animation: xfade 10s -5s infinite
}

dialog[data-ui=banner].rotating .text>:not(:first-child) {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0
}

@media (max-width:767px) {
    .scroll-down:not(.scroll-stopped) dialog[data-ui=banner] {
        transform: translateY(-100%)
    }
}

dialog[id^=dialog-newsletter] .message p:last-of-type {
    color: #1d1d1db3;
    font-size: calc(.875 * var(--baseFontSize))
}

dialog[id^=dialog-newsletter] .message p:last-of-type a {
    color: inherit
}

dialog#dialog-circular-conditions li .h6 {
    margin-bottom: calc(var(--gutter)*.5)
}

dialog.dialog-oos .media img {
    width: calc(100% - (var(--gutter) * 9));
    height: calc(100% - (var(--gutter) * 12));
    object-fit: contain
}

@media (max-width:1023px) {
    dialog.dialog-oos .media {
        display: none !important
    }
}

.template-circular dialog.dialog-oos .media .bike-picture--container {
    display: block;
    height: calc(100% - (var(--gutter) * 6));
    max-width: none;
    margin: 0;
    overflow: hidden
}

.template-circular dialog.dialog-oos .media .bike-picture--container:not(:only-of-type) {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate3d(-50%, -50%, 0)
}

.template-circular dialog.dialog-oos .media .bike-picture--container>picture {
    height: 100%
}

.template-circular dialog.dialog-oos .media .bike-picture--container>picture img {
    width: auto;
    height: 100%;
    object-fit: unset
}

@media (min-width:1024px) {
    dialog.dialog-oos .text {
        padding-top: calc(var(--gutter)*6);
        padding-bottom: calc(var(--gutter)*6)
    }
}

dialog#dialog-oos-super-sku .media,
dialog.dialog-oos-bike-colors .media {
    overflow: hidden
}

dialog#dialog-oos-super-sku .bike-picture--container,
dialog.dialog-oos-bike-colors .bike-picture--container {
    display: none;
    margin-bottom: 0;
    width: 180%;
    transform: translate(-3%)
}

[data-model="Cowboy 3"] dialog#dialog-oos-super-sku .bike-picture--container[data-model="Cowboy 3"],
[data-model="Cowboy 3"] dialog.dialog-oos-bike-colors .bike-picture--container[data-model="Cowboy 3"],
[data-model="Cruiser ST"] dialog#dialog-oos-super-sku .bike-picture--container[data-model="Cruiser ST"],
[data-model="Cruiser ST"] dialog.dialog-oos-bike-colors .bike-picture--container[data-model="Cruiser ST"],
[data-model=Classic] dialog#dialog-oos-super-sku .bike-picture--container[data-model=Classic],
[data-model=Classic] dialog.dialog-oos-bike-colors .bike-picture--container[data-model=Classic],
[data-model=Cruiser] dialog#dialog-oos-super-sku .bike-picture--container[data-model=Cruiser],
[data-model=Cruiser] dialog.dialog-oos-bike-colors .bike-picture--container[data-model=Cruiser] {
    display: block
}

dialog.dialog-oos-bike-colors {
    width: 960px !important
}

@media (min-width:1025px) {
    dialog.dialog-oos-bike-colors .text {
        padding: calc(var(--gutter)*3)
    }
}

dialog.dialog-oos-bike-colors .text>h3 {
    margin-bottom: calc(var(--gutter)*.5)
}

dialog.dialog-oos-bike-colors .text form {
    padding: 0;
    height: auto
}

dialog.dialog-oos-bike-colors .text form [type=email] {
    width: 100%;
    text-align: center
}

dialog.dialog-oos-bike-colors .text form .option-block {
    padding: 0;
    margin-bottom: calc(var(--gutter)*.5)
}

dialog.dialog-oos-bike-colors .text form .option-block strong {
    color: #1d1d1d
}

@media (max-width:1024px) {
    dialog.dialog-oos-bike-colors .text form .option-block .choices label {
        padding: calc(var(--gutter)*.75) calc(var(--gutter)*.5)
    }

    dialog.dialog-oos-bike-colors .text form .option-block.option-block--color .thumbnail {
        height: calc(var(--gutter)*1.5);
        width: calc(var(--gutter)*1.5)
    }

    dialog.dialog-oos-bike-colors .text form .option-block.option-block--color .thumbnail+strong {
        font-size: calc(.75 * var(--baseFontSize))
    }
}

dialog.dialog-oos-bike-colors .bike-picture--container {
    width: 200%;
    transform: translate(-48%)
}

dialog#dialog-promo_world_car_free_day_2023 .text {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;
    -ms-flex-align: center;
    align-items: center;
    gap: calc(var(--gutter) * 2)
}

dialog#dialog-promo_world_car_free_day_2023 .text>* {
    margin: 0
}

dialog#dialog-promo_world_car_free_day_2023 .disclaimer {
    font-size: calc(.875 * var(--baseFontSize))
}

dialog#dialog-promo_world_car_free_day_2023 .disclaimer small {
    font-size: calc(.75 * var(--baseFontSize));
    display: block;
    margin-top: calc(var(--gutter) / 4)
}

dialog#dialog-grover .inner {
    display: block;
    -ms-flex-positive: 1;
    flex-grow: 1
}

.template-cowboy-4 dialog#dialog-grover .inner,
.template-index dialog#dialog-grover .inner {
    padding-top: 0
}

@media (min-width:1024px) {
    .template-cart dialog#dialog-grover .inner {
        padding-top: calc(var(--gutter) * 1.5)
    }

    .template-cart dialog#dialog-grover .inner p:not(.h6) {
        font-size: calc(1 * var(--baseFontSize))
    }
}

dialog#dialog-grover .inner>:last-child {
    display: -ms-inline-flexbox;
    display: inline-flex;
    margin-bottom: 0
}

@media only screen and (min-width:1024px) and (max-height:860px) {

    .template-cowboy-4 dialog#dialog-grover,
    .template-index dialog#dialog-grover {
        height: auto
    }

    .template-cowboy-4 dialog#dialog-grover [data-model],
    .template-index dialog#dialog-grover [data-model] {
        display: none !important
    }
}

@media only screen and (min-width:1024px) and (max-height:720px) {
    .template-cart dialog#dialog-grover [data-model] {
        display: none !important
    }

    .template-cart dialog#dialog-grover .h6 {
        margin-top: 0
    }
}

dialog#dialog-grover [data-model] {
    display: none
}

.template-cowboy-4 dialog#dialog-grover [data-model],
.template-index dialog#dialog-grover [data-model] {
    width: calc(100% + (var(--gutter)*3));
    margin-left: calc(var(--gutter)*-1.5)
}

@media (max-width:1023px) {
    .template-cart dialog#dialog-grover [data-model] {
        width: calc(100% + (var(--gutter)*3));
        margin-left: calc(var(--gutter)*-1.5)
    }
}

[data-model="Cruiser ST"] dialog#dialog-grover [data-model="Cruiser ST"],
[data-model=Classic] dialog#dialog-grover [data-model=Classic],
[data-model=Cruiser] dialog#dialog-grover [data-model=Cruiser],
dialog#dialog-grover[data-name*=Cruiser] [data-model=Cruiser],
dialog#dialog-grover[data-name="Cruiser ST"] [data-model="Cruiser ST"],
dialog#dialog-grover[data-name=Classic] [data-model=Classic] {
    display: block
}

.template-cart dialog#dialog-grover [data-color] {
    display: none
}

[data-model="Cruiser ST"][data-color=Black] .template-cart dialog#dialog-grover [data-model="Cruiser ST"][data-color=Black],
[data-model="Cruiser ST"][data-color=Clay] .template-cart dialog#dialog-grover [data-model="Cruiser ST"][data-color=Black],
[data-model="Cruiser ST"][data-color=Fig] .template-cart dialog#dialog-grover [data-model="Cruiser ST"][data-color=Black],
[data-model="Cruiser ST"][data-color=Lavender] .template-cart dialog#dialog-grover [data-model="Cruiser ST"][data-color=Lavender],
[data-model="Cruiser ST"][data-color=Sand] .template-cart dialog#dialog-grover [data-model="Cruiser ST"][data-color=Sand],
[data-model=Classic][data-color=Black] .template-cart dialog#dialog-grover [data-model=Classic][data-color=Black],
[data-model=Classic][data-color=Sand] .template-cart dialog#dialog-grover [data-model=Classic][data-color=Sand],
[data-model=Cruiser][data-color=Black] .template-cart dialog#dialog-grover [data-model=Cruiser][data-color=Black],
[data-model=Cruiser][data-color=Sand] .template-cart dialog#dialog-grover [data-model=Cruiser][data-color=Sand] {
    display: block
}

dialog#dialog-grover .h6 {
    margin-top: calc(var(--gutter)*1.5)
}

dialog#dialog-grover ul {
    list-style: none;
    margin: 0 0 var(--gutter)
}

dialog#dialog-grover ul li {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-align: center;
    align-items: center;
    gap: calc(var(--gutter)*.6);
    margin-bottom: 0
}

dialog#dialog-grover ul svg {
    color: #1d1d1d
}

dialog#dialog-grover p {
    margin-bottom: var(--gutter)
}

dialog#dialog-grover p img {
    vertical-align: middle
}

.modal-open {
    overflow: hidden
}

.page-header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 3;
    width: 100vw;
    color: #1d1d1d;
    transition: transform .35s cubic-bezier(.42, 0, .002, 1), background .35s cubic-bezier(.42, 0, .002, 1), opacity .15s cubic-bezier(.42, 0, .002, 1);
    transform: translateY(calc(var(--redirect-banner-height, 0px) + var(--top-banner-height, 0px)))
}

@media (max-width:1023px) {
    .template-cart .page-header {
        transform: none
    }
}

.page-header.page-header_light {
    color: #fff
}

.page-header>:not(.menu-trigger) {
    transition: transform .35s cubic-bezier(.42, 0, .002, 1), opacity .15s cubic-bezier(.42, 0, .002, 1)
}

.page-header ul {
    margin: 0;
    padding: 0;
    list-style: none
}

.page-header #menu .btn,
.page-header #menu a,
.page-header>.btn {
    display: block;
    color: inherit
}

body .page-header #menu .btn,
body .page-header #menu a,
body .page-header>.btn {
    text-decoration: none
}

.page-header #menu .btn.menu-trigger,
.page-header #menu a.menu-trigger,
.page-header>.btn.menu-trigger {
    position: absolute;
    top: 0;
    right: 0;
    padding: var(--gutter) var(--gutter) 0
}

.page-header #menu .btn.menu-trigger.btn--open,
.page-header #menu a.menu-trigger.btn--open,
.page-header>.btn.menu-trigger.btn--open {
    width: calc(26px + (var(--gutter)*2));
    height: calc(26px + (var(--gutter)*1))
}

.page-header #menu .btn.menu-trigger.btn--close,
.page-header #menu a.menu-trigger.btn--close,
.page-header>.btn.menu-trigger.btn--close {
    top: calc(var(--gutter)*.575);
    right: calc(var(--gutter)*.575);
    padding: 0;
    width: calc(var(--gutter)*2);
    height: calc(var(--gutter)*2)
}

.page-header #menu .btn.menu-trigger.btn--open svg,
.page-header #menu a.menu-trigger.btn--open svg,
.page-header>.btn.menu-trigger.btn--open svg {
    margin: 0 0 0 auto
}

.page-header #menu .btn.menu-trigger:focus,
.page-header #menu .btn.menu-trigger:hover,
.page-header #menu a.menu-trigger:focus,
.page-header #menu a.menu-trigger:hover,
.page-header>.btn.menu-trigger:focus,
.page-header>.btn.menu-trigger:hover {
    background: none !important;
    color: #1d1d1d !important
}

.page-header #menu .btn.btn--buy,
.page-header #menu a.btn--buy,
.page-header>.btn.btn--buy {
    color: #fff
}

.page-header #menu .btn.btn--buy.btn--plain-light,
.page-header #menu .btn.btn--buy:focus,
.page-header #menu .btn.btn--buy:hover,
.page-header #menu a.btn--buy.btn--plain-light,
.page-header #menu a.btn--buy:focus,
.page-header #menu a.btn--buy:hover,
.page-header>.btn.btn--buy.btn--plain-light,
.page-header>.btn.btn--buy:focus,
.page-header>.btn.btn--buy:hover {
    color: #1d1d1d
}

.page-header #menu .btn.btn--buy.btn--plain-light:focus,
.page-header #menu .btn.btn--buy.btn--plain-light:hover,
.page-header #menu a.btn--buy.btn--plain-light:focus,
.page-header #menu a.btn--buy.btn--plain-light:hover,
.page-header>.btn.btn--buy.btn--plain-light:focus,
.page-header>.btn.btn--buy.btn--plain-light:hover {
    color: #fff
}

.menu-active .page-header #menu .btn.btn--buy,
.menu-active .page-header #menu a.btn--buy,
.menu-active .page-header>.btn.btn--buy,
.show-bikes-submenu .page-header #menu .btn.btn--buy,
.show-bikes-submenu .page-header #menu a.btn--buy,
.show-bikes-submenu .page-header>.btn.btn--buy,
.show-services-submenu .page-header #menu .btn.btn--buy,
.show-services-submenu .page-header #menu a.btn--buy,
.show-services-submenu .page-header>.btn.btn--buy {
    background: #1d1d1d;
    color: #fff
}

.menu-active .page-header #menu .btn.btn--buy:focus,
.menu-active .page-header #menu .btn.btn--buy:hover,
.menu-active .page-header #menu a.btn--buy:focus,
.menu-active .page-header #menu a.btn--buy:hover,
.menu-active .page-header>.btn.btn--buy:focus,
.menu-active .page-header>.btn.btn--buy:hover,
.show-bikes-submenu .page-header #menu .btn.btn--buy:focus,
.show-bikes-submenu .page-header #menu .btn.btn--buy:hover,
.show-bikes-submenu .page-header #menu a.btn--buy:focus,
.show-bikes-submenu .page-header #menu a.btn--buy:hover,
.show-bikes-submenu .page-header>.btn.btn--buy:focus,
.show-bikes-submenu .page-header>.btn.btn--buy:hover,
.show-services-submenu .page-header #menu .btn.btn--buy:focus,
.show-services-submenu .page-header #menu .btn.btn--buy:hover,
.show-services-submenu .page-header #menu a.btn--buy:focus,
.show-services-submenu .page-header #menu a.btn--buy:hover,
.show-services-submenu .page-header>.btn.btn--buy:focus,
.show-services-submenu .page-header>.btn.btn--buy:hover {
    background: #f6f6f6;
    color: #1d1d1d
}

.page-header .logo {
    height: 19px;
    text-decoration: none;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px
}

.page-header .logo span {
    font-size: calc(1.875 * var(--baseFontSize));
    font-weight: 500
}

@media (min-width:1024px) {
    .page-header .logo {
        height: 25px
    }
}

.page-header .logo svg {
    height: 100%;
    width: auto
}

.page-header #menu {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column
}

.page-header .submenu__container {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    opacity: 0;
    pointer-events: none;
    max-height: 0;
    transition: opacity .35s cubic-bezier(.42, 0, .002, 1)
}

.show-bikes-submenu .page-header .submenu__container[data-submenu=bikes],
.show-services-submenu .page-header .submenu__container[data-submenu=services] {
    opacity: 1;
    pointer-events: all;
    max-height: none;
    transition: opacity .35s cubic-bezier(.42, 0, .002, 1)
}

.page-header .submenu__container .btn,
.page-header .submenu__container a {
    font-size: calc(1 * var(--baseFontSize));
    text-decoration: none
}

.page-header .submenu__container .submenu__backdrop {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    right: 0;
    height: 100vh;
    background: #1d1d1d;
    opacity: .7
}

.page-header .submenu__container .submenu {
    position: relative;
    z-index: 1;
    display: -ms-flexbox;
    display: flex;
    min-height: 300px;
    height: 30vh;
    background: #fff;
    padding: calc(var(--gutter)*.65) calc(var(--gutter)*.5) calc(var(--gutter)*.5);
    gap: calc(var(--gutter)*.5)
}

.page-header .submenu__container .submenu .btn,
.page-header .submenu__container .submenu a {
    font-weight: 400
}

.page-header .submenu__container .submenu__item {
    -ms-flex: 1;
    flex: 1;
    overflow: hidden;
    border-radius: 4px
}

.page-header .submenu__container .submenu__item:first-of-type .submenu__item-inner {
    padding-left: calc(var(--gutter)*2.5);
    padding-right: calc(var(--gutter)*3)
}

.page-header .submenu__container .submenu__item:first-of-type .submenu__item-inner .eyebrow {
    text-transform: uppercase;
    opacity: 1;
    letter-spacing: .5px
}

.page-header .submenu__container .submenu__item:first-of-type .submenu__item-inner p {
    line-height: 1.25
}

.page-header .submenu__container .submenu__item-inner {
    padding: calc(var(--gutter)*1.5);
    height: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    position: relative
}

.page-header .submenu__container .submenu__title {
    position: relative;
    z-index: 1;
    text-transform: none;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: calc(var(--gutter)*.9)
}

.page-header .submenu__container .submenu__title .eyebrow {
    font-size: calc(.8125 * var(--baseFontSize));
    line-height: 1;
    letter-spacing: .5px;
    opacity: .7;
    letter-spacing: .1px
}

.page-header .submenu__container .submenu__title p {
    font-size: calc(1.75 * var(--baseFontSize));
    line-height: 1;
    letter-spacing: -.3px;
    max-width: 360px;
    margin: 0
}

.page-header .submenu__container .submenu__callout {
    margin-top: auto;
    position: relative;
    z-index: 1
}

.page-header .submenu__container .submenu__callout a {
    padding: 0;
    display: -ms-flexbox;
    display: flex;
    text-transform: none;
    letter-spacing: 0;
    font-size: calc(1 * var(--baseFontSize))
}

.page-header .submenu__container .submenu__callout .tag {
    margin: 0;
    font-style: normal;
    text-transform: none
}

.page-header .submenu__container .submenu__picture {
    width: calc(100% + (var(--gutter)*3));
    position: absolute;
    top: 0;
    left: 0
}

.page-header .submenu__container .submenu__picture img {
    height: auto;
    width: 100%
}

.page-header .submenu__container[data-submenu=bikes] .submenu__picture {
    top: 110px
}

.page-header .submenu__container .submenu__item--classic .submenu__picture {
    top: 125px;
    transform: translate(-5.8vw)
}

.page-header .submenu__container .submenu__item--cruiser .submenu__picture {
    top: 115px;
    transform: translate(-5.7vw)
}

.page-header .submenu__container .submenu__item--cruiser-st .submenu__picture {
    top: 107px;
    transform: translate(-6.1vw)
}

.page-header .submenu__container[data-submenu=services] .submenu__item:not(:first-of-type) .submenu__title {
    color: #fff
}

.page-header .submenu__container[data-submenu=services] .submenu__picture {
    width: 100%;
    height: 100%;
    transform: none;
    z-index: 0
}

.page-header .submenu__container[data-submenu=services] .submenu__picture img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.page-header .submenu__container .submenu__item--classic {
    background: linear-gradient(225deg, #e7eae7 30.32%, #f6f0e9 100.3%)
}

.page-header .submenu__container .submenu__item--cruiser {
    background: linear-gradient(224deg, #eee5d3 20%, #fffaf4 81.18%)
}

.page-header .submenu__container .submenu__item--cruiser-st {
    background: linear-gradient(224deg, #e3e5fc 20%, #f8f9fc 81.18%)
}

.page-header #menu .cta-nav {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    gap: var(--gutter)
}

@media (max-width:1024px) {
    .page-header #menu .cta-nav>* {
        width: 50%
    }
}

.page-header #menu .cta-nav a {
    white-space: nowrap
}

@media (max-width:1024px) {
    .page-header #menu .cta-nav a {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        gap: calc(var(--gutter)*.4)
    }
}

.page-header #menu .cta-nav a.btn--buy {
    text-transform: uppercase;
    place-content: center
}

@media (max-width:1023px) {
    .page-header #menu .cta-nav a.btn--buy {
        font-size: calc(.9375 * var(--baseFontSize))
    }

    html[lang^=fr] .page-header #menu .cta-nav a.btn--buy span {
        display: none
    }
}

.page-header .btn--close {
    opacity: 0;
    pointer-events: none
}

.menu-active .page-header {
    transform: none;
    color: #1d1d1d;
    z-index: 5 !important
}

.menu-active .page-header .btn--close {
    opacity: 1;
    pointer-events: all;
    transform: translateY(-2px)
}

.menu-active .page-header .btn--open {
    opacity: 0;
    pointer-events: none
}

@media (max-width:1023px) {
    .menu-active .page-header {
        height: 100vh;
        background: #fff;
        padding-bottom: 0
    }

    @supports (height:100dvh) {
        .menu-active .page-header {
            height: 100dvh
        }

        .menu-active .page-header #menu {
            height: 100%
        }
    }

    .menu-active .page-header .countries-menu,
    .menu-active .page-header .cta-nav,
    .menu-active .page-header .main-nav {
        position: relative;
        opacity: 1;
        pointer-events: all
    }

    .menu-active .page-header .cart {
        position: absolute;
        opacity: 0;
        pointer-events: none
    }
}

@media (max-width:1023px) {
    .page-header {
        position: fixed;
        color: #1d1d1d;
        padding: calc(var(--gutter)*1.15) var(--gutter)
    }

    .page-header .eyebrow,
    .page-header .tag {
        display: none
    }

    .page-header #menu {
        height: 100%
    }

    .page-header #menu .main-nav {
        margin: auto 0
    }

    .page-header #menu .main-nav .btn,
    .page-header #menu .main-nav a {
        display: -ms-flexbox;
        display: flex;
        width: 100%;
        -ms-flex-align: center;
        align-items: center;
        font-size: calc(2 * var(--baseFontSize));
        letter-spacing: -.5px;
        line-height: 1.3;
        padding: calc(var(--gutter)*.35) 0
    }
}

@media (max-width:1023px) and (max-height:667px) {

    .page-header #menu .main-nav .btn,
    .page-header #menu .main-nav a {
        font-size: calc(1.75 * var(--baseFontSize))
    }
}

@media (max-width:1023px) and (max-height:568px) {

    .page-header #menu .main-nav .btn,
    .page-header #menu .main-nav a {
        font-size: calc(1.5 * var(--baseFontSize));
        padding: calc(var(--gutter)*.2) 0
    }
}

@media (max-width:1023px) {

    .page-header #menu .main-nav .btn>svg,
    .page-header #menu .main-nav a>svg {
        margin: 0 0 0 auto;
        transform: translateY(85%) rotate(90deg);
        transform-origin: top right;
        width: 12px;
        height: auto
    }

    .page-header #menu .main-nav .submenu__trigger+ul {
        max-height: 0;
        opacity: 0;
        pointer-events: none;
        transition: .35s cubic-bezier(.42, 0, .002, 1)
    }

    .page-header #menu .main-nav .submenu__trigger+ul a {
        font-size: calc(1 * var(--baseFontSize))
    }

    .show-services-submenu .page-header #menu .main-nav .submenu__trigger+ul {
        max-height: 106px;
        opacity: 1;
        pointer-events: all
    }

    .page-header .countries-menu,
    .page-header .cta-nav,
    .page-header .main-nav {
        position: absolute;
        opacity: 0;
        pointer-events: none
    }

    .page-header .cart {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 66px
    }

    .page-header .countries-menu {
        background: #1d1d1d;
        width: 100vw;
        transform: translate(calc(var(--gutter)*-1));
        padding: calc(var(--gutter)*1.5) var(--gutter);
        margin-top: var(--gutter)
    }

    .page-header .countries-menu .locales ul {
        width: 220px
    }

    .page-header .countries-menu summary {
        padding: 0
    }
}

@media (min-width:1024px) {
    .page-header {
        padding: calc(var(--gutter)*.65) calc(var(--gutter)*1);
        display: -ms-flexbox;
        display: flex;
        flex-direction: row;
        gap: var(--gutter);
        width: 100%
    }

    .page-header,
    .page-header #menu {
        -ms-flex-direction: row;
        -ms-flex-align: center;
        align-items: center
    }

    .page-header #menu {
        position: relative;
        flex-direction: row;
        -ms-flex: 1;
        flex: 1
    }

    .page-header #menu .logo {
        position: absolute;
        z-index: 1;
        top: 15%;
        left: 0;
        transform: translateY(-50%)
    }


    .page-header #menu .cta-nav{
        position: absolute;
        z-index: 1;
        top: 50%;
        left: 0;
        transform: translateY(-50%)
    }

    .page-header #menu .cta-nav {
        left: auto;
        right: 0
    }

    .page-header #menu .main-nav {
        display: -ms-flexbox;
        display: flex;
        -ms-flex: 1;
        flex: 1;
        -ms-flex-align: end;
        /* align-items: end; */
        place-content: end;
        -ms-flex-direction: row;
        flex-direction: row;
        height: 46px
    }

    .page-header #menu .main-nav .btn,
    .page-header #menu .main-nav a {
        padding: 0 calc(var(--gutter)*.5)
    }

    .show-bikes-submenu .page-header,
    .show-services-submenu .page-header {
        background: #fff;
        color: #1d1d1d
    }

    .page-header .cta-nav {
        margin-left: auto
    }

    .page-header #menu .btn,
    .page-header #menu a,
    .page-header>.btn {
        font-size: calc(.6875 * var(--baseFontSize));
        text-transform: uppercase;
        letter-spacing: .04em;
        font-weight: 600;
        transition: .2s ease-in-out
    }

    .page-header #menu .btn.submenu__trigger,
    .page-header #menu a.submenu__trigger,
    .page-header>.btn.submenu__trigger {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        gap: calc(var(--gutter)*.5)
    }

    .page-header #menu .btn.submenu__trigger svg,
    .page-header #menu a.submenu__trigger svg,
    .page-header>.btn.submenu__trigger svg {
        transform: rotate(90deg)
    }
}

@media (min-width:1280px) {
    .page-header {
        padding: calc(var(--gutter)*.65) calc(var(--gutter)*3)
    }

    .page-header .main-nav {
        transform: translate(21px)
    }

    .page-header .main-nav .btn,
    .page-header .main-nav a {
        padding: 0 calc(var(--gutter)*.75)
    }

    .page-header #menu .btn,
    .page-header #menu a,
    .page-header>.btn {
        font-size: calc(.75 * var(--baseFontSize))
    }
}

.header-packed.scroll-stopped .page-header,
.header-packed.scroll-up .page-header {
    background: #fff;
    color: #b1afaf;
    box-shadow: 0 .2px 3.5px #0000000d, 0 .4px 6.9px #00000009, 0 .8px 10.5px #00000008, 0 1.3px 14.6px #00000006, 0 2.5px 20.7px #00000005, 0 6px 55px #00000004
}

.header-packed.scroll-stopped .page-header #menu .btn--buy.btn--plain-light,
.header-packed.scroll-up .page-header #menu .btn--buy.btn--plain-light {
    background: #1d1d1d;
    color: #fff
}

.header-packed.scroll-stopped .page-header #menu .btn--buy.btn--plain-light:focus,
.header-packed.scroll-stopped .page-header #menu .btn--buy.btn--plain-light:hover,
.header-packed.scroll-up .page-header #menu .btn--buy.btn--plain-light:focus,
.header-packed.scroll-up .page-header #menu .btn--buy.btn--plain-light:hover {
    background: #f6f6f6;
    color: #1d1d1d
}

@media (max-width:1023px) {

    #page-accessories .page-header,
    .header-packed .template-blog-all .page-header,
    .template-blog-features .page-header,
    .template-blog-press .page-header,
    .template-blog-rider-stories .page-header {
        pointer-events: all !important;
        background: #fff;
        color: #1d1d1d;
        box-shadow: 0 .2px 3.5px #0000000d, 0 .4px 6.9px #00000009, 0 .8px 10.5px #00000008, 0 1.3px 14.6px #00000006, 0 2.5px 20.7px #00000005, 0 6px 55px #00000004
    }

    #page-accessories .page-header #menu .btn--buy.btn--plain-light,
    .header-packed .template-blog-all .page-header #menu .btn--buy.btn--plain-light,
    .template-blog-features .page-header #menu .btn--buy.btn--plain-light,
    .template-blog-press .page-header #menu .btn--buy.btn--plain-light,
    .template-blog-rider-stories .page-header #menu .btn--buy.btn--plain-light {
        background: #1d1d1d;
        color: #fff
    }

    #page-accessories .page-header #menu .btn--buy.btn--plain-light:focus,
    #page-accessories .page-header #menu .btn--buy.btn--plain-light:hover,
    .header-packed .template-blog-all .page-header #menu .btn--buy.btn--plain-light:focus,
    .header-packed .template-blog-all .page-header #menu .btn--buy.btn--plain-light:hover,
    .template-blog-features .page-header #menu .btn--buy.btn--plain-light:focus,
    .template-blog-features .page-header #menu .btn--buy.btn--plain-light:hover,
    .template-blog-press .page-header #menu .btn--buy.btn--plain-light:focus,
    .template-blog-press .page-header #menu .btn--buy.btn--plain-light:hover,
    .template-blog-rider-stories .page-header #menu .btn--buy.btn--plain-light:focus,
    .template-blog-rider-stories .page-header #menu .btn--buy.btn--plain-light:hover {
        background: #f6f6f6;
        color: #1d1d1d
    }

    #page-accessories .page-header>:not(.menu-trigger),
    .header-packed .template-blog-all .page-header>:not(.menu-trigger),
    .template-blog-features .page-header>:not(.menu-trigger),
    .template-blog-press .page-header>:not(.menu-trigger),
    .template-blog-rider-stories .page-header>:not(.menu-trigger) {
        opacity: 1 !important;
        transform: translateY(0) !important;
        pointer-events: all !important
    }

    #page-accessories .page-header>:not(.menu-trigger).cart,
    .header-packed .template-blog-all .page-header>:not(.menu-trigger).cart,
    .template-blog-features .page-header>:not(.menu-trigger).cart,
    .template-blog-press .page-header>:not(.menu-trigger).cart,
    .template-blog-rider-stories .page-header>:not(.menu-trigger).cart {
        transform: translateY(-50%) !important
    }
}

.header-packed.scroll-down:not(.scroll-stopped):not(.menu-active) .page-header>:not(.menu-trigger) {
    opacity: 0;
    transform: translateY(-100%);
    pointer-events: none
}

@media (max-width:1023px) {
    .header-packed.scroll-down:not(.scroll-stopped):not(.menu-active) .page-header {
        transform: translateY(0)
    }
}

.menu-active,
.show-bikes-submenu,
.show-services-submenu {
    overflow: hidden
}

.menu-active .banner {
    transform: translateY(-100%);
    opacity: 0;
    pointer-events: none
}

@media (min-width:1024px) and (max-width:1365px) {

    html[lang^=de] .page-header #menu .cta-nav,
    html[lang^=de] .page-header #menu .logo,
    html[lang^=nl] .page-header #menu .cta-nav,
    html[lang^=nl] .page-header #menu .logo {
        position: relative;
        top: 0;
        transform: none
    }
}

@media (min-width:1024px) and (max-width:1189px) {

    html[lang^=de] .page-header #menu .main-nav .btn,
    html[lang^=de] .page-header #menu .main-nav a,
    html[lang^=nl] .page-header #menu .main-nav .btn,
    html[lang^=nl] .page-header #menu .main-nav a {
        padding: 0 calc(var(--gutter)*.5)
    }
}

@media (min-width:1024px) and (max-width:1139px) {

    html[lang^=de] .page-header,
    html[lang^=nl] .page-header {
        padding-left: var(--gutter);
        padding-right: var(--gutter)
    }
}

@media (min-width:1024px) and (max-width:1059px) {

    html[lang^=de] #menu .btn,
    html[lang^=de] #menu a,
    html[lang^=nl] #menu .btn,
    html[lang^=nl] #menu a {
        font-size: calc(.6875 * var(--baseFontSize))
    }
}

@media (min-width:1024px) and (max-width:1599px) {

    html[lang^=fr] .page-header #menu .cta-nav,
    html[lang^=fr] .page-header #menu .logo {
        position: relative;
        top: 0;
        transform: none
    }
}

@media (min-width:1024px) and (max-width:1365px) {

    html[lang^=fr] .page-header #menu .main-nav .btn,
    html[lang^=fr] .page-header #menu .main-nav a {
        padding: 0 calc(var(--gutter)*.5)
    }
}

@media (min-width:1024px) and (max-width:1279px) {
    html[lang^=fr] .page-header #menu .btn--buy span {
        display: none
    }
}

@media (min-width:1024px) and (max-width:1199px) {
    html[lang^=fr] .page-header {
        padding-left: var(--gutter);
        padding-right: var(--gutter)
    }
}

@media (min-width:1024px) and (max-width:1109px) {

    html[lang^=fr] #menu .btn,
    html[lang^=fr] #menu a {
        font-size: calc(.6875 * var(--baseFontSize))
    }
}

.page-container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100vw;
    min-height: 100vh;
    transition: .35s cubic-bezier(.42, 0, .002, 1);
    padding-top: calc(var(--redirect-banner-height, 0px) + var(--top-banner-height, 0px))
}

@media (min-width:1024px) {
    .template-cart .page-container {
        padding-top: 0
    }
}

:root {
    --section-gutter: calc(var(--gutter)*2.5)
}

@media (min-width:1024px) {
    :root {
        --section-gutter: calc(var(--gutter)*5.5)
    }
}

.section {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: var(--gutter)
}

.section.section--generic:first-of-type {
    padding-top: var(--section-gutter)
}

@media (min-width:1025px) {
    .section {
        padding: calc(var(--gutter) * 3)
    }
}

.section h2 {
    letter-spacing: -.015em
}

.page-main {
    width: 100vw
}

.page-main .section .section__intro {
    font-size: calc(1.875 * var(--baseFontSize));
    line-height: 1.35;
    font-weight: 400;
    letter-spacing: -.2px
}

@media (max-width:1023px) {
    .page-main .section .section__intro {
        font-size: calc(1.375 * var(--baseFontSize))
    }

    .page-main .section .section__intro br {
        display: none
    }
}

@media (min-width:1024px) {
    .page-main .section .section__intro {
        max-width: 51.75%
    }
}

.star-rating {
    height: 16px;
    position: relative;
    width: 80px
}

.star-rating:before,
.star-rating>span:before {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    content: "";
    background-image: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjQ2IiB2aWV3Qm94PSIwIDAgNTAgNDYiIHdpZHRoPSI1MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtMjUgLjI3MzQzNzUtNi4zOTA2MjUgMTYuMjA3MDMxNS0xNy43OTg4MjgxMi45Mzc1IDEzLjgzNzg5MTEyIDEwLjk5NDE0LTQuNTc4MTI2IDE2LjgxMDU0NyAxNC45Mjk2ODgtOS40NTExNzIgMTQuOTI5Njg4IDkuNDUxMTcyLTQuNTc4MTI2LTE2LjgxMDU0NyAxMy44Mzc4OTEtMTAuOTk0MTQtMTcuNzk4ODI4LS45Mzc1eiIgZmlsbD0iIzAwMCIvPjwvc3ZnPgo=);
    background-repeat: repeat-x;
    background-size: 16px
}

.star-rating:before {
    opacity: .2
}

.star-rating>span {
    display: block;
    text-indent: -10000px;
    width: 100%;
    height: 100%;
    position: absolute;
    overflow: hidden
}

.star-rating>span:before {
    text-indent: 10000px
}

.star-rating.star-rating--contrast:before,
.star-rating.star-rating--contrast>span:before {
    background-image: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjQ2IiB2aWV3Qm94PSIwIDAgNTAgNDYiIHdpZHRoPSI1MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtMjUgLjI3MzQzNzUtNi4zOTA2MjUgMTYuMjA3MDMxNS0xNy43OTg4MjgxMi45Mzc1IDEzLjgzNzg5MTEyIDEwLjk5NDE0LTQuNTc4MTI2IDE2LjgxMDU0NyAxNC45Mjk2ODgtOS40NTExNzIgMTQuOTI5Njg4IDkuNDUxMTcyLTQuNTc4MTI2LTE2LjgxMDU0NyAxMy44Mzc4OTEtMTAuOTk0MTQtMTcuNzk4ODI4LS45Mzc1eiIgZmlsbD0iI2VmZWZmMCIvPjwvc3ZnPg==)
}

.page-footer {
    padding: 0 !important;
    background: #1d1d1d;
    color: #fff;
    font-size: calc(var(--baseFontSize) * 1.125)
}

.page-footer h1 {
    position: absolute;
    opacity: 0;
    pointer-events: none
}

.page-footer .h6 {
    display: block;
    color: #999;
    font-size: 1em;
    margin-bottom: 1em;
    letter-spacing: 0
}

.page-footer .btn,
.page-footer a {
    padding: 3px 0
}

.page-footer a {
    display: block;
    color: inherit;
    text-decoration: none
}

.page-footer a:focus,
.page-footer a:hover {
    text-decoration: underline
}

.page-footer a.bcorp {
    color: #fff !important
}

.page-footer svg {
    fill: currentColor
}

.page-footer>* {
    padding: 0 calc(var(--gutter) * 3)
}

.page-footer .social {
    display: inline-block;
    color: #ffffff80
}

.page-footer .social+.social {
    margin-left: calc(var(--gutter) / 2)
}

.page-footer .social svg {
    height: 24px;
    fill: currentColor
}

.page-footer .social:focus,
.page-footer .social:hover {
    color: #fff
}

.page-footer .separator {
    margin-bottom: var(--gutter);
    padding-bottom: calc(var(--gutter) * 2);
    padding-top: calc(var(--gutter) * 2)
}

.page-footer .separator svg {
    width: auto
}

.page-footer .separator .logo {
    margin-right: auto
}

@media (max-width:1023px) {
    .page-footer .separator {
        margin: 0;
        padding-left: var(--gutter);
        padding-right: var(--gutter);
        padding-bottom: 0;
        position: relative
    }

    .page-footer .separator:before {
        content: "";
        display: block;
        background: hsla(0, 0%, 100%, .1);
        position: absolute;
        height: 1px;
        left: var(--gutter);
        right: var(--gutter);
        top: 0
    }

    .page-footer .separator>div {
        margin-left: auto;
        -ms-flex-negative: 0;
        flex-shrink: 0
    }

    .page-footer .separator .logo {
        display: contents
    }

    .page-footer .separator .logo svg {
        margin-right: var(--gutter)
    }

    .page-footer .separator .bcorp {
        position: absolute;
        z-index: 2;
        padding: 0;
        top: calc(var(--gutter) * 2);
        right: calc(var(--gutter) * 1)
    }

    .page-footer .separator .bcorp svg {
        height: 69px;
        width: auto
    }

    .page-footer .separator .social svg {
        width: 20px;
        height: 20px
    }
}

@media (min-width:1025px) {
    .page-footer .separator .social+.social {
        margin-left: var(--gutter)
    }

    .page-footer .separator .logo svg {
        height: 37px
    }
}

.page-footer h1 {
    margin-bottom: calc(var(--gutter) * 2)
}

.page-footer h1 svg {
    display: block
}

.page-footer svg {
    fill: #fff
}

.page-footer ul {
    margin-bottom: calc(var(--gutter) * 2)
}

.page-footer ul ul {
    margin-bottom: 0
}

.page-footer>div:last-of-type {
    position: relative;
    font-size: calc(.75 * var(--baseFontSize));
    line-height: 1;
    padding-top: calc(var(--gutter) * .6);
    padding-bottom: calc(var(--gutter) * .6)
}

.page-footer>div:last-of-type>div {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    gap: var(--gutter)
}

.page-footer>div:last-of-type>div:first-child {
    -ms-grid-column: span 4;
    grid-column: span 4
}

@media (max-width:1023px) {
    .page-footer>div:last-of-type>div:first-child {
        border-bottom: 1px solid hsla(0, 0%, 100%, .1);
        padding-bottom: var(--gutter);
        margin-bottom: var(--gutter)
    }
}

.page-footer>div:last-of-type>div:nth-child(2) {
    -ms-grid-column: span 2;
    grid-column: span 2
}

@media (max-width:1023px) {
    .page-footer>div:last-of-type>div {
        -ms-flex-align: start;
        align-items: flex-start
    }
}

@media (min-width:1024px) {
    .page-footer>div:last-of-type>div>div {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center
    }
}

.page-footer>div:last-of-type>div .bcorp-wrapper {
    margin-left: auto
}

.page-footer>div:last-of-type a {
    display: block;
    padding-top: calc(var(--gutter) * .4);
    padding-bottom: calc(var(--gutter) * .4);
    color: #ffffff80;
    margin-right: var(--gutter)
}

.page-footer>div:last-of-type a:focus,
.page-footer>div:last-of-type a:hover {
    color: #fff
}

@media (min-width:1024px) {
    .page-footer>div:last-of-type:before {
        position: absolute;
        display: block;
        content: "";
        height: 1px;
        left: calc(var(--gutter) * 3);
        right: calc(var(--gutter) * 3);
        top: 0;
        background: hsla(0, 0%, 100%, .1)
    }
}

@media (max-width:1023px) {
    .page-footer>div:last-of-type .score-wrapper {
        margin-bottom: 0
    }

    .page-footer>div:last-of-type .score {
        height: 100%;
        padding: 8px 0;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: column nowrap;
        flex-flow: column nowrap;
        margin: 0
    }

    .page-footer>div:last-of-type .score .star-rating {
        margin-bottom: calc(var(--gutter)*.6)
    }
}

@media (min-width:1024px) {
    .page-footer>div:last-of-type {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: (1fr)[6];
        grid-template-columns: repeat(6, 1fr);
        grid-gap: var(--gutter)
    }

    .page-footer>div:last-of-type .score {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center
    }

    .page-footer>div:last-of-type .score>small {
        font-size: calc(.875 * var(--baseFontSize));
        margin-left: calc(var(--gutter) / 2)
    }
}

.page-footer .form-wrapper {
    position: relative;
    margin-bottom: calc(var(--gutter)*1)
}

.page-footer .form-wrapper input {
    width: 100%;
    border-color: #ffffff80;
    outline: 0;
    color: currentColor;
    padding-left: 0;
    padding-right: calc(var(--gutter) * 3.5);
    margin-top: calc(var(--gutter)*-.5)
}

.page-footer .form-wrapper button[name=subscribe] {
    font-size: .75rem;
    padding: 0 calc(var(--gutter) * .25) 0 0;
    position: absolute;
    bottom: 0;
    right: 0;
    background: transparent !important;
    border: 0;
    height: 46px;
    border: 0 !important;
    color: #ffffff80
}

.page-footer .form-wrapper button[name=subscribe] svg {
    color: #fff
}

.page-footer .form-wrapper .optin {
    padding: 0;
    opacity: .5;
    margin-top: calc(var(--gutter)*1);
    font-size: calc(var(--baseFontSize)*.75)
}

.page-footer .form-wrapper .optin a {
    display: inline-block;
    text-decoration: underline
}

.page-footer ::placeholder {
    color: #fff
}

.page-footer :-ms-input-placeholder,
.page-footer ::-ms-input-placeholder {
    color: #fff
}

.page-footer .hidden--from-footer {
    display: none
}

@media (max-width:1023px) {
    .page-footer {
        display: block
    }

    .page-footer>* {
        padding: calc(var(--gutter)*2) var(--gutter)
    }

    .page-footer>[data-columns] {
        background: hsla(0, 0%, 100%, .01)
    }

    .page-footer>[data-columns]>ul {
        display: block;
        float: left;
        width: 50%
    }

    .page-footer>[data-columns] .form-container {
        clear: both;
        margin: 0 calc(var(--gutter) * -1) calc(var(--gutter) * -2);
        padding: calc(var(--gutter) * 1.5) calc(var(--gutter) * 1) var(--gutter);
        background: #1d1d1d
    }

    .page-footer .btn {
        display: block;
        text-align: left;
        margin: 0;
        border: 0;
        max-width: none;
        line-height: inherit
    }

    .page-footer ul {
        margin-bottom: var(--gutter)
    }

    .page-footer .h6 {
        margin-bottom: .5em
    }

    .page-footer [data-columns="5"] {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: 1fr 1fr;
        grid-template-columns: 1fr 1fr
    }

    .page-footer .form-container {
        -ms-grid-column: span 2;
        grid-column: span 2
    }
}

@media (min-width:1024px) {
    .page-footer {
        padding-top: calc(var(--gutter) * 3) !important
    }

    .page-footer [data-columns="5"] {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: (1fr)[6];
        grid-template-columns: repeat(6, 1fr)
    }

    .page-footer [data-columns="5"] .form-container {
        -ms-grid-column: span 2;
        grid-column: span 2
    }
}

/*# sourceMappingURL=/cdn/shop/t/28/assets/layout.theme.css.map?v=80546660666510240061695983729 */