:root {

    --color-white: #FFF;
    --color-offwhite: #FDFCEC;
    --color-beige: #FEFAC2;
    --color-black: #000;
    --color-half-black: #7e7e76;
    --color-gray: rgba(0, 0, 0, 0.5);
    --color-yellow: #FDED05;
    --color-half-yellow: #fcf262;
    --color-blue: #2A7EFF;
    --color-green: #CDF851;
    --color-error: #FF0000;
    --color-error-bg: rgba(255, 0, 0, 0.1);

    --primary-color: #FDED05;
    --secondary-color: #FF3AB3;
    --tertiary-color: #CDF851;
    --accent-color: #9747FF;

    --primary-background-color: #FDED05;
    --primary-background-color-rgb: 253, 237, 5;
    --secondary-background-color: #FDFCEC;
    --tertiary-background-color: #CDF851;
    --list-background-color: #FEFAC2;

    --primary-link-color: #000000;
    --primary-link-color-hover: #9747FF;

    --primary-button-color: #FDED05;
    --primary-button-color-hover: #CDF851;

    --font-color: #000;

    --border-color: #000000;
    --border-radius: 1.5rem;
    --border-radius-small: 0.625rem;
    --border-radius-mobile: 0.625rem;
}

html,
body {
    height: 100dvh;
    margin: 0;
    padding: 0;
    font-size: 16px;
    font-family: "Hanken Grotesk", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    color: var(--font-color);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

}

html {
    scroll-behavior: smooth;
}

body {
    background-color: var(--primary-background-color);
}

/* scolling */
section[id] {
    scroll-margin-top: 80px;
}

/* animations */
@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* targets */
.mb-only {
    display: none !important;

    @media screen and (max-width: 800px) {
        display: inherit !important;
    }
}

.dk-only {
    @media screen and (max-width: 800px) {
        display: none;
    }
}

/* defaults */

header,
footer,
main,
article,
section,
span,
div,
nav,
a {
    position: relative;
    box-sizing: border-box;
}

strong {
    font-weight: 700;
}

a {
    color: var(--font-color);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;

    &.icon {

        img {
            transition: .25s filter;
        }

        &:hover:not(.btn) img {
            filter: invert(31%) sepia(54%) saturate(1847%) hue-rotate(242deg) brightness(107%) contrast(113%);
        }
    }

}

hr {
    border: none;
    border-top: 1px solid var(--color-black);
    margin-block: 1.25rem;
    margin-inline: 1.625rem;

    @media screen and (max-width: 450px) {
        margin-inline: 0.625rem;

    }
}

/* headings */

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    padding: 0;
    box-sizing: border-box;

    &.disable-margin {
        margin-bottom: 0 !important;
    }

    &.centered {
        width: 100%;
        text-align: center;
    }

}

h1 {
    font-size: clamp(1.375rem, calc(-0.625rem + 4vw), 1.875rem);
    font-weight: 700;
    text-wrap: balance;

    @media screen and (max-width: 800px) {
        &:first-child {
            margin-top: 5px;
        }
    }

    &.featured {
        padding-block: 0.75rem;
        font-size: clamp(1.625rem, calc(-0.875rem + 5vw), 2.25rem);
    }

    &.nomargin {
        margin: 0;
    }

}

body.bg-offwhite {
    h1 {
        margin-top: 16px;
    }    
}

h2 {
    font-size: clamp(1.5rem, calc(1rem + 1vw), 1.625rem);
    font-weight: 700;
}

h3 {
    font-size: 2.25rem;
    font-weight: 700;
}

h4 {
    font-size: clamp(1rem, calc(0.5rem + 1vw), 1.125rem);
    font-weight: 700;

    &:has(img.icon) {
        display: inline-flex;
        align-items: center;
        gap: 10px;
    }

    &+p {
        margin-top: 5px;
    }

    img.icon {
        width: 16px;
        height: 16px;
    }
}

h6 {
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
}

/* text */

.text-black {
    font-weight: 900;
}

/* form elements */
fieldset {
    all: unset;
    position: relative;
    outline: none;
    border: none;
    margin: 0;
    padding: 0;
}

legend {
    all: unset;
    margin: 0;
    padding: 0;
    font-size: 1rem;
    font-weight: 700;
}

button,
input,
select {
    font-family: "Hanken Grotesk", serif;
    box-sizing: border-box;
}

button {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    margin: 0;
}

/* button */
a.btn,
button.btn {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 0.625rem;
    text-decoration: none;
    min-width: 100px;
    font-size: clamp(0.875rem, calc(-0.125rem + 2vw), 1.125rem);
    font-weight: 600;
    color: var(--font-color);
    padding: clamp(0.5rem, calc(-1.25rem + 3.5vw), 0.938rem) clamp(0.75rem, calc(-1.25rem + 4vw), 1.25rem);
    border-radius: clamp(0.75rem, calc(-8.75rem + 19vw), 3.125rem);
    margin: 0;
    white-space: nowrap;
    transition: .25s color, .25s background-color;

    &.static-size {
        padding: 0.938rem 1.125rem;
        font-size: 1.125rem;
        border-radius: 3.125rem;
    }

    &.disabled {
        pointer-events: none;
        user-select: none;
        opacity: .2;
    }

    &:disabled.disabled-loading-state {
        color: #ffffff00 !important;
        pointer-events: none;

        &:after {
            position: absolute;
            content: ' ';
            top: 50%;
            left: 50%;
            margin-left: -12px;
            margin-top: -12px;
            width: 24px;
            height: 24px;
            border: 3px solid var(--primary-background-color);
            border-bottom-color: var(--secondary-color);
            border-radius: 50%;
            display: inline-block;
            box-sizing: border-box;
            animation: rotation 1s linear infinite;
        }
    }

    &.icon {

        transition: .25s width;
        gap: 10px;

        &:has(span) {
            gap: 0 !important;
        }

        img {
            display: block;
            width: 1.125rem;
            height: 1.125rem;
        }

        span {
            text-indent: 0.625rem;
            max-width: 0;
            transition: max-width .5s;
            display: inline-block;
            vertical-align: top;
            white-space: nowrap;
            overflow: hidden;
        }

        &:hover {
            span {
                max-width: 15rem;
            }
        }

    }

    &.outline {
        background-color: transparent;
        border: 1px solid #000;

        &:hover {
            background-color: var(--color-black);
            color: var(--color-white);
        }

        &.icon {
            &:hover {
                img {
                    filter: brightness(0) invert(1);
                }
            }
        }
    }

    &.full {
        text-align: center;
        width: 100%;
    }

    &.small {
        font-size: 0.75rem;
        padding: 0.5625rem 0.75rem;
        border-radius: 0.625rem;
        gap: 0.3125rem;
    }

    &.medium {
        gap: 0.5625rem;
        font-size: clamp(0.7875rem, calc(-0.1125rem + 1.8vw), 1.0125rem);
        padding: clamp(0.45rem, calc(-1.125rem + 3.15vw), 0.8442rem) clamp(0.675rem, calc(-1.125rem + 3.6vw), 1.125rem);
        border-radius: clamp(0.675rem, calc(-7.875rem + 17.1vw), 2.8125rem);
    }

    &.yellow {
        background-color: var(--primary-button-color);

        &:hover {
            background-color: var(--primary-button-color-hover);
        }
    }

    &.green {
        background-color: var(--tertiary-color);

        &:hover {
            background-color: var(--color-black);
            color: var(--color-white);
        }
    }

    &.purple {
        background-color: var(--accent-color);
        color: #FFF;

        &:hover {
            background-color: var(--color-black);
        }
    }

    &.blue {
        background-color: var(--color-blue);
        color: #FFF;

        &:hover {
            background-color: var(--color-black);
        }
    }

    &.pink {
        background-color: var(--secondary-color);
        color: #FFF;

        &:hover {
            background-color: var(--color-black);
        }

        &:disabled.disabled-loading-state {
            &:after {
                border-bottom-color: var(--color-black);

            }
        }
    }

    &.white {
        background-color: var(--secondary-background-color);
        color: #000;
    }

    &.black {
        background-color: #000;
        color: #FFF;

        &:hover {
            background-color: var(--secondary-color);
            color: #FFF;
        }
    }

    &.gray {
        background-color: #AAAAAA;
        color: #FFF;
    }

    &[inprogress] {
        pointer-events: none;
        user-select: none;
        background-color: var(--secondary-color);
        color: var(--secondary-color);
        border-color: var(--secondary-color);

        &:after {
            position: absolute;
            content: ' ';
            top: 50%;
            left: 50%;
            margin-left: -10px;
            margin-top: -10px;
            width: 20px;
            height: 20px;
            border: 2px solid var(--color-white);
            border-bottom-color: var(--secondary-color);
            border-radius: 50%;
            display: inline-block;
            box-sizing: border-box;
            animation: rotation 1s linear infinite;
            z-index: 5000;
            transition: opacity .2s;
        }
    }

}

/* buttons */
.buttons {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    >.group {
       display: flex;
        gap: 14px; 
        flex-wrap: wrap;
    }
}

/* background */
.bg-beige {
    background-color: var(--color-beige);
}

.bg-green {
    background-color: var(--color-green);
}

.bg-offwhite {
    background-color: var(--color-offwhite);
}

/* breaks */
.break {
    margin-top: 1.25rem;

    @media screen and (max-width: 450px) {
        margin-top: 0.625rem;

    }
}

.break-sm {
    margin-top: 1.25rem !important;
}

.break-md {
    margin-top: 1.938rem !important;

    @media screen and (max-width: 450px) {
        margin-top: 1.138rem !important;
    }
}

.break-lg {
    margin-top: 52px;

    @media screen and (max-width: 800px) {
        margin-top: 31px;
    }

}

@media screen and (max-width: 800px) {

    .break-sm {
        margin-top: 0.625rem !important;
    }

    .break-ds {
        margin-top: 0 !important;
    }

}

/* progress */
body.progress {

    &:before {
        position: fixed;
        content: ' ';
        display: block;
        width: 100%;
        height: 100%;
        background: #0000009c;
        z-index: 5000;
        transition: opacity .2s;
        opacity: 0;
    }

    &:after {
        position: fixed;
        content: ' ';
        top: 50%;
        left: 50%;
        margin-left: -24px;
        margin-top: -24px;
        width: 48px;
        height: 48px;
        border: 4px solid var(--color-black);
        border-bottom-color: var(--secondary-color);
        border-radius: 50%;
        display: inline-block;
        box-sizing: border-box;
        animation: rotation 1s linear infinite;
        z-index: 5000;
        transition: opacity .2s;
        opacity: 0;
    }

}

body.progress-animate {

    &:before,
    &:after {
        opacity: 1;
    }
}

/* header */
header {
    margin: 0 auto;
    background-color: var(--primary-background-color);
    border-bottom-left-radius: clamp(0.625rem, calc(-3.125rem + 7.5vw), 1.563rem);
    border-bottom-right-radius: clamp(0.625rem, calc(-3.125rem + 7.5vw), 1.563rem);

    &.alt {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 120px;
        background: #FF6600;
        background: none;

        .logo {
            max-width: 350px;
            width: 70%;

            a {
                width: 100%;
                display: block;

                img {
                    width: 100%;
                    height: auto;
                }
            }
        }

        @media screen and (max-width: 800px) {
            & {
                height: 80px;
            }
        }
    }

    @media screen and (max-width: 800px) {

        & {
            border-bottom-left-radius: var(--border-radius-mobile);
            border-bottom-right-radius: var(--border-radius-mobile);
        }

        &.mobile-overhang {
            border-radius: 0;
        }

        &.mobile-overhang:after {
            position: absolute;
            content: '';
            display: block;
            clear: both;
            width: 100%;
            height: 20px;
            background-color: var(--primary-background-color);
            border-radius: var(--border-radius-mobile);
            bottom: -10px;
            z-index: 1;
            pointer-events: none;
        }
    }

    section.top {
        background-color: #000;
        height: 44px;
        color: #fff;
        font-size: 0.875rem;

        >div {
            width: 100%;
            max-width: 1132px;
            padding: 0 26px;
            height: 100%;
            margin: 0 auto;
            display: flex;
            align-items: center;

            .alert {
                width: 100%;
                font-weight: 300;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
                padding-right: 10px;
                ;
            }

            nav {

                flex: 0 0 auto;

                ul,
                li {
                    margin: 0;
                    padding: 0;
                    display: flex;
                    gap: 20px;

                    &.hidden {
                        display: none;
                    }

                    a {
                        color: #FFF;
                        text-decoration: none;
                        display: flex;
                        align-items: center;
                        gap: 10px;

                        img {
                            pointer-events: none;
                            width: 27px;
                            height: auto;
                        }
                    }

                    a.border {
                        border: 1px solid #ffffff3f;
                        padding: 2px 4px;
                    }

                    .bubble::after {
                        position: absolute;
                        top: 0px;
                        left: -4px;
                        content: ' ';
                        width: 7px;
                        height: 7px;
                        background-color: #FF0000;
                        border-radius: 100%;
                    }

                    .currency {

                        a:last-child {
                            display: none;
                        }

                        &.active {
                            z-index: 500000;

                            a:last-child {

                                position: absolute;
                                display: block;
                                top: 35px;
                                background: #000;

                                &:before {
                                    position: absolute;
                                    z-index: -1;
                                    content: ' ';
                                    background: #000;
                                    top: -7px;
                                    left: -7px;
                                    width: calc(100% + 14px);
                                    height: calc(100% + 14px);
                                }
                            }
                        }
                    }
                }

            }

            @media screen and (max-width: 800px) {
                .alert {
                    display: none;
                }

                nav {
                    flex: 1 1 auto;

                    ul {
                        justify-content: flex-end;

                        li:last-child {
                            order: -1;
                            margin: 0 auto 0 0;
                        }

                    }
                }

            }

        }

    }

    section.main {
        display: flex;
        margin: 0 auto;
        padding: 35px 0;

        @media screen and (max-width: 1220px) {
            padding: 20px 0;
        }

        >div {
            width: 100%;
            max-width: 1132px;
            margin: 0 auto;
            padding: 0 26px;
            display: grid;
            grid-template-columns: repeat(3, auto);
            gap: 55px;
            justify-content: space-between;
            align-items: center;

            .toggle {
                position: absolute;
                margin-left: -26px;

                img {
                    width: 100%;
                    height: auto;
                    pointer-events: none;
                }
            }

            .heading {
                font-size: 1.25rem;
                font-weight: 600;
                text-align: center;
                text-wrap: balance;
            }

            .note {
                font-size: 0.875rem;
                text-wrap: balance;

                p {
                    margin: 0;
                    padding: 0;
                }
            }

            @media screen and (max-width: 1220px) {

                & {
                    grid-template-columns: 1fr 1.8fr 26px;
                    column-gap: 50px;
                    row-gap: 5px;
                    font-size: 0.875rem;
                    font-weight: 500;
                    padding: 0 26px;

                    .toggle {
                        position: relative;
                        margin-left: 0;
                        order: 4;
                        grid-row: 1 / 3;
                    }

                    .logo {
                        grid-row: 1 / 3;
                    }

                    .heading {
                        text-transform: uppercase;
                        text-align: left;
                        font-size: 0.875rem;
                    }

                    .note {
                        grid-column: 2 / 2;
                        grid-row: 2;
                    }
                }

            }

            @media screen and (max-width: 800px) {

                & {
                    grid-template-columns: 1fr 26px;
                    grid-template-rows: repeat(3, auto);
                    gap: 5px;
                    font-size: 0.875rem;
                    font-weight: 500;

                    .logo {
                        grid-row: auto;

                        img {
                            width: 80%;
                        }
                    }

                    .toggle {
                        position: relative;
                        margin-left: 0;
                        order: 4;
                        grid-column: 2;
                        grid-row: 1 /1;
                    }

                    .heading {
                        grid-column: 1 / 2;
                        grid-row: 2;
                        margin-top: 12px;
                        text-transform: uppercase;
                        text-align: left;
                        font-size: 0.875rem;
                    }

                    .note {
                        grid-column: 1 / 2;
                        grid-row: 3;
                    }
                }

            }

            @media screen and (max-width: 450px) {
                padding-inline: 16px;
            }

        }

    }

    >nav {
        position: fixed;
        display: flex;
        flex-direction: column;
        margin: 0;
        border: none;
        gap: 30px;
        top: 0px;
        bottom: 0px;
        z-index: 80000;
        background-color: var(--secondary-background-color);
        padding: 42px;
        width: 400px;
        height: 100%;
        transition: opacity 0.25s ease-out;


        @media screen and (max-width: 450px) {
            padding: 22px;
        }

        &::backdrop {
            background-color: rgba(0, 0, 0, 0.519);
        }

        &:not(:popover-open) {
            display: none;
        }

        &:popover-open {
            opacity: 1;
        }

        @starting-style {
            &:popover-open {
                opacity: 0;
            }
        }

        @media screen and (max-width: 600px) {
            width: 100%;
        }

        .header {
            display: flex;
            justify-content: space-between;
            align-items: center;

            .close {
                margin-top: 5px;
            }

            .buttons {
                display: flex;
                justify-content: end;
                overflow: hidden;
                gap: 5px;
                width: 100%;
                margin-left: 20px;
                mask-image: linear-gradient(to left, black, black calc(100% - 30px), transparent);

                a {
                    border-radius: 50px;
                    padding: 7px 10px;
                    height: 37px;
                    display: flex;
                    font-weight: 600;
                    gap: 8px;
                    justify-content: center;
                    align-items: center;


                }
            }
        }

        .cta {
            display: flex;
            gap: 10px;
            font-size: 0.75rem;

            a {
                text-decoration: none;
                text-align: center;
                display: flex;
                flex-direction: column;
                gap: 8px;
                width: 100%;

                img {
                    width: 100%;
                    height: auto;
                    aspect-ratio: 107/122;
                    object-fit: cover;
                }

            }

            @media screen and (min-width: 1100px) {
                & {
                    position: fixed;
                    top: 0px;
                    width: calc(100% - 400px);
                    height: 100%;
                    left: 400px;
                    gap: 30px;
                    background-color: rgba(var(--primary-background-color-rgb), .8);
                    justify-content: center;
                    align-items: center;
                    padding: 40px;

                }

                &::backdrop {
                    background: none;
                }

                a {
                    display: block;
                    height: 100%;

                    img {
                        display: block;
                        max-height: none;
                        height: 100%;
                        width: 100%;
                        aspect-ratio: unset;
                    }

                    div {
                        position: absolute;
                        bottom: 0px;
                        padding: 0.9375rem;
                        color: #FFF;
                        font-weight: 700;
                        font-size: 1.25rem;
                        text-align: left;
                    }

                    &:hover {
                        div {
                            color: var(--primary-color);
                        }
                    }

                }
            }

        }

        ul {
            display: block;
            flex: 1 1 auto;
            margin: 0;
            padding: 0;
            list-style: none;
            overflow: auto;
            scrollbar-gutter: stable;
            overscroll-behavior: none;
            scrollbar-width: thin;
            scrollbar-color: var(--border-color) var(--secondary-background-color);
            padding-right: 5px;
            mask-image: linear-gradient(to bottom, black, black calc(100% - 50px), transparent);
            padding-bottom: 50px;

            li {
                margin: 0;
                padding: 0;
                list-style: none;
                border-bottom: 1px solid var(--border-color);

                &:first-child {
                    border-top: 1px solid var(--border-color);
                }

                a {
                    display: flex;
                    gap: 10px;
                    text-decoration: none;
                    font-size: 1.125rem;
                    padding: 12px 0;
                    color: var(--primary-link-color);
                    transition: .25s color;

                    &:hover {
                        color: var(--primary-link-color-hover);

                        img {
                            filter: invert(31%) sepia(54%) saturate(1847%) hue-rotate(242deg) brightness(107%) contrast(113%);
                        }
                    }

                    &.active {
                        font-weight: 600;
                    }

                    img {
                        width: 15px;
                        height: auto;
                    }
                }


            }
        }

        .social {
            display: flex;
            gap: 20px;
        }

    }

}

/* scrollbar fallback */
@supports not (scrollbar-color: var(--border-color) var(--secondary-background-color)) {

    header nav ul {
        scrollbar-width: auto !important;
    }

    header nav ul::-webkit-scrollbar {
        width: 5px;
    }

    header nav ul::-webkit-scrollbar-track {
        background: var(--secondary-background-color);
        width: 2px;
    }

    header nav ul::-webkit-scrollbar-thumb {
        background: #000000;
        border-radius: 5px;
    }

}

/* footer */
footer {

    display: grid;
    grid-template-columns: repeat(4, 1fr);

    .social {
        grid-column: 1 / 5;
        padding: 12px;
        display: flex;
        background-color: var(--color-white);
        display: flex;
        justify-content: center;
        gap: 35px;
    }

    .main {
        grid-column: 1 / 5;
        background-color: var(--secondary-background-color);

        >div {
            max-width: 1132px;
            padding: 30px 26px;
            margin: 0 auto;
            display: flex;
            gap: 20px;
        }
    }

    nav {
        margin: 0 auto;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
        width: 100%;

        ul {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
            flex-direction: column;
            gap: 15px;

            li {

                list-style: none;
                padding: 0;
                margin: 0;
                font-size: 1.125rem;

                button {
                    font-weight: 600;
                    font-size: inherit;
                    pointer-events: none;
                    width: 100%;
                    text-align: left;
                    white-space: wrap;
                }

                ul {
                    margin-top: 15px;
                }

                a {
                    font-size: 1.125rem;
                    text-decoration: none;
                }
            }
        }
    }

    .newsletter {

        width: 350px;
        flex: 0 0 auto;
        background-color: var(--secondary-background-color);

        >strong {
            font-size: 1.125rem;
        }

        form {
            margin: 15px 0 0;
            padding: 0;
            display: flex;
            align-items: center;
            height: 34px;
            width: 100%;

            input {
                width: 100%;
                border-radius: 0.625rem;
                border: 1px solid #000;
                padding: 0.5625rem;
                padding-right: 40px;
                font-size: 12px;
                height: 100%;
                box-sizing: border-box;
            }

            button {
                position: relative;
                border-radius: 0.625rem;
                font-size: 0.75rem;
                padding: 0.5625rem 1.1875rem;
                height: 100%;
                background-color: #000;
                border: 1px solid #000;
                color: #FFF;
                margin-left: -20px;

                &[inprogress] {
                    pointer-events: none;
                    user-select: none;
                    color: #000;

                    &:after {
                        position: absolute;
                        content: ' ';
                        top: 50%;
                        left: 50%;
                        margin-left: -10px;
                        margin-top: -10px;
                        width: 20px;
                        height: 20px;
                        border: 2px solid var(--color-white);
                        border-bottom-color: var(--secondary-color);
                        border-radius: 50%;
                        display: inline-block;
                        box-sizing: border-box;
                        animation: rotation 1s linear infinite;
                        z-index: 5000;
                        transition: opacity .2s;
                    }
                }
            }
        }

        p {
            font-weight: 300;
            font-size: 0.6875rem;
        }

        a.btn {
            margin-top: 5px;
            animation: filter 0.08s;

            &:hover {
                background-color: var(--color-yellow);
                color: var (var(--color-black));

                img {
                    filter: brightness(0) invert(0);
                }
            }
        }

    }

    .trademark {
        grid-column: 1 / 5;
        height: 50px;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #FFF;
        font-size: 0.625rem;
        gap: 14px;

        img {
            height: 40px;
            width: auto;
            display: block;
        }
    }

    .links {
        grid-column: 1 / 5;
        display: flex;
        justify-content: center;
        gap: 20px;
        padding: 20px 20px;
        background-color: var(--secondary-background-color);
        font-size: 0.75rem;

        a {
            color: var(--font-color);
            text-decoration: none;
        }
    }

    @media screen and (max-width: 900px) {

        & {
            grid-template-columns: 1fr;
        }

        .social {
            order: 1;
        }

        .newsletter {
            order: 2;
            width: 100%;
            padding: 26px;
        }

        .main {
            display: contents;

            >div {
                display: contents;
            }
        }

        .trademark {
            padding-inline: 26px;
            font-size: 0.4375rem;
            order: 3;

            img {
                height: 30px;
            }
        }

        nav {
            display: flex;
            gap: 0;
            order: 4;
            flex-direction: column;
            padding: 0;
            background-color: var(--secondary-background-color);

            >ul {

                >li {
                    border-top: 1px solid var(--border-color);
                    padding: 10px 26px;

                }

                >li button {
                    display: flex;
                    align-items: center;
                    pointer-events: all;
                }

                >li button::after {
                    flex: 0 0 auto;
                    margin-left: auto;
                    content: ' ';
                    width: 0.75rem;
                    height: 0.75rem;
                    background: url(../img/icons/plus_b.svg) no-repeat center;
                    display: inline-block;
                }

                >li:has(ul.active) button::after {
                    background-image: url(../img/icons/minus_b.svg);
                }

                &:last-child {
                    border-bottom: 1px solid var(--border-color);
                }

                >li ul:not(.active) {
                    display: none
                }
            }
        }

        .links {
            order: 5;
            flex-wrap: wrap;
            row-gap: 6px;

            span {
                display: block;
                width: 100%;
                text-align: center;
                order: 10;
            }
        }

    }

    @media screen and (max-width: 450px) {
        .newsletter {
            padding: 16px;
        }

        .trademark {
            padding-inline: 16px;
        }

        nav>ul>li {
            padding-inline: 16px;
        }
    }

}

/* floating bar */
body>section.floating-bar {
    position: fixed;
    bottom: 0px;
    width: 100%;
    background: var(--color-offwhite);
    color: var(--color-black);
    z-index: 2;

    .inner {
        max-width: 1080px;
        padding-inline: 26px;
        margin: 0 auto;
        display: flex;
        align-items: center;
        gap: 10px;
        padding-block: 1rem;

        h1 {
            display: none;
        }

        .content {
            width: 100%;
        }

        >a {
            flex: 0 0 auto;
        }

        @media screen and (max-width: 450px) {
            & {
                padding-inline: 16px;
                flex-direction: column;
                gap: 0px;
            }

            h1 {
                display: block;
                text-align: center;
                margin: 0;
                padding: 0;
                font-size: 14px;
            }

            .content {
                text-align: center;
                font-size: 12px;
            }

        }

    }
}

/* main */
main {

    >h1 {
        display: flex;
        align-items: center;
        justify-content: space-between;
        max-width: 1132px;
        margin: 0 auto;
        padding-inline: 26px;
        margin-block: 1rem 26px;
        box-sizing: border-box;

        @media screen and (max-width: 450px) {
            & {
                padding-inline: 16px;
            }
        }

        >a.btn {
            display: block;
            font-size: 14px;
            padding: 9px 10px;
            border-radius: 16px;
        }
    }

    section.container,
    section.container-pad,
    section.container-block-pad,
    section.container-block-pad-dk,
    div.container,
    div.container-pad,
    div.container-block-pad,
    div.container-block-pad-dk {
        max-width: 1132px;
        margin: 0 auto;

        &.container-pad,
        &.container-pad-dk {
            padding: 26px;
        }

        &.container-block-pad,
        &.container-block-pad-dk {
            padding-inline: 26px;
        }

        &:not(.mbe-0) {
            margin-block-end: 45px;
        }

        @media screen and (max-width: 800px) {
            &.container-block-pad-dk {
                padding-inline: 0;
            }

            &:not(.mbe-0) {
                margin-block-end: 38px;
            }
        }

        @media screen and (max-width: 450px) {
            &.container-block-pad {
                padding-inline: 16px;
            }

            &:not(.mbe-0) {
                margin-block-end: 31px;
            }
        }
    }

    >h1,
    >h2 {
        margin-bottom: 26px;
    }

    >hr {
        width: calc(100% - 48px);
        max-width: 1080px;
        margin: 0 auto;
        margin-bottom: 2rem;
         @media screen and (max-width: 450px) {
             & {
                 width: calc(100% - 32px);
             }
         }
    }

}

/* callout */
div.footer-callout {

    width: 100%;
    box-sizing: border-box;
    padding: 50px 0;
    background-color: var(--secondary-background-color);

    &:has(h1:first-child:last-child) {
        padding-block: 0.9375rem;

        h1 {
            font-size: clamp(1rem, calc(0rem + 2vw), 1.25rem);
            margin: 0;
        }
    }

    >section {
        max-width: 1080px;
        margin: 0 auto;
    }

    &.green {
        background-color: var(--tertiary-background-color);
    }

    &.beige {
        background-color: var(--color-beige);
    }

    @media screen and (max-width: 1132px) {

        & {
            width: 100%;
            padding: 30px 26px;
            left: auto;
        }
    }

    @media screen and (max-width: 450px) {
        padding-inline: 16px;
    }
}

/* collage */
section.collage {

    .images {
        display: grid;
        width: 100%;
        height: 400px;
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: repeat(2, 1fr);
        gap: 10px;
        border-radius: 12px;
        overflow: hidden;

        &>a,
        &>video {
            position: relative;
            display: block;
            width: 100%;
            height: 100%;
            min-height: 0;
            overflow: hidden;
            border-radius: 12px;


            &:first-child {
                grid-column: 1 / 3;
                grid-row: 1 / 2;
            }

            img {
                position: relative;
                display: block;
                object-fit: cover;
                width: 100%;
                height: 100%;
                pointer-events: none;
                transition: transform .3s;
            }

            &:hover img {
                transform: scale(1.1);
            }
        }

        &>video {
            object-fit: cover;
            ob
        }

    }

    &.alt {
        .images {
            grid-template-columns: repeat(4, 1fr);
            grid-template-rows: 1fr;

            a:first-child {
                grid-column: 1 / 3;
                grid-row: auto;
            }

            a:only-child {
                grid-column: 1 / 5;
            }
        }
    }

    >.btn {
        position: absolute;
        display: block;
        bottom: 20px;
        right: 20px;
        width: auto;
        height: auto;

        &:hover {
            text-decoration: underline;
        }
    }

    .header,
    .controls {
        display: none;
    }

    @media screen and (max-width: 700px) {

        &:not(.alt) {
            display: grid;
            grid-template-columns: 16px 1fr 1fr 16px;
            grid-template-rows: 16px auto 1fr auto 16px;
            width: 100%;
            aspect-ratio: 1 / 1;


            >.btn {
                display: none;
            }

            .images {
                grid-area: 1 / 1 / 6 / 5;
                display: flex;
                width: 100%;
                height: 100%;
                gap: 10px;
                border-radius: 0.75rem;
                overflow-y: hidden;
                overflow-x: auto;
                touch-action: pan-x;
                scroll-snap-type: x mandatory;
                scroll-behavior: smooth;
                -webkit-overflow-scrolling: touch;
                -ms-overflow-style: none;
                scrollbar-width: none;

                &::-webkit-scrollbar {
                    display: none;
                }

                a {
                    flex: 0 0 auto;
                    position: relative;
                    display: block;
                    width: 100%;
                    height: 100%;
                    scroll-snap-align: center;

                    img {
                        display: block;
                        width: 100%;
                        height: 100%;
                        object-fit: cover;
                    }

                }

            }

            .header {
                grid-area: 2 / 2 / 3 / 4;
                width: 100%;
                height: 100%;
                display: flex;
                justify-content: space-between;
                align-items: center;

                h1 {
                    background-color: var(--primary-color);
                    font-size: 14px;
                    padding: 4px 8px;
                    border-radius: 8px;
                    margin: 0;
                    ;
                }

                .btn {
                    font-size: 14px;
                    padding: 4px 8px;
                    border-radius: 8px;
                }
            }

            .controls {
                grid-area: 4 / 2 / 5 / 4;
                display: flex;
                align-items: center;

                .nav {
                    display: flex;
                    gap: 8px;
                    width: 100%;
                    user-select: none;

                    a {
                        width: 10px;
                        height: 10px;
                        border: 1px solid #FFF;
                        border-radius: 100%;

                        &.active {
                            background-color: #FFF;
                        }
                    }
                }

                .buttons {
                    display: flex;
                    gap: 10px;
                    flex-wrap: nowrap;

                    .prev,
                    .next {
                        width: 35px;
                        height: 35px;
                        border: 1px solid #FFF;
                        border-radius: 100%;
                        background: url(../img/icons/chevron-prev_w.svg) no-repeat 9px center;
                        background-size: 30% auto;
                        pointer-events: none;
                        opacity: .4;
                        transition: opacity 0.25s ease-out;
                        user-select: none;
                    }

                    .next {
                        background-image: url(../img/icons/chevron-next_w.svg);
                        background-position: 12px center;
                    }

                    .prev.active,
                    .next.active {
                        pointer-events: auto;
                        opacity: 1;
                    }

                }

            }

        }

        &.alt {

            .images {
                grid-template-columns: repeat(2, 1fr);
                grid-template-rows: 1fr 1fr;

                a:first-child {
                    grid-column: 1 / 3;
                    grid-row: auto;
                }

                a:only-child {
                    grid-row: 1 / 5;
                }
            }

        }

    }

}

/* attriburtes */
ul.attributes {
    list-style: none;
    margin: 0;
    padding: 0;

    li {
        margin-bottom: 20px;

        &.inline {
            display: flex;
            align-items: center;
            gap: 5px;
        }

        >span.heading {
            display: inline-flex;
            align-content: center;
            font-weight: 700;
            font-size: 1.125rem;
            gap: 10px;

            img.icon {
                width: 20px;
                height: auto;
            }
        }

        p:first-of-type {
            margin-top: 0px;
        }

        >ul {
            list-style-type: disc;
            margin-block: 1rem;
            ;
        }

    }

}

/* main content */
.main-content {
    max-width: 1132px;
    margin: 0 auto;
    position: relative;
    padding-inline: 26px;
    display: grid;
    gap: 74px;
    width: 100%;
    grid-template-columns: 1fr 390px;


    @media screen and (max-width: 800px) {
        & {
            padding-inline: 26px;
        }
    }

    hr {
        margin-inline: 0;
    }

    &+hr {
        margin-block-start: 0;
    }

    article {
        width: 100%;
        min-width: 0;
        padding-block: 1.25rem;

        @media screen and (max-width: 450px) {
            padding-block: 1rem;
        }
    }

    /* details breakdown */
    aside {
        padding-block: 20px;

        section.detail-breakdown {
            border: 1px solid var(--color-black);
            border-radius: 20px;
            padding: 30px 26px;
            position: sticky;
            top: 20px;

            section.cta {
                display: flex;
                flex-direction: row;
                gap: 10px;
                align-items: center;
                border-radius: 10px;
                background-color: var(--color-half-yellow);
                padding: 10px;
                font-weight: 600;
                text-wrap: balance;

                p {
                    margin: 0;
                    font-size: 1rem;
                }

                img.icon {
                    width: 20px;
                    height: 20px;
                }
            }

            section:not(.cta) {
                display: flex;
                flex-direction: column;
                align-items: center;
                gap: 3px;

                h1,
                h2 {
                    margin: 0;
                    padding: 0;
                    font-size: 1.25rem;
                    font-weight: 600;
                    text-align: center;
                }

                h2 {
                    font-size: 1rem;
                    font-weight: normal;
                }

                p {
                    font-size: 1.125rem;
                    text-align: center;

                    &:first-of-type {
                        margin-top: 0;
                    }
                }

                a.btn {
                    flex: 0 0 auto;
                    width: fit-content;
                }
            }

        }

    }

    &:has(aside.order-item) {
        grid-template-columns: 1fr 480px;

        aside {
            border: none;
        }

    }

    @media screen and (max-width: 1000px) {
        & {
            grid-template-columns: 1fr 300px;
            gap: 35px;
        }
    }

    @media screen and (max-width: 800px) {
        & {
            display: flex;
            flex-direction: column;
            gap: 0;

            aside {
                display: none;
            }

            &:has(aside.order-item) {
                padding-inline: 10px;

                article {
                    order: 2;
                    padding-inline: 16px;
                }

                aside {
                    order: 1;
                    display: block;
                }

            }

            aside.mb-fixed-bannerOFF {
                position: fixed;
                display: block;
                padding-block: 14px;
                bottom: 0px;
                left: 0px;
                width: 100%;
                background-color: var(--color-offwhite);
                z-index: 6000;

                section.cta {
                    width: fit-content;
                    max-width: 85%;
                    margin: 0 auto;
                    padding: 8px !important;

                    p {
                        font-size: 14px !important;
                    }

                    img.icon {
                        width: 14px !important;
                        height: 14px !important;
                    }

                    &::after {
                        content: '';
                        position: absolute;
                        right: -24px;
                        width: 16px;
                        height: 16px;
                        background: url(../img/icons/arrow_b.svg) no-repeat center;
                        background-size: contain;
                    }
                }

                section.detail-breakdown {
                    position: relative;
                    border: none;
                    position: relative;
                    padding: 0;
                    top: 0px;

                    .mobile-slider {

                        margin-top: 10px;
                        display: flex;
                        overflow: auto;

                        &::-webkit-scrollbar {
                            display: none;
                        }

                        hr {
                            display: none;
                        }

                        section {
                            flex: 1 1 auto;
                            padding-inline: 15px;
                            padding-block: 0;
                            justify-content: center;
                            border-right: 1px solid var(--color-black);

                            h1 {
                                font-size: 0.875rem;
                                white-space: nowrap;
                            }

                            h2 {
                                font-size: 0.75rem;
                                white-space: nowrap;
                            }

                            p {
                                display: none;
                            }

                            a.btn {
                                margin-top: 4px;
                                font-size: 14px !important;
                            }

                        }
                    }

                }

            }

        }

    }

}

/* list */
ul,
ol {

    &.simple {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    &.events-summary {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 20px;

        >li {
            gap: 10px;
            border-top: 1px dashed var(--color-half-black);
            padding-top: 20px;
            font-size: 18px;

            &:first-child {
                border-top: none;
                padding-top: 0px;
            }

            h3 {
                font-weight: 700;
                font-size: inherit;
                text-transform: uppercase;
                margin-bottom: 20px;

                a {
                    text-transform: none;
                    font-size: 14px;
                    margin-left: 10px;
                    font-weight: normal;

                    &:hover {
                        text-decoration: none;
                    }
                }
            }

            >ul {
                list-style: none;
                margin: 0;
                padding: 0;
                display: flex;
                flex-direction: column;
                gap: 5px;
            }

            @media screen and (max-width: 800px) {
                & {
                    font-size: 16px;

                    h3 {
                        a {
                            font-size: 12px;
                        }
                    }
                }
            }
        }
    }

    &.order-summary {

        display: grid;
        list-style: none;
        padding: 0;
        margin: 0;
        gap: 13px;
        width: 100%;
        grid-template-columns: repeat(2, 1fr);
        font-size: 18px;

        li:nth-child(2n) {
            text-align: right;
        }

        li {
            position: relative;

            &.dashed-break {
                padding-top: 13px;

                &:after {
                    position: absolute;
                    content: '';
                    display: block;
                    width: calc(200% + 13px);
                    height: 1px;
                    top: 0px;
                    border-top: 1px dashed var(--color-half-black);
                }
            }

            div.note {
                font-size: 1rem;
                color: var(--color-gray);
            }
        }

        li.dashed-break+li {
            padding-top: 13px;
        }

        @media screen and (max-width: 800px) {
            & {
                font-size: 16px;
                gap: 10px;

                li {
                    div.note {
                        font-size: 14px;
                    }
                }
            }
        }

    }

    &.columns {

        display: grid;
        list-style: none;
        padding: 0;
        margin: 0;
        gap: 20px 10px;
        width: 100%;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto;
        font-size: 18px;

        li {

            &.full-width {
                grid-column: 1 / -1;
            }

            &.dashed-break {
                border-top: 1px dashed var(--color-half-black);
                padding-top: 20px;
            }
        }

        @media screen and (max-width: 800px) {
            & {
                font-size: 16px;

                li {
                    div.note {
                        font-size: 14px;
                    }
                }
            }
        }

    }

}

/* dialogs */
dialog.alert {
    border: none;
    background: none;
    max-width: 800px;

    &::backdrop {
        background-color: rgba(0, 0, 0, .8);
    }

    >.close button {
        position: absolute;
        opacity: 1;
        cursor: pointer;
        user-select: none;
        top: 5px;
        right: 5px;
        z-index: 2000;
        width: 30px;
        height: 30px;
        border: 1px solid var(--color-black);
        border-radius: 100%;
        background: #000 url(../img/icons/close_w.svg) no-repeat center center;
        background-size: 35% auto;
    }

    >section {
        display: flex;
        flex-direction: column;
        gap: 0px;
        background-color: var(--color-beige);
        border-radius: 20px;
        border: 1px solid var(--color-black);
        max-height: 90dvh;
        padding: 20px;
        font-size: 1rem;
        margin-bottom: 10px;
        max-width: 600px;
    }

}


/* order item bar */
section.order-item-bar {
    position: fixed;
    bottom: 0px;
    width: 100%;
    padding-block: 12px;
    padding-inline: 20px;
    background-color: var(--color-offwhite);

    div.center {
        display: flex;
        width: 100%;
        max-width: 1132px;
        margin: 0 auto;
        gap: 10px;

        div.content {
            flex: 1 1 auto;
            display: flex;
            gap: 0px 10px;
            flex-wrap: wrap;
            width: 100%;
            white-space: nowrap;
            font-size: 16px;

            h1 {
                font-size: 22px;
                margin: 0;
                padding: 0;
            }

            div {
                display: flex;
                align-items: center;
                gap: 5px;

                strong {
                    font-weight: 600;
                }

                &:last-child {
                    width: 100%;
                }
            }

        }

        form {
            flex: 0 0 auto;
            width: auto;
            display: flex;
            gap: 18px;
            align-items: center;

            .price-wrapper,
            .qty-wrapper {
                display: flex;
                gap: 10px;
                align-items: center;
                border: 1px solid var(--border-color);
                border-radius: 10px;
                padding: 10px;

                label {
                    font-size: 14px;
                    font-weight: bold;
                    white-space: nowrap;
                }

                input,
                select {
                    border: 1px solid #AAAAAA;
                    border-radius: 10px;
                    appearance: none;
                    font-size: 20px;
                    padding: 7px 15px;
                    text-align: center;
                }

                input {
                    background: #CDF851;
                }

                select {
                    background: url('./../img/icons/dropdown.svg') no-repeat right 10px center;
                    padding-right: 40px;
                }

            }

            button {
                padding: 15px 20px;
            }
        }
    }

    @media screen and (max-width: 800px) {

        div.center {
            flex-direction: column;
            align-items: center;
            gap: 10px;
            max-width: 450px;

            div.content {
                display: grid;

                grid-template-columns: auto auto;
                grid-template-rows: 1fr 1fr;
                font-size: 14px;
                gap: 0px 20px;


                h1 {
                    display: flex;
                    align-items: center;
                    justify-content: right;
                    grid-column: 1;
                    grid-row: 1/ 3;
                    font-size: 18px;

                    &:has(+ div) {
                        border-right: 1px solid var(--border-color);
                    }

                    padding-right: 10px;
                }

                div {
                    grid-column: 2;

                    strong {
                        font-weight: 600;
                    }

                    &:last-child {
                        grid-column: 2;
                    }
                }

            }

            form {
                flex: 0 0 auto;
                width: 100%;
                display: flex;
                gap: 18px;
                align-items: center;

                .price-wrapper,
                .qty-wrapper {
                    display: flex;
                    flex: 1 1 auto;
                    gap: 8px;
                    padding: 8px 10px;

                    label {
                        font-size: 12px;
                    }

                    input,
                    select {
                        font-size: 16px;
                        padding: 6px 7px;
                    }

                    select {
                        background: url('./../img/icons/dropdown.svg') no-repeat right 8px center;
                        padding-right: 35px;
                    }

                }

                button {
                    padding: 15px 8px;
                }
            }
        }


    }

    @media screen and (max-width: 415px) {

        div.center {

            div.content {
                gap: 0px 10px;


                h1 {
                    padding-right: 10px;
                    font-size: 16px;
                    border-right: none !important;
                }

                div {
                    display: none;
                }

            }

            .qty-wrapper {
                label {
                    display: none;
                }
            }
        }
    }
}

/* banner */
section.banner {
    padding-block: 0.9375rem;
    padding-inline: 26px;

    &.sticky {
        position: sticky;
        top: 0;
        z-index: 100;
    }

    &.fixed {
        position: fixed;
        bottom: 0px;
        z-index: 100;
        width: 100%;
    }

    &.mb-only {
        display: none;
    }

    .centered {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        max-width: 1132px;
        margin: 0 auto;

        h1 {
            margin: 0;
            padding: 0;
            font-size: 1.25rem;
            width: 100%;
            text-align: center;
        }

        >div {
            max-width: 890px;
            text-wrap: balance;

            p:first-of-type {
                margin-top: 0;
            }

            p:last-of-type {
                margin-bottom: 0;
            }
        }
    }

    @media screen and (max-width: 800px) {

        &.dk-only {
            display: none;
        }

        &.mb-only {
            display: block;
        }

    }
}

/* dialog */
dialog.gallery {

    background: none;
    padding: 0;
    max-width: 800px;
    max-height: 80dvh;
    height: 100%;
    overflow: visible;
    padding: 30px;
    border: none;

    &::backdrop {
        background-color: #00000089;
    }

    .carousel {
        position: relative;
        border: 1px solid #000;
        border-radius: 20px;
        height: 100%;
        width: 100%;

        .slides {
            touch-action: pan-x;
            display: flex;
            width: 100%;
            height: 100%;
            border-radius: 1.25rem;
            overflow-y: hidden;
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            scroll-behavior: smooth;
            -webkit-overflow-scrolling: touch;
            -ms-overflow-style: none;
            scrollbar-width: none;
            background: var(--color-black);

            &::-webkit-scrollbar {
                display: none;
            }

            img {
                display: block;
                flex: 0 0 auto;
                scroll-snap-align: center;
                width: 100%;
                height: 100%;
                object-fit: cover;
            }

        }

        .prev,
        .next,
        .close button {
            position: absolute;
            top: 50%;
            opacity: 1;
            cursor: pointer;
            user-select: none;
            left: -20px;
            width: 40px;
            height: 40px;
            border: 1px solid var(--color-black);
            transform: translateY(-50%);
            border-radius: 100%;
            background-position: center center;
            background-size: 35% auto;
            background: var(--color-yellow) url(../img/icons/chevron-prev_b.svg) no-repeat 12px center;
            background-size: 30% auto;
            transition: opacity 0.25s ease-out;

            &.prev:not(.active),
            &.next:not(.active) {
                opacity: 0;
                cursor: pointer;
            }

            &:active {
                filter: invert(31%) sepia(54%) saturate(1847%) hue-rotate(242deg) brightness(107%) contrast(113%);
            }

            @media (any-hover: hover) {
                &:hover {
                    filter: invert(31%) sepia(54%) saturate(1847%) hue-rotate(242deg) brightness(107%) contrast(113%);
                }
            }
        }

        .next {
            left: auto;
            right: -20px;
            background-image: url(../img/icons/chevron-next_b.svg);
            background-position: 14px center;
        }

        .close button {
            top: 15px;
            left: auto;
            right: 15px;
            transform: none;
            border: none;
            background: transparent url(../img/icons/close_b.svg) no-repeat 12px center;
        }
    }

}

/* content split */
section.content-split {

    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    width: 100%;
    min-height: 500px;

    >.image {

        height: 0;
        min-height: 100%;

        img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            border-radius: var(--border-radius);
        }
    }

    >.text {
        padding: 30px;
        background-color: var(--color-offwhite);
        border-radius: var(--border-radius);

        p:first-child {
            margin-top: 0;
        }

        p:last-child {
            margin-bottom: 0;
        }

        ul.list-icon {
            list-style: none;
            display: flex;
            flex-direction: column;
            margin: 0;
            padding: 0;
            gap: 20px;
            margin-bottom: 0.625rem;

            li {
                display: flex;
                align-items: flex-start;
                gap: 10px;

                img.icon {
                    width: 20px;
                    height: auto;
                }

            }

        }
    }

    @media screen and (max-width: 800px) {

        & {
            display: flex;
            flex-direction: column;
            gap: 0;

            >.image {
                height: auto;
                min-height: auto;

                img {
                    height: auto;
                    aspect-ratio: 1 / 1;
                }
            }

            >.text {
                padding: 16px 16px;
                background: none;
                border-radius: 0;
                border-bottom: 1px solid var(--border-color);
            }
        }

    }

}

.module-hotelslider {

    @media screen and (max-width: 800px) {

        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto 1fr auto auto auto;
        flex-direction: column;
        justify-content: flex-start;

        >h2 {
            grid-area: 1 / 1 / 1 / 1;
            margin-bottom: 0.625rem;
        }

        >.list-thumbs {
            grid-area: 2 / 1 / 2 / 1;
        }

        >.legend {
            margin-top: 1rem;
            grid-area: 3 / 1 / 3 / 1;
        }

        >.content {
            grid-area: 4 / 1 / 4 / 1;

            p {
                margin-bottom: 0px;
            }
        }

        .buttons {
            grid-area: 5 / 1 / 5 / 1;
        }

        >a,
        >.buttons {
            margin-right: auto;
        }

    }

}


/* layout */
.layout {

    >h2 {
        font-size: 20px;
        font-weight: 700px;
        padding-bottom: 20px;
    }

    &.outline {
        padding: 25px;
        border-radius: 10px;
        border: 1px solid #000;
    }

    .rows {

        display: flex;
        flex-direction: column;
        gap: 20px;

        .row {
            >.cols-3 {
                display: grid;
                grid-template-columns: 1fr 1fr 1fr;
                gap: 20px;
            }
        }
    }

    @media (width <= 768px) {

         &.outline {
            padding: 16px;
        }
        
        .rows {
             gap: 10px;
            .row {
                >.cols-3 {
                    display: grid;
                    grid-template-columns: 1fr;
                    gap: 10px;
                }
            }
        }
    }

}

section.success-message {
    background: var(--secondary-color);
    color: var(--color-white);
    padding: .5rem 1rem;
    border-radius: .5rem;
    box-sizing: border-box;
}

address {
    display: flex;    
    flex-direction: column;
    gap: 5px;
    color: #000;
    font-family: "Hanken Grotesk";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;

    .w-icon {
        display: flex;
        gap: 5px;
        align-items: center;
    }

    a {
        display: block;
        font-weight: 700;
        text-decoration: none;
        
        &:hover {
            text-decoration: underline;
        }
        
    }
}