html {
    scroll-behavior: smooth;
}


:root {
    --color-blue-500: #2d353c;
    --color-blue-600: #141c23;
    --color-yellow-500: #f5f0e3;
    --color-orange-500: #eb5c2e;
    --color-dark-orange-500: #c33406;
    --color-dark-yellow: #dfd2af;
    --color-brown-500: #cebc91;
    --color-black-500: #000;
    --color-white-500: #fff;
    --color-grey-500: #d9d9d9;
    --color-green-500: #25d366;

    --font-family-nohemi: 'Nohemi', sans-serif;
    --font-family-area-normal: 'area-normal', sans-serif;
    --font-family-roboto: 'Roboto', sans-serif;
    --font-family-heading: var(--font-family-nohemi);
    --font-size-h1: 5.625rem;
    --font-size-h2: 3.75rem;
    --font-size-h3: 3.125rem;
    --font-size-h4: 2.5rem;
    --font-size-h5: 1.875rem;
    --font-size-h6: 1.5rem;

    --font-size-h1-mobile: 3.375rem;
    --font-size-h2-mobile: 2.25rem;
    --font-size-h3-mobile: 2rem;
    --font-size-h4-mobile: 1.75rem;
    --font-size-h5-mobile: 1.5rem;
    --font-size-h6-mobile: 1.25rem;

    --font-size-body-large: clamp(1rem, 0.381vw + 0.907rem, 1.25rem);
    --font-size-body: clamp(0.875rem, 0.19vw + 0.829rem, 1rem);
    --font-size-body-small: clamp(0.875rem, 0.19vw + 0.704rem, 0.875rem);
    --font-size-body-extra-small: 0.75rem;

    --container: 1292px;
    --container-medium: 1110px;
    --padding-large: clamp(1rem, 0vw + 1rem, 1rem); /*180px*/
    --padding-small: clamp(1rem, 7.048vw - 0.718rem, 5.625rem); /*90px`z*/

    --transition: all 0.3s ease-in-out;

    --star-size: 11px;
    --star-color: var(--color-blue-500);
    --star-background: #fff;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-size: var(--font-size-body);
    font-family: var(--font-family-area-normal);
    line-height: 1.7;
    color: var(--color-blue-500);
}

body.is-menu-open {
    overflow: hidden;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
    font-family: var(--font-family-heading);
    font-weight: 300;
    margin-bottom: 20px;
}

h1 strong,
h2 strong,
h3 strong,
h4 strong {
    color: var(--color-orange-500);
    font-weight: 300;
}

h1,
.h1 {
    font-size: clamp(var(--font-size-h1-mobile), 3.429vw + 2.539rem, var(--font-size-h1));
    line-height: 1;
}

h2,
.h2 {
    font-size: clamp(var(--font-size-h2-mobile), 2.286vw + 1.693rem, var(--font-size-h2));
    line-height: 1.1;
}

h3,
.h3 {
    font-size: clamp(var(--font-size-h3-mobile), 1.714vw + 1.582rem, var(--font-size-h3));
    line-height: 1.1;
}

h4,
.h4 {
    font-size: clamp(var(--font-size-h4-mobile), 1.143vw + 1.471rem, var(--font-size-h4));
    line-height: 1.1;
}

h5,
.h5 {
    font-size: clamp(var(--font-size-h5-mobile), 0.667vw + 1.275rem, var(--font-size-h5));
    line-height: 1.2;
}

h6,
.h6 {
    font-size: clamp(var(--font-size-h6-mobile), 0.381vw + 1.157rem, var(--font-size-h6));
    line-height: 1.2;
}

/* img */
img {
    max-width: 100%;
    display: block;
    height: auto;
}

a {
    display: inline-block;
    transition: all 0.25s ease-in-out;
    color: inherit;
}

p {
    margin-bottom: 20px;
}

.number-input {
    display: flex;
    max-width: 92px;
    width: auto;
    gap: 16px;
    align-items: center;

    button {
        appearance: none;
        background-color: unset;
        border: unset;
        box-shadow: unset;
        height: 25px;

        .minus.disabled {
            opacity: 0.5;
            pointer-events: none; /* voorkomt klikken */
        }
    }

    input {
        appearance: textfield;
        min-height: unset;
        background: unset;
        border: unset;
        padding: 0;
        width: 100%;
        line-height: 1;
        font-size: 1rem;
        font-style: normal;
        font-weight: 500;

        &::-webkit-outer-spin-button,
        &::-webkit-inner-spin-button {
            -webkit-appearance: none;
            margin: 0;
        }
    }
}

.form-fields {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 25px;
    align-items: baseline;
}

.form-field {
    width: 100%;
    border: 1px solid var(--color-grey-500);
    padding: 12px 18px 10px 18px;
    position: relative;

    &.width-50 {
        max-width: calc(50% - 12px);

        @media (width < 480px) {
            max-width: 100%;
        }
    }

    &.width-64 {
        max-width: calc(64% - 12px);

        @media (width < 480px) {
            max-width: 100%;
        }
    }

    &.width-36 {
        max-width: calc(36% - 12px);

        @media (width < 480px) {
            max-width: 100%;
        }
    }

    &.width-100 {
        max-width: 100%;
    }

    &.textarea {
        padding: 0;

        textarea {
            padding: 12px 18px 10px 18px;
            height: 100%;
        }
    }

    label {
        color: var(--color-blue-500);
        font-size: var(--font-size-body-small);
        font-weight: 400;
        position: absolute;
        top: 14px;
        left: 18px;
        transition: var(--transition);
    }

    input[type="text"], input[type="number"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"],
    input[type="email"], textarea {
        width: 100%;
        background-color: transparent;
        border: unset;
        margin: 0;
        padding: 0;
        min-height: unset;
        font-size: var(--font-size-body-small);
        color: var(--color-black-500);
        font-weight: 700;
    }

    textarea {
        min-height: 111px;
    }

    &:not(.file, .checkbox, .radio):focus-within, &.has-value, &:has(input:not(:empty)) {
        border-color: var(--color-orange-500);

        label {
            font-size: var(--font-size-body-extra-small);
            font-weight: 500;
            padding-inline: 6px;
            top: -12px;
            left: 8px;
            background: var(--color-white-500);
        }
    }

    &.file {
        min-height: 128px;
        padding: 0;
        border: unset;

        &.has-value {
            label {
                top: unset;
            }
        }

        label {
            position: relative;
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 26px 20px 26px;
            cursor: pointer;
            background-image: url('/assets/images/field-upload-bg.svg');
            left: 0;
            top: 0;

            @media (width < 480px) {
                padding-block: 20px;
            }
        }

        input {
            appearance: none;
            width: 0;
            height: 0;
            opacity: 0;
            position: absolute;
            top: 0;
            left: 0;
            padding: 0;
        }


        p {

            text-align: center;
            font-size: 1rem !important;
            font-weight: 700 !important;
            line-height: 180%; /* 1.8rem */
            color: var(--color-blue-500);
            width: 100%;
            margin-block: 0 !important;

            span {
                font-size: 0.875rem;
                font-style: normal;
                font-weight: 400;
                color: rgba(45, 53, 60, 0.8);
                display: block;
            }
        }

        .file-upload-list {
            list-style: unset;
            margin-top: 36px;
            display: flex;
            flex-direction: column;
            gap: 10px;

            @media (width < 480px) {
                margin-top: 20px;
            }

            li {
                display: flex;
                gap: 18px;
                align-items: center;

                .file-upload-name {
                    display: flex;
                    flex-direction: column;
                    /*flex: 1;*/

                    span {
                        font-size: 0.875rem;
                        font-style: normal;
                        font-weight: 400;
                        line-height: 1;
                        color: var(--color-black-500);
                    }
                }

                .file-upload-remove {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    appearance: none;
                    border: 0;
                    background-color: unset;
                    cursor: pointer;
                }
            }
        }
    }

    &.checkbox, &.radio {
        border: unset;
        padding: 0;

        &.has-value {
            label {
                top: unset;
            }
        }

        label {
            display: flex;
            font-size: var(--font-size-body-small);
            line-height: 1.2;
            padding-left: 36px;
            position: relative;
            cursor: pointer;
            top: 0;
            left: 0;

            &:before {
                content: '';
                position: absolute;
                width: 20px;
                height: 20px;
                background-color: var(--color-white-500);
                left: 0;
                transition: var(--transition);
                top: -2px;
                border: 1px solid var(--color-grey-500);
            }

            &:after {
                content: '';
                position: absolute;
                width: 11px;
                height: 8px;
                background-image: url('../images/icon-check-white.svg');
                background-repeat: no-repeat;
                left: 5px;
                top: 5px;
                opacity: 0;
                transition: var(--transition);
            }

            &:has(input:checked) {
                &:before {
                    background-color: var(--color-orange-500);
                }

                &:after {
                    opacity: 1;
                }
            }

            input {
                width: 0;
                height: 0;
                opacity: 0;
                position: absolute;
                left: -100vw;
                top: -200vh;
            }


        }
    }

    &.radio {
        label {
            &:after {
                /*inset: 4px;*/
                width: 12px;
                height: 12px;
                background-image: unset;
                background-color: var(--color-orange-500);
                top: 3px;
            }

            &:before {
                width: 19px;
            }

            &:has(input:checked) {
                &:before {
                    background: unset;
                }
            }
        }
    }

    &.select {
        select {
            padding: 0;
            min-height: auto;
            width: 100%;
            border: 0;
            appearance: none;
            -webkit-appearance: none;
            background-image: url("/assets/images/dropdown-icon.svg");
            background-repeat: no-repeat;
            background-position: right center;
            line-height: 1.5;
            background-color: transparent;

            &::placeholder {
                color: transparent;
            }
        }
    }
}


.rte {
    p {
        font-family: var(--font-family-area-normal);
        font-size: var(--font-size-body);
    }

    a {
        font-family: var(--font-family-area-normal);
        font-size: var(--font-size-body);
        color: inherit;
    }

    ul {
        li {
            font-family: var(--font-family-area-normal);
            font-size: var(--font-size-body-large);
        }
    }

    h2, h3 {
        color: var(--color-black-500);
        font-family: var(--font-family-area-normal);
        font-size: 1.125rem;
        font-style: normal;
        font-weight: 800;
        line-height: normal;
    }
}

.no-margin {
    margin-block: 0;
}

.no-margin-top {
    margin-top: 0 !important;
}

.no-margin-bottom {
    margin-bottom: 0 !important;
}

.no-padding {
    padding-block: 0;
}

.no-padding-top {
    padding-top: 0 !important;
}

.no-padding-bottom {
    padding-bottom: 0 !important;
}


.container-large {
    max-width: var(--container, 1260px);
    padding-inline: var(--padding-large);
    margin: 0 auto;
}

.container {
    max-width: var(--container-medium, 1110px);
    padding-inline: var(--padding-large);
    margin: 0 auto;
}

input,
select,
textarea {
    font-size: 0.875rem;
    border-radius: 0;
    min-height: 54px;
    color: var(--color-black-500);
    font-family: var(--font-family-area-normal);
    font-weight: 700;
    padding: 10px 16px;
}

input:focus,
select:focus,
textarea:focus {
    border: 0;
    box-shadow: none;
    outline: none;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
    display: none;
}

/* button */
.button {
    padding: 5px 20px;
    font-size: 0.875rem;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    cursor: pointer;
    font-weight: 400;
    color: var(--color-blue-500);
    background-color: var(--color-yellow-500);
    min-height: 40px;
    position: relative;
    border: 0;
    transition: all 0.25s;
    font-family: var(--font-family-area-normal);

    &.button-rounded {
        border-radius: 50px;
    }

    &.button-transparent {
        background-color: transparent !important;
    }

    &.button-no-padding {
        padding: 0;
    }
}

.button-text {
    position: relative;
    overflow: hidden;
    line-height: 1.5;
}

.button-text > span {
    display: block;
}

.button-text > samp span,
.button-text > span span {
    display: inline-block;
    transition: transform 0.3s calc(var(--i) * .01s + .05s);
}

.button-text > samp {
    position: absolute;
    top: 0;
    left: 0;
    font-family: var(--font-family-area-normal);
}

.button-text > samp span {
    transform: translateY(110%);
}

.button svg {
    display: inline-block;
    fill: var(--color-white-500);
    margin-right: 12px;
    transition: all 0.3s .05s;
}

.button + .button {
    margin-left: 11px;

    @media (width < 480px) {
        margin-left: 10px;
    }
}

.button.button-secondary {
    padding: 5px 20px;
    color: var(--color-white-500);
    font-weight: 400;
    background-color: var(--color-blue-500);
}

.button.button-secondary svg {
    fill: var(--color-black-500);
}

.button.no-button {
    padding: 0;
    min-height: auto;
    font-size: 0.875rem;
    color: var(--color-black-500);
    font-weight: 400;
    background-color: transparent;
}

.button.button-primary {
    font-weight: 400;
    color: var(--color-white-500);
    background-color: var(--color-orange-500);
}

.button.button-black {
    padding: 5px 21px 5px 28px;
    font-weight: 400;
    color: var(--color-white-500);
    background-color: var(--color-black-500);
    min-height: 42px;
}

.button.button-black svg {
    margin-right: 19px;
}

.button.button-black:focus svg,
.button.button-black:hover svg {
    transform: rotate(0);
}

.button.button-outline {
    font-weight: 300;
    color: var(--color-white-500);
    border: solid 1px rgba(255, 255, 255, .10);
    background-color: transparent;
}

.button .angle-down {
    display: inline-flex;
    align-items: flex-end;
    line-height: 1.1;
    overflow: hidden;
    position: relative;
}

.button .angle-down svg {
    margin-right: 0;
    margin-bottom: 4px;
    margin-left: 7px;
}

.button svg.up {
    position: absolute;
    top: 0;
    right: 5px;
    /*opacity: 0;*/
    visibility: hidden;
}

.button:focus .angle-down svg,
.button:hover .angle-down svg {
    transform: rotate(0) translateY(8px);
}

.button:focus .angle-down svg.up,
.button:hover .angle-down svg.up {
    right: 0;
    opacity: 1;
    visibility: visible;
}

.button:focus .angle-down svg.down,
.button:hover .angle-down svg.down {
    opacity: 0;
    visibility: hidden;
}

.button:focus svg,
.button:hover svg {
    transform: rotate(90deg);
}

.button:focus .button-text > span span,
.button:hover .button-text > span span {
    transform: translateY(-110%);
}

.button:focus .button-text > samp span,
.button:hover .button-text > samp span {
    transform: translateY(0);
}

.button.button-white {
    background-color: var(--color-white-500);
    min-height: 52px;
}

/* wrapper */
.wrapper {
    position: relative;
    width: 100%;
    overflow-x: clip;
    display: block;
    min-height: 100%;
}

/* topbar */
.topbar {
    padding-top: 7px;
    padding-bottom: 9px;
    background-color: var(--color-blue-500);
    position: relative;
    z-index: 13;
}

.topbar-wrap {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    flex-direction: row-reverse;
}

.topbar-rating {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.topbar-rating ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    margin-right: 8px;
}

.topbar-rating li:not(:last-child) {
    margin-right: 3px;
}

.topbar-rating em {
    font-size: 0.75rem;
    font-style: normal;
    color: var(--color-white-500);
    margin-right: 13px;
}

.topbar-rating span {
    font-size: 0.625rem;
    padding: 3px 13px 3px 15px;
    text-align: center;
    display: inline-block;
    background-color: var(--color-blue-600);
    min-height: 24px;
    border-radius: 70px;
    color: rgba(255, 255, 255, .50);
    font-weight: 700;
}

.topbar-menu {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.topbar-menu ul {
    list-style: none;
    display: none;
}

.topbar-menu li {
    display: flex;
    align-items: center;
}

.topbar-menu li a {
    font-size: 0.75rem;
    text-decoration: none;
    color: rgba(225, 225, 225, .80);
    overflow: hidden;
}

.topbar-menu li a:focus,
.topbar-menu li a:hover {
    color: var(--color-white-500);
}

.topbar-menu li a img {
    display: inline-block;
    margin-left: 4px;
    width: 7px;
}

.topbar-menu li:not(:last-child) {
    margin-right: 25px;
}

.topbar-menu li a span {
    position: relative;
    display: inline-block;
    transition: all 0.25s ease-in-out;
}

.topbar-call {
    font-size: 0.813rem;
    color: rgba(225, 225, 225, .80);
    display: inline-flex;
    overflow: hidden;
    align-items: center;
    text-decoration: none;
    position: relative;
}

.topbar-call:focus,
.topbar-call:hover {
    color: var(--color-white-500);
}

.topbar-call:before {
    content: '';
    position: absolute;
    top: 2px;
    left: 0;
    width: 1px;
    height: 17px;
    display: none;
    background-color: rgba(225, 225, 225, .10);
}

.topbar-call svg {
    width: 10px;
    margin-right: 8px;
    fill: rgba(255, 255, 255, .80);
}

.topbar-call span {
    position: relative;
    display: inline-block;
    transition: all 0.25s ease-in-out;
}

.topbar-call span:after {
    content: attr(data-title);
    position: absolute;
    top: 0;
    left: 0;
    transition: all 0.25s ease-in-out;
    transform: translateY(20px);
}

.topbar-call:focus span,
.topbar-call:hover span {
    transform: translateY(-20px);
}

.topbar-call:focus span:after,
.topbar-call:hover span:after {
    transform: translateY(20px);
}

/* header */
.header {
    position: relative;
    z-index: 11;
    padding-top: 20px;
    padding-bottom: 20px;
    transition: all .25s ease-in-out;
}

.header:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: none;
    background-color: var(--color-white-500);
    box-shadow: 0 0 14px rgba(0, 0, 0, .05);
}

.header-wrap {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.header-logo {
    width: 166px;
    position: relative;
    z-index: 2;
}

.header-right {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100dvh;
    overflow-y: scroll;
    overflow-x: hidden;
    z-index: -1;
    background-color: var(--color-white-500);
    padding-top: 110px;
    display: flex;
    flex-direction: column;
    opacity: 0;
    visibility: hidden;
    transition: all 0.25s ease-in-out;
    transform: translateX(100%);
}

.header-menu {
    margin-bottom: 19px;
}

.header-menu ul {
    list-style: none;
}

.header-menu li {
    border-bottom: solid 1px rgba(45, 53, 60, .10);
}

.header-menu li:hover .header-megamenu {
    opacity: 1;
    visibility: visible;
}

.header-menu li > a {
    position: relative;
    font-size: 1.5rem;
    text-decoration: none;
    color: var(--color-black-500);
    font-weight: 300;
    padding: 10px 16px 8px 16px;
    display: block;
    font-family: var(--font-family-nohemi);
    overflow: hidden;
}

.header-menu li > a:has(+.header-megamenu):after {
    display: none;
}

.header-menu li > a.header-arrow samp {
    position: absolute;
    top: 6px;
    left: 16px;
    font-weight: 400;
    font-family: var(--font-family-area-normal);
}

.header-menu li > a.header-arrow samp span {
    transform: translateY(110%);
}

.header-menu li > a.header-arrow > samp span,
.header-menu li > a.header-arrow > span span {
    display: inline-block;
    transition: all 0.3s calc(var(--i) * .01s + .05s);
}

.header-menu li > a.header-arrow:hover > span span,
.header-menu li > a.header-arrow:focus > span span {
    transform: translateY(-110%);
}

.header-menu li > a.header-arrow:hover > samp span,
.header-menu li > a.header-arrow:focus > samp span {
    transform: translateY(0);
}

.header-menu li > a:has(+.header-megamenu):focus svg,
.header-menu li > a:has(+.header-megamenu):hover svg {
    transform: rotate(90deg);
}

.header-menu li > a svg {
    position: absolute;
    top: 22px;
    right: 20px;
    width: 14px;
    height: 14px;
    fill: var(--color-brown-500);
    transition: all 0.25s ease-in-out;
}

.header-menu li > a:focus svg,
.header-menu li > a:hover svg {
    fill: var(--color-orange-500);
}

.header-menu .header-arrow:after {
    content: '';
    position: absolute;
    top: 21px;
    right: 20px;
    background: url('../images/caret-right.svg');
    background-repeat: no-repeat;
    background-size: 9px 15px;
    width: 9px;
    height: 15px;
}

.header-secondary-menu {
    list-style: none;
    padding: 0 16px;
}

.header-secondary-menu li {
    margin-bottom: 13px;
}

.header-secondary-menu li a {
    font-size: 1.125rem;
    color: var(--color-blue-500);
    text-decoration: none;
}

.header-secondary-menu svg {
    display: inline-block;
    fill: var(--color-blue-500);
    margin-left: 8px;
    margin-top: -1px;
    vertical-align: middle;
}

.header-request {
    font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-family-roboto);
    font-weight: 400;
    margin-top: auto;
}

.header-request a {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: var(--color-white-500);
    background-color: var(--color-orange-500);
    min-height: 68px;
}

.header-request a svg {
    margin-right: 7px;
    fill: var(--color-white-500);
    transition: all .25s ease-in-out;
}

.header-request a:focus,
.header-request a:hover {
    color: var(--color-white-500);
}

.header-request a:focus svg,
.header-request a:hover svg {
    fill: var(--color-white-500);
}

.header-request a em {
    font-size: 0.625rem;
    margin-left: 10px;
    font-style: normal;
    display: none;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 100%;
    font-weight: 600;
    color: var(--color-white-500);
    font-family: var(--font-family-area-normal);
    background-color: var(--color-orange-500);
}

.header-search {
    min-width: 70px;
    display: none;
    align-items: center;
    justify-content: center;
    border-left: solid 1px rgba(45, 53, 60, .10);
}

.header-search button {
    border: 0;
    cursor: pointer;
    display: inline-block;
    background-color: transparent;
}

.header-search svg {
    stroke: var(--color-black-500);
    transition: all 0.25s ease-in-out;
}

.header-search button:focus svg,
.header-search button:hover svg {
    stroke: var(--color-orange-500);
}

.header-nl {
    font-size: 0.75rem;
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    text-align: center;
    font-weight: 600;
    background-color: var(--color-white-500);
    border-left: solid 1px rgba(45, 53, 60, .10);
    margin-right: 70px;
    cursor: pointer;
    z-index: 2;
}

.header-nl span {
    display: inline-block;
    margin-top: -1px;
}

.header-nl img {
    margin-bottom: 2px;
}

.header-nl em {
    display: block;
    font-style: normal;
    text-transform: uppercase;
}

.header-nl-menu {
    position: absolute;
    top: 0;
    left: 0;
    text-align: center;
    list-style: none;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    background-color: var(--color-white-500);
    transition: all 0.25s ease-in-out;
    z-index: -1;
}

.header-nl-menu li {
    border-top: solid 1px rgba(0, 0, 0, .10);
}

.header-nl-menu li a {
    padding: 5px 0;
    font-size: 0.75rem;
    color: var(--color-black-500);
    text-decoration: none;
}

.header-nl-menu li a:focus,
.header-nl-menu li a:hover {
    color: var(--color-orange-500);
}

.header-nl:hover .header-nl-menu {
    opacity: 1;
    visibility: visible;
    top: 100%;
}

.is-menu-open .header-right {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

.is-menu-open .header:after {
    opacity: 1;
    visibility: visible;
}

.header-megamenu {
    padding-top: 171px;
    padding-bottom: 47px;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 1;
    overflow-y: scroll;
    overflow-x: hidden;
    background-color: var(--color-white-500);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease-in-out;
    transform: translateX(100%);
}

.header-megamenu.is-active {
    transform: translateX(0);
}

.header-megamenu:before,
.header-megamenu:after {
    content: '';
    position: absolute;
    top: 0;
    left: 100%;
    width: 100vw;
    height: 100%;
    background-color: var(--color-white-500);
    z-index: -1;
    pointer-events: none;
}

.header-megamenu:before {
    right: 100%;
    left: unset;
}

.header-megamenu li {
    position: relative;
    padding: 0 0 0 20px;
    margin-left: 0;
    border-bottom: 0;
    margin-bottom: 11px;
}

.header-megamenu li:before {
    content: '';
    position: absolute;
    top: 8px;
    left: 2px;
    width: 11px;
    height: 11px;
    background-size: 100% 100%;
    background-image: url('../images/caret-right.svg');
    transition: all 0.3s ease-in;
}

.header-megamenu li:hover {
    &:before {
        transform: rotate(90deg);
    }
}

.header-megamenu li a {
    font-size: 1rem;
    padding: 0;
    font-family: var(--font-family-area-normal);
}

.header-megamenu-column {
    padding: 0 16px;
    border-bottom: solid 1px rgba(45, 53, 60, .10);
}

.header-megamenu-title {
    font-size: 1.5rem;
    font-weight: 300;
    margin-bottom: 4px;
    font-family: var(--font-family-nohemi);
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.header-megamenu-title svg {
    fill: var(--color-brown-500);
}

.header-megamenu-items {
    padding-bottom: 21px;
    margin-bottom: 27px;
    border-bottom: solid 1px rgba(45, 53, 60, .10);
}

.header-megamenu-items:nth-child(2n) {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 30px;
}

.header-megamenu-items:last-child {
    display: none;
}

.header-megamenu-items ul {
    li > a samp {
        position: absolute;
        top: 6px;
        left: 0;
        font-weight: 400;
        font-family: var(--font-family-area-normal);
    }

    li > a samp span {
        transform: translateY(110%);
    }

    li > a > samp span,
    li > a > span span {
        display: inline-block;
        transition: all 0.3s calc(var(--i) * .01s + .05s);
    }

    li > a:hover > span span,
    li > a:focus > span span {
        transform: translateY(-110%);
    }

    li > a:hover > samp span,
    li > a:focus > samp span {
        transform: translateY(-30%);
    }
}

.header-megamenu-bottom {
    margin-top: auto;
}

.header-megamenu-bottom .button {
    min-height: 52px;
}

.header-megamenu-photo {
    position: relative;
    width: 100%;
    margin-top: 4px;
}

.header-megamenu-photo img {
    width: 100%;
}

.header-megamenu-plus {
    position: absolute;
    bottom: -61px;
    right: -54px;
    pointer-events: none;
}

.header-megamenu-back {
    font-size: 1.5rem;
    color: var(--color-black-500);
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    border-bottom: solid 1px rgba(45, 53, 60, .10);
    font-family: var(--font-family-nohemi);
    font-weight: 300;
    min-height: 54px;
    padding-bottom: 4px;
    margin-bottom: 26px;
}

.header-megamenu-back svg {
    position: absolute;
    top: 15px;
    left: 19px;
    fill: var(--color-brown-500);
}

.header-megamenu-bottom {
    display: none;
}

/* header-hamburger */
.header-hamburger {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    cursor: pointer;
    border: 0;
    background-color: transparent;
    border-left: solid 1px rgba(45, 53, 60, .10);
}

.header-hamburger span {
    position: relative;
    display: block;
    width: 30px;
    height: 1px;
    text-indent: -9999px;
    border-radius: 1px;
    transition: all .25s ease-in-out;
    background-color: var(--color-black-500);
    right: -2px;
}

.header-hamburger span:before,
.header-hamburger span:after {
    content: '';
    position: absolute;
    right: 0;
    display: block;
    width: 100%;
    height: 1px;
    background-color: var(--color-black-500);
    transition: all .25s ease-in-out;
}

.header-hamburger span:before {
    top: -9px;
}

.header-hamburger span:after {
    bottom: -9px;
}

.header-hamburger.active span {
    background: none;
    margin-right: 0;
}

.header-hamburger.active span:before,
.header-hamburger.active span:after {
    background-color: var(--color-black-500);
    transition-delay: 0s, 0.2s;
    width: 100%;
}

.header-hamburger.active span {
    right: 0;
}

.header-hamburger.active span:before {
    top: 0;
    transform: rotate(45deg);
}

.header-hamburger.active span:after {
    bottom: 0;
    transform: rotate(-45deg);
}

.header-form-search {
    width: 100%;
    position: relative;
    z-index: 2;
    border-bottom: solid 1px rgba(45, 53, 60, .10);
}

.header-form-search input {
    border: 0;
    width: 100%;
    padding: 7px 50px 11px 16px;
    font-style: italic;
}

.header-form-search input::placeholder {
    color: rgba(0, 0, 0, .30);
}

.header-form-button {
    position: absolute;
    top: 2px;
    right: -1px;
    border: 0;
    width: 54px;
    height: 54px;
    background-color: transparent;
    z-index: 2;
    cursor: pointer;
}

.header.sticky {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;

    @media (width > 1025px) {
        .header-wrap:before, .header-nl {
            box-shadow: 0 0 14px rgba(0, 0, 0, .05);
        }
    }

    @media (width <= 1025px) {
        box-shadow: 0 0 14px rgba(0, 0, 0, .05);
    }
}

.header.sticky .header-right {
    padding-top: 71px;
}

/* Search sidebar*/
body:has(.search-sidebar.is-active) {
    .wrapper {
        overflow: hidden;
        height: 100vh;

        &:before {
            content: '';
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100vh;
            background-color: rgba(45, 53, 60, 0.25);
            z-index: 999;
        }
    }
}

.search-sidebar {
    position: fixed;
    inset: 0 0 0 auto;
    width: 100%;
    max-width: 450px;
    z-index: 1000;
    transform: translateX(100%);
    opacity: 0;
    visibility: hidden;
    transition: var(--transition);

    .form-field input {
        font-weight: 400;
    }


    &.is-active {
        opacity: 1;
        visibility: visible;
        transform: translateX(0);
    }

    .search-sidebar-container {
        height: 100%;
        overflow: auto;
        padding: 49px 48px;
        background-color: var(--color-white-500);
        box-sizing: border-box;
    }

    .close {
        appearance: none;
        position: absolute;
        left: -20px;
        top: 42px;
        border: unset;
        background: unset;
        cursor: pointer;
    }


    h2 {
        margin-bottom: 23px;
    }

    .form-field {
        display: flex;
        padding: 12px 40px 15px 18px;
        position: relative;

        button {
            flex: 0;
            padding: 0;
            appearance: none;
            border: unset;
            background: unset;
            position: absolute;
            right: 14px;
            top: 15px;
        }
    }

    .search-suggestions {
        margin-top: 24px;

        &.is-hidden {
            display: none;
        }

        ul {
            display: flex;
            flex-wrap: wrap;
            list-style: none;
            gap: 10px 14px;

            li {
                button {
                    padding: 7px 14px;
                    background: rgba(45, 53, 60, 0.05);
                    border-radius: 50px;
                    font-size: 0.75rem;
                }
            }
        }
    }

    .search-results {
        margin-top: 30px;

        h3 {
            color: var(--color-orange-500);
            font-family: var(--font-family-area-normal);
            font-size: var(--font-size-body-extra-small);
            font-weight: 800;
            line-height: 120%; /* 0.9rem */
            margin-bottom: 6px;
        }

        .search-products {

            ul {
                list-style: none;

                li {
                    a {
                        padding-block: 14px 13px;
                        display: flex;
                        align-items: center;
                        text-decoration: none;
                        position: relative;
                        border-bottom: 1px solid rgba(0, 0, 0, 0.10);

                        &:after {
                            content: '';
                            position: absolute;
                            top: 50%;
                            transform: translateY(-50%);
                            right: 0;
                            width: 6px;
                            height: 10px;
                            display: block;
                            background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2IiBoZWlnaHQ9IjEwIiB2aWV3Qm94PSIwIDAgNiAxMCIgZmlsbD0ibm9uZSI+CjxwYXRoIGQ9Ik01LjE5MjM5IDQuMjkyODlMNC40ODUyOCAzLjU4NTc5TDAuOTQ5NzQ3IDAuMDUwMjUyNkwwLjEyNDc4OSAwLjg3NTIxMUw0LjM2NzQzIDUuMTE3ODVMMC4yNDI2NDEgOS4yNDI2NEwwLjk0OTc0NyA5Ljk0OTc1TDUuMjgwNzggNS42MTg3MkM1LjI4MDc4IDUuNjE4NzIgNS40NjYyOCA1LjQzMzIyIDUuNjIyNzUgNS4yNzY3NUw1Ljg5OTQ5IDVMNS41NDU5NCA0LjY0NjQ1TDUuMTkyMzkgNC4yOTI4OVoiIGZpbGw9IiNDRUJDOTEiLz4KPC9zdmc+");
                        }

                        .search-product-info {
                            display: inline-block;
                            padding-left: 14px;

                            span {
                                display: block;
                                font-size: 0.5rem;
                                font-weight: 600;
                                color: var(--color-orange-500);
                                line-height: 120%;
                                text-transform: uppercase;
                                position: relative;
                                top: 4px;
                            }

                            strong {
                                font-size: var(--font-size-body-small);
                                font-style: normal;
                                font-weight: 800;
                                line-height: 120%; /* 1.05rem */
                                color: var(--color-black-500);
                            }
                        }
                    }
                }
            }
        }

        .search-faq, .search-blogs {
            margin-top: 30px;

            h3 {
                margin-bottom: 0;
            }

            a {
                display: block;
                padding-block: 20px;
                border-bottom: 1px solid rgba(0, 0, 0, 0.10);
                text-decoration: none;

                strong {
                    display: block;
                    font-size: 0.8125rem;
                    font-style: normal;
                    font-weight: 800;
                    line-height: 170%; /* 1.38125rem */
                    color: var(--color-black-500);
                    margin-bottom: 2px;
                }

                span {
                    display: -webkit-box;
                    -webkit-box-orient: vertical;
                    -webkit-line-clamp: 2;
                    overflow: hidden;
                    font-size: 0.8125rem;
                    font-style: normal;
                    font-weight: 400;
                    line-height: 170%; /* 1.38125rem */
                    color: var(--color-black-500);
                }
            }
        }
    }
}

/* hero */
.hero {
    position: relative;
    margin-top: -90px;
    padding-top: 130px;
    padding-bottom: 40px;
    min-height: 510px;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    height: calc(100vh - 20px);
}

.hero h1 {
    color: var(--color-white-500);
    margin-bottom: 32px;
}

.hero-holder {
    position: relative;
    z-index: 2;
    width: 100%;
}

.hero-slides {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.hero-intro {
    max-width: 602px;
}

.hero-bottom {
    font-size: 1rem;
    display: inline-block;
    position: relative;
    font-weight: 400;
    color: var(--color-white-500);
    background-color: rgba(45, 53, 60, .90);
    backdrop-filter: blur(3px);
    font-family: var(--font-family-area-normal);
    width: 100%;

}

.hero-bottom ul {
    position: relative;
    list-style: none;
}


.hero-bottom ul .line {
    padding: 0;
    position: absolute;
    top: unset;
    bottom: -5px;
    left: 0;
    display: block;
    width: 0;
    height: 4px;
    min-height: 0;
    z-index: 1;
    border-bottom: 0;
    background-color: var(--color-orange-500);
    animation: loader 5s infinite;
    transform: translateY(-50%);
}

.hero-bottom ul a.not-playing .line {
    animation: none;
}

.hero-bottom li {
    display: flex;
    align-items: center;
    padding: 6px 31px;
    min-height: 74px;
    border-bottom: solid 4px var(--color-blue-500);
    position: relative;

    a {
        display: flex;
        align-items: center;
        color: inherit;
        text-decoration: unset;
    }
}

.hero-bottom li strong {
    margin-left: 4px;
}

.hero-bottom li svg {
    fill: var(--color-white-500);
    fill-opacity: 0.5;
    margin-right: 16px;
    display: inline-block;
    vertical-align: middle;
}

.hero-bottom li:not(:last-child):after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    z-index: 1;
    background-color: rgba(255, 255, 255, .04);
}

.hero-slides .swiper {
    height: 100%;
}

.hero-picture {
    position: relative;
    width: 100%;
    height: 100%;
}

.hero-picture:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, rgba(45, 53, 60, 0.60) 0%, rgba(45, 53, 60, 0) 100%);
}

.hero-picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.hero-plus {
    position: absolute;
    bottom: -70px;
    right: 80px;
    mix-blend-mode: color-burn;
    width: 160px;
    z-index: 1;
    pointer-events: none;
    display: none;
}

/* benefits */
.benefits {
    padding-top: 66px;
    padding-bottom: 64px;
    position: relative;
    background-color: var(--color-yellow-500);

    @media (width < 768px) {
        padding-top: 40px;
        padding-bottom: 40px;
    }
}

.benefits .container {
    position: sticky;
    top: 50px;
}

.benefits-top {
    margin-bottom: 61px;

    @media (width < 768px) {
        margin-bottom: 30px;
    }
}

.benefits h2 {
    color: var(--color-dark-yellow);
    /*letter-spacing: 0.6px;*/
    font-weight: 300;
    margin-bottom: 0;
}

.benefits-title {
    margin-bottom: 46px;
    padding-right: 50px;

    @media (width < 768px) {
        margin-bottom: 20px;
        padding-right: 0;
    }
}

.benefits-intro {
    font-size: 1rem;
}

.benefits-intro em {
    font-size: 1rem;
    font-style: normal;
    font-weight: 800;
    color: var(--color-black-500);
    display: block;
    margin-bottom: 15px;
    text-transform: uppercase;
    line-height: 1.6;
}

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

/* Banner */
.banner {
    margin-top: -90px;
    padding-top: 120px;
    position: relative;
    background-color: var(--color-yellow-500);

    @media (width < 768px) {
        padding-top: 110px;
    }

    &:has(.banner-cta) {
        padding-bottom: 0;

        .banner-list {
            @media (min-width: 1025px) {
                & {
                    margin-bottom: 25px;
                }
            }
        }
    }
}

.banner-text {
    margin-bottom: 40px;
}

.banner-text h1 {
    font-size: 2.5rem;
}

.banner-text p {
    margin-bottom: 27px;

    &:is(:last-child) {
        margin-bottom: 0;
    }
}

.banner-text p + ul {
    list-style: none;
    padding-left: 5px;
    margin-bottom: 28px;

    &:has(+ .button) {
        margin-bottom: 59px;
    }

    li {
        position: relative;
        padding-left: 27px;
        line-height: 1;
        font-size: var(--font-size-body-small);
        color: var(--color-blue-500);

        &:before {
            content: '';
            position: absolute;
            left: 0;
            top: 3px;
            width: 15px;
            height: 12px;
            background-image: url('../images/icon-check-orange.svg');

        }

        &:not(:last-child) {
            margin-bottom: 23px;
        }

    }
}

.banner-camping {
    margin-top: 24px;
    margin-bottom: 30px;
    display: flex;
    font-size: 0.875rem;
}

.banner-camping strong {
    margin-right: 3px;
    font-weight: 800;
    color: var(--color-orange-500);
    display: contents;
}

.banner-camping ul {
    margin-right: 11px;
    margin-left: -2px;
    display: flex;
    list-style: none;
}

.banner-camping ul > li {
    margin-left: -11px;
    width: 28px;
    height: 28px;
    border: 2px solid var(--color-yellow-500);;
    border-radius: 25px;
}

.banner-camping ul > li img {
    width: 100%;
}

.banner-camping ul > li:first-of-type {
    margin-left: 0;
}

.banner-cta {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
    flex-wrap: wrap;
    padding-block-start: 45px;

    @media (width < 768px) {
    ;
        padding-block-start: 0;
    }

    a {
        display: flex;
        text-decoration: none;

        picture {
            flex: 0 0 auto;
        }

        .banner-cta-text {
            background-color: var(--color-white-500);
            padding: 15px 52px 15px 23px;
            display: flex;
            flex-direction: column;

            strong {
                font-weight: 800;
                color: var(--color-black-500);
                font-size: 1rem;
            }

            .button {
                padding: 0;
                background-color: var(--color-white-500);
                font-size: 0.75rem;
                font-weight: 400;
                min-height: auto;
            }
        }
    }
}

.banner-subtitle {
    margin-bottom: 15px;
    display: block;
    font-size: 0.875rem;
}

.banner-list {
    padding-top: 100px;
    padding-bottom: 30px;
    position: relative;
}

.banner-list ul {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    z-index: 1;
    list-style: none;
}

.banner-list ul > li {
    margin-bottom: 10px;
    padding: 11px 24px 14px 40px;
    position: relative;
    font-size: 0.875rem;
    color: var(--color-white-500);
    border-radius: 5px;
    background-color: rgba(45, 53, 60, 0.7);
}

.banner-list ul > li:before {
    position: absolute;
    top: 18px;
    left: 15px;
    width: 15px;
    height: 12px;
    background: url('../images/check-icon.svg') no-repeat center right;
    content: '';
}

.banner-list ul > li:last-of-type {
    margin-bottom: 0;
}

.banner-picture {
    margin: 0 -16px;
    position: absolute;
    top: 0;
    right: 0;
    width: calc(100% + 32px);
    height: 100%;

    @media (width > 1700px) {
        width: 50% !important;
    }
}

.banner-picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* breadcrumbs */
.breadcrumbs {
    margin-bottom: 13px;
    display: flex;
    flex-wrap: wrap;
    list-style: none;
}

.breadcrumbs > li {
    font-size: 0.75rem;
    color: rgba(0, 0, 0, 0.2);
}

.breadcrumbs > li:after {
    margin: 0 8px;
    display: inline-block;
    vertical-align: middle;
    background: url('../images/angle-right.svg') no-repeat center center;
    width: 3px;
    height: 6px;
    opacity: 0.2;
    content: '';
}

.breadcrumbs > li:last-of-type:after {
    display: none;
}

.breadcrumbs > li > a {
    color: rgba(0, 0, 0, 0.2);
    text-decoration: none;
    transition: all 0.3s;
}

.breadcrumbs > li > a:focus,
.breadcrumbs > li > a:hover {
    color: var(--color-black-500);
}

/* card-category */
.card-category {
    padding: 15px 15px 10px 12px;
    display: flex;
    color: var(--color-black-500);
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);;
    background-color: var(--color-white-500);
    text-decoration: none;
}

.card-category-picture {
    width: 46px;
    height: 51px;
    flex: 0 0 auto;
}

.card-category-text {
    margin-top: 2px;
    margin-left: 16px;
    line-height: 1.35;
}

.card-category-text strong {
    display: block;
}

.card-category-text span {
    font-size: 0.75rem;
}

.card-category-text span img {
    margin-left: 4px;
    display: inline-block;
}

.card-category.secondary {
    padding-left: 0;
    padding-bottom: 0;
}

.card-category.secondary .card-category-picture {
    margin-top: 1px;
    width: 86px;
    height: 60px;
}

.card-category:last-of-type {
    border-right: 0;
    border-right: 0;
}

/* units */
.units {
    padding-top: 50px;
    padding-bottom: 50px;
    background-color: var(--color-yellow-500);
}

.units h2 {
    font-size: 1.5rem;
    line-height: 1.23;
}

.units-right {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    align-items: start;

    @media (width < 768px) {
        gap: 10px;
    }
}

.units .button {
    margin: 0;
    padding: 4px 14px 4px 14px;
    align-items: center;
    font-size: 0.75rem;
    font-weight: 400;
    min-height: auto;
    border-radius: 50px;
    background-color: rgba(45, 53, 60, 0.05);
    opacity: 0;

    @starting-style {
        opacity: 0;
    }

    @media (width < 768px) {
        padding: 10px 14px 7px 14px;
    }

    .angle-down {
        top: -3px;
    }
}

.units .button img {
    margin-bottom: 4px;
    margin-left: 9px;
}

/* plays */
.plays {
    padding-bottom: 25px;
    position: relative;
    z-index: 1;
    background-color: var(--color-yellow-500);
}

.plays-holder {
    position: relative;
    display: flex;
    min-height: 300px;

    &:has(iframe) {
        .plays-picture {
            width: 100%;
            aspect-ratio: 16/9;
            overflow: hidden;
        }
    }
}

.plays-holder:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.2;
    pointer-events: none;
    background-color: var(--color-black-500);
    content: '';
}

.plays-picture img, .plays-picture iframe {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.plays-plus {
    position: absolute;
    bottom: -60px;
    right: -54px;
    width: 340px;
    height: 322px;
    pointer-events: none;
}

.plays-plus img {
    width: 100%;
    height: 100%;
}

.plays .button {
    position: absolute;
    bottom: 15px;
    right: 15px;
}

.benefits-block {
    display: flex;
    justify-content: flex-end;
    position: relative;
    top: -3px;
}

.benefits-right {
    width: 100%;
}

.benefits-list {
    width: 100%;
}

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

.benefits-items {
    margin: 0 15px 32px;
    position: sticky;
    top: 20px;
    padding: 29px 32px 40px 32px;
    display: block;
    text-decoration: none;
    color: var(--color-black-500);
    font-size: 0.875rem;
    background-color: var(--color-white-500);

    @media (width < 768px) {
        padding: 29px 22px 40px 22px;
    }
}

@media (width < 767px) {
    .benefits-items {
        margin-inline: 0;
        transform: scale(1);
        transform-origin: center top;

        &:not(.is-active) {
            transform: scale(0.9);
        }
    }
}

.benefits-items:nth-child(2) {
    margin-left: 8px;
    margin-right: 8px;
    top: 75px;
}

.benefits-lead {
    font-size: 1.125rem;
    font-weight: 800;
    transition: all 0.25s ease-in-out;
    line-height: 1.3;
    position: relative;

    @media (width < 768px) {
        margin-top: 20px;
    }
}

.benefits-picture {
    margin: 0 auto;
    padding-right: 16px;
    max-width: 243px;
}

.benefits-picture img {
    width: 100%;
}

.benefits-text {
    margin-bottom: 26px;
    padding-top: 19px;

    @media (width < 768px) {
        margin-bottom: 0;
    }
}

.benefits-items.is-active {
    margin: 0 0 32px;

}

.benefits-items:nth-child(2).is-active {
    margin-left: 0;
    margin-right: 0;
}

.benefits-items:hover .benefits-lead {
    color: var(--color-orange-500);
}

/* work */
.work {
    padding-top: 64px;
    padding-bottom: 50px;
    position: relative;
    min-height: 620px;
    margin-bottom: 52px;

    @media (width < 768px) {
        padding-top: 40px;
        margin-bottom: 40px;
    }
}

.work h2 {
    margin-bottom: 48px;

    @media (width < 768px) {
        margin-bottom: 30px;
    }
}

.work-left {
    width: 100%;
    margin-bottom: 55px;

    @media (width < 768px) {
        margin-bottom: 30px;
    }
}

.work-top {
    margin-bottom: 62px;
}

.work-column {
    display: grid;
    gap: 32px;
    grid-template-columns: repeat(1, 1fr);
}

.work-intro {
    font-size: 0.875rem;
    max-width: 330px;
}

.work-label {
    font-size: 1rem;
    font-weight: 800;
    color: var(--color-black-500);
    margin-bottom: 18px;
    text-transform: uppercase;
}

.work-intro p a {
    color: var(--color-black-500);
}

.work-intro p a:focus,
.work-intro p a:hover {
    text-decoration: none;
}

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

.work-intro p + a {
    margin-top: 42px;

    @media (width < 768px) {
        margin-top: 20px;
    }
}

.work-picture {
    width: 100%;
    overflow: hidden;
}

.work-picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;

    @media (768px < width < 1024px) {
        max-height: 400px;
    }
}

.work-plus {
    position: absolute;
    bottom: 0;
    left: -45px;
    width: 287px;
}

/* profile */
.profile {
    margin-bottom: 67px;

    @media (width < 768px) {
        margin-bottom: 40px;
    }
}

.profile .swiper-slide {
    width: 720px;
}

/* faq */
.faq {
    margin-bottom: 66px;

    .card-accordion {
        .buttons {
            margin-top: 33px;
        }
    }

    &.is-alt {
        .faq-wrap {
            padding-bottom: 79px;
            border-bottom: 1px solid rgba(45, 53, 60, 0.10);

            @media (width < 768px) {
                padding-bottom: 32px;
            }
        }

        &:has( + .product) {
            margin-bottom: 0;
            @media (width > 1025px) {
                margin-bottom: 0;
            }

            + .product {
                padding-top: 40px;
                @media (width > 1025px) {
                    padding-top: 124px;
                }
            }
        }
    }
}

.faq h2 {
    margin-bottom: 47px;

    @media (width < 768px) {
        margin-bottom: 10px;
    }
}

.faq-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    flex-direction: column-reverse;
}

.faq-left {
    width: 100%;
}

.faq-right {
    width: 100%;
    margin-bottom: 44px;

    @media (width < 768px) {
        margin-bottom: 30px;
    }
}

.faq-intro {
    width: 100%;
    font-size: 0.875rem;
    margin-bottom: 50px;

    @media (width < 768px) {
        margin-bottom: 0;
    }

    .button {
        margin-top: 32px;
    }
}

.faq-intro p:first-of-type {
    font-weight: 600;
}

.faq-intro p {
    margin-bottom: 16px;
}

/* card-help */
.card-help {
    width: 100%;
}

.card-help-info {
    display: flex;
    border-bottom: solid 1px var(--color-grey-500);
    padding-bottom: 32px;
    margin-bottom: 32px;
}

.card-help-picture {
    width: 100px;
    margin-right: 18px;
}

.card-help-picture img {
    width: 100%;
}

.card-help-detail {
    flex: 1;
    font-size: 0.875rem;
    margin-top: -3px;
}

.card-help-label {
    font-size: 1rem;
    font-weight: 800;
    margin-bottom: 4px;
}

.card-help-detail p:last-of-type {
    margin-bottom: 0;
}

/* card-accordion */
.card-accordion-lead {
    font-size: 1rem;
    color: var(--color-black-500);
    font-weight: 800;
    font-family: var(--font-family-area-normal);
    margin-bottom: 16px;
}

.card-accordion-item {
    margin-bottom: 12px;
    background-color: rgba(245, 240, 227, .60);
}

.card-accordion-title {
    padding: 16px 90px 18px 21px;
    position: relative;
    width: 100%;
    font-size: 0.875rem;
    border: 0;
    text-align: left;
    line-height: 1.2;
    cursor: pointer;
    background-color: transparent;
    font-family: var(--font-family-area-normal);
    min-height: 67px;
    color: var(--color-blue-500);
}

.card-accordion-title:after {
    content: '';
    background: url('../images/faq-plus.svg') no-repeat center right;
    background-size: 100% 100%;
    position: absolute;
    top: 17px;
    right: 26px;
    width: 34px;
    height: 34px;
    transition: all 0.25s ease-in-out;
}

.card-accordion-title.active:after {
    transform: rotate(45deg);
}

.card-accordion-content {
    padding: 0 20px;
    font-size: 0.875rem;
}

.card-accordion-content p {
    margin-bottom: 16px;
}

/* reviews */
.reviews {
    padding-top: 64px;
    padding-bottom: 45px;
    background-color: var(--color-blue-500);
    position: relative;
    margin-bottom: 64px;

    @media (width < 768px) {
        margin-bottom: 40px;
    }
}

.reviews h2 {
    color: var(--color-white-500);
    margin-bottom: 31px;
}

.reviews-intro {
    max-width: 890px;
    color: var(--color-white-500);
    text-align: center;
    font-size: 0.875rem;
    margin-bottom: 56px;
}

.reviews-intro p:last-of-type {
    margin-bottom: 0;
    max-width: 584px;
    margin-inline: auto;
}

.reviews .swiper {
    margin-bottom: 53px;
    overflow: visible;
}

.reviews .swiper-slide {
    width: 810px;
}

.reviews-caption {
    text-align: center;
    font-size: 0.875rem;
    color: var(--color-white-500);
}

.reviews-caption .button {
    margin-bottom: 22px;
}

.reviews-caption p em {
    font-style: normal;
    color: var(--color-orange-500);
    font-weight: 600;
}

.reviews-plus {
    position: absolute;
    top: -46px;
    left: 6px;
    mix-blend-mode: color-burn;
    width: 110px;
    opacity: .50;
    pointer-events: none;
}

/* card-review */
.card-review {
    padding: 20px 20px 15px 20px;
    width: 100%;
    background-color: var(--color-white-500);
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
}

.card-review-picture {
    width: 100%;
    height: 201px;
    position: relative;
    margin-bottom: 31px;
}


.card-review-picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.card-review-play {
    position: absolute;
    bottom: 16px;
    right: 16px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100%;
    background-color: rgba(45, 53, 60, .80);
    backdrop-filter: blur(5);
}

.card-review-play svg {
    fill: var(--color-white-500);
    transition: all .25s ease-in-out;
}

.card-review-play:hover svg {
    fill: var(--color-orange-500);
}

.card-review-intro {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.card-review-intro p {
    margin-bottom: 62px;
    @media (width < 768px) {
        font-size: var(--font-size-body-small);
    }
}

.card-review-bottom {
    width: 100%;
    display: flex;
    margin-top: auto;
    align-items: start;
}

.card-review-user {
    width: 59px;
    overflow: hidden;
    border-radius: 100%;
    border: solid 4px rgba(0, 0, 0, .05);
    margin-right: 12px;
    margin-left: -4px;
}

.card-review-user img {
    width: 100%;
}

.card-review-name {
    flex: 1;
    font-size: 0.75rem;
    padding-top: 3px;
}

.card-review-lead {
    font-size: 0.875rem;
    font-weight: 800;
    color: var(--color-black-500);
}

/* product */
.product {
    margin-bottom: 79px;

    @media (width < 768px) {
        margin-bottom: 40px;
    }

    &.reference-product {
        background-color: var(--color-yellow-500);
        padding-block: 100px;
        margin-bottom: 0;

        @media (width < 768px) {
            padding-block: 40px;
        }

        .product-wrap {
            flex-direction: column;

            .product-intro {
                display: flex;
                width: 100%;
                justify-content: space-between;
                gap: 20px;
                flex-wrap: wrap;
                align-items: start;
                margin-bottom: 6px;

                @media (width < 480px) {
                    margin-bottom: 25px;
                    gap: 15px;
                }

                h2 {
                    font-size: clamp(var(--font-size-h4-mobile), 1.143vw + 1.471rem, var(--font-size-h4));
                }

                .product-number {
                    margin-bottom: 0;
                    background-color: var(--color-white-500);

                    .js-product-counter {
                        color: rgba(45, 53, 60, 0.2);

                        span {
                            color: var(--color-blue-500);
                        }
                    }
                }
            }
        }

        .swiper {
            overflow: visible;
        }

        .swiper-slide {
            max-width: 1080px;
            height: --wenkit-fill-available;
        }
    }

    .card-product-tag {

        div {
            background-color: var(--color-white-500);
        }
    }
}

.product h2 {
    margin-bottom: 19px;

    @media (width < 480px) {
        font-size: 2rem;;
    }
}

.product-number {
    padding: 4px 14px;
    border-radius: 75px;
    display: inline-block;
    font-size: 0.875rem;
    margin-bottom: 21px;
    font-weight: 700;
    font-family: var(--font-family-area-normal);
    background-color: var(--color-yellow-500);
}

.product-number .js-product-counter span {
    color: rgba(45, 53, 60, 0.2);
    margin-left: 2px;
}

.product-intro {
    font-size: 0.875rem;
}

.product-intro p {
    margin-bottom: 54px;

    @media (width < 768px) {
        margin-bottom: 30px;
    }
}

.product-intro .button {
    display: none;
}

.product .swiper {
    overflow: visible;
}

/* card-product */
.card-product {
    padding: 24px 24px 32px 24px;
    width: 100%;
    height: 100%;
    background-color: var(--color-yellow-500);
    max-width: 399px;
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;

    &.extended {
        max-width: 1080px;
        background-color: var(--color-white-500);
        display: flex;
        padding: 51px 100px 53px 100px;
        margin-bottom: 0;
        justify-content: space-between;
        gap: 20px;

        @media (width < 1024px) {
            padding: 30px;
            flex-direction: column;
        }

        @media (width < 768px) {
            padding: 24px;
            flex-direction: column;
        }

        .card-product-picture {
            flex: 0 0 auto;
            margin-bottom: 0;

            @media (width < 768px) {
                flex: 1 1 auto;
            }

            img {
                max-width: 330px;
            }
        }

        .card-product-info {
            width: 100%;
            max-width: 413px;
        }

        .card-product-tag {
            position: unset;

            div {
                background-color: var(--color-yellow-500);
            }
        }

        .card-product-title-container {
            display: flex;
            justify-content: space-between;
            width: 100%;
            margin-bottom: 36px;

            @media (width < 768px) {
                margin-bottom: 15px;
            }
        }

        .card-product-list {
            strong {
                font-weight: 900;
                font-size: 1rem;
                text-transform: uppercase;
                color: var(--color-black-500);
                margin-bottom: 15px;
                display: block;
            }

            ul {
                list-style: none;
                margin-bottom: 17px;

                li {
                    border-top: 1px solid rgba(0, 0, 0, 0.1);
                    padding-block: 11px 13px;
                    display: flex;
                    gap: 10px;

                    font-size: 0.875rem;
                    font-style: normal;
                    font-weight: 400;

                    strong {
                        min-width: 130px;
                        font-size: 0.875rem;
                        font-style: normal;
                        font-weight: 800;
                        text-transform: none;
                        margin-bottom: 0;
                    }
                }
            }

            .button {
                padding: 17px 20px;
            }
        }
    }
}

.card-product-picture {
    position: relative;
    margin-bottom: 27px;
    display: flex;
    justify-content: center;
}

.card-product-picture img {
    max-width: 232px;
    min-height:258px;
    width: 100%;
}

.card-product-tag {
    position: absolute;
    top: 0;
    right: 0;
    display: none;
}

.card-product-tag div {
    border: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100%;
    background-color: var(--color-yellow-500);
}

.card-product-tag div:not(:last-child) {
    margin-right: 8px;
}

.card-product-info {
    font-size: 0.875rem;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.card-product-info p {
    margin-bottom: 26px;
    min-height: 2lh;
}

.card-product-lead {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--color-orange-500);
    text-transform: uppercase;
}

.card-product-title {
    font-size: 2rem;
    line-height: 1;
    color: var(--color-black-500);
    font-weight: 800;
    margin-bottom: 22px;
    font-family: var(--font-family-area-normal);
    display: block;
}

.card-product-title em {
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    position: relative;
    top: -5px;
    padding: 1px 7px;
    margin-left: 10px;
    text-transform: uppercase;
    color: var(--color-yellow-500);
    background-color: var(--color-blue-500);
}

.card-product-cm {
    padding: 1px 10px 4px 10px;
    font-size: 0.75rem;
    color: var(--color-blue-500);
    background-color: rgba(45, 45, 60, .05);
    margin-bottom: 15px;
    display: none;
    width: fit-content;
}

.card-product-cm svg {
    fill: var(--color-blue-500);
    margin-right: 8px;
}

.card-product-bottom {
    margin-top: auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;

    .button {
        height: 52px;
    }
}

.card-product-price {
    display: flex;
    gap: 33px;
    font-weight: 800;
    font-size: 0.875rem;
    color: var(--color-blue-500);
    text-align: end;
}

.card-product-items {
    line-height: 1.4;
    position: relative;
}

.card-product-items:not(:last-child):after {
    content: '';
    position: absolute;
    top: 50%;
    right: -18px;
    width: 1px;
    height: 23px;
    background-color: rgba(0, 0, 0, .10);
    transform: translateY(-50%);
}

.card-product-price em {
    font-size: 0.75rem;
    display: block;
    font-style: normal;
    font-weight: 700;
    color: var(--color-orange-500);
}

.card-product-price span {
    display: block;
}

/* cta */
.cta {
    margin-bottom: 38px;
}

.cta-block {
    padding: 34px 24px;
    position: relative;
    background-color: var(--color-yellow-500);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.cta h2 {
    font-size: 2rem;
    margin-bottom: 0;
}

.cta-title {
    max-width: 200px;
    width: 100%;
    margin-bottom: 44px;
}

.cta-list {
    width: 100%;
}

.cta-list ul {
    list-style: none;
    margin-bottom: 37px;
}

.cta-list li {
    font-size: 0.875rem;
    margin-bottom: 8px;
    padding-left: 24px;
    position: relative;
}

.cta-list li:before {
    content: '';
    position: absolute;
    top: 6px;
    left: 0;
    width: 12px;
    height: 13px;
    background-image: url('../images/plus-yellow.svg');
    background-repeat: no-repeat;
    background-size: 100% 100%;
}

.cta-magazine {
    position: absolute;
    top: -7px;
    right: -78px;
    width: 255px;
}

.cta-plus {
    position: absolute;
    bottom: -132px;
    right: -90px;
    width: 448px;
    pointer-events: none;
    mix-blend-mode: multiply;
    display: none;
}

.cta-plus img {
    width: 100%;
}

/* action */
.action {
    position: relative;
    padding-top: 63px;
    padding-bottom: 63px;
    z-index: 1;
    min-height: 327px;
    overflow: hidden;
}

.action .h4 {
    margin-bottom: 31px;
    color: var(--color-white-500);
    text-wrap: balance;
}

.action-block {
    position: relative;
    z-index: 1;
    width: 100%;
}

.action-intro {
    max-width: 550px;
    width: 100%;
}

.action-picture {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.action-picture:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(45, 53, 60, 0.60) 0%, rgba(45, 53, 60, .60) 100%);
}

.action-picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.action-plus {
    position: absolute;
    bottom: 0;
    right: 0;
    mix-blend-mode: color-burn;
    display: none;

}

/* footer */
.footer {
    font-size: 0.875rem;
    padding-top: 54px;
    overflow: hidden;
    color: var(--color-white-500);
    background-color: var(--color-blue-500);
    position: relative;
}

.footer-block {
    margin-bottom: 0;
}

.footer-logo {
    display: inline-block;
    width: 218px;
    margin-bottom: 17px;
}

.footer-info {
    width: 100%;
    padding-bottom: 16px;
    border-bottom: solid 1px rgba(255, 255, 255, .10);
}

.footer-info address {
    font-style: normal;
    color: rgba(255, 255, 255, .80);
    margin-bottom: 33px;
}

.footer-info ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.footer-info .button {
    padding: 5px 14px 5px 19px;

    &:hover svg {
        transform: rotate(0);
    }
}

.footer-middle ul,
.footer-menu ul,
.footer-info ul {
    list-style: none;
}

.footer-info li {
    margin-bottom: 18px;
}

.footer-menu li {
    margin-bottom: 10px;
    overflow: hidden;
}

.footer-middle li a,
.footer-menu li a {
    color: rgba(255, 255, 255, .80);
    position: relative;
    text-decoration: none;
    transition: 0.25s ease-in-out;
}

.footer-middle li a span,
.footer-menu li a span {
    position: relative;
    display: inline-block;
    transition: all 0.25s ease-in-out;
}

.footer-middle li a span:after,
.footer-menu li a span:after {
    content: attr(data-title);
    position: absolute;
    top: 0;
    left: 0;
    transition: all 0.25s ease-in-out;
    transform: translateY(20px);
}

.footer-middle li a:focus span,
.footer-menu li a:focus span,
.footer-middle li a:hover span,
.footer-menu li a:hover span {
    transform: translateY(-22px);
}

.footer-middle li a:focus span:after,
.footer-middle li a:hover span:after,
.footer-menu li a:focus span:after,
.footer-menu li a:hover span:after {
    transform: translateY(20px);
}

.footer-middle li a:hover,
.footer-menu li a:hover {
    color: var(--color-white-500);
}

.footer-title {
    font-size: 0.875rem;
    font-weight: 800;
    color: var(--color-white-500);
    text-transform: uppercase;
    position: relative;
    padding-top: 15px;
    padding-bottom: 16px;
}

.footer-title:after {
    position: absolute;
    top: 50%;
    right: 9px;
    width: 20px;
    height: 20px;
    background: url('../images/plus-orange.svg') no-repeat center right;
    transform: translateY(-50%);
    background-size: 100% 100%;
    transition: 0.25s ease-in-out;
    content: '';
    pointer-events: none;
}

.footer-title.is-active:after {
    transform: translateY(-50%) rotate(45deg);
}

.footer-menu,
.footer-middle {
    border-bottom: solid 1px rgba(255, 255, 255, .10);
}

.footer-middle li {
    margin-bottom: 9px;
    overflow: hidden;
}

.footer-column {
    gap: 32px;
    flex-wrap: wrap;
}

.footer-hidden {
    display: none;
    height: 100%;
}

.footer-copyright {
    padding-top: 30px;
    padding-bottom: 30px;
    font-size: 0.875rem;
    font-weight: 700;
    color: rgba(245, 240, 247, .32);
    position: relative;
}

.footer-copyright-wrap {
    display: flex;
    justify-content: space-between;
    margin-bottom: 32px;
}

.footer-copyright-info {
    display: flex;
    gap: 30px;
    align-items: center;
    flex-wrap: wrap;
}

.footer-copyright-info p {
    margin-bottom: 0;
    margin-right: 11px;
    display: none;
    line-height: 1.7;
}

.footer-copyright-info ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    height: 100%;
    align-items: center;

    li {
        display: flex;
        align-items: center;
    }
}

.footer-copyright-info li:not(:last-child) {
    margin-right: 21px;
}

.footer-copyright-info li a {
    color: rgba(245, 240, 247, .32);
    text-decoration: none;
    overflow: hidden;
}

.footer-copyright-info li a span {
    position: relative;
    display: inline-block;
    transition: all 0.25s ease-in-out;
}

.footer-copyright-info li a:hover {
    color: var(--color-white-500);
}

.footer-social-media {
    display: flex;
    list-style: none;
}

.footer-social-media li:not(:last-child) {
    margin-right: 16px;
}

.footer-social-media li a {
    width: 31px;
    height: 31px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: solid 1px rgba(255, 255, 255, .10);
}

.footer-social-media li a svg {
    fill: var(--color-yellow-500);
    fill-opacity: 0.32;
    transition: 0.25s ease-in-out;
}

.footer-social-media li a:hover {
    border-color: var(--color-white-500);
}

.footer-social-media li a:hover svg {
    fill-opacity: 1;
}

.footer-horse svg {
    fill: var(--color-white-500);
    fill-opacity: 0.2;
    transition: 0.25s ease-in-out;
}

.footer-horse:hover svg {
    fill-opacity: 1;
}

.footer-plus {
    position: absolute;
    bottom: -130px;
    right: -215px;
    pointer-events: none;
    mix-blend-mode: color-burn;
    display: none;
}

.footer-bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.footer-bottom em {
    font-style: normal;
}

/* whatsapp */
.whatsapp {
    position: fixed;
    bottom: 16px;
    right: 16px;
    width: 59px;
    height: 59px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100%;
    background-color: var(--color-green-500);
    z-index: 9;
}

.whatsapp svg {
    fill: var(--color-white-500);
}

.custom-arrow {
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    background-color: var(--color-orange-500);
    cursor: pointer;
    will-change: transform;
    pointer-events: none;
    opacity: 1;
    transition: opacity 0.2s ease;

    @media (pointer: coarse) {
        & {
            display: none;
        }
    }
}
.custom-arrow img {
    transition: all 0.4s;
}

.custom-arrow.is-reverse img {
    transform: rotate(-180deg);
}

@keyframes loader {
    from {
        width: 0;
    }
    to {
        width: 100%;
    }
}

/* Media Query */
@media only screen and (min-width: 768px) {
    .button {
        font-weight: 700;
    }

    .card-help-bottom .button {
        font-weight: 400;
    }

    .footer-info .button {
        font-weight: 500;
    }

    .hero h1 {
        margin-bottom: 40px;
        /*font-size: 5.625rem;*/
    }

    .hero-bottom ul {
        display: flex;
        flex-wrap: wrap;
    }

    .hero-bottom ul .line {
        top: auto;
        bottom: -4px;
        transform: translateY(0);
    }

    .hero-bottom li {
        padding: 6px 35px 6px 34px;
        cursor: pointer;
    }

    .hero-plus {
        display: block;
    }

    .banner {
        padding-top: 149px;
        padding-bottom: 60px;
    }

    .banner-holder {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
    }

    .banner-text {
        padding-right: 77px;
        width: 53.9%;
    }

    .banner-text h1 {
        font-size: 3.0625rem;
    }

    .banner-picture {
        margin: 0;
        width: 46.1%;
    }

    .banner-camping {
        margin-bottom: 40px;
    }

    .banner-text {
        margin-bottom: 0;
    }

    .banner-list {
        padding-top: 0;
        padding-bottom: 0;
        padding-left: 20px;
        width: 46.1%;
        position: inherit;
    }

    .work-column {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    .units {
        padding-top: 80px;
        padding-bottom: 75px;
    }

    .units-holder {
        display: flex;
        flex-wrap: wrap;
    }

    .units-left {
        padding-right: 15px;
        width: 42%;
    }

    .units-right {
        padding-left: 1px;
        width: 58%;
    }

    .plays-holder {
        min-height: 400px;
    }

    .plays-plus {
        bottom: -101px;
        right: -84px;
        width: 540px;
        height: 522px;
    }

    .plays .button {
        bottom: 39px;
        right: 39px;
    }

    .custom-arrow {
        display: flex;
        transition: .1s ease-out;
    }


    .reviews-block .swiper:hover,
    .profile:hover {
        cursor: none;
    }

    .reviews {
        position: inherit;
    }

    .reviews .reviews-block:hover .custom-arrow,
    .profile:hover .custom-arrow {
        display: flex;
        /*transform: translate(-50%, -50%);*/
    }


    .reviews .custom-arrow,
    .profile .custom-arrow {
        display: none;
        position: absolute;
        z-index: 2;
        pointer-events: none;
        transform: translate3d(var(--arrow-x, -9999px), var(--arrow-y, -9999px), 0);
    }

    .product-wrap {
        display: flex;
        gap: 40px;
        justify-content: space-between;
    }

    .product-intro {
        width: 33%;
    }

    .product-intro .button {
        display: inline-flex;
    }

    .product-right {
        width: 58.3%;

        .swiper-wrapper {
            .swiper-slide {
                height: auto;
            }
        }
    }

    .benefits {
        padding-top: 126px;
        padding-bottom: 125px;
    }

    .benefits.is-alt {
        padding-bottom: 102px;
    }

    .benefits-top {
        margin-bottom: 96px;
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
        justify-content: space-between;
        gap: 20px
    }

    .benefits-title {
        margin-bottom: 0;
        padding-right: 0;
        width: 45%;
    }

    .benefits-picture {
        max-width: 350px;
    }

    .benefits-intro {
        width: 41.5%;
        padding-bottom: 17px;
    }

    .benefits-intro em {
        text-transform: inherit;
        line-height: 1.7;
    }

    .benefits-text {
        padding-top: 40px;
    }


    .product .swiper {
        overflow: hidden;
        margin-right: -17px;
    }

    .card-product {
        padding: 31px 33px 42px 31px;
    }

    .card-product-tag {
        display: flex;
        flex-wrap: wrap;
    }

    .card-product-picture {
        margin-bottom: 31px;
    }

    .card-product-picture img {
        max-width: 232px;
        width: 100%;
        padding: 5px;
    }

    .card-product-title {
        margin-bottom: 15px;
    }

    .card-product-title em {
        display: none;
    }

    .card-product-cm {
        display: inline-flex;
        align-items: center;
    }

    .card-product-info p {
        margin-bottom: 22px;
    }

    .card-product-price {
        gap: 34px;
        padding-bottom: 4px;
    }
}

@media only screen and (min-width: 1025px) {
    .topbar {
        padding-top: 5px;
        padding-bottom: 6px;
    }

    .topbar-wrap {
        flex-direction: unset;
    }

    .topbar-rating em {
        margin-right: 15px;
    }

    .topbar-menu ul {
        display: flex;
        flex-wrap: wrap;
    }

    .topbar-call {
        font-size: 0.75rem;
        padding-left: 18px;
        margin-left: 20px;
    }

    .topbar-call svg {
        fill: rgba(255, 255, 255, .40);
        width: 12px;
        transition: all 0.25s ease-in-out;
    }

    .topbar-call:hover svg {
        fill: var(--color-white-500);
    }

    .topbar-call:before {
        display: block;
    }

    .header {
        padding-top: 0;
        padding-bottom: 0;
        /*box-shadow: 0 0 14px rgba(0, 0, 0, .05);*/
    }

    .header:after {
        display: none;
    }

    .header-wrap {
        position: relative;
        z-index: 1;
    }

    .header-wrap:before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        width: 100vw;
        height: 100%;
        z-index: -1;
        pointer-events: none;
        margin-right: 70px;
        background-color: var(--color-white-500);
    }

    .header-right {
        flex-wrap: wrap;
        margin-right: 70px;
        position: unset;
        inset: unset;
        height: unset;
        width: unset;
        overflow-y: unset;
        overflow-x: inherit;
        background-color: transparent;
        padding: 0;
        flex-direction: unset;
        opacity: 1;
        visibility: visible;
        transform: unset;
    }

    .header-menu {
        margin-bottom: 0;
    }

    .header-menu ul {
        display: flex;
        flex-wrap: wrap;
        border-top: none;
    }

    .header-menu li {
        padding-top: 33px;
        padding-bottom: 33px;
        border-bottom: none;
        transition: all .25s ease-in-out;
    }

    .header-menu li > a {
        font-size: 0.875rem;
        font-family: var(--font-family-area-normal);
        font-weight: 400;
        padding: 0;
    }

    .header-menu li > a.header-arrow samp {
        top: 0;
        left: 0;
    }

    .header-menu li > a svg {
        position: relative;
        inset: unset;
        width: unset;
        height: unset;
        margin-left: 1px;
    }

    .header-menu .header-arrow:after {
        display: none;
    }

    .header-menu li:not(:last-child) {
        margin-right: 15px;
    }

    .header-search {
        display: flex;
    }

    .header-form-search {
        display: none;
    }

    .header-secondary-menu {
        display: none;
    }

    .header-nl {
        min-height: 90px;
        margin-right: 0;
        border-left: none;
        transition: all .25s ease-in-out;
    }

    .header-request {
        padding: 0 15px;
        margin-left: 15px;
        border-left: solid 1px rgba(45, 53, 60, .10);
        margin-top: unset;
    }

    .header-request a {
        display: inline-flex;
        color: var(--color-orange-500);
        background-color: transparent;
        min-height: unset;
        width: unset;
    }

    .header-request a svg {
        fill: var(--color-orange-500);
    }

    .header-request a em {
        display: inline-flex;
    }

    .header-request a:focus,
    .header-request a:hover {
        color: var(--color-blue-500);
    }

    .header-request a:focus svg,
    .header-request a:hover svg {
        fill: var(--color-blue-500);
    }

    .header-hamburger {
        display: none;
    }

    .header-megamenu {
        position: absolute;
        top: 0;
        left: 0;
        padding-top: 132px;
        padding-bottom: 47px;
        z-index: -1;
        height: auto;
        overflow: unset;
        transform: translateX(0);
    }

    .header-megamenu ul {
        display: block;
        margin-bottom: 112px;
    }

    .header-megamenu li {
        padding: 0 0 0 20px;
        margin-right: 0;
        margin-bottom: 11px;
    }

    .header-megamenu li a {
        font-size: 1rem;
        display: inline-block;
    }

    .header-megamenu-column {
        display: flex;
        gap: 30px;
        justify-content: space-between;
        padding: 0;
        border-bottom: none;
    }

    .header-megamenu-items {
        display: flex;
        flex-direction: column;
        padding-bottom: 0;
        border-bottom: none;
    }

    .header-megamenu-title {
        margin-bottom: 12px;
    }

    .header-megamenu-title svg {
        display: none;
    }

    .header-megamenu-items:last-child {
        display: block;
    }

    .header-megamenu-back {
        display: none;
    }

    .header-megamenu-bottom {
        display: block;
    }

    .header-menu li li:not(:last-child) {
        margin-right: 0;
    }

    .header.sticky .header-menu li {
        padding-top: 26px;
        padding-bottom: 26px;
    }

    .header.sticky .header-megamenu li {
        padding-top: 0;
        padding-bottom: 0;
    }

    .header.sticky .header-nl {
        min-height: 73px;
    }

    .header.sticky .header-right {
        padding-top: 0;
    }

    .hero {
        /*height: calc(100vh - 37px);*/
        /*padding-bottom: 28px;*/
        height: 100%;
        min-height: 960px;
        padding-bottom: 92px;
    }

    .hero-plus {
        display: block;
        bottom: -160px;
        right: 80px;
        width: 360px;
    }

    .banner-text {
        padding-right: 50px;
    }

    .banner-category {
        display: flex;
        flex-wrap: wrap;
    }

    .banner-category .card-category {
        width: 47%;
    }

    .banner-category .card-category.secondary {
        width: 53%;
    }

    .banner-camping {
        margin-bottom: 89px;
    }

    .card-category {
        border-right: 1px solid rgba(0, 0, 0, 0.1);
        border-bottom: 0;
    }

    .banner-list {
        margin-bottom: -35px;
        padding-left: 24px;
        width: 44.8%;
    }

    .banner-list ul > li {
        padding-left: 52px;
    }

    .banner-list ul > li:before {
        left: 25px;
    }

    .banner-text {
        width: 55.2%;
    }

    .banner-text h1 {
        font-size: 3.0625rem;
    }

    .banner-camping {
        margin-bottom: 89px;
    }

    .plays-holder {
        min-height: 570px;
    }

    .plays-plus {
        right: -90px;
        width: 581px;
        height: 546px;
    }

    .work {
        padding-top: 100px;
        margin-bottom: 139px;

        &:has(+ .faq) {
            margin-bottom: 143px;
        }
    }

    .work-top {
        margin-bottom: 79px;
    }

    .work-left {
        width: 62%;
        margin-bottom: 0;
    }

    .work-picture {
        position: absolute;
        top: 0;
        right: 0;
        width: 31.3%;
        height: 100%;
        overflow: hidden;
    }

    .work-label {
        margin-bottom: 15px;
    }

    .work-plus {
        bottom: -56px;
        left: -51px;
        width: 329px;
    }


    .profile {
        margin-bottom: 124px;
    }

    .faq {
        margin-bottom: 113px;
    }

    .faq.is-alt {
        margin-bottom: 205px;
    }

    .faq h2 {
        margin-bottom: 59px;
    }

    .faq-left {
        width: 34%;
    }

    .faq-right {
        width: 58.5%;
    }

    .faq-wrap {
        flex-direction: unset;
    }

    .faq-intro {
        margin-bottom: 61px;
    }

    .faq.is-alt .faq-intro {
        margin-bottom: 50px;
    }

    .faq-right {
        margin-bottom: 0;
    }

    .card-accordion-item {
        margin-bottom: 13px;
    }

    .card-accordion-title {
        padding: 20px 55px 20px 20px;
        line-height: 1.63;
        min-height: 60px;
    }

    .card-accordion-title:after {
        top: 15px;
        right: 12px;
    }

    .card-help-info {
        padding-bottom: 31px;
    }

    .card-help-picture {
        width: 128px;
        margin-right: 22px;
    }

    .card-help-detail {
        padding-top: 11px;
        margin-top: -0;
    }

    .reviews {
        padding-top: 100px;
        padding-bottom: 81px;
        margin-bottom: 124px;
    }

    .reviews .swiper {
        position: unset;
    }

    .reviews h2 {
        margin-bottom: 27px;
    }

    .reviews-intro {
        margin: 0 auto 81px;
    }

    .reviews .swiper {
        margin-bottom: 79px;
    }

    .reviews-caption .button {
        margin-bottom: 24px;
    }

    .reviews-plus {
        display: block;
    }

    .card-review {
        padding: 24px 24px 23px 24px;
    }

    .card-review-picture {
        width: 50%;
        height: 100%;
        margin-right: 38px;
        margin-bottom: 0;
    }

    .card-review-intro {
        padding-top: 18px;
        padding-bottom: 16px;
    }

    .card-review-bottom {
        align-items: center;
    }

    .card-review-user {
        width: 51px;
        margin-right: 16px;
    }

    .card-review-name {
        line-height: 1.4;
        padding-top: 0;
    }

    .benefits {
        height: 200vh;
    }

    .benefits-right {
        max-width: 449px;
    }

    .benefits-picture {
        position: absolute;
        top: -100px;
        left: -530px;
        z-index: 1;
        opacity: 0;
        visibility: hidden;
        width: 484px;
        max-width: inherit;
        transition: all 0.25s;
    }

    .benefits-lead {
        padding-left: 82px;
        font-size: 1.25rem;
    }

    .benefits-lead:after {
        content: '';
        position: absolute;
        top: 18px;
        left: 0;
        width: 50px;
        height: 1px;
        background-color: rgba(45, 53, 60, .40);
        transition: all 0.25s ease-in-out;
    }

    .benefits-text {
        margin-bottom: 0;
        display: none;
    }

    .benefits-list {
        padding-bottom: 6px;
        margin-bottom: 16px;
        background-color: var(--color-white-500);
    }

    .benefits-items {
        top: auto;
        margin: 0;
        position: relative;
        padding: 37px 40px 41px 40px;
    }

    .benefits-items:nth-child(2) {
        top: auto;
        margin-left: 0;
        margin-right: 0;

    }

    .benefits-items:not(:last-child) {
        border-bottom: solid 1px var(--color-yellow-500);
    }

    .benefits-items.is-active {
        margin-bottom: 0;
    }

    .benefits-items.is-active .benefits-text {
        display: block;
    }

    .benefits-items.is-active .benefits-picture {
        opacity: 1;
        visibility: visible;
    }

    .benefits-items.is-active .benefits-lead {
        color: var(--color-orange-500);
    }

    .benefits-items.is-active .benefits-lead:after {
        width: 250px;
        left: -201px;
        background-color: var(--color-orange-500);
    }

    .product {
        margin-bottom: 123px;
    }

    .product h2 {
        font-size: clamp(var(--font-size-h3-mobile), 1.714vw + 1.582rem, var(--font-size-h3));
        margin-bottom: 19px;
    }

    .product-number {
        padding: 8px 19px 8px 21px;
        font-size: 1rem;
        margin-bottom: 94px;
        font-weight: 400;
        font-family: var(--font-family-area-normal);
    }

    .product .swiper {
        margin-right: -611px;
    }

    .cta {
        margin-bottom: 133px;
    }

    .cta-block {
        padding: 30px 50px;
    }

    .cta h2 {
        font-size: var(--font-size-h4);
    }

    .cta-title {
        max-width: 290px;
        margin-bottom: 0;
    }

    .cta-list {
        width: 28.7%;
    }

    .cta-magazine {
        width: 410px;
        top: -25px;
        left: 50%;
        right: unset;
        transform: translateX(-50%);
    }

    .cta-plus {
        display: block;
    }

    .action {
        padding-top: 80px;
        padding-bottom: 80px;
        display: flex;
        align-items: center;
        min-height: 499px;
    }

    .action .h4 {
        margin-bottom: 35px;
    }

    .action-picture:after {
        background: linear-gradient(45deg, rgba(45, 53, 60, 0.60) 0%, rgba(45, 53, 60, 0.40) 75%);
    }

    .action-plus {
        display: block;
    }

    .footer-plus {
        display: inline-block;
    }

    .footer {
        padding-top: 100px;
    }

    .footer-info {
        padding-bottom: 54px;
        margin-right: 10px;
        padding-right: 20px;
        border-right: solid 1px rgba(255, 255, 255, .10);
        border-bottom: none;
        width: 25%;
    }

    .footer-info ul {
        display: block;
    }

    .footer-block {
        display: flex;
        gap: 30px;
        flex-wrap: wrap;
        margin-bottom: 86px;
    }

    .footer-title {
        padding-bottom: 0;
        border-bottom: none;
        margin-bottom: 20px;
        padding-top: 0;
    }

    .footer-title:after {
        display: none;
    }

    .footer-middle {
        width: 27.6%;
    }

    .footer-column {
        display: flex;
    }

    .footer-menu,
    .footer-middle {
        border-bottom: none;
    }

    .footer-menu:last-child {
        width: auto;
        margin-left: auto;
        margin-right: 33px;
    }

    .footer-social-media {
        margin-top: 5px;
    }

    .footer-social {
        margin-right: 80px;
    }

    .footer-copyright {
        font-size: 0.75rem;
    }

    .footer-copyright-wrap {
        margin-bottom: 0;
    }

    .footer-copyright-info {
        width: 50%;
        padding-left: 40px;
    }

    .footer-copyright-info p {
        display: inline-flex;
    }

    .footer-horse {
        position: absolute;
        top: 38px;
        left: 20px;
    }

    .footer-hidden {
        display: block !important;
        height: auto !important;
        overflow: inherit;
    }

    .footer-bottom em {
        display: none;
    }
}

@media only screen and (min-width: 1200px) {
    .header-wrap:before {
        margin-right: 89px;
    }

    .header-right {
        margin-right: 90px;
    }

    .header-menu li:not(:last-child) {
        margin-right: 32px;
    }

    .header-request {
        margin-left: 40px;
        padding: 0 25px;
    }

    .header-search {
        min-width: 90px;
    }

    .header-nl {
        width: 90px;
    }

    .header-megamenu-items:nth-child(2n) {
        margin-left: -50px;
    }

    .banner-text {
        padding-right: 91px;
    }

    .work-left {
        width: 70%;
    }

    .work-column {
        gap: 64px;
    }

    .benefits-picture {
        top: -129px;
        left: -571px;
    }

    .cta-block {
        padding: 49px 90px 50px 90px;
    }

    .cta-magazine {
        width: 448px;
        margin-left: 14px;
    }

    .footer-middle {
        margin-left: -8px;
    }

    .footer-info {
        margin-right: 57px;
        width: 22.7%;
    }

    .footer-social {
        width: 45%;
        padding-left: 50px;
        margin-right: 0;
    }

}

@media only screen and (min-width: 1441px) {
    .header-request {
        margin-left: 150px;
    }

    .topbar-call {
        margin-right: -24px;
    }

    .footer-copyright-info {
        padding-left: 0;
    }
}

@media only screen and (min-width: 1620px) {
    .work-picture {
        width: 35.75%;
    }

}

.template-toepassingen {
    .faq {
        @media (width > 1025px) {
            & {
                margin-bottom: 63px;
            }
        }
    }

    .reviews {
        @media (width > 1025px) {
            & {
                margin-bottom: 108px;
            }
        }
    }
}

.product-overview {
    background-color: var(--color-yellow-500);
    padding-block: 149px 101px;
    margin-top: -90px;
    position: relative;

    @media (width < 768px) {
        padding-block: 110px 40px;
    }

    &:before {
        content: "";
        width: 348px;
        height: 472px;
        position: absolute;
        background-image: url('../images/produft-overview-plusses.svg');
        bottom: -133px;
        left: -135px;
        display: block;

        @media (width < 480px) {
            display: none;
        }
    }

    .sticky-pagination {
        display: none;
    }

    h1 {
        margin-top: -6px;
        max-width: 630px;
        line-height: 1.2;
    }

    .title {
        margin-bottom: 39px;
    }

    .product-overview-container {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 20px;

        .filter-sidebar {
            max-width: 330px;
            width: 100%;

            strong {
                font-size: var(--font-size-body-small);
                color: var(--color-black-500);
                font-weight: 900;
            }

            .filter-option {
                &:not(:last-child) {
                    padding-bottom: 30px;
                }
            }

            ul:not(.function-list) {
                list-style: none;
                margin-top: 25px;

                li {
                    width: fit-content;

                    label {
                        cursor: pointer;
                        display: flex;
                        font-size: var(--font-size-body-small);
                        line-height: 1;
                        padding-left: 33px;
                        position: relative;
                        padding-bottom: 27px;

                        &:before {
                            content: '';
                            position: absolute;
                            width: 21px;
                            height: 21px;
                            border-radius: 4px;
                            background-color: var(--color-white-500);
                            left: 0;
                            transition: var(--transition);
                            top: -2px;
                        }

                        &:after {
                            content: '';
                            position: absolute;
                            width: 11px;
                            height: 8px;
                            background-image: url('../images/icon-check-white.svg');
                            background-repeat: no-repeat;
                            left: 5px;
                            top: 5px;
                            opacity: 0;
                            transition: var(--transition);
                        }

                        &:has(input:checked) {
                            &:before {
                                background-color: var(--color-orange-500);
                            }

                            &:after {
                                opacity: 1;
                            }
                        }

                        input {
                            width: 0;
                            height: 0;
                            opacity: 0;
                            position: absolute;
                            left: -100vw;
                            top: -200vh;
                        }
                    }
                }
            }

            .function-list {
                list-style: none;
                margin-top: 18px;

                display: grid;
                grid-template-columns: repeat(2, fit-content(50%));
                gap: 21px;
                justify-content: space-between;

                li {
                    label {
                        cursor: pointer;
                        display: flex;
                        font-size: var(--font-size-body-small);
                        line-height: 1;
                        gap: 14px;
                        align-items: center;


                        input {
                            width: 0;
                            height: 0;
                            opacity: 0;
                            position: absolute;
                            left: -100vw;
                            top: -200vh;
                        }

                        div {
                            background: #fff;
                            width: 32px;
                            height: 32px;
                            border-radius: 32px;
                            display: flex;
                            align-items: center;
                            justify-content: center;
                        }

                        svg {

                            rect {
                                stroke: white;
                            }
                        }

                        &:has(input:checked) {
                            div {
                                border: 1px solid var(--color-orange-500);
                            }

                            svg {
                                /*border: 1px solid var(--color-orange-500);*/

                                rect {
                                    stroke: var(--color-orange-500)
                                }

                                path {
                                    fill: var(--color-orange-500)
                                }
                            }
                        }

                    }
                }
            }
        }

        .filter-sidebar-items {
            position: sticky;
            top: 100px;
        }

        .product-overview-items {
            flex: 1;
            min-width: 400px;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 32px;
            max-width: 828px;
            padding-top: 5px;

            @media (768px < width < 1024px) {
                grid-template-columns: 1fr;
                justify-items: end;
            }

            @media (width < 480px) {
                min-width: 300px;
                grid-template-columns: 1fr;
            }


            .card-product {
                background-color: var(--color-white-500);
            }

            .product-overview-cta {
                grid-column: 1 /2 span;
                background-color: var(--color-blue-500);
                color: var(--color-white-500);
                display: flex;

                @media (width < 480px) {
                    grid-column: 1 span;
                    flex-direction: column;
                }

                @media (768px < width < 1024px) {
                    grid-column: 1 span;
                    flex-direction: column;
                }

                .content {
                    max-width: 380px;
                    width: 100%;
                    padding: 48px 10px 48px 47px;

                    @media (width < 768px) {
                        padding: 24px;
                    }
                }

                h2 {
                    margin-bottom: 16px;
                }


                ul {
                    list-style: none;

                    li {
                        padding-left: 26px;
                        position: relative;
                        font-size: var(--font-size-body-small);

                        &:not(:last-child) {
                            margin-bottom: 10px;
                        }

                        &:before {
                            content: '';
                            width: 12px;
                            height: 12px;
                            background-image: url('../images/icon-plus-orange.svg');
                            position: absolute;
                            left: 0;
                            top: 6px;
                        }
                    }
                }

                .button {
                    margin-top: 33px;
                }

                .image {
                    position: relative;

                    &:after {
                        content: '';
                        width: 32px;
                        height: 35px;
                        background-image: url("../images/roomplus-r.svg");
                        position: absolute;
                        top: 48px;
                        right: 32px;
                    }
                }
            }

        }

    }
}

.parallax-image {
    position: relative;


    &:after {
        content: "";
        width: 580px;
        height: 545px;
        position: absolute;
        bottom: -99px;
        right: 0;
        background-image: url('../images/icon-parallax.svg');
        z-index: 1;

        @media (width < 1024px) {
            width: 290px;
            height: 273px;
            background-size: contain;
            bottom: -50px;
        }

        @media (width < 480px) {
            width: 145px;
            height: 137px;
            bottom: -25px;

        }
    }

    .image-container {
        overflow: hidden;
        max-height: 750px;

        @media (width > 1440px) {
            max-height: 90vh;
        }

        img {
            width: 100%;
        }
    }

    + .faq {
        padding-top: 50px;

        @media (width > 1025px) {
            & {
                padding-top: 124px;
            }
        }
    }
}


.product-detail {
    padding-block: 149px 98px;
    margin-top: -90px;
    background-color: var(--color-yellow-500);

    @media (width < 768px) {
        padding-block: 110px 40px;
    }

    .product-detail-holder {
        display: flex;
        gap: 20px;
        justify-content: space-between;
        flex-wrap: wrap;

        @media (width < 480px) {
            flex-direction: column-reverse;
        }
    }

    .product-image {
        min-width: 300px;
        flex: 1;
        max-width: 590px;
        width: 100%;
        background-color: var(--color-white-500);
        padding: 31px 32px 34px 32px;
        opacity: 0;

        @starting-style {
            opacity: 0;
        }

        @media (768px < width < 1024px) {
            max-width: 400px;
        }

        .product-image-info {
            display: flex;
            justify-content: space-between;
            gap: 20px;
            flex-wrap: wrap;
            align-items: center;

            .measurements {
                background: rgba(45, 53, 60, 0.05);
                padding: 6px 8px 6px 10px;
                display: flex;
                align-items: center;
                gap: 8px;
                color: var(--color-blue-500);
                font-size: var(--font-size-body-extra-small);
                line-height: 1;
                font-weight: 400;
            }

            .functions {
                display: flex;
                gap: 8px;

                div {
                    width: 32px;
                    height: 32px;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    background-color: var(--color-yellow-500);
                    border-radius: 32px;
                }
            }
        }

        picture {
            display: flex;
            justify-content: center;
            align-items: center;
            padding-top: 30px;
        }
    }

    .product-info {
        max-width: 590px;
        width: 100%;

        @media (768px < width < 1024px) {
            max-width: 390px;
        }

        ul:not(.breadcrumbs, .banner-camping ul) {
            list-style: none;
            padding-left: 5px;
            margin-bottom: 28px;
            opacity: 0;

            @starting-style {
                opacity: 0;
            }

            li {
                position: relative;
                padding-left: 27px;
                line-height: 1;
                font-size: var(--font-size-body-small);
                color: var(--color-blue-500);

                &:before {
                    content: '';
                    position: absolute;
                    left: 0;
                    top: 3px;
                    width: 15px;
                    height: 12px;
                    background-image: url('../images/icon-check-orange.svg');

                }

                &:not(:last-child) {
                    margin-bottom: 23px;
                }

            }
        }

        .card-product-price {
            font-size: var(--font-size-body-large);
            padding-top: 10px;
            opacity: 0;

            @starting-style {
                opacity: 0;
            }

            @media (width > 768px) {
                gap: 45px;
            }

            em {
                font-size: var(--font-size-body-small);
                text-align: left;
            }
        }

        .card-product-items {
            &:not(:last-child) {
                &:after {
                    transform: translateY(-12%);
                    right: -22px;
                }
            }
        }

        .product-controls {
            display: flex;
            gap: 24px;
            align-items: center;
            padding-top: 20px;
            opacity: 0;

            @starting-style {
                opacity: 0;
            }

            @media (768px < width < 1024px) {
                flex-direction: column;
            }

            @media (width < 480px) {
                flex-direction: column;
                align-items: start;
            }
        }

        .product-review {
            padding-block-start: 14px;
            display: flex;
            justify-content: end;
            max-width: 405px;
            opacity: 0;

            @media (width < 480px) {
                justify-content: start;
            }

            @starting-style {
                opacity: 0;
            }

            .banner-camping {
                margin-block: 0;
            }
        }

        .product-cta {
            display: flex;
            padding-block-start: 86px;


            @media (width < 480px) {
                padding-block-start: 40px;
                flex-direction: column;
            }

            @media (768px < width < 1024px) {
                flex-direction: column;
            }

            .product-cta-item {
                padding: 18px 18px 18px 18px;
                background-color: var(--color-white-500);
                display: flex;
                gap: 20px;
                flex: 1 1 50%;
                position: relative;
                opacity: 0;

                @starting-style {
                    opacity: 0;
                }

                &:not(:last-child) {
                    &:after {
                        content: '';
                        height: 100%;
                        width: 1px;
                        background: rgba(0, 0, 0, 0.10);
                        position: absolute;
                        top: 0;
                        right: 2px;
                        bottom: 0;

                        @media (width < 480px) {
                            right: 0;
                            top: unset;
                            left: 0;
                            bottom: 0;
                            width: 100%;
                            height: 1px;
                        }

                        @media (768px < width < 1024px) {
                            right: 0;
                            top: unset;
                            left: 0;
                            bottom: 0;
                            width: 100%;
                            height: 1px;
                        }
                    }
                }

                picture {
                    flex: 0 0 auto;
                }

                strong {
                    color: var(--color-black-500);
                    font-size: var(--font-size-body-small);
                    font-weight: 900;
                    line-height: 1.2;
                    margin-top: -2px;
                    display: block;
                }


                .product-cta-item-text {
                    display: flex;
                    flex-direction: column;
                    justify-content: space-between;

                    a {
                        color: var(--color-black-500);
                        font-size: var(--font-size-body-small);
                        font-weight: 400;
                        line-height: 1.2;
                        transition: var(--transition);
                        position: relative;
                        top: -5px;

                        &:hover, &:focus {
                            color: var(--color-orange-500);
                        }
                    }
                }
            }
        }
    }
}

.template-producten-detail {
    .profile {
        background-color: var(--color-yellow-500);
        margin-bottom: 0;
    }
}

.template-referenties {
    .faq {
        padding-top: 30px;
        @media (width > 1025px) {
            padding-top: 124px;
        }
    }
}

.template-referentie-detail {
    main {
        margin-top: -91px;
    }

    .profile {
        @media (width > 1025px) {
            margin-bottom: 147px;
        }
    }

    .content-with-video {
        @media (width > 1025px) {
            padding-top: 56px;
            padding-block-end: 124px;
        }
    }
}

.template-sanitairgebouwen {
    .banner {
        @media (width > 768px) {
            padding-bottom: 25px;
        }
    }

    .banner-list {
        @media (width > 1025px) {
            margin-bottom: -3px;
        }
    }

    .stabs {
        @media (width > 1025px) {
            padding-block-end: 141px;
        }
    }

    .profile {
        background-color: var(--color-yellow-500);
    }

    .title-with-content {
        @media (width > 1025px) {
            padding-block-start: 105px;
        }

        .title-with-content-holder {
            border-bottom: unset;
        }
    }
}

.product-input {
    display: flex;
    align-items: center;
    background-color: var(--color-white-500);
    border-radius: 70px;
    max-width: 110px;
    width: 100%;
    flex: 0 0 auto;
    padding-inline: 10px;
    padding-block: 8px;

    button {
        display: flex;
        justify-content: center;
        align-items: center;
        background: unset;
        border: unset;
        width: 20px;
        height: 20px;
        cursor: pointer;
    }

    input {
        height: auto;
        min-height: auto;
        font-family: var(--font-family-area-normal);
        font-size: var(--font-size-body-large);
        color: var(--color-black-500);
        border: unset;
        width: auto;
        text-align: center;
        background: unset;
        min-inline-size: 0;
        padding: 0;

        &::-webkit-outer-spin-button,
        &::-webkit-inner-spin-button {
            -webkit-appearance: none;
            margin: 0;
        }
    }
}

.product-cta-bar {
    background-color: var(--color-white-500);
    padding-block: 14px;
    position: fixed;
    bottom: 0;
    z-index: 2;
    width: 100%;
    transform: translateY(100%);
    transition: var(--transition);

    @media (width < 768px) {
        display: none;
    }

    &.view {
        transform: translateY(0);
    }

    .container-large {
        display: flex;
        justify-content: space-between;
    }

    .product-info {
        display: flex;
        gap: 16px;
        align-items: center;

        span {
            color: var(--color-orange-500);
            font-size: var(--font-size-body-extra-small);
            font-weight: 500;
            text-transform: uppercase;
            line-height: 1;
        }

        h2 {
            font-weight: 800;
            font-family: var(--font-family-area-normal);
            margin-bottom: 0;
            line-height: 1.5;
            margin-top: 4px;
        }


        .text {
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

    }

    .product-controls {
        display: flex;
        gap: 24px;
        align-items: center;

        .product-input {
            /*border-radius: 70px;*/
            border: 1px solid rgba(0, 0, 0, 0.10);
            /*background: #FFF;*/
        }
    }


}

.stabs {
    background-color: var(--color-yellow-500);
    padding-block: 103px 123px;

    @media (width < 768px) {
        padding-block: 40px;
    }

    .is-hidden {
        display: none;
    }

    .tablist {
        display: flex;
        padding-left: 80px;
        overflow: auto;

        @media (width < 768px) {
            padding-left: 40px;
        }

        @media (width < 480px ) {
            padding-left: 20px;
        }

        button {
            appearance: none;
            border: unset;
            background-color: var(--color-white-500);
            color: var(--color-black-500);
            font-size: var(--font-size-body-small);
            font-weight: 900;
            padding: 9px 25px 8px 25px;
            font-family: var(--font-family-area-normal);

            &[aria-selected="false"] {
                background-color: var(--color-yellow-500);
            }
        }
    }

    .tabpanel-content {
        background-color: var(--color-white-500);
        padding: 82px 80px 76px 80px;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;

        @media (width < 1024px) {
            padding: 40px;
        }

        @media (width < 768px) {
            padding: 24px;
        }

        &:has(.tabpanel-afmetingen) {
            @media (width > 1025px) {
                padding-right: 76px;
            }
        }

        .tabpanel-image {
            padding-left: 10px;
            background-size: cover;
            width: 100%;
            max-width: 500px;

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

        .tabpanel-info {
            max-width: 540px;
            width: 100%;

            > strong {
                text-transform: uppercase;
                font-size: var(--font-size-body);
                font-weight: 900;
                margin-bottom: 12px;
                display: block;
                line-height: 1;
            }

            ul {
                list-style: none;

                + strong {
                    margin-top: 32px;
                }

                li {
                    display: flex;
                    padding-block: 10px 9px;
                    border-bottom: 1px solid var(--color-grey-500);

                    @media (width < 480px) {
                        flex-direction: column;
                    }

                    span {
                        min-width: 177px;
                        display: inline-block;
                        font-size: var(--font-size-body-small);
                        font-weight: 800;
                        color: var(--color-black-500);
                    }

                    p {
                        font-size: var(--font-size-body-small);
                        font-weight: 400;
                        color: var(--color-blue-500);
                        margin-bottom: 0;
                    }
                }
            }

            .tabpanel-cta {
                margin-top: 33px;
                background-color: var(--color-blue-500);
                display: flex;
                position: relative;
                max-width: 530px;

                .text {
                    padding: 32px 0px 32px 32px;

                    h2 {
                        color: var(--color-white-500);
                        font-weight: 300;
                    }

                    .button-transparent {
                        background-color: transparent;
                        border: 1px solid rgba(255, 255, 255, 0.10);
                        margin-top: 10px;
                    }
                }

                picture {
                    flex: 0 0 auto;
                    align-self: end;
                    position: absolute;
                    bottom: 0;
                    right: 0;
                }
            }

        }

        .tabpanel-afmetingen {
            display: flex;
            gap: 32px 24px;
            flex-wrap: wrap;

            .afmeting {
                display: flex;
                flex-direction: column;
                gap: 16px;
                @media (width < 480px) {
                    width: calc(50% - 16px);
                }


                strong {
                    color: var(--color-black-500);
                    /* text-align: center; #ROO-112 */
                    font-family: var(--font-family-area-normal);
                    font-size: 1rem;
                    font-style: normal;
                    font-weight: 800;
                    line-height: 100%; /* 1rem */
                }

                .image {
                    position: relative;

                    .label {
                        background-color: var(--color-blue-500);
                        color: var(--color-white-500);
                        font-size: 0.75rem;
                        font-weight: 400;
                        line-height: 1;
                        padding: 8px 12px 6px 12px;
                        position: absolute;
                        top: 14px;
                        left: 14px;
                        z-index: 2;
                    }

                    .svg-container {
                        width: 164px;
                        height: 164px;
                        display: flex;
                        justify-content: center;
                        align-items: center;
                        background: rgba(45, 53, 60, 0.05);

                        @media (width < 480px) {
                            width: 107px;
                            height: 107px;
                        }
                    }

                    picture {
                        height: fit-content;
                        position: relative;
                        display: block;
                    }
                }
            }
        }

        .tabpanel-opties {
            display: grid;
            grid-template-columns: minmax(0, 502px) minmax(0, 502px);
            gap: 54px;
            justify-content: space-between;
            width: 100%;
            margin-top: 2px;

            @media (width < 480px) {
                grid-template-columns: 1fr;
                gap: 30px
            }

            .optie {
                display: flex;
                gap: 48px;
                flex-wrap: wrap;

                @media (width < 480px) {
                    gap: 15px;
                }

                picture {
                    flex: 0 0 auto;
                    max-width: 193px;

                    @media (width < 480px) {
                        flex: 1 1 auto;
                        img {
                            width: 100%;
                        }
                    }
                }

                .text {
                    max-width: 261px;

                    @media (max-width: 769px) {
                        max-width: unset;
                    }

                    strong {
                        color: var(--color-black-500);
                        font-family: var(--font-family-area-normal);
                        font-size: 1.125rem;
                        font-style: normal;
                        font-weight: 900;
                        display: block;
                        margin-bottom: 9px;
                        line-height: 1.388;
                        margin-top: 4px;
                    }

                    p {
                        color: var(--color-blue-500);
                        font-family: var(--font-family-area-normal);
                        font-size: 0.875rem;
                        font-style: normal;
                        font-weight: 400;
                        line-height: 1.5rem; /* 171.429% */
                    }
                }
            }
        }

        .tabpanel-certificaten {
            margin-top: 4px;
            width: 100%;

            > strong {
                color: var(--color-black-500);
                font-family: var(--font-family-area-normal);
                font-size: 1.125rem;
                font-style: normal;
                font-weight: 800;
                display: block;
                margin-bottom: 26px;
                line-height: 1.388;
                /*margin-top: 4px;*/
            }

            .certificates {
                display: flex;
                gap: 16px;
                flex-wrap: wrap;
                margin-bottom: 50px;
            }

            .certificate {
                max-width: 263px;
                border: 1px solid var(--color-grey-500);
                background: var(--color-white-500);
                padding: 25px 24px 24px 23px;

                @media (width < 768px) {
                    max-width: unset;
                }

                strong {
                    color: var(--color-black-500);
                    font-weight: 800;
                    font-size: 1rem;
                    font-family: var(--font-family-area-normal);
                    display: block;
                    margin-bottom: 9px;
                }

                p {
                    color: var(--color-blue-500);
                    font-family: var(--font-family-area-normal);
                    font-size: 0.875rem;
                    line-height: 1.5rem; /* 171.429% */
                    margin-bottom: 32px;
                }
            }

            .keurmerken {
                display: flex;
                justify-content: space-between;
                gap: 20px;
                flex-wrap: wrap;
                max-width: 968px;
            }

            .keurmerk {
                display: flex;
                gap: 48px;
                max-width: 430px;

                @media (width < 480px) {
                    gap: 20px;
                    flex-wrap: wrap;
                }

                picture {
                    flex: 0 0 auto;
                }

                .text {
                    margin-top: 9px;
                }

                strong {
                    color: var(--color-black-500);
                    font-weight: 800;
                    font-size: 1.125rem;
                    font-family: var(--font-family-area-normal);
                    display: block;
                    margin-bottom: 9px;
                }

                p {
                    color: var(--color-blue-500);
                    font-family: var(--font-family-area-normal);
                    font-size: 0.875rem;
                    line-height: 1.5rem; /* 171.429% */
                    margin-bottom: 32px;
                }
            }
        }
    }
}

.title-with-content {
    padding-block: 124px 50px;

    @media (width < 768px) {
        padding-block: 40px;
    }

    .title-with-content-holder {
        display: flex;
        justify-content: space-between;
        gap: 20px;
        flex-wrap: wrap;
        padding-block-end: 80px;
        border-bottom: 1px solid var(--color-grey-500);

        @media (width < 480px) {
            padding-block-end: 0;
        }

        .title {
            max-width: 450px;
            width: 100%;
            min-width: 200px;
            flex: 1;

            h2 {
                color: var(--color-orange-500);
                font-family: var(--font-family-nohemi);
                font-weight: 300;
                line-height: 120%; /* 3rem */
            }
        }

        .content {
            max-width: 539px;
            min-width: 300px;
            width: 100%;
            margin-top: -5px;

            .rte {

                h3 {
                    margin-bottom: 10px;
                }

                p {
                    font-size: var(--font-size-body-small);
                    margin-block-end: 25px;
                }
            }

            .image {
                margin-block: 61px 55px;
                @media (width < 768px) {
                    margin-block: 30px;
                }
            }

            .content-cta {
                background-color: var(--color-blue-500);
                margin-block: 61px 0;
                display: flex;
                padding: 31px 30px 24px 30px;

                @media (width < 480px) {
                    flex-direction: column;
                    gap: 20px;
                    padding: 20px;
                    margin-block-start: 30px;
                }

                .content-cta-image {
                    flex: 0 0 auto
                }

                .content-cta-text {
                    padding: 8px 10px 10px 30px;
                    @media (width < 480px) {
                        padding-left: 0;
                    }

                }

                h3 {
                    color: var(--color-white-500);
                    font-family: var(--font-family-area-normal);
                    font-size: 1.125rem;
                    font-style: normal;
                    font-weight: 800;
                    line-height: 145%; /* 1.63125rem */
                    margin-bottom: 18px;
                }

                .buttons {
                    display: flex;
                    gap: 5px;
                    flex-wrap: wrap;
                    justify-content: space-between;
                    max-width: 309px;

                    .button {
                        padding-inline: 0;

                        &:not(:last-child) {
                            &:after {
                                content: "";
                                display: block;
                                width: 1px;
                                height: 18px;
                                background-color: rgba(255, 255, 255, 0.10);
                                right: -15px;
                                position: absolute;

                                @media (width < 390px) {
                                    display: none
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

.content-with-video {
    padding-block: 30px 122px;

    @media (width < 768px) {
        padding-block: 40px;
    }

    .title {
        max-width: 620px;
        text-align: center;
        margin-inline: auto;

        h2 {
            line-height: 1.2;
            font-weight: 300;
        }
    }

    .content-with-video-container {
        display: flex;
        justify-content: space-between;
        gap: 20px;
        flex-wrap: wrap;
        margin-top: 68px;

        @media (width < 768px) {
            margin-top: 0;
        }

        .content-with-video-image {
            flex: 0 0 auto;
            position: relative;

            @media (width < 768px) {
                flex: 1 1 auto;
            }

            picture {
            }

            .button {
                position: absolute;
                bottom: 24px;
                left: 50%;
                transform: translateX(-52%);
                padding: 11px 20px 12px 25px;
                min-height: auto;

                svg {
                    margin-right: 19px;
                }

                &:hover svg {
                    transform: rotate(0);
                }
            }
        }

        .content {
            max-width: 540px;
            display: flex;
            justify-content: center;
            flex-direction: column;

            p {
                font-size: 1.125rem;
                color: var(--color-black-500);
                font-family: var(--font-family-area-normal);
                font-style: normal;
                font-weight: 600;
                line-height: 2rem; /* 177.778% */

                @media (width < 768px) {
                    font-size: 1rem;
                }
            }

            .quote-holder {
                margin-top: 55px;
                display: flex;
                gap: 13px;

                @media (width < 768px) {
                    margin-top: 20px;
                }

                picture {
                    flex: 0 0 auto;
                }

                strong {
                    display: block;
                    color: var(--color-black-500);
                    font-family: var(--font-family-area-normal);
                    font-size: 1rem;
                    font-style: normal;
                    font-weight: 900;
                    line-height: 1.625rem; /* 162.5% */
                }

                span {
                    color: var(--color-black-500);
                    font-family: var(--font-family-area-normal);
                    font-size: 0.8125rem;
                    font-style: normal;
                }


            }
        }
    }

    &:has(:not(.title)) {
        p {
            margin-bottom: 0;
        }
    }
}

.title-with-form {
    background-color: var(--color-yellow-500);
    padding-block: 124px 124px;

    @media (width < 768px) {
        padding-block: 40px;
    }

    .container {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;

        .left-side {
            max-width: 360px;

            h2 {
                font-size: 3.0625rem;
                font-weight: 300;
                line-height: 1.2;

                @media (width < 768px) {
                    font-size: 2.25rem;
                }
            }
        }

        .right-side {
            max-width: 630px;
        }

        form {
            background: var(--color-white-500);
            padding: 52px 54px 54px 54px;

            @media (width < 768px) {
                padding: 30px 20px;
                margin-top: 30px;
            }

            h3 {
                font-size: 1.125rem;
                font-weight: 800;
                margin-bottom: 13px;
                font-family: var(--font-family-area-normal);

                &:has(+ .form-fields) {
                    margin-bottom: 44px;
                }
            }

            p {

                font-size: var(--font-size-body-small);
                font-style: normal;
                font-weight: 400;
                margin-bottom: 31px;
            }

            .number-input-row {
                display: flex;
                justify-content: space-between;
                align-items: center;
                padding-bottom: 12px;
                border-bottom: 1px solid rgba(0, 0, 0, 0.1);
                margin-bottom: -12px;

                &:has(+ h3) {
                    margin-bottom: 29px;
                    border: unset;
                }

                .info {
                    display: flex;
                    align-items: center;
                    gap: 14px;

                    .icon {
                        width: 32px;
                        height: 32px;
                        background-color: var(--color-yellow-500);
                        border-radius: 30px;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                    }
                }

                label {
                    font-family: var(--font-family-area-normal);
                    font-size: 0.875rem;
                    font-style: normal;
                    font-weight: 400;
                }
            }

            .buttons {
                display: flex;
                justify-content: end;
                margin-top: 32px;
            }
        }
    }
}


.referenties-overview {
    background-color: var(--color-yellow-500);
    padding-block: 150px 124px;
    margin-top: -90px;

    @media (width < 768px) {
        padding-block: 110px 40px;
    }

    .title-filter {
        display: flex;
        justify-content: space-between;
        gap: 20px;
        flex-wrap: wrap;

        .breadcrumbs {
            margin-bottom: 5px;
        }

        h1 {
            font-size: 3.0625rem;
            font-weight: 300;
            line-height: 1.2;
            max-width: 630px;
            margin-bottom: 0;

            @media (width < 768px) {
                font-size: 2.25rem;
            }
        }

        .filter {
            display: flex;
            align-items: end;
            margin-bottom: 35px;
            margin-right: 12px;

            @media (width < 768px) {
                margin-right: 0;
            }
        }

        .filter-option {
            display: flex;
            align-items: center;

            ul {
                list-style: none;
                margin-left: 24px;
                display: flex;
                gap: 20px;
                flex-wrap: wrap;

                li {
                    label {
                        display: flex;
                        font-size: 0.875rem;
                        line-height: 1;
                        padding-left: 33px;
                        position: relative;
                        cursor: pointer;

                        &:before {
                            content: '';
                            position: absolute;
                            width: 21px;
                            height: 21px;
                            /*border-radius: 4px;*/
                            background-color: var(--color-white-500);
                            left: 0;
                            transition: var(--transition);
                            top: -2px;
                        }

                        &:after {
                            content: '';
                            position: absolute;
                            width: 11px;
                            height: 8px;
                            background-image: url('../images/icon-check-white.svg');
                            background-repeat: no-repeat;
                            left: 5px;
                            top: 5px;
                            opacity: 0;
                            transition: var(--transition);
                        }

                        &:has(input:checked) {
                            &:before {
                                background-color: var(--color-orange-500);
                            }

                            &:after {
                                opacity: 1;
                            }
                        }

                        input {
                            width: 0;
                            height: 0;
                            opacity: 0;
                            position: absolute;
                            left: -100vw;
                            top: -200vh;
                        }


                    }
                }
            }

            strong {
                font-weight: 800;
                font-size: 0.875rem;
            }
        }

    }

    .overview {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 32px 32px;
        margin-top: 52px;

        @media (width < 768px) {
            margin-top: 0;
            grid-template-columns: 1fr 1fr;
        }

        @media (width < 480px) {
            grid-template-columns: 1fr;
        }
    }

}

.reference-item {
    display: flex;
    flex-direction: column;
    cursor: pointer;
    text-decoration: none;

    .image {
        position: relative;
        flex: 0 0 auto;

        @media (width < 768px) {
            flex: 1 1 auto;
        }

        .label {
            position: absolute;
            top: 16px;
            left: 16px;
            background-color: var(--color-orange-500);
            color: var(--color-white-500);
            padding: 8px 12px 8px 12px;
            font-size: var(--font-size-body-extra-small);
            font-weight: 400;
            line-height: 1;
        }

        .play-icon {
            position: absolute;
            bottom: 10px;
            right: 15px;
        }
    }

    .reference-item-content {
        display: flex;
        flex-direction: column;
        flex: 1;
        background-color: var(--color-white-500);
        color: var(--color-blue-500);

        .text {
            flex: 1;
            padding: 22px 24px 20px 24px;
            border-bottom: 1px solid var(--color-grey-500);

            > span {
                display: flex;
                font-size: var(--font-size-body);
                font-weight: 300;
                line-height: 1;
                align-items: center;
                gap: 10px;
            }

            h2 {
                margin-bottom: 0;
            }
        }

        .buttons {
            padding: 13px 24px 14px 24px;

            .angle-down {
                gap: 8px;
            }

            .button {
                min-height: auto;
            }
        }

        h2 {
            font-size: 1.3125rem;
            font-style: normal;
            font-weight: 800;
            line-height: 130%; /* 1.70625rem */
            margin-bottom: 20px;
            margin-top: 6px;
            font-family: var(--font-family-area-normal);
        }

        p {
            font-size: var(--font-size-body-small);
            line-height: 1.71;
        }
    }

    &.large {
        flex-direction: row;
        grid-column: span 2;

        @media (width < 480px) {
            grid-column: 1;
            flex-direction: column;
        }

        @media (768px < width < 1024px) {
            .image {
                max-width: 50%;
            }
        }

        .image {

            .label {
                top: 30px;
                left: 32px;
            }

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

        .reference-item-content {
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            padding: 42px 40px 40px 40px;
            min-width: 0;
            flex: 1;

            @media (width < 768px) {
                padding: 24px;
            }

            .text {
                padding: 0;
                border: unset;

                h2 {
                    margin-bottom: 20px;
                }
            }

            .buttons {
                padding: 0;

                .angle-down {
                    gap: 0;
                }

                .button {
                    min-height: 52px;
                }
            }
        }
    }

}

.video-header {
    position: relative;
    width: 100%;
    overflow: hidden;
    height: 100dvh;
    max-height: 550px;

    .clipped {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%) scale(1);
        transform-origin: center center;
        width: 100vw;
        height: 100dvh;
        overflow: hidden;

        iframe {
            position: absolute;
            top: 50%;
            left: 50%;
            width: 177.78vh;
            height: 100vh;
            min-width: 100vw;
            min-height: 56.25vw;
            transform: translate(-50%, -50%);
            border: 0;
            pointer-events: none;
        }
    }

    a {
        border-radius: 50px;
        padding: 8px 20px;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        backdrop-filter: blur(1.5px);
        background-color: rgba(45, 53, 60, 0.80);
        color: var(--color-white-500);
        font-size: var(--font-size-body-small);
        font-weight: 400;
        text-decoration: none;
        position: absolute;
        left: 50%;
        bottom: 48px;
        transform: translateX(-50%);
        line-height: 1;
    }
}

.referentie-intro {
    padding-block: 60px 124px;

    @media (width < 768px) {
        padding-block: 40px;
    }

    .title-info {
        display: flex;
        justify-content: space-between;
        gap: 20px;
        flex-wrap: wrap;

        h1 {
            font-size: 3.0625rem;
            font-weight: 300;
            line-height: 1.2;
            margin-top: 27px;

            @media (width < 768px) {
                font-size: 2.25rem;
                margin-bottom: 0;
            }
        }

        .info {
            display: flex;
            flex-direction: column;
            align-items: end;

            @media (width < 768px) {
                align-items: start;
            }
        }

        .label {
            background-color: var(--color-orange-500);
            color: var(--color-white-500);
            padding: 8px 12px 8px 12px;
            font-size: var(--font-size-body-extra-small);
            font-weight: 400;
            line-height: 1;
            display: inline-block;
            margin-top: 8px;
        }

        .location span {
            display: flex;
            font-size: var(--font-size-body);
            font-weight: 300;
            line-height: 1;
            align-items: center;
            gap: 10px;
            margin-top: 29px;

            @media (width < 768px) {
                margin-top: 10px;
            }
        }
    }

    .content-container {
        display: flex;
        justify-content: space-between;
        gap: 20px;
        flex-wrap: wrap;
        margin-top: 45px;
        align-items: start;

        .reference-info {
            display: flex;
            max-width: 450px;
            width: 100%;
            justify-content: space-between;
            padding-block-end: 19px;
            border-bottom: 1px solid rgba(0, 0, 0, 0.10);

            @media (width < 768px) {
                gap: 20px;
            }
        }

        .map {
            position: relative;

            .marker {
                position: absolute;
            }
        }

        .contact-info {
            strong {
                font-size: var(--font-size-body-small);
                font-weight: 700;
                line-height: 1.71;
                margin-top: 22px;
                display: block;
                margin-bottom: 2px;
            }

            address {
                font-style: unset;
                font-size: var(--font-size-body-small);
                font-weight: 400;
                line-height: 1.71;
                margin-bottom: 12px;
            }

            a {
                color: #444;
                font-size: var(--font-size-body-small);
                text-decoration: underline;

                &:hover, &:focus {
                    color: var(--color-orange-500);
                }
            }
        }

        .reference-content {
            max-width: 539px;
            flex: 1;
            min-width: 300px;

            p {
                font-size: var(--font-size-body-small);
                margin-bottom: 23px;

                &:first-child {
                    font-weight: 700;
                }
            }

            h2, h3, h4 {
                color: var(--color-black-500);
                font-family: var(--font-family-area-normal);
                font-size: 1.125rem;
                font-style: normal;
                font-weight: 800;
                line-height: normal;
            }

            .button {
                margin-top: 20px;

                @media (width < 768px) {
                    margin-top: 0;
                }
            }
        }
    }
}

.reference-overview-small {
    background-color: var(--color-yellow-500);
    padding-block: 100px 100px;

    @media (width < 768px) {
        padding-block: 40px;
    }

    .container-large {

        .title-with-button {
            display: flex;
            justify-content: space-between;
            gap: 20px;
            align-items: center;
            flex-wrap: wrap;

            h2 {
                font-weight: 300;
                margin-bottom: 0;
            }
        }
    }

    .reference-overview {
        display: flex;
        flex-wrap: wrap;
        gap: 32px;
        padding-block-start: 46px;

        @media (width < 768px) {
            padding-block-start: 30px;
        }

        .reference-item {
            max-width: calc(399px - 1px);

            @media (768px < width < 1024px) {
                max-width: calc(250px - 1px);
            }
        }
    }

    &:has(+ .cta) {
        margin-bottom: 40px;
        @media (width > 1025px) {
            margin-bottom: 128px;
        }
    }
}

.offerte-aanvraag {
    background-color: var(--color-yellow-500);
    padding-block: 149px 100px;
    margin-top: -90px;

    @media (width < 768px) {
        padding-block: 110px 40px;
    }

    .breadcrumbs {
        margin-bottom: 8px;
    }

    .container-large {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
        justify-content: space-between;

        .right-side {
            max-width: 630px;
            min-width: 300px;
            background-color: var(--color-white-500);
            padding: 54px 54px 54px 54px;

            @media (width < 767px) {
                padding: 20px;
            }

            h2 {
                font-family: var(--font-family-area-normal);
                font-size: 1.125rem;
                font-style: normal;
                font-weight: 700;
                line-height: 140%; /* 1.575rem */
                margin-bottom: 40px;
            }

            .buttons {
                display: flex;
                justify-content: end;
                margin-top: 32px;
            }
        }

        .left-side {
            min-width: 300px;
            flex: 1;
            max-width: 540px;

            p {
                font-size: var(--font-size-body-small);
            }


            h2 {
                font-family: var(--font-family-area-normal);
                font-size: 1.125rem;
                font-style: normal;
                font-weight: 800;
                line-height: 1.5;
            }

            .product-list {
                margin-top: 30px;

                @media (width > 1025px) {
                    margin-top: 55px;
                }

                ul {
                    list-style: none;
                    padding-bottom: 40px;
                    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
                    margin-bottom: 40px;

                    li {
                        &:not(:last-child) {
                            margin-bottom: 24px;
                        }
                    }

                    .card-product {
                        padding: 0;
                        display: flex;
                        background-color: var(--color-white-500);
                        max-width: unset;

                        .card-product-picture {
                            margin-bottom: 0;
                        }

                        .card-product-tag {
                            right: unset;
                            left: 10px;
                            top: 10px;

                            div {
                                width: 25px;
                                height: 25px;
                                padding: 2px;

                                &:not(:last-child) {
                                    margin-right: 7.5px;
                                }
                            }
                        }

                        .card-product-info {
                            padding: 16px 24px 16px 24px;
                            flex: 1;
                            position: relative;
                        }

                        .card-product-title {
                            font-size: 1.125rem;
                            font-style: normal;
                            font-weight: 700;
                            line-height: 1.625rem; /* 144.444% */
                            font-family: var(--font-family-area-normal);
                            margin-bottom: 9px;
                        }

                        .card-product-cm {
                            margin-bottom: 27px;
                        }

                        .card-product-bottom {
                            .product-input {
                                border: 1px solid rgba(0, 0, 0, 0.10);
                                max-width: 83px;
                                padding-inline: 5px;
                                padding-block: 6px;

                                input {
                                    font-size: var(--font-size-body);
                                }
                            }
                        }

                        .card-product-right {
                            position: absolute;
                            top: 16px;
                            right: 16px;

                            @media (width < 768px) {
                                top: unset;
                                bottom: 16px;
                            }

                            button {
                                appearance: none;
                                background-color: transparent;
                                border: none;
                            }
                        }
                    }
                }
            }

            .card-help {

                .card-help-picture {
                    width: 135px;
                }

                .card-help-detail {
                    padding-top: 7px;

                }

                .card-help-label {
                    font-size: 1.125rem;
                    font-style: normal;
                    font-weight: 800;
                    line-height: 1.2;
                    margin-bottom: 27px;
                }
            }

            .card-help-info {
                padding-bottom: 0;
                margin-bottom: 0;
                border-bottom: unset;

                @media (width < 480px) {
                    flex-direction: column;
                    margin-top: 15px;
                }
            }

            &:has(.product-list ul:empty) {
                .no-products {
                    display: flex;
                }
            }

            .no-products {
                display: none;
                background-color: var(--color-white-500);
                padding-block: 24px;
                align-items: center;
                justify-content: center;

                .no-products-container {
                    max-width: 425px;
                    display: flex;
                    flex-direction: column;
                    text-align: center;
                    align-items: center;
                    gap: 12px;
                }
            }
        }
    }

    &:has(+ .faq) {
        + .faq {
            padding-top: 122px;
            margin-bottom: 158px;

            @media (width < 767px) {
                padding-top: 40px;
                margin-bottom: 40px;
            }
        }
    }
}

.magazine-aanvragen {
    background-color: var(--color-yellow-500);
    padding-block: 150px 100px;
    margin-top: -90px;
    background-image: url('../images/icon-plus-magazine-aanvragen-alt2.png');
    background-size: inherit;
    background-position: bottom left;
    background-repeat: no-repeat;

    @media (width < 768px) {
        padding-block: 110px 40px;
    }

    .breadcrumbs {
        margin-bottom: 6px;
    }

    .container-large {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
        justify-content: space-between;
        align-items: start;


        .left-side {
            min-width: 300px;
            flex: 1;
            max-width: 540px;

            p {
                font-size: var(--font-size-body-small);
                margin-bottom: 34px;

                @media (width < 768px) {
                    margin-bottom: 24px;
                }
            }

            p + ul {
                list-style: none;
                max-width: 300px;

                li {
                    position: relative;
                    padding-left: 24px;
                    font-size: var(--font-size-body-small);
                    font-style: normal;
                    font-weight: 400;
                    line-height: 1.71;
                    color: var(--color-black-500);

                    &:not(:last-child) {
                        margin-bottom: 8px;
                    }

                    &:before {
                        content: '';
                        position: absolute;
                        width: 10px;
                        height: 10px;
                        background-image: url('../images/icon-plus-brown.svg');
                        left: 0;
                        top: 8px;
                    }
                }
            }

            .image-container {
                position: relative;
                top: -33px;
                left: -89px;

                @media (width < 1024px) {
                    top: 0;
                    left: 0;
                }

                img {
                    max-width: unset;

                    @media (width < 1024px) {
                        max-width: 100%;
                    }

                    @media (width < 768px) {
                        display: none;
                    }
                }
            }

        }

        .right-side {
            max-width: 630px;
            min-width: 300px;
            background-color: var(--color-white-500);
            padding: 52px 54px 54px 54px;

            @media (width < 767px) {
                padding: 20px;
            }

            h2 {
                font-size: 1.125rem;
                font-style: normal;
                font-weight: 700;
                line-height: 140%;
                font-family: var(--font-family-area-normal);
            }

            .buttons {
                display: flex;
                justify-content: end;
                margin-top: 32px;
            }

            .magazine-radio-buttons {
                margin-bottom: 32px;
                margin-top: 33px;

                picture {
                    display: block;
                    margin-bottom: 12px;
                }

                + h2 {
                    margin-bottom: 29px;
                }
            }

            .magazine-radio {
                position: relative;
                cursor: pointer;

                &:last-child {
                    &:before {
                        content: '';
                        width: 1px;
                        height: 100%;
                        background-color: var(--color-grey-500);
                        display: block;
                        position: absolute;
                        left: -32px;

                        @media (width > 768px) {
                            left: -32px;
                            max-height: 205px;
                            top: 15px;
                        }

                        @media (width < 480px) {
                            display: none;
                            left: unset;
                            top: 0;
                            width: 100%;
                            height: 1px;
                        }
                    }

                    @media (width > 1025px) {
                        left: 20px;
                    }
                }

                label {
                    font-size: var(--font-size-body);
                    font-weight: 500;
                    line-height: 1.2;
                    padding-left: 35px;
                }
            }
        }
    }
}

.veelgestelde-vragen {
    background-color: var(--color-yellow-500);
    padding-block: 150px 124px;
    margin-top: -90px;

    @media (width < 767px) {
        padding-block: 110px 40px;
    }

    .breadcrumbs {
        margin-bottom: 6px;
    }

    .container-large {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
        justify-content: space-between;
        align-items: start;
    }

    .left-side {
        min-width: 300px;
        flex: 1;
        max-width: 540px;
        position: sticky;
        top: 100px;

        @media (width < 1024px) {
            position: unset;
        }

        p {
            font-size: var(--font-size-body-small);

            @starting-style {
                opacity: 0;
            }
        }

        .card-help {
            margin-top: 58px;
            max-width: 361px;

            @media (width < 768px) {
                margin-top: 30px;
            }
        }

        .card-help-info {
            @media (width > 768px) {
                margin-bottom: 24px;
            }
        }
    }

    .right-side {
        max-width: 630px;
        min-width: 300px;
        width: 100%;

        @media (width < 768px) {
            margin-top: 30px;
        }

        .card-accordion {

            h2 {
                @media (width > 1025px) {
                    margin-bottom: 24px;
                }
            }

            .card-accordion-item {
                background-color: var(--color-white-500);
            }

            + .card-accordion {
                margin-top: 56px;

                @media (width < 767px) {
                    margin-top: 30px;
                }
            }
        }

        .card-accordion-content {
            > * {
                max-width: 540px;
                width: 100%;
            }

            p {
                line-height: 1.71;

                &:first-child {
                    padding-top: 2px;
                }

                &:last-child {
                    margin-bottom: 20px;
                }
            }
        }
    }
}

.blog-overview {
    background-color: var(--color-yellow-500);
    padding-block: 149px 101px;
    margin-top: -90px;
    position: relative;

    @media (width < 768px) {
        padding-block: 110px 40px;
    }

    &:has(+ .cta) {
        + .cta {
            padding-top: 124px;

            @media (width < 768px) {
                padding-top: 60px;
            }
        }
    }

    h1 {
        margin-top: -6px;
        max-width: 700px;
        line-height: 1.2;
        font-size: 3.0625rem;
        font-weight: 300;
        letter-spacing: 0.5px;

        @media (width < 768px) {
            font-size: 2.25rem;
        }
    }

    .title {
        margin-bottom: 54px;

        @media (width < 768px) {
            margin-bottom: 20px;
        }
    }

    .blog-overview-container {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 20px;

        .pagination {
            display: none;
        }

        .filter-sidebar {
            max-width: 330px;
            width: 100%;

            @media (768px < width < 1024px) {
                max-width: 220px;
            }

            strong {
                font-size: 1.125rem;
                color: var(--color-black-500);
                font-weight: 700;
            }

            .filter-option {
                &:not(:last-child) {
                    padding-bottom: 30px;
                }
            }

            ul:not(.function-list) {
                list-style: none;
                margin-top: 19px;

                @media (width < 768px) {
                    display: flex;
                    flex-wrap: wrap;
                    gap: 0 20px;
                }

                li {
                    label {
                        display: flex;
                        font-size: var(--font-size-body-small);
                        line-height: 1;
                        padding-left: 33px;
                        position: relative;
                        padding-bottom: 27px;

                        &:before {
                            content: '';
                            position: absolute;
                            width: 21px;
                            height: 21px;
                            border-radius: 4px;
                            background-color: var(--color-white-500);
                            left: 0;
                            transition: var(--transition);
                            top: -2px;
                        }

                        &:after {
                            content: '';
                            position: absolute;
                            width: 11px;
                            height: 8px;
                            background-image: url('../images/icon-check-white.svg');
                            background-repeat: no-repeat;
                            left: 5px;
                            top: 5px;
                            opacity: 0;
                            transition: var(--transition);
                        }

                        &:has(input:checked) {
                            &:before {
                                background-color: var(--color-orange-500);
                            }

                            &:after {
                                opacity: 1;
                            }
                        }

                        input {
                            width: 0;
                            height: 0;
                            opacity: 0;
                            position: absolute;
                            left: -100vw;
                            top: -200vh;
                        }


                    }
                }
            }

            .function-list {
                list-style: none;
                margin-top: 18px;

                display: grid;
                grid-template-columns: repeat(2, fit-content(50%));
                gap: 21px;
                justify-content: space-between;

                li {
                    label {
                        display: flex;
                        font-size: var(--font-size-body-small);
                        line-height: 1;
                        gap: 14px;
                        align-items: center;


                        input {
                            width: 0;
                            height: 0;
                            opacity: 0;
                            position: absolute;
                            left: -100vw;
                            top: -200vh;
                        }


                        svg {
                            rect {
                                stroke: white;
                            }
                        }

                        &:has(input:checked) {
                            svg {
                                rect {
                                    stroke: var(--color-orange-500)
                                }

                                path {
                                    fill: var(--color-orange-500)
                                }
                            }
                        }

                    }
                }
            }
        }

        .filter-sidebar-items {
            position: sticky;
            top: 100px;
        }

        /*.blog-overview-items {
            flex: 1;
            min-width: 400px;
            max-width: 830px;
            padding-top: 5px;

            @media(width < 768px) {
                min-width: 100%;

                .blog-item {
                    width: 100%;

                    > img {
                        width: 100%;
                    }
                }
            }

            > div {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 33px 32px;

                @media(width < 768px) {
                    grid-template-columns: 1fr;
                    min-width: 100%;
                }
            }

            > .buttons {
                grid-column: span 2;
                display: flex;
                justify-content: center;
                margin-top: 29px;

                @media(width < 768px) {
                    grid-column: 1;
                }

                .button {
                    border: 1px solid rgba(0, 0, 0, 0.10);

                    .button-text {
                        color: var(--color-blue-500);
                    }
                }
            }
        }*/


        #pdopage {
            flex: 1;
            min-width: 400px;
            max-width: 830px;
            padding-top: 5px;

            @media (width < 768px) {
                min-width: 100%;

                .blog-item {
                    width: 100%;

                    > img {
                        width: 100%;
                    }
                }
            }

            > .blog-overview-items {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 33px 32px;

                @media (width < 768px) {
                    grid-template-columns: 1fr;
                    min-width: 100%;
                }

                .blog-item {
                    opacity: 0;
                    @starting-style {
                        opacity: 0;
                    }
                }
            }

            > .buttons {
                grid-column: span 2;
                display: flex;
                justify-content: center;
                margin-top: 29px;

                @media (width < 768px) {
                    grid-column: 1;
                }

                .button {
                    border: 1px solid rgba(0, 0, 0, 0.10);

                    .button-text {
                        color: var(--color-blue-500);
                    }
                }
            }
        }

    }
}

.blog-item {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;

    .image {
        position: relative;
        flex: 0 0 auto;
        overflow: hidden;

        @media (width < 768px) {
            flex: 1 1 auto;
        }

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

        .label {
            position: absolute;
            top: 14px;
            left: 14px;
            background-color: var(--color-orange-500);
            color: var(--color-white-500);
            padding: 8px 12px 8px 12px;
            font-size: var(--font-size-body-extra-small);
            font-weight: 400;
            line-height: 1;
        }

        .play {
            width: 40px;
            height: 40px;
            position: absolute;
            bottom: 16px;
            right: 16px;
        }
    }

    .blog-item-content {
        background-color: var(--color-white-500);
        flex: 1;
        display: flex;
        flex-direction: column;

        .text {
            padding: 17px 24px 23px 24px;
            border-bottom: 1px solid var(--color-grey-500);
            flex: 1;

            > span {
                display: flex;
                font-size: var(--font-size-body);
                font-weight: 300;
                line-height: 1;
                align-items: center;
                gap: 10px;
            }
        }

        .buttons {
            padding: 13px 24px 14px 24px;

            .angle-down {
                gap: 8px;
            }

            .button {
                min-height: auto;
            }
        }

        h2 {
            font-size: 1.25rem;
            font-style: normal;
            font-weight: 800;
            line-height: 150%; /* 1.70625rem */
            margin-bottom: 0;
            margin-top: 6px;
            font-family: var(--font-family-area-normal);
        }

        p {
            font-size: var(--font-size-body-small);
            line-height: 1.71;
            margin-top: 11px;
            display: inline-block;
            margin-bottom: 33px;
        }

        .author {
            display: flex;
            gap: 10px;

            picture {
                flex: 0 0 auto;
            }

            img {
                border-radius: 50%;
                border: 4px solid rgba(0, 0, 0, 0.05);
                width: 56px;
                position: relative;
                left: -4px;
                top: -4px;
            }

            strong {
                display: block;
                font-size: var(--font-size-body-small);
                font-weight: 800;
            }

            span {
                display: block;
                font-size: var(--font-size-body-extra-small);
                font-weight: 400;
                color: rgba(0, 0, 0, 0.60);
            }
        }
    }

}

.blog-detail-intro {
    background-color: var(--color-yellow-500);
    padding-block: 149px 0;
    margin-top: -90px;
    position: relative;

    @media (width < 768px) {
        padding-block: 120px 0;
    }

    .breadcrumbs {
        margin-bottom: 6px;
    }

    .title-container {
        display: flex;
        gap: 10px;
        justify-content: space-between;
        flex-wrap: wrap;

        .title {
            max-width: 810px;

            h1 {
                line-height: 1.2;
                margin-bottom: 0;
            }
        }
    }

    .back-btn {
        display: flex;
        justify-content: end;
        align-items: end;
        margin-bottom: 14px;

        .button {
            padding-right: 0;

            @media (width < 768px) {
                padding-left: 0;
            }
        }

        .button-text {
            font-size: 1rem;
            font-style: normal;
            font-weight: 400;
        }
    }

    .media-container {
        width: 100%;
        margin-top: 44px;
        position: relative;
        z-index: 2;

        @media (width < 768px) {
            margin-top: 10px;
        }

        iframe, video {
            aspect-ratio: 16/9;
        }
    }
}

.blog-detail-bar {
    background-color: var(--color-white-500);
    position: relative;
    margin-top: 0;
    padding-top: 0;

    &:before {
        content: '';
        width: 100%;
        height: 50px;
        background-color: var(--color-white-500);
        position: absolute;
        top: -77px;
        left: 0;
        right: 0;
    }

    .detail-bar {
        display: flex;
        gap: 20px;
        justify-content: space-between;
        margin-top: 32px;
        padding-bottom: 23px;
        border-bottom: 1px solid rgba(45, 53, 60, 0.10);
        flex-wrap: wrap;

        @media (width < 768px) {
            gap: 15px;
        }

        .author {
            display: flex;
            gap: 10px;

            picture {
                flex: 0 0 auto;
            }

            img {
                border-radius: 50%;
                border: 4px solid rgba(0, 0, 0, 0.05);
                width: 56px;
                position: relative;
                left: -4px;
                top: -4px;
            }

            strong {
                display: block;
                font-size: var(--font-size-body-small);
                font-weight: 800;
            }

            span {
                display: block;
                font-size: var(--font-size-body-extra-small);
                font-weight: 400;
                color: rgba(0, 0, 0, 0.60);
            }
        }


        .labels {
            display: flex;
            list-style: none;
            gap: 12px;
            align-items: baseline;
            margin-top: 7px;

            li {
                font-size: 0.75rem;
                font-style: normal;
                font-weight: 400;
                line-height: 100%; /* 0.75rem */
                color: var(--color-white-500);
                padding: 10px 12px 9px 12px;

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

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

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


.blog-content {
    padding-block: 60px 60px;

    @media (width < 768px) {
        padding-block: 30px 40px;
    }

    .container {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
        justify-content: space-between;
        align-items: start;

        @media (width < 620px) {
            flex-direction: column-reverse;
        }

        .content {
            min-width: 300px;
            flex: 1;
            max-width: 720px;

            p {
                font-size: var(--font-size-body-small);
            }

            h2 {
                font-size: clamp(var(--font-size-h6-mobile), 0.381vw + 1.157rem, var(--font-size-h6));
                margin-top: 43px;
                margin-bottom: 10px;
            }

            a {
                font-family: var(--font-family-area-normal);
                line-height: 1.7;
                color: var(--color-blue-500);
                font-size: var(--font-size-body-small);
            }

            li {
                margin-left: 21px;
                font-size: var(--font-size-body-small);
            }

            .media-container {
                display: block;
                margin-block: 62px 62px;
                position: relative;

                @media (width < 768px) {
                    margin-block: 30px;
                }

                a {
                    border-radius: 50px;
                    padding: 8px 20px;
                    display: inline-flex;
                    align-items: center;
                    gap: 8px;
                    backdrop-filter: blur(1.5px);
                    background-color: rgba(45, 53, 60, 0.80);
                    color: var(--color-white-500);
                    font-size: var(--font-size-body-small);
                    font-weight: 400;
                    text-decoration: none;
                    position: absolute;
                    left: 50%;
                    bottom: 26px;
                    transform: translateX(-50%);
                    line-height: 1;
                }
            }

            > *:last-child {
                margin-bottom: 0;
            }


        }

        .sidebar {
            min-width: 150px;
            max-width: 269px;
            position: sticky;
            top: 100px;

            @media (width < 620px) {
                position: unset;
            }

            h2 {
                font-family: var(--font-family-area-normal);
                font-size: 1.125rem;
                font-style: normal;
                font-weight: 800;
                line-height: 1.77;
                margin-bottom: 0;
            }

            ul {
                list-style: none;
                margin-top: 9px;

                li {
                    position: relative;
                    padding-left: 26px;

                    &:before {
                        content: '';
                        width: 1px;
                        height: 22px;
                        background-color: rgba(0, 0, 0, 0.1);
                        position: absolute;
                        left: 0;
                        top: 7px;
                        display: block;
                        transition: var(--transition);
                    }

                    &:not(:last-child) {
                        margin-bottom: 10px;
                    }

                    &.active {
                        a {
                            color: var(--color-black-500);
                        }

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

                    a {
                        color: var(--color-blue-500);
                        font-size: var(--font-size-body-small);
                        font-weight: 500;
                        line-height: 1.3;
                        text-decoration: unset;
                        transition: var(--transition);
                    }
                }
            }
        }
    }
}

section.blog-detail-navbar {
    padding-block: 40px 40px;

    @media (width < 768px) {
        padding-top: 0;
    }

    .container {
        nav {
            ul {
                list-style: none;
                display: flex;
                gap: 0;
                justify-content: space-between;
                align-items: baseline;

                @media (width < 768px) {
                //flex-direction: column;
                }

                li {
                    min-width: 300px;
                    flex: 1;

                    @media (width < 768px) {
                        width: 100%;
                        min-width: unset;
                        flex: 1;
                    }

                    &:first-child {
                        a {
                            padding-left: 45px;
                        }
                    }

                    &:last-child {
                        a {
                            border-left: 0;
                            text-align: left;
                            padding-right: 45px;
                            padding-left: 24px;

                            @media (width < 768px) {
                                /*border-left: 1px solid rgba(0,0,0,0.1);*/
                                /*border-top: unset;*/
                                padding: 20px;
                            }

                            &:before {
                                left: unset;
                                right: 32px;
                                transform: rotate(180deg) translateY(50%);
                            }
                        }
                    }

                    a {
                        display: block;
                        border: 1px solid rgba(0, 0, 0, 0.10);
                        padding: 20px 24px 28px 24px;
                        text-align: right;
                        text-decoration: unset;
                        position: relative;

                        @media (width < 768px) {
                            padding: 20px;
                        }

                        &:before {
                            content: '';
                            background-image: url('../images/icon-angle-left-brown.svg');
                            width: 8px;
                            height: 13px;
                            background-repeat: no-repeat;
                            background-size: contain;
                            display: block;
                            position: absolute;
                            left: 32px;
                            top: 50%;
                            transform: translateY(-50%);
                        }

                        span {
                            display: block;

                            @media (width < 768px) {
                                margin-bottom: 0;
                            }

                            &:first-child {
                                font-size: 0.875rem;
                                font-style: normal;
                                font-weight: 500;
                                line-height: 1.5rem; /* 171.429% */
                                color: var(--color-orange-500);
                                margin-bottom: 6px;

                                @media (width < 768px) {
                                    margin-bottom: 0;
                                }
                            }

                            &:last-child {
                                max-width: 95%;
                                font-size: 1rem;
                                font-style: normal;
                                font-weight: 800;
                                line-height: 120%; /* 1.2rem */
                                text-overflow: ellipsis;
                                overflow: hidden;
                                white-space: nowrap;
                                color: var(--color-black-500);

                                @media (width < 768px) {
                                    display: none;
                                }
                            }
                        }
                    }
                }

                .prev-blog {
                    & a {
                        & span {
                            &:last-child {
                                margin-left: auto;
                            }
                        }
                    }
                }

                .next-blog {
                    & a {
                        & span {
                            &:last-child {
                                margin-right: auto;
                            }
                        }
                    }
                }
            }
        }
    }

    &:has(+ .cta) {

        + .cta {
            margin-top: 40px;
            @media (width > 1025px) {
                margin-top: 83px;
            }
        }
    }
}

.contact {
    background-color: var(--color-yellow-500);
    padding-block: 149px 100px;
    margin-top: -90px;
    position: relative;

    @media (width < 768px) {
        padding-block: 110px 40px;
    }

    .breadcrumbs {
        margin-bottom: 6px;
    }

    .container-large {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
        justify-content: space-between;
        align-items: start;
    }

    .left-side {
        max-width: 540px;
        min-width: 300px;
        flex: 1;

        h1 {
            line-height: 1.2;
            margin-bottom: 0px;

            sup {
                font-size: 50%;
            }
        }

        p {
            font-size: var(--font-size-body-small);
            font-weight: 400;
            line-height: 1.71;
            margin-bottom: 32px;
        }

        p + ul {
            display: flex;
            list-style: none;
            flex-wrap: wrap;
            gap: 10px;

            a {
                font-size: var(--font-size-body-small);
                font-weight: 500;
                padding: 12px 16px;
                min-height: auto;
            }
        }

        .map-contact {
            margin-top: 39px;
            display: flex;
            gap: 23px;

            > picture {
                margin-top: 3px;
                position: relative;
            }

            .contact-info {
                .contact-info-address {
                    display: flex;
                    margin-top: 13px;
                    gap: 12px;

                    .icon {
                        position: relative;
                        top: 4px;
                    }

                    address {
                        font-size: var(--font-size-body-small);
                        font-weight: 400;
                        line-height: 1.71;
                        margin-bottom: 0;
                        font-style: normal;
                    }
                }
            }
        }
    }

    .right-side {
        max-width: 630px;
        min-width: 300px;
        background-color: var(--color-white-500);
        padding: 50px 54px 54px 54px;

        @media (width < 767px) {
            padding: 20px;
        }

        h2 {
            font-family: var(--font-family-area-normal);
            font-size: 1.125rem;
            font-style: normal;
            font-weight: 700;
            line-height: 140%; /* 1.575rem */
            margin-bottom: 40px;

            @media (max-width: 769px) {
                margin-bottom: 0;
            }
        }

        .buttons {
            display: flex;
            justify-content: end;
            margin-top: 32px;
        }
    }

    &:has(+ .faq) {
        + .faq {
            padding-top: 101px;
            margin-bottom: 123px;

            @media (width < 767px) {
                padding-top: 40px;
                margin-bottom: 40px;
            }
        }
    }
}

.showroom-intro {
    background-color: var(--color-yellow-500);
    padding-block: 149px 123px;
    margin-top: -90px;
    position: relative;

    @media (width < 767px) {
        padding-block: 110px 40px;
    }

    .breadcrumbs {
        margin-bottom: 6px;
    }

    .container-large {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
        justify-content: space-between;
        align-items: start;
    }

    .left-side {
        max-width: 500px;
        min-width: 300px;
        flex: 1;

        h1 {
            line-height: 1.2;
            margin-bottom: 13px;

            sup {
                font-size: 1.8125rem;
            }
        }

        > p {
            font-size: var(--font-size-body);
            font-weight: 400;
            line-height: 1.7;
            margin-bottom: 50px;
            max-width: 450px;
        }

        .card-help {
            max-width: 361px;

            .card-help-bottom {
                .button {
                    min-height: auto;
                    padding-block: 10px;
                }
            }
        }

        .banner-camping {
            margin-bottom: 0;
            margin-top: 35px;
        }
    }

    .right-side {
        max-width: 630px;
        min-width: 300px;
        background-color: var(--color-white-500);
        padding: 50px 54px 54px 54px;

        @media (width < 767px) {
            padding: 20px;
        }

        iframe {
            width: 100%;
        }

        h2 {
            font-family: var(--font-family-area-normal);
            font-size: 1.125rem;
            font-style: normal;
            font-weight: 700;
            line-height: 140%; /* 1.575rem */
            margin-bottom: 40px;
            width: 100%;
        }

        .buttons {
            display: flex;
            justify-content: end;
            margin-top: 32px;
        }
    }

    &:has(+ .profile) {
        + .profile {
            position: relative;

            &:before {
                content: '';
                width: 100%;
                height: 50%;
                background-color: var(--color-yellow-500);
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                z-index: -1;
            }
        }
    }
}


.banner {
    &:has(+ .profile) {
        padding-bottom: 2px;

        + .profile {
            position: relative;
            padding-top: 118px;

            @media (width < 768px) {
                padding-top: 40px;
            }

            &:before {
                content: '';
                width: 100%;
                height: calc(50% + 118px);
                background-color: var(--color-yellow-500);
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                z-index: -1;
            }
        }
    }
}

.template-content {
    .banner {
        .banner-list {
            margin-bottom: 22px;

            @media (width < 768px) {
                margin-bottom: 0;
            }
        }

        .banner-text {
            display: flex;
            justify-content: space-between;
            flex-direction: column;


            p {
                max-width: 480px;

                + ul {
                    margin-top: 133px;
                    margin-bottom: 4px;

                    @media (width < 767px) {
                        margin-top: 30px;
                    }
                }
            }

            .banner-camping {
                margin-bottom: 0;
            }

        }
    }

    .title-with-content {
        padding-block-start: 0;

        .title-with-content-holder {
            border-bottom: 0;
            @media (width > 1025px) {
                padding-block-end: 50px;
            }
        }
    }

    .faq {
        padding-top: 125px;
        margin-bottom: 112px;

        @media (width < 767px) {
            padding-top: 30px;
            margin-bottom: 30px;
        }
    }
}

.title-with-rte {
    background-color: var(--color-yellow-500);
    padding-block: 149px 97px;
    margin-top: -90px;
    position: relative;

    @media (width < 767px) {
        padding-block: 110px 40px;
    }

    .breadcrumbs {
        margin-bottom: 6px;
    }

    .container {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
        justify-content: space-between;
        align-items: start;
    }

    .left-side {
        max-width: 360px;
        min-width: 200px;
        flex: 1;

        h1 {
            line-height: 1.2;
            margin-bottom: 13px;
        }
    }

    .right-side {
        max-width: 628px;
        min-width: 300px;

        .rte {
            margin-top: 27px;

            @media (width < 767px) {
                margin-top: 0;
            }

            p {
                margin-bottom: 27px;
                color: var(--color-black-500);

                a {
                    color: inherit;
                }
            }
        }
    }
}

.not-found-section {
    background-color: var(--color-yellow-500);
    padding-block: 213px 123px;
    margin-top: -90px;
    position: relative;

    @media (width < 767px) {
        padding-block: 110px 40px;
    }

    .breadcrumbs {
        margin-bottom: 6px;
    }

    .container {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
        justify-content: space-between;
        align-items: start;
    }

    p {
        margin-bottom: 27px;
        color: var(--color-black-500);

        a {
            color: inherit;
        }
    }

    .left-side {
        max-width: 540px;
        min-width: 200px;
        flex: 1;

        h1 {
            line-height: 1.2;
            margin-bottom: 19px;
        }

        .buttons {
            margin-top: 50px;

            @media (width < 767px) {
                margin-top: 25px;
            }
        }
    }

    .right-side {
        max-width: 628px;
        min-width: 200px;

        @media (width < 767px) {
            margin-top: 30px;
        }

        img {
            position: relative;
            top: 6px;
            left: 14px;

            @media (width < 767px) {
                top: unset;
                left: unset;
                max-width: 75%;
                margin: 0 auto;
            }
        }
    }
}

/* Fix for jumping content if header becomes sticky */
header.header.sticky ~ main {
    margin-top: 90px;

    @media (width < 768px) {
        margin-top: 70px;
    }
}

/* Fix for jumping content if header becomes sticky */


/**
 * Tooltip Styles
 */

/* Add this attribute to the element that needs a tooltip */
[data-tooltip] {
    position: relative;
    z-index: 2;
    cursor: pointer;
}

/* Hide the tooltip content by default */
[data-tooltip]:before,
[data-tooltip]:after {
    visibility: hidden;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity: 0;
    pointer-events: none;
}

/* Position tooltip above the element */
[data-tooltip]:before {
    position: absolute;
    bottom: 100%;
    left: 50%;
    margin-bottom: 5px;
    margin-left: -80px;
    padding: 7px;
    width: 160px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    background-color: var(--color-blue-500);
    color: #fff;
    content: attr(data-tooltip);
    text-align: center;
    font-size: 14px;
    line-height: 1.2;
}

/* Triangle hack to make tooltip look like a speech bubble */
[data-tooltip]:after {
    position: absolute;
    bottom: 100%;
    left: 50%;
    margin-left: -5px;
    width: 0;
    border-top: 5px solid var(--color-blue-500);
    border-top: 5px solid var(--color-blue-500);
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    content: " ";
    font-size: 0;
    line-height: 0;
}

/* Show tooltip content on hover */
[data-tooltip]:hover:before,
[data-tooltip]:hover:after {
    visibility: visible;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
}

input[type="date"]::-webkit-datetime-edit,
input[type="date"]::-datetime-edit {
    opacity: 0;
}

.form-field.has-value {
    input[type="date"]::-webkit-datetime-edit,
    input[type="date"]::-datetime-edit {
        opacity: 1;
    }
    input[type="date"] {
        color: var(--color-black-500);
    }
}
.form-field{
    input[type="date"] {
        color: transparent;
    }

    input[type="date"]:focus, input[type="date"]:active, input[type="date"]:focus-within {
        color: var(--color-black-500);
    }
}

input[type="date"] {
    -moz-appearance: textfield;
}

.stars {
    --percent: calc(var(--rating) / 5 * 100%);
    margin-right: 8px;
    display: inline-block;
    font-size: var(--star-size);
    font-family: Times;
    line-height: 1;

    &::before {
        content: '\e900';
        letter-spacing: 3px;
        background: linear-gradient(90deg, var(--star-background) var(--percent), var(--star-color) var(--percent));
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        font-family: 'icomoon';
    }
}

.form-field.has-error {
    position: relative;
    margin-bottom: 20px;

    span.error {
        position: absolute;
        left: 0;
        bottom: -30px;
        font-size: 14px;
        color: #ff6565;
    }

    &:has(input[type="date"]) {
        margin-bottom: 50px;

        span.error {
            bottom: -50px;
        }
    }
}

@media (width < 768px) {
    .magazine-radio-buttons .form-fields .form-field {
        flex: 1;
    }
}


.faq-intro {
    h3 {
        font-size: clamp(var(--font-size-h4-mobile), 1.143vw + 1.471rem, var(--font-size-h4));
        line-height: 1.1;
    }
}

.pdoLoader {
    position: relative
    left: 50%;
    width: 48px;
    height: 48px;
    border: 5px solid #FFF;
    border-bottom-color: #FF3D00;
    border-radius: 50%;
    display: inline-block;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
    }

    @keyframes rotation {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
    } 