/*
    Theme Name: Italiana Noleggi
    Author: Egloo
    Author URI: https://egloo.it
    Version: 2.0.0
    Text Domain: eg-italiana-noleggi
    Description: A custom WordPress theme for Italiana Noleggi, designed by Egloo.
    License: GNU General Public License v2 or later
    License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

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

dialog {
    margin: auto;
}

a,
input,
textarea,
select,
button,
h1,
h2,
h3,
h4,
h5,
h6 {
    font: inherit;
    color: inherit;
}

a {
    text-decoration: none;
}

img,
video,
iframe {
    display: block;
    inline-size: 100%;
    block-size: auto;
}

img {
    pointer-events: none !important;
}

button,
label,
input {
    cursor: pointer;
}

input[type="reset"],
input[type="submit"],
button {
    border: none;
    background-color: transparent;
}

span:has(> svg:only-child),
svg {
    line-height: 0;
}

ul {
    list-style-type: none;
}

html {
    scroll-behavior: smooth;
    scroll-padding: 12.5rem;
    -webkit-tap-highlight-color: transparent;
}

body:has(dialog[open]) {
    overflow: hidden;
}

/* ======================================== */
/* UTILS */
/* ======================================== */

:where(.fx-fade) {
    opacity: 0;
}

nav.breadcrumbs ul {
    --_gap: 1.25rem;
    display: block;
    max-width: 100%;
    text-wrap: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

nav.breadcrumbs li {
    display: inline;
    position: relative;
}

nav.breadcrumbs li:not(:last-child) {
    margin-inline-end: var(--_gap);
}

nav.breadcrumbs li svg {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-end: calc((var(--_gap) * -1) / 2);
    translate: 50% -50%;
}

nav.breadcrumbs [aria-current] {
    color: rgb(from currentColor r g b / 0.3);
}

.rich-text > *:not(:last-child) {
    margin-block-end: 1lh;
}

.rich-text strong {
    font-weight: 700;
}

.rich-text ul {
    list-style-type: disc;
}

.rich-text ol {
    list-style-type: decimal;
}

.rich-text ul,
.rich-text ol {
    padding-inline-start: 1rem;
}

.rich-text a {
    text-decoration: underline;
}

.sr-only {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

.img-wrapper.img-wrapper-ratio > picture,
.img-wrapper.img-wrapper-ratio {
    overflow: hidden;
    position: relative;
}

.img-wrapper.img-wrapper-ratio > picture {
    block-size: 100%;
    display: block;
}

.img-wrapper.img-wrapper-ratio > video,
.img-wrapper.img-wrapper-ratio > picture > video,
.img-wrapper.img-wrapper-ratio > picture > img,
.img-wrapper.img-wrapper-ratio > img {
    inline-size: 100%;
    block-size: 100%;
    position: absolute;
    object-fit: cover;
    inset: 0;
}

.layers {
    display: grid;
}

.layers > .layer {
    grid-column: -1/1;
    grid-row: -1/1;
}

.layers > .layer.layer-bg {
    position: relative;
}

.layers > .layer.layer-bg > .img-wrapper.img-wrapper-ratio:only-child {
    block-size: 100%;
}

.layers > .layer.layer-bg::before,
.layers > .layer.layer-bg::after {
    content: "";
    pointer-events: none;
    inset-block-start: 0;
    inset-inline-start: 0;
    inline-size: 100%;
    block-size: 100%;
    position: absolute;
}

.layers > .layer.layer-fg {
    position: relative;
    z-index: 1;
}

:root {
    --header-height: 7.125rem;

    --container-columns: 12;
    --container-gap: 1.25rem;
    --container-column-width: 5.3125rem;
    --container-x-padding: 2rem;

    --star-color: #b69f7a;
    --grey: #dedede;
    --blue: #4a5565;
    --grey-light: #eeeeee;
    --blue-light: #99a1af;
    --white: #ffffff;
    --black: #000000;

    --eg-form-gap-row: 1.875rem;
    --eg-form-gap-col: var(--container-gap);
    --eg-form-field-min-width: 14.375rem;
    --eg-form-checkbox-size: 0.8125rem;
    --eg-form-checkbox-bg: #ebebeb;
    --eg-form-checkbox-checked-bg: var(--accent);
    --eg-form-input-bg: transparent;
    --eg-form-input-border: #c5cad3;
    --eg-form-input-font-size: 1rem;
    --eg-form-input-weight: 400;
    --eg-form-input-padding-block: 0.9375rem 0.875rem;
    --eg-form-input-padding-inline: 1.25rem;
    --eg-form-label-weight: 500;
    --eg-form-border-radius-input: 0.625rem;
    --eg-form-border-radius-checkbox: 0.125rem;
    --eg-form-border-radius-radio: 50%;
    --eg-form-label-field-gap: 0.625rem;
    --eg-form-icon-check: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMC44NzUiIGhlaWdodD0iNy4xOTciIHZpZXdCb3g9IjAgMCAxMC44NzUgNy4xOTciPgogIDxwYXRoIGlkPSJUcmFjY2lhdG9fMjA4ODUiIGRhdGEtbmFtZT0iVHJhY2NpYXRvIDIwODg1IiBkPSJNLTE1NjA2LjA3Niw2ODc4LjMwN2wzLjI2MywzLjI2Myw0Ljc4NC00Ljc4NCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTU2MDcuNDkgLTY4NzUuMzczKSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZmIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4K");
    --eg-form-icon-file: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMy4zNjIiIGhlaWdodD0iMTkuNzQ4IiB2aWV3Qm94PSIwIDAgMjMuMzYyIDE5Ljc0OCI+CiAgPGcgaWQ9IlJhZ2dydXBwYV8xNTc4IiBkYXRhLW5hbWU9IlJhZ2dydXBwYSAxNTc4IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNzM4LjA4NiAtNjU0Mi41MDEpIj4KICAgIDxwYXRoIGlkPSJUcmFjY2lhdG9fMjA5MDkiIGRhdGEtbmFtZT0iVHJhY2NpYXRvIDIwOTA5IiBkPSJNMzQuMzM2LDU3LjQ1N2EuNjE2LjYxNiwwLDAsMC0uNjIyLjYyMnYyLjk2NUEyLjMyLDIuMzIsMCwwLDEsMzEuNCw2My4zNjJIMTYuMTQ4YTIuMzEyLDIuMzEyLDAsMCwxLTIuMzE3LTIuMzE3VjU4LjA3OWEuNjIyLjYyMiwwLDAsMC0xLjI0NSwwdjIuOTY1YTMuNTYzLDMuNTYzLDAsMCwwLDMuNTYzLDMuNTYzSDMxLjM4NWEzLjU2MywzLjU2MywwLDAsMCwzLjU2My0zLjU2M1Y1OC4wNzlhLjYuNiwwLDAsMC0uNjEyLS42MjJaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3MjYgNjQ5Ny4xNDEpIiBmaWxsPSIjYmI4ZWY4IiBzdHJva2U9IiNiYjhlZjgiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgPHBhdGggaWQ9IlRyYWNjaWF0b18yMDkxMCIgZGF0YS1uYW1lPSJUcmFjY2lhdG8gMjA5MTAiIGQ9Ik0zOS43NTcsMzIuMTZhLjYxNi42MTYsMCwwLDAsLjYyMi0uNjIyVjIwLjg2MWwyLjY2NiwyLjgyN2EuNjQ1LjY0NSwwLDAsMCwuNDQ4LjIuNTY4LjU2OCwwLDAsMCwuNDI0LS4xNzQuNjI4LjYyOCwwLDAsMCwuMDI1LS44ODRsLTMuNzM3LTMuOTc0YS42NDguNjQ4LDAsMCwwLS45MSwwTDM1LjU1OCwyMi44M2EuNjI1LjYyNSwwLDEsMCwuOTA5Ljg2bDIuNjY2LTIuODI3VjMxLjUzOGEuNjE4LjYxOCwwLDAsMCwuNjI0LjYyMloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDcxMC4wMTYgNjUyNC4zMzIpIiBmaWxsPSIjYmI4ZWY4IiBzdHJva2U9IiNiYjhlZjgiIHN0cm9rZS13aWR0aD0iMSIvPgogIDwvZz4KPC9zdmc+Cg==");
    --eg-form-checkbox-checked-bg: black;
}

@media (max-width: 768px) {
    :root {
        --header-height: 5rem;
    }
}

.container {
    inline-size: 100%;
    max-inline-size: calc((var(--container-x-padding) * 2) + ((var(--container-columns) - 1) * var(--container-gap)) + (var(--container-columns) * var(--container-column-width)));
    margin-inline: auto;
    padding-inline: var(--container-x-padding);
}

.container.container-10 {
    --container-columns: 10;
}

.container.container-8 {
    --container-columns: 8;
}

.container.container-6 {
    --container-columns: 6;
}

.container.container-5 {
    --container-columns: 5;
}

.container.container-4 {
    --container-columns: 4;
}

@media (max-width: 768px) {
    .container {
        --container-x-padding: 1.25rem;
    }
}

:focus-visible {
    outline-offset: 4px;
    outline: 0px solid var(--on-surface);
    animation:
        focus-ring-in 0.2s forwards,
        focus-ring-out 0.2s 0.2s forwards;
}

@keyframes focus-ring-in {
    to {
        outline-width: 8px;
    }
}

@keyframes focus-ring-out {
    to {
        outline-width: 4px;
    }
}

[data-theme="light"] {
    --surface: white;
    --on-surface: black;
    color: var(--on-surface);
    background-color: var(--surface);
}

[data-theme="dark"] {
    --surface: black;
    --on-surface: white;
    color: var(--on-surface);
    background-color: var(--surface);
}

/* ======================================== */
/* WPCF7 */
/* ======================================== */

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

input[type="checkbox"],
input[type="radio"] {
    appearance: none;
    inline-size: var(--eg-form-checkbox-size);
    block-size: var(--eg-form-checkbox-size);
    background-color: var(--eg-form-checkbox-bg);
    flex-shrink: 0;
    cursor: pointer;
}

input[type="checkbox"] {
    border-radius: var(--eg-form-border-radius-checkbox);
}

input[type="radio"] {
    border-radius: var(--eg-form-border-radius-radio);
}

input[type="checkbox"]:checked,
input[type="radio"]:checked {
    background-color: var(--eg-form-checkbox-checked-bg);
    background-image: var(--eg-form-icon-check);
    background-repeat: no-repeat;
    background-position: center;
}

input[type="checkbox"]:focus-visible,
input[type="radio"]:focus-visible {
    outline: 2px solid var(--on-surface);
    outline-offset: 2px;
}

input:is([type="text"], [type="number"], [type="email"], [type="tel"]),
.wpcf7-styled textarea {
    inline-size: 100%;
    padding-block: var(--eg-form-input-padding-block);
    padding-inline: var(--eg-form-input-padding-inline);
    border: 1px solid var(--eg-form-input-border);
    background-color: var(--eg-form-input-bg);
    border-radius: var(--eg-form-border-radius-input);
    font-size: var(--eg-form-input-font-size);
    font-weight: var(--eg-form-input-weight);
    outline: none;
}

input::placeholder,
textarea::placeholder,
.wpcf7-styled label:has(input[type="file"]) > span:first-child {
    color: rgb(from var(--on-surface) r g b / 0.4);
}

.wpcf7-styled textarea {
    min-block-size: 6.875rem;
    field-sizing: content;
    resize: vertical;
}

input:is([type="text"], [type="number"], [type="email"], [type="tel"]):focus-visible,
.wpcf7-styled textarea:focus-visible {
    border-color: var(--accent);
    outline: 1px solid var(--accent);
    outline-offset: 0;
}

.wpcf7-styled label {
    font-size: 1rem;
    line-height: 1.35;
    letter-spacing: -0.01em;
    font-weight: var(--eg-form-label-weight);
    display: flex;
    flex-direction: column;
    gap: var(--eg-form-label-field-gap);
}

.wpcf7-styled .align-center {
    text-align: center;
}

.wpcf7-styled label:has(input[type="file"]) {
    overflow: hidden;
    display: grid;
    background-image: var(--eg-form-icon-file);
    background-repeat: no-repeat;
    background-position: calc(100% - 1rem) center;
    background-color: rgb(from currentColor r g b / 0.1);
    border: 1px solid transparent;
    border-radius: var(--eg-form-border-radius-input);
    padding-block: var(--eg-form-input-padding-block);
    padding-inline: var(--eg-form-input-padding-inline);
    cursor: pointer;
}

.wpcf7-styled label:has(input[type="file"]) > span:first-child {
    overflow: hidden;
    max-inline-size: calc(100% - 3rem);
    white-space: nowrap;
    text-overflow: ellipsis;
    display: block;
}

.wpcf7-styled label:has(input[type="file"]) input[type="file"] {
    opacity: 0;
    width: 0.1px;
    height: 0.1px;
    position: absolute;
    z-index: -1;
}

.wpcf7-styled :is([data-class="wpcf7cf_group"], form) > p {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(var(--eg-form-field-min-width), 100%), 1fr));
    row-gap: var(--eg-form-gap-row);
    column-gap: var(--eg-form-gap-col);
}

.wpcf7-styled :is([data-class="wpcf7cf_group"], form) > p .wide {
    grid-column: 1 / -1;
}

.wpcf7-styled :is([data-class="wpcf7cf_group"], form) .wpcf7-submit {
    inline-size: 100%;
    margin-inline: auto;
    border-radius: var(--eg-form-border-radius-input);
}

.wpcf7-styled :is([data-class="wpcf7cf_group"], form) > p br,
.wpcf7-styled :is([data-class="wpcf7cf_group"], form) .wpcf7-spinner {
    display: none;
}

.wpcf7-styled :is([data-class="wpcf7cf_group"], form) .wpcf7-not-valid-tip {
    font-size: 0.75rem;
    margin-top: 0.25rem;
}

.wpcf7-styled .wpcf7-acceptance label {
    flex-direction: row;
    align-items: flex-start;
    gap: 0.75rem;
}

.wpcf7-styled .wpcf7-acceptance label span {
    text-box: trim-both cap alphabetic;
}

.wpcf7-styled .wpcf7-response-output {
    padding: 1rem;
    text-wrap: balance;
    font-size: 0.875rem;
    inline-size: 100%;
    border: 1px solid transparent;
    margin-block-start: 3rem;
    border-radius: var(--eg-form-border-radius-input);
}

.wpcf7-styled form.sent .wpcf7-response-output {
    background-color: #5ad66521;
    border-color: #5ad6659e;
}

.wpcf7-styled form.invalid .wpcf7-response-output {
    border-color: #ffb900cc;
}

@font-face {
    font-family: "Archivo";
    src: url(assets/fonts/Archivo.ttf);
}

.wpcf7-list-item {
    margin-left: 0;
}

.wpcf7-list-item span {
    font-size: 0.875rem;
    font-weight: 400;
}

.title1,
.title1-medium {
    font-size: 3.4375rem;
    font-family: Archivo;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.02em;
}

.title1-medium {
    font-weight: 500;
}

.title2 {
    font-size: 2.8125rem;
    font-family: Archivo;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -0.01em;
}

.title3 {
    font-size: 2.25rem;
    font-family: Archivo;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: 0;
}

.title4 {
    font-size: 1.875rem;
    font-family: Archivo;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: 0;
}

.title5,
.title5-medium,
.title5-semibold {
    font-size: 1.5rem;
    font-family: Archivo;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0;
}

.title5-medium {
    font-weight: 500;
}

.title5-semibold {
    font-weight: 600;
}

.title6 {
    font-size: 1.25rem;
    font-family: Archivo;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0;
}

.title-note {
    font-size: 0.75rem;
    font-family: Archivo;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0;
}

.body-large,
.body-large-medium,
.body-large-semibold {
    font-size: 1.125rem;
    font-family: Archivo;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: 0;
}

.body-large-medium {
    font-weight: 500;
}

.body-large-semibold {
    font-weight: 600;
}

.body,
.body-medium,
.body-semibold {
    font-size: 1rem;
    font-family: Archivo;
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: 0;
}

.body-large-medium {
    font-weight: 500;
}

.body-large-semibold {
    font-weight: 600;
}

.body,
.body-medium,
.body-semibold {
    font-size: 1rem;
    font-family: Archivo;
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: 0;
}

.body-medium {
    font-weight: 500;
}

.body-semibold {
    font-weight: 600;
}

.label,
.label-medium,
.label-semibold {
    font-size: 0.875rem;
    font-family: Archivo;
    font-weight: 400;
    line-height: 1.43;
    letter-spacing: 0;
}

.label-medium {
    font-weight: 500;
}

.label-semibold {
    font-weight: 600;
}

@media (max-width: 768px) {
    .title1,
    .title1-medium {
        font-size: 2.5rem;
        line-height: 1.1;
    }

    .title2 {
        font-size: 2.1875rem;
        line-height: 1.1;
    }

    .title3 {
        font-size: 2.1875rem;
        line-height: 1.1;
    }
}

.swiper-pagination {
    position: static;
    line-height: 0;
    --swiper-pagination-bullet-size: 0.625rem;
    --swiper-pagination-bullet-horizontal-gap: 0.3125rem;
    --swiper-pagination-color: black;
    --swiper-pagination-bullet-inactive-opacity: 1;
    --swiper-pagination-bullet-inactive-color: var(--grey-light);
}

/* ======================================== */
/* BUTTONS */
/* ======================================== */

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.625rem 2.5rem;
    border-radius: 6.25rem;
    gap: 0.5813rem;
    font-size: 0.875rem;
    line-height: 1.428571;
    transition:
        border-color 0.2s ease,
        background-color 0.2s ease,
        color 0.2s ease;
}

.btn:has(svg) {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}

.btn.btn-blur {
    background-color: rgb(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
}

.btn.btn-blur:is(:hover, :focus-visible) {
    color: var(--black);
    background: var(--white);
}

.btn.btn-primary {
    color: var(--white);
    background: var(--black);
}

.btn.btn-primary:is(:hover, :focus-visible) {
    background: var(--blue);
    color: var(--white);
}

[data-theme="dark"] .btn.btn-primary {
    color: var(--black);
    background: var(--white);
}

[data-theme="dark"] .btn.btn-primary:is(:hover, :focus-visible) {
    background-color: transparent;
    color: currentColor;
    border: 1px solid currentColor;
}

.btn.btn-outline {
    background-color: transparent;
    color: currentColor;
    border: 1px solid currentColor;
}

.btn.btn-outline:is(:hover, :focus-visible) {
    color: var(--black);
    background: var(--white);
}

@media (max-width: 768px) {
    .btn {
        padding-block: 0.9375rem;
    }
}

/* ======================================== */
/* HEADER */
/* ======================================== */

@media (min-width: 768px) and (hover: hover) {
    header.egloo .headermain .mainmenu > ul > li > .level-1-link-wrapper > button {
        display: none;
    }

    header.egloo {
        position: fixed;
        z-index: 10;
        width: 100%;
        top: 0;
        left: 0;
    }

    header.egloo .ctabanner {
        background-color: var(--blue);
        color: white;
        padding: 0.4375rem 0;
    }

    header.egloo .ctabanner .container {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    header.egloo .ctabanner a {
        color: white;
        display: flex;
        align-items: center;
        gap: 0.4375rem;
    }

    header.egloo .headermain {
        padding-block: 0.15625rem;
    }

    header.egloo .headermain .container {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
    }

    header.egloo .headermain .logo {
        display: flex;
    }

    header.egloo .headermain .logo img {
        display: block;
        height: 4.6875rem;
        width: auto;
    }

    header.egloo .headermain .mainmenu {
        display: flex;
        justify-content: center;
        height: 100%;
    }

    header.egloo .headermain .mainmenu ul {
        color: var(--blue);
        display: flex;
        align-items: center;
        gap: 2rem;
    }

    header.egloo .headermain .mainmenu ul > li {
        height: 100%;
        display: grid;
        place-items: center;
    }

    header.egloo .headermain .mainmenu ul > li > a {
        display: grid;
        height: 100%;
        place-items: center;
    }

    header.egloo .headermain .contactbutton {
        display: flex;
        justify-self: end;
        align-items: center;
        gap: 1.875rem;
    }

    header.egloo .mainmenu > .btn,
    header.egloo .headermain .toggle-menu {
        display: none;
    }

    header.egloo .headermain .submenuwrap {
        position: absolute;
        top: 100%;
        left: 50%;
        translate: -50%;
        width: 100%;
        background-color: var(--surface);
        display: grid;
        grid-template-rows: 0fr;
        overflow: hidden;
        transition: grid-template-rows 0.3s ease;
    }

    header.egloo .headermain .submenuwrap > div {
        min-height: 0;
    }

    header.egloo .headermain .container.containersub {
        display: grid;
        grid-template-columns: 3fr 3fr 6fr;
        align-items: start;
        padding-top: 4.1875rem;
        padding-bottom: 4.8125rem;
    }

    header.egloo .headermain li:where(:hover, :focus-within) .submenuwrap {
        grid-template-rows: 1fr;
    }

    header.egloo .containersub .submenu .links {
        display: flex;
        flex-direction: column;
        gap: 1.5625rem;
    }

    header.egloo .containersub .submenu {
        color: var(--on-surface);
        display: flex;
        flex-direction: column;
        gap: 2.5625rem;
    }

    header.egloo .containersub .submenu .title_2 {
        color: var(--blue);
        text-transform: uppercase;
        margin-top: 1.9375rem;
    }

    header.egloo .containersub .submenu .title_2.titleexists {
        margin-top: calc(1.9375rem - 1lh);
    }

    header.egloo .containersub .img {
        display: block;
        max-width: 31.5625rem;
        max-height: 21.875rem;
        justify-self: end;
    }
}

@media (max-width: 768px) or (hover: none) {
    header.egloo {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 999;
    }

    header.egloo .ctabanner {
        background-color: var(--blue);
        color: var(--white);
        text-align: center;
        padding-block: 0.625rem;
    }

    header.egloo .ctabanner a {
        display: flex;
        align-items: center;
        gap: 0.5625rem;
        justify-content: center;
    }

    header.egloo .headermain .logo {
        max-inline-size: 7.625rem;
    }

    header.egloo .headermain > .container {
        display: flex;
        align-items: center;
        gap: 1rem;
        height: var(--header-height);
        justify-content: space-between;
        border-bottom: 1px solid var(--grey);
    }

    header.egloo .headermain .contactbutton {
        display: flex;
        align-items: center;
        gap: 1.875rem;
    }

    header.egloo .toggle-menu {
        display: grid;
        align-items: center;
    }

    header.egloo .toggle-menu svg {
        grid-area: 1/1;
        line-height: 0;
    }

    header.egloo .toggle-menu svg:nth-child(2) {
        justify-self: end;
    }

    header.egloo .toggle-menu.active svg:first-child,
    header.egloo .toggle-menu:not(.active) svg:last-child {
        display: none;
    }

    header.egloo .headermain .contactbutton > .btn {
        display: none;
    }

    header.egloo .headermain .mainmenu {
        translate: 100%;
        background-color: var(--white);
        position: fixed;
        top: calc(var(--header-height) + 2.5rem);
        height: calc(100% - var(--header-height) - 2.5rem);
        left: 0;
        width: 100%;
        overflow: auto;
        padding-inline: var(--container-x-padding);
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        gap: 3.125rem;
        padding-block: 3.125rem 1.875rem;
        transition: translate 0.3s ease;
    }

    header.egloo.active .headermain .mainmenu {
        translate: 0%;
    }

    header.egloo .headermain .mainmenu > ul {
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
    }

    header.egloo .headermain .mainmenu > ul > li > .level-1-link-wrapper {
        display: flex;
        align-items: center;
        justify-content: space-between;
        block-size: 2.5rem;
        position: relative;
    }

    header.egloo .headermain .mainmenu > ul > li > .level-1-link-wrapper > a {
        font-family: Archivo;
        font-size: 27px;
        font-weight: 500;
        line-height: 1.5rem;
    }

    header.egloo .headermain .mainmenu > ul > li > .level-1-link-wrapper > button {
        inline-size: 2.5rem;
        block-size: 2.5rem;
        border-radius: 50%;
        border: 1px solid rgb(0 0 0 / 0.1);
        display: grid;
        place-items: center;
    }

    header.egloo .headermain .mainmenu > ul > li > .level-1-link-wrapper:has(a[href="#"]) > button::before {
        content: "";
        position: absolute;
        inset: 0;
    }

    header.egloo .headermain .mainmenu > ul > li > .level-1-link-wrapper > button svg {
        transition: rotate 0.2s ease;
        rotate: 45deg;
    }

    header.egloo .headermain .mainmenu > ul > li > .level-1-link-wrapper.active > button svg {
        rotate: 0deg;
    }

    header.egloo .headermain .mainmenu .submenuwrap {
        display: grid;
        grid-template-rows: 0fr;
        transition: grid-template-rows 0.3s ease;
        overflow: hidden;
    }

    header.egloo .headermain .mainmenu .level-1-link-wrapper.active + .submenuwrap {
        grid-template-rows: 1fr;
    }

    header.egloo .headermain .mainmenu .submenuwrap > div {
        min-height: 0;
    }

    header.egloo .headermain .mainmenu .submenuwrap .container {
        padding-top: 1.25rem;
        padding-bottom: 3.125rem;
        padding-inline: 0;
        display: flex;
        flex-direction: column;
        gap: 2.5rem;
    }

    header.egloo .headermain .mainmenu .submenuwrap .container:has(.title_2:empty) {
        gap: 1.25rem;
    }

    header.egloo .headermain .mainmenu .submenuwrap .submenu .title4 {
        display: none;
    }

    header.egloo .headermain .mainmenu .submenuwrap .submenu .links {
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
        font-size: var(--body-medium);
    }

    header.egloo .headermain .mainmenu .submenuwrap .img {
        display: none;
    }

    header.egloo .headermain .mainmenu .submenuwrap .title_2 {
        font-size: 0.875rem;
        line-height: 1.05;
        color: var(--blue);
        text-transform: uppercase;
        margin-block-end: 1.25rem;
        display: block;
    }

    header.egloo .headermain .mainmenu .submenuwrap .title_2:empty {
        display: none;
    }
}

/* ======================================== */
/* LANGUAGE SELECTOR */
/* ======================================== */

.language-selector {
    position: relative;
}

.language-selector .language {
    display: inline-flex;
    color: var(--blue);
    align-items: center;
    gap: 0.2813rem;
    text-transform: capitalize;
}

.language-selector .langauges {
    position: absolute;
    top: 100%;
    padding-top: 1rem;
    right: 0;
    background-color: white;
    transform-origin: top right;
    transition:
        opacity 0.2s ease,
        scale 0.2s ease;
}

.language-selector .langauges nav {
    background-color: white;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2);
    padding: 1rem;
    min-width: 8rem;
}

.language-selector:not(:has(:hover, :focus-visible)) .langauges {
    opacity: 0;
    scale: 0.5;
}

.language-selector ul {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.language-selector img {
    width: 0.9375rem;
    height: 0.9375rem;
    object-fit: cover;
    border-radius: 50%;
    display: inline-block;
}

@media (max-width: 768px) {
    .language-selector .language {
        background-color: rgb(238 238 238 / 0.5);
        border-radius: 999px;
        padding: 0.625rem;
        gap: 0.5rem;
    }

    .language-selector .language svg {
        width: 7px;
    }
}

/* ======================================== */
/* FOOTER */
/* ======================================== */

footer.egloo {
    position: relative;
    padding-top: 5rem;
    padding-bottom: 2.125rem;
}

footer.egloo .container {
    position: relative;
    max-width: calc(70rem + (2 * var(--container-x-padding)));
}

footer.egloo .top {
    display: flex;
    align-items: flex-start;
    margin-bottom: 8.4375rem;
    gap: 3rem;
}

footer.egloo .top > * {
    flex-grow: 1;
}

footer.egloo .logo {
    display: flex;
}

footer.egloo .logo img {
    display: block;
    width: auto;
    height: 2.625rem;
}

footer.egloo .about .name {
    margin-top: 3.125rem;
    margin-bottom: 0.9375rem;
}

footer.egloo .about .iva {
    margin-top: 1.25rem;
    color: var(--blue-light);
}

footer.egloo .titlemenu {
    margin-bottom: 1.3125rem;
}

footer.egloo .menuwrap {
    max-width: 14.0625rem;
}

footer.egloo .menuwrap ul {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

footer.egloo .menuwrap a {
    color: var(--blue-light);
}

footer.egloo .social {
    max-width: 14.0625rem;
}

footer.egloo .social .title {
    margin-bottom: 1.25rem;
}

footer.egloo .social-links {
    display: flex;
    gap: 1rem;
}

footer.egloo .bottom {
    padding-top: 2.0625rem;
    border-top: 1px solid var(--blue-light);

    display: flex;
    align-items: center;
    color: var(--blue-light);
}

footer.egloo .privacy {
    margin-left: auto;
}

footer.egloo .privacy ul {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 1.5rem;
}

@media (max-width: 768px) {
    footer.egloo {
        padding-block: 8rem 3.125rem;
    }

    footer.egloo .top {
        display: flex;
        flex-direction: column;
        margin-block-end: 3rem;
    }

    footer.egloo .menuwrap {
        display: none;
    }

    footer.egloo .bottom {
        border-top-color: rgb(255 255 255 / 0.1);
        padding-top: 1.875rem;
        display: flex;
        flex-direction: column-reverse;
        gap: 2rem;
        text-align: start;
        align-items: start;
    }

    footer.egloo .privacy {
        margin-left: 0;
    }

    footer.egloo .social {
        max-width: unset;
    }
}

/* ======================================== */
/* HERO NUMBERS */
/* ======================================== */

.hero.hero-numbers {
    position: relative;
    min-height: 58rem;
}

.hero.hero-numbers .layers {
    min-height: inherit;
}

.hero.hero-numbers .layer-bg::before {
    background: linear-gradient(270deg, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.63) 46.57%, rgba(0, 0, 0, 0.7) 100%);
    z-index: 1;
}

.hero.hero-numbers .container {
    display: flex;
    flex-direction: column;
}

.hero.hero-numbers .top {
    min-height: 100vh;
    max-width: 50.6875rem;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: end;
    padding-bottom: 8.375rem;
}

.hero.hero-numbers .pretitle {
    margin-bottom: 2.5rem;
}

.hero.hero-numbers .pretitle strong {
    font-weight: 500;
}

.hero.hero-numbers .title {
    margin-bottom: 2.5rem;
}

.hero.hero-numbers .ctas {
    display: inline-flex;
    gap: 1.8125rem;
    align-items: center;
}

.hero.hero-numbers .bottom {
    margin-top: 2.375rem;
    padding-bottom: 8.5rem;
}

.hero.hero-numbers .datawrap {
    max-width: 56rem;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2rem;
}

.hero.hero-numbers .dataitem {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

@media (min-height: 1024px) and (min-width: 768px) {
    .hero.hero-numbers .container {
        display: grid;
        grid-template-rows: 1fr auto;
        min-height: 100vh;
    }

    .hero.hero-numbers .top {
        min-height: unset;
        padding-bottom: 0;
        align-self: center;
        margin-top: var(--header-height);
    }
}

@media (max-height: 500px) and (min-width: 768px) {
    .hero.hero-numbers .top {
        padding-bottom: 5rem;
    }
}

@media (max-width: 768px) {
    .hero.hero-numbers .ctas {
        flex-wrap: wrap;
        row-gap: 1rem;
    }
    .hero.hero-numbers .ctas div {
        flex-grow: 1;
    }

    .hero.hero-numbers .ctas a {
        width: 100%;
    }

    .hero.hero-numbers .top {
        padding-block-end: 2.5rem;
    }

    .hero.hero-numbers .title {
        text-wrap: balance;
    }

    .hero.hero-numbers .bottom {
        padding-top: 3.75rem;
        padding-bottom: 3.75rem;
        margin-top: 0;
        overflow: auto;
        position: relative;
        left: calc(-1 * var(--container-x-padding));
        width: 0;
        min-width: calc(100% + (2 * var(--container-x-padding)));
        padding-inline: var(--container-x-padding);
        scrollbar-width: none;
    }

    .hero.hero-numbers .bottom .datawrap {
        min-width: max-content;
    }

    .hero.hero-numbers .datawrap .dataitem {
        width: max-content;
        flex-shrink: 0;
    }
}

/* ======================================== */
/* SERVICES GROUP */
/* ========================================*/

.services.groupservices {
    overflow: hidden;
    padding-bottom: 3.75rem;
    padding-top: 7.5rem;
}

:where(body.page-template-vehicle-archive) .services.groupservices {
    padding-block: 6.25rem;
}

.services.groupservices .top {
    display: grid;
    grid-template-columns: repeat(5, 1fr) repeat(5, 1fr) repeat(2, 1fr);
    gap: var(--container-gap);
    align-items: center;
    padding-bottom: 3.75rem;
}

.services.groupservices:not(:has(.btncontact)) .top {
    display: flex;
    flex-direction: column;
    align-items: start;
}

.services.groupservices .title {
    grid-column: span 5;
}

.services.groupservices .description {
    grid-column: span 5;
    max-width: 25rem;
    color: var(--blue);
}

.services.groupservices:not(:has(.btncontact)) .description {
    max-width: 44.6875rem;
}

.services.groupservices .btncontact {
    grid-column: span 2;
    justify-self: end;
}

.services.groupservices .swiper {
    overflow: visible;
}

.services.groupservices .swiper-slide {
    width: 25rem;
}

.services.groupservices:has(.swiper-slide:nth-child(2):last-child) .swiper-slide {
    width: 31.5625rem;
}

.services.groupservices .service-card {
    position: relative;
    display: block;
    width: 100%;
    min-height: 26.625rem;
    border-radius: 0.625rem;
    overflow: hidden;
    color: var(--white);
}

.services.groupservices .service-card::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.4;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 1));
    z-index: 1;
    transition: opacity 0.6s ease;
}

.services.groupservices .service-card:hover::before {
    opacity: 0.6;
}

.services.groupservices .service-card_img {
    position: absolute;
    inset: 0;
}

.services.groupservices .service-card_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform: scale(1.02);
    transition: transform 0.5s ease;
}

.services.groupservices .service-card:is(:hover, :has(:focus-visible)) img {
    transform: scale(1);
}

.services.groupservices .service-card_premium {
    position: absolute;
    top: 1.875rem;
    left: 1.875rem;
    z-index: 2;
    background: rgba(0, 0, 0, 0.8);
    padding: 0.3125rem 0.75rem;
    border-radius: 62.4375rem;
    display: flex;
    gap: 0.3125rem;
    align-items: center;
    font-size: 0.75rem;
}

.services.groupservices .service-card_premium svg {
    color: var(--star-color);
}

.services.groupservices .service-card_content {
    position: absolute;
    bottom: 0;
    z-index: 2;
    width: 100%;
    padding: 1.875rem;
    display: grid;
}

.services.groupservices .service-card_head {
    display: flex;
    align-items: flex-end;
    gap: 1.25rem;
    justify-content: space-between;
}

.services.groupservices .service-card_arrow {
    width: 3.0625rem;
    height: 3.0625rem;
    border-radius: 6.25rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 0;
    justify-self: end;
    flex-shrink: 0;
    transition: rotate 0.6s ease;
}

.services.groupservices .service-card:hover .service-card_arrow {
    rotate: -45deg;
    color: var(--black);
    background: var(--white);
}

.services.groupservices .service-card:hover path {
    fill: var(--black);
}

.services.groupservices .service-card_desc {
    margin-top: 1.25rem;
}

.services.groupservices .descriptionwrapper {
    display: grid;
    grid-template-rows: 0fr;
    overflow: hidden;
    transition: grid-template-rows 0.6s ease;
}

.services.groupservices .descriptionwrapper > div {
    min-height: 0;
}

.services.groupservices .service-card:hover .descriptionwrapper {
    grid-template-rows: 1fr;
}

@media (max-width: 768px) {
    .services.groupservices {
        padding-block: 5rem;
    }

    .services.groupservices .container {
        display: flex;
        flex-direction: column;
        gap: 3.125rem;
    }

    .services.groupservices .top {
        display: contents;
    }

    .services.groupservices .title {
        margin-block-end: -0.625rem;
    }

    .services.groupservices .btncontact {
        order: 2;
    }

    .services.groupservices .swiper-slide {
        width: 80vw;
    }

    .services.groupservices .service-card {
        min-height: 25rem;
    }

    .services.groupservices .service-card_head {
        flex-direction: column;
        gap: 1.25rem;
        align-items: start;
    }

    .services.groupservices .service-card_content {
        padding: 1.25rem;
    }

    .services.groupservices .service-card_premium {
        top: 1.25rem;
        left: 1.25rem;
    }

    .services.groupservices:not(:has(.btncontact)) .top {
        padding-bottom: 0;
    }

    .services.groupservices:has(.swiper-slide:nth-child(2):last-child) .swiper-wrapper {
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
    }

    .services.groupservices:has(.swiper-slide:nth-child(2):last-child) .swiper-slide {
        width: 100%;
    }
}

/* ======================================== */
/* BRAND VEHICLES SECTION */
/* ======================================== */

.brands {
    margin-bottom: 6.25rem;
    margin-top: 5.625rem;
    overflow: hidden;
}

body.page-template-about .brands {
    margin-block-end: 10rem;
}

.brands .brands-section_top .title {
    text-align: center;
    margin-bottom: 3.75rem;
}

.brands .brands-logos {
    display: flex;
    align-items: center;
    justify-content: center;
    animation: scrolls-brands 15s linear infinite;
}
@keyframes scrolls-brands {
    0% {
        translate: -300%;
    }
    100% {
        translate: -200%;
    }
}

.brands .brand-logoimg {
    width: 11rem;
    height: 4.6875rem;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    padding: 0.5rem 2.6875rem;
}

.brands .brand-logoimg img {
    height: 100%;
}

.brands .logo_repeat {
    display: flex;
}

@media (max-width: 768px) {
    .brands {
        margin-block: 5rem;
    }

    body.home .brands {
        margin-block: 2.5rem;
    }

    .brands .brands-section_top .title {
        font-size: 2.1875rem;
        margin-bottom: 2rem;
        text-align: start;
    }
}

/* ======================================== */
/* SELECTION CARS SECTION */
/* ======================================== */

.selection-cars {
    padding-bottom: 8.75rem;
    padding-top: 3.75rem;
    overflow: hidden;
    --car-height: 18.3125rem;
}

.selection-cars .title {
    text-align: center;
    margin-bottom: 1.875rem;
}

.selection-cars .description {
    text-align: center;
    margin-bottom: 3.125rem;
    max-width: 41.1875rem;
    color: var(--blue);
    display: flex;
    margin-left: auto;
    margin-right: auto;
}

.selection-cars .selection-rent {
    display: flex;
    text-align: center;
    align-items: center;
    justify-content: safe center;
    margin-bottom: 3.75rem;
}

.selection-cars .selection-rent .buttons-wrapper {
    display: flex;
    align-items: center;
    gap: 3.6875rem;
    position: relative;
}

.selection-cars .selection-rent .buttons-wrapper::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 0.0625rem;
    background-color: rgb(206 206 206 / 0.5);
    bottom: -0.625rem;
    z-index: -1;
}

.selection-cars .selection-rent_btn {
    position: relative;
}

.selection-cars .selection-rent_btn::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%) scaleX(0);
    bottom: -0.6563rem;
    width: 100%;
    height: 0.1875rem;
    background: var(--black);
    transition: transform 0.6s ease;
}

.selection-cars .selection-rent_btn.is-active::after {
    transform: translateX(-50%) scaleX(1);
}

.selection-cars .rent-panels {
    display: grid;
}

.selection-cars .rent-panels .rent-panel {
    grid-area: 1/1;
    position: relative;
}

.selection-cars .rent-panel:not(.is-active) {
    visibility: hidden;
    pointer-events: none;
}

.selection-cars .swiper {
    overflow: visible;
    width: 0;
    min-width: 100%;
}

.selection-cars .swiper-slide {
    display: flex;
    justify-content: center;
    width: 38.125rem;
}

.selection-cars .vehicle-swipe {
    width: 100%;
    min-height: var(--car-height);
    display: grid;
    justify-items: center;
    text-align: center;
}

.selection-cars .vehicle_img {
    height: var(--car-height);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.875rem;
    width: 100%;
}

.selection-cars .vehicle_img a {
    width: 100%;
}

.selection-cars .vehicle_img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.selection-cars .selection_head {
    display: flex;
    justify-content: center;
    max-width: 38.125rem;
}

.selection-cars .selection_title {
    margin-top: 1.875rem;
    margin-bottom: 1.875rem;
}

.selection-cars .selection_desc {
    color: var(--blue);
    margin-bottom: 3.75rem;
}

.selection-cars .selection_arrowl,
.selection-cars .selection_arrowr {
    width: 3.0625rem;
    height: 3.0625rem;
    border-radius: 6.25rem;
    border: 1px solid rgb(0 0 0 / 10%);
    padding: 0;
    background: hsl(0deg 0% 0% / 3%);
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    top: calc(var(--car-height) / 2);
    z-index: 1;
    translate: 0 -50%;
}

.selection-cars .selection_arrowr svg path {
    fill: var(--black);
}

.selection-cars .selection_arrowl {
    left: calc(10rem + var(--container-x-padding));
}

.selection-cars .selection_arrowr {
    right: calc(10rem + var(--container-x-padding));
}

.selection-cars .btncars {
    display: flex;
    justify-content: center;
}

@media (min-width: 768px) {
    .selection-cars .rent-panels .swiper-pagination {
        display: none;
    }

    .selection-cars .selection_desc {
        opacity: 0;
        translate: 0 1.25rem;
        transition:
            opacity 0.2s ease,
            translate 0.2s ease;
    }

    .selection-cars .swiper-slide.swiper-slide-active .selection_desc {
        opacity: 1;
        translate: 0 0;
    }
}

@media (max-width: 768px) {
    .selection-cars {
        --car-height: 50vw;
        padding-block-start: 3.75rem;
        padding-block-end: 5rem;
    }

    .selection-cars .title {
        text-align: start;
    }

    .selection-cars .description {
        text-align: start;
    }

    .selection-cars .selection-rent {
        overflow: auto;
        padding-bottom: 1rem;
        position: relative;
        left: calc(-1 * var(--container-x-padding));
        width: calc(100% + (2 * var(--container-x-padding)));
        text-wrap: nowrap;
        padding-inline: var(--container-x-padding);
        scrollbar-width: none;
    }

    .selection-cars .swiper-slide {
        width: 90vw;
    }

    .selection-cars .selection_title {
        margin-block: 0;
        text-align: start;
        margin-bottom: 1.875rem;
    }

    .selection-cars .selection_desc {
        text-align: start;
        margin-bottom: 0;
    }

    .selection-cars .btncars {
        justify-self: start;
    }

    .selection-cars .rent-panels .rent-panel {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        gap: 1rem;
        align-items: center;
        margin-block-end: 3.75rem;
        row-gap: 1.875rem;
    }

    .selection-cars .rent-panels .swiper {
        grid-column: -1/1;
    }

    .selection-cars .rent-panels button {
        position: static;
        translate: none;
    }

    .selection-cars .rent-panels button + button {
        grid-column: 3;
        justify-self: end;
    }

    .selection-cars .rent-panels .swiper-pagination {
        grid-column: 2;
        grid-row: 2;
    }

    .selection-cars .selection_content {
        width: 100%;
    }

    .selection-cars .selection_head {
        justify-self: start;
    }
}

/* ======================================== */
/* REVIEWS SECTION */
/* ======================================== */

.reviews-section {
    position: relative;
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
    background-color: var(--blue);
    overflow: hidden;
}
.reviews-section .swiper {
    overflow: visible;
}

.reviews-section .title {
    color: var(--white);
    text-align: center;
    margin-bottom: 3rem;
}

.reviews-section .review-card-wrap {
    max-inline-size: 68rem;
    margin-inline: auto;
    background: none;
    backdrop-filter: none;
    border-radius: 0;
}

.reviews-section .review-item.review-card {
    border: 1px solid rgb(255 255 255 / 0.1);
    border-radius: 0.875rem;
    color: var(--white);
    background-color: rgb(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    overflow: hidden;
    padding: 1.5rem 1.875rem;
    width: auto;
    display: flex;
    flex-direction: column;
    block-size: 100%;
}

.reviews-section .review-rating {
    margin-bottom: 1.25rem;
    display: flex;
    align-items: center;
    gap: 0.4375rem;
    line-height: 0;
}

.reviews-section .review-rating svg {
    width: 0.8125rem;
    height: 0.8125rem;
    translate: 0px -0.03125rem;
}

.reviews-section .review-rating svg.filled {
    color: #b69f7a;
}

.reviews-section .review-rating svg:not(.filled) {
    color: var(--white);
    opacity: 0.2;
}

.reviews-section .review-description {
    margin-bottom: 1.25rem;
}

.reviews-section .review-meta {
    margin-top: auto;
}

.reviews-section .review-meta-bottom {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.reviews-section .review-subtitle,
.reviews-section .review-date {
    opacity: 0.5;
}

.reviews-section .contactbutton {
    display: grid;
    grid-template-columns: 1fr;
    max-width: fit-content;
    margin-inline: auto;
    align-items: center;
    justify-content: center;
    padding-top: 3rem;
    gap: 1.875rem;
}

.reviews-section .contactbutton .btn.btn-primary:hover {
    color: var(--black);
    background: var(--white);
}

.reviews-section .swiper-slide {
    max-inline-size: 21.875rem;
    block-size: auto;
}

@media (min-width: 768px) {
    .reviews-section :is(.reviews_arrowl, .reviews_arrowr, .swiper-pagination) {
        display: none;
    }
}

@media (max-width: 768px) {
    .reviews-section {
        padding-block: 5rem;
    }

    .reviews-section .title {
        margin-block-end: 1.875rem;
        text-align: start;
    }

    .reviews-section .contactbutton {
        display: flex;
        margin-inline: 0;
        max-width: none;
        padding-top: 1.875rem;
        flex-wrap: wrap;
        text-wrap: nowrap;
    }

    .reviews-section .contactbutton a {
        flex-grow: 1;
        flex-basis: 0;
        min-width: min-content;
    }

    .reviews-section .contactbutton .btn {
        padding-inline: 0.25rem;
    }

    .reviews-section .swiper-slide {
        max-inline-size: calc(100vw - (2 * var(--container-x-padding)));
    }

    .reviews-section .review-card-wrap {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        gap: 0.5rem;
        row-gap: 1.875rem;
        align-items: center;
    }

    .reviews-section .review-card-wrap .swiper {
        width: 0;
        inline-size: 100%;
        grid-column: -1/1;
    }

    .reviews-section .review-card-wrap .btn {
        grid-row: 2;
        inline-size: 3.125rem;
        block-size: 3.125rem;
        border: 1px solid rgb(255 255 255 / 0.1);
        padding: 0;
    }

    .reviews-section .review-card-wrap .btn svg {
        width: 0.6875rem;
        color: white;
        height: 0.6875rem;
    }

    .reviews-section .review-card-wrap .btn + .btn {
        justify-self: end;
    }

    .reviews-section .swiper-pagination {
        grid-column: 2;
        grid-row: 2;
        --swiper-pagination-bullet-size: 0.625rem;
        --swiper-pagination-bullet-horizontal-gap: 0.3125rem;
        --swiper-pagination-color: white;
        --swiper-pagination-bullet-inactive-opacity: 0.3;
        --swiper-pagination-bullet-inactive-color: var(--grey-light);
    }
}

/* ========================= */
/* REVIEWS - LIGHT THEME */
/* ========================= */

.reviews-section[data-theme="light"] {
    background: rgba(153, 161, 175, 0.6);
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
}

.reviews-section[data-theme="light"] .title {
    color: var(--on-surface, black);
}

.reviews-section[data-theme="light"] .review-item.review-card {
    background: rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(10px);
    color: var(--on-surface, black);
}

.reviews-section[data-theme="light"] .review-rating svg:not(.filled) {
    color: var(--on-surface, black);
    opacity: 0.2;
}

.reviews-section[data-theme="light"] .review-subtitle,
.reviews-section[data-theme="light"] .review-date {
    opacity: 0.5;
}

.reviews-section[data-theme="light"] .contactbutton {
    grid-template-columns: 1fr;
}

@media (max-width: 768px) {
    .reviews-section[data-theme="light"] .review-card-wrap .btn {
        border: 1px solid rgba(0, 0, 0, 0.1);
    }

    .reviews-section[data-theme="light"] .review-card-wrap .btn svg {
        color: black;
    }

    .reviews-section[data-theme="light"] .swiper-pagination {
        --swiper-pagination-color: black;
        --swiper-pagination-bullet-inactive-opacity: 0.3;
        --swiper-pagination-bullet-inactive-color: var(--black);
    }
}

/* ======================================== */
/* BANNER */
/* ========================================*/

.banner.banner-section .layers {
    min-height: inherit;
}

.banner.banner-section .layer-bg::before {
    background: linear-gradient(to right, rgb(0 0 0 / 1) 0%, rgb(0 0 0 / 0.5) 100%);
    z-index: 1;
    opacity: 0.6;
}

.banner.banner-section .text {
    display: flex;
    flex-direction: column;
    max-width: 28.125rem;
    padding-block: 8.75rem;
}

.banner.banner-section .pretitle,
.banner.banner-section .title,
.banner.banner-section .description {
    color: var(--white);
}

.banner.banner-section .pretitle,
.banner.banner-section .title {
    margin-bottom: 1.125rem;
}

.banner.banner-section .pretitle {
    font-weight: 700;
}

.banner.banner-section .description {
    margin-bottom: 1.875rem;
}

.banner.banner-section .btn.btn-outline {
    color: var(--white);
}

.banner.banner-section .btn.btn-outline:hover {
    color: var(--black);
    background: var(--white);
}

@media (max-width: 768px) {
    .banner.banner-section .text {
        padding-block: 8.75rem;
    }
}

/* ======================================== */
/* NEWS */
/* ========================================*/

.news.groupnews .top {
    align-items: center;
    padding-top: 7.4375rem;
    padding-bottom: 3.75rem;
}

.news.groupnews .title {
    text-align: center;
    margin-bottom: 1.875rem;
}

.news.groupnews .description {
    text-align: center;
    margin-bottom: 1.875rem;
    max-width: 41.1875rem;
    color: var(--blue);
    margin-left: auto;
    margin-right: auto;
}

.news.groupnews .btncontact {
    display: flex;
    justify-content: center;
}

.news.groupnews .bottom {
    padding-block-end: 7.5rem;
    max-width: 71.25rem;
    width: 100%;
    margin: 0 auto;
    display: grid;
    --grid-item-width: 18.75rem;
    grid-template-columns: repeat(auto-fit, minmax(var(--grid-item-width), 1fr));
    grid-template-columns: repeat(auto-fit, minmax(min(var(--grid-item-width), 100%), 1fr));
    gap: 2.8125rem;
}

.news-card {
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
}

.news-card_img {
    border-radius: 0.625rem;
    margin-bottom: 1.5625rem;
    aspect-ratio: 350/212;
}

.news-card_tags {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
}

.news-tag {
    display: inline-block;
    border-radius: 9999px;
    font-weight: 700;
    padding: 0.3125rem 0.9375rem;
    background: var(--blue);
    color: var(--white);
}

.news-card_date,
.news-card_title {
    margin-bottom: 1.25rem;
    display: flex;
}

.news-card_excerpt {
    color: var(--blue);
}

@media (max-width: 768px) {
    .news.groupnews .container {
        padding-block: 5rem;
        display: flex;
        flex-direction: column;
        gap: 3.125rem;
    }
    .news.groupnews .top {
        display: contents;
    }

    .news.groupnews .description,
    .news.groupnews .title {
        margin-bottom: 0;
        text-align: start;
    }

    .news.groupnews .description {
        margin-block-start: -0.625rem;
    }

    .news.groupnews .btncontact {
        order: 2;
        margin-right: auto;
    }

    .news.groupnews .bottom {
        padding-bottom: 0;
        display: flex;
        gap: 1.25rem;
        overflow: auto;
        scrollbar-width: none;
        position: relative;
        left: calc(-1 * var(--container-x-padding));
        inline-size: calc(100% + (2 * var(--container-x-padding)));
        padding-inline: var(--container-x-padding);
    }

    .news.groupnews .bottom .news-card {
        flex-shrink: 0;
        max-inline-size: 80vw;
    }
}

/* ======================================== */
/* CONTACTS */
/* ========================================*/

.contacts-section {
    position: relative;
    padding-top: 6.875rem;
    padding-bottom: 7.5rem;
    background-color: var(--blue);
}

.contacts-section .title {
    color: var(--white);
    text-align: center;
    margin-bottom: 3rem;
    max-width: 38.125rem;
    margin-inline: auto;
}

.contacts-section ul.contacts-grid {
    display: grid;
    --grid-item-width: 18.75rem;
    grid-template-columns: repeat(auto-fit, minmax(var(--grid-item-width), 1fr));
    grid-template-columns: repeat(auto-fit, minmax(min(var(--grid-item-width), 100%), 1fr));
    gap: 1.3125rem;
    max-width: 68.0625rem;
    margin-inline: auto;
}

.contacts-section .contacts-card-wrap {
    background: none;
    backdrop-filter: none;
    border-radius: 0;
}

.contacts-section li.contacts-item.contacts-card {
    border-radius: 0.875rem;
    color: var(--white);
    background-color: rgb(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    overflow: hidden;
    padding: 1.5625rem 1.5625rem;
    width: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    border: 1px solid rgb(255 255 255 / 0.1);
    position: relative;
}

.contacts-section .contacts-card_img {
    width: 1.9112rem;
    height: 1.9rem;
    display: grid;
    place-items: center;
}

.contacts-section .contacts-group {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 20px;
    margin-bottom: 20px;
    gap: 5px;
}

.contacts-section .contacts-text {
    color: var(--blue-light);
}

.contacts-section .contacts-link {
    line-height: 0;
}

@media (max-width: 768px) {
    .contacts-section {
        padding-block: 5rem;
    }

    .contacts-section .title {
        margin-bottom: 1.85rem;
        text-align: start;
    }

    .contacts-section ul.contacts-grid {
        gap: 1.5rem;
    }

    .contacts-section .contacts-group {
        margin-bottom: 0;
        margin-top: 0.9375rem;
    }

    .contacts-section li.contacts-item.contacts-card a {
        position: absolute;
        inset: 0;
        opacity: 0;
    }
}

/* ======================================== */
/* VEHICLES PAGE */
/* ========================================*/

/* ======================================== */
/* HERO PAGE */
/* ======================================== */

.hero.hero-page {
    position: relative;
}

.hero.hero-page .layers {
    min-height: inherit;
}

.hero.hero-page .layer-bg::before {
    background: linear-gradient(to left, rgb(0 0 0 / 0.6), rgb(0 0 0 / 0.9), rgb(0 0 0 / 1));
    opacity: 0.5;
    z-index: 1;
}

body.page-template-vehicle-archive .hero.hero-page .layer-bg::before {
    opacity: 0.7;
}

.hero.hero-page .container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.hero.hero-page .top {
    min-height: 37.5rem;
    max-width: 50.6875rem;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: end;
    padding-bottom: 3.75rem;
}

.hero.hero-page .breadcrumbs-wrap,
.hero.hero-page .title {
    margin-bottom: 1.875rem;
    align-items: center;
    text-align: center;
}

.hero.hero-page .ctas {
    display: inline-flex;
    gap: 1.8125rem;
    align-items: center;
    place-content: center;
}

@media (max-width: 768px) {
    .hero.hero-page .top {
        padding-bottom: 3.75rem;
    }

    .hero.hero-page .ctas {
        justify-content: start;
        gap: 1.875rem;
    }

    .hero.hero-page .btn.btn-outline {
        color: var(--surface);
        background-color: var(--on-surface);
        border-color: var(--on-surface);
    }

    .hero.hero-page .breadcrumbs-wrap {
        text-align: start;
    }

    .hero.hero-page .title {
        text-align: start;
    }
}

/* ======================================== */
/* SELECTION-CARS PAGE SECTION */
/* ======================================== */

.section.selection-cars-page {
    padding-bottom: 8.75rem;
    padding-top: 6.25rem;
    overflow: hidden;
    --car-height: 18.3125rem;
}

.section.selection-cars-page .title {
    text-align: center;
    margin-bottom: 1.875rem;
}

.section.selection-cars-page .description {
    text-align: center;
    margin-bottom: 3.75rem;
    max-width: 41.1875rem;
    color: var(--blue);
    display: flex;
    margin-left: auto;
    margin-right: auto;
}

.section.selection-cars-page .selection-rent {
    display: flex;
    text-align: center;
    align-items: center;
    justify-content: center;
    margin-bottom: 5rem;
}

.section.selection-cars-page .buttons-wrapper {
    display: flex;
    align-items: center;
    gap: 3.6875rem;
    position: relative;
}

.section.selection-cars-page .buttons-wrapper::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 0.0625rem;
    background-color: rgb(206 206 206 / 0.5);
    bottom: -0.625rem;
    z-index: -1;
}

.section.selection-cars-page .selection-rent_btn {
    position: relative;
}

.section.selection-cars-page .selection-rent_btn::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%) scaleX(0);
    bottom: -0.6563rem;
    width: 100%;
    height: 0.1875rem;
    background: var(--black);
    transition: transform 0.6s ease;
}

.section.selection-cars-page .selection-rent_btn:has(input:checked):after {
    transform: translateX(-50%) scaleX(1);
}

.section.selection-cars-page .vehicle-rent-type {
    display: flex;
    gap: 1.25rem;
    margin-bottom: 3.75rem;
    justify-content: center;
}

.section.selection-cars-page .vehicle-type:has(:checked) {
    background-color: transparent;
    border: 1px solid var(--blue);
}

.section.selection-cars-page .vehicle-type {
    padding: 5px 20px;
    border-radius: 10px;
    background: var(--grey-light);
    color: var(--blue);
}

.section.selection-cars-page .vehicle-type:hover {
    background: rgba(153, 161, 175, 0.4);
    color: var(--blue);
}

.section.selection-cars-page .vehicle_wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 70px 50px;
    text-align: center;
}

.section.selection-cars-wedding .buttons-wrapper::after {
    content: none;
}

.section.selection-cars-wedding .vehicle-rent-type {
    display: none;
}

.vehicle_item {
    margin-bottom: 1.875rem;
    margin-top: 1.875rem;
    text-align: center;
    transition: transform 0.6s ease;
}

.vehicle_item:hover {
    transform: scale(1.04);
}

.vehicle_item .vehicle_img {
    margin-bottom: 1.875rem;
    max-width: 320px;
    margin-inline: auto;
}

.vehicle_item .vehicle_img img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.vehicle_item .vehicle_title {
    margin-bottom: 0.625rem;
}

.vehicle_item .vehicle_search {
    color: var(--blue);
    text-decoration: none;
    transition: transform 0.6s ease;
}

.vehicle_item:hover .vehicle_search {
    text-decoration: underline;
}

#eg-pagination {
    color: var(--accent);
    display: flex;
    gap: 0.625rem;
    justify-content: center;
    align-items: center;
    margin-top: 1.875rem;
    font-size: 0.9375rem;
    font-weight: 600;
}

#eg-pagination[aria-hidden="true"] {
    display: none;
}

#eg-pagination .page-btn {
    color: var(--blue);
    line-height: 0;
    width: 3.0625rem;
    height: 3.0625rem;
    border: 1px solid rgba(74, 85, 101, 0.1);
    background: rgba(74, 85, 101, 0.03);
    backdrop-filter: blur(10px);
    border-radius: 6.25rem;
    align-items: center;
    margin-left: 3.75rem;
    margin-right: 3.75rem;
}

#eg-pagination .page-btn:disabled,
#eg-pagination .page-separator,
#eg-pagination .page:not(.page-current) {
    color: var(--blue-light);
}

#eg-pagination .page-btn.page-btn-next {
    rotate: 180deg;
}

#eg-pagination :disabled {
    pointer-events: none;
}

@media (max-width: 768px) {
    .section.selection-cars-page {
        padding-block: 5rem;
    }

    .section.selection-cars-page .description,
    .section.selection-cars-page .title {
        text-align: start;
    }

    .section.selection-cars-page .title {
        margin-block-end: 2.5rem;
    }

    .section.selection-cars-page form {
        position: relative;
    }

    .section.selection-cars-page .selection-rent {
        overflow: auto;
        padding-bottom: 1rem;
        position: relative;
        left: calc(-1 * var(--container-x-padding));
        width: calc(100% + (2 * var(--container-x-padding)));
        text-wrap: nowrap;
        padding-inline: var(--container-x-padding);
        scrollbar-width: none;
    }

    .section.selection-cars-page .vehicle-rent-type {
        justify-content: flex-start;
        overflow: auto;
        scrollbar-width: none;
    }

    .section.selection-cars-page .vehicle-type {
        flex: none;
    }

    .section.selection-cars-page .vehicle_wrapper {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    #eg-pagination {
        display: flex;
        margin-top: 1.25rem;
    }

    #eg-pagination .page-btn.page-btn-prev {
        margin-left: auto;
        justify-self: start;
    }
    #eg-pagination .page-btn.page-btn-next {
        margin-right: auto;
        justify-self: end;
    }
}

/* ======================================== */
/* VEHICLES DRIVER PAGE */
/* ========================================*/

/* ======================================== */
/* HERO DRIVER */
/* ======================================== */

.hero.hero-driver {
    position: relative;
}

.hero.hero-driver .container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.hero.hero-driver .top {
    min-height: 37.5rem;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: end;
    padding-top: 9.375rem;
    margin-block-end: -1.25rem;
}

.hero.hero-driver .breadcrumbs-wrap {
    margin-bottom: 1.875rem;
    align-items: center;
    text-align: center;
}

.hero.hero-driver .title {
    align-items: center;
    text-align: center;
    margin-bottom: 1.875rem;
}

.hero.hero-driver .subtitle {
    text-align: center;
}

.rich-text strong {
    font-weight: 600;
}

.hero.hero-driver .img {
    border-radius: 20px;
    margin-top: 4.125rem;
    margin-bottom: 4.125rem;
    width: 100%;
    overflow: hidden;
}

.hero.hero-driver .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero.hero-driver .description {
    max-width: 812px;
    margin: 0 auto;
    text-align: center;
}

@media (max-width: 768px) {
    .hero.hero-driver .breadcrumbs-wrap,
    .hero.hero-driver .title,
    .hero.hero-driver .subtitle,
    .hero.hero-driver .description {
        text-align: left;
    }

    .hero.hero-driver .img {
        position: relative;
        border-radius: 0;
        left: calc(-1 * var(--container-x-padding));
        width: calc(100% + (2 * var(--container-x-padding)));
        height: 15.0625rem;
    }
}

/* ======================================== */
/* ICON-CARS DRIVER */
/* ======================================== */

.icons-section {
    margin: 7.5rem 0;
}

.icons-section .title {
    text-align: center;
    margin-bottom: 3.75rem;
}

.icons-section .icons_wrap {
    display: flex;
    justify-content: center;
}

.icons-section .icons-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    justify-content: center;
    align-items: flex-start;
    gap: 3.75rem;
    align-self: stretch;
    width: 100%;
    max-width: 57.5rem;
}

.icons-section .icons-item_img {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.icons-section .icons-item_img .img {
    width: 3.5rem;
    height: 3.5rem;
    display: grid;
    place-items: center;
    border-radius: 0.625rem;
    background: rgba(238, 238, 238, 0.6);
    margin-top: 0.625rem;
    margin-bottom: 0.9375rem;
    overflow: hidden;
}

.icons-section .icons-item_img .img img {
    width: 1.875rem;
    height: 1.875rem;
    object-fit: contain;
    display: block;
}

.icons-section .icons-item_title {
    display: block;
    margin-bottom: 0.625rem;
}

.icons-section .icons-item_desc {
    color: var(--blue);
    margin-bottom: 0.3125rem;
}

@media (max-width: 768px) {
    .icons-section {
        margin: 5rem 0;
    }

    .icons-section .title {
        text-align: left;
        margin-bottom: 2.5rem;
    }

    .icons-section .icons_wrap {
        justify-content: flex-start;
    }

    .icons-section .icons-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2.5rem 1.25rem;
    }

    .icons-section .icons-item_img {
        align-items: flex-start;
        text-align: left;
    }
}

/* ======================================== */
/* CHECK-CARS DRIVER */
/* ======================================== */

body.single-vehicle .check-section {
    margin: -1.25rem 0;
    padding-block-end: 5rem;
}

body.page-template-taxi .check-section {
    margin-block: 11.25rem 8.0625rem;
}

body.page-template-concierge .check-section {
    margin-block: 6.25rem;
}

.check-section .container {
    display: grid;
    grid-template-columns: [image-start] repeat(6, 1fr) [text-start] repeat(2, 1fr) [image-end] repeat(2, 1fr) [text-end];
    gap: var(--container-gap);
    align-items: center;
}

.check-section .check-img-card {
    position: relative;
    display: grid;
    grid-template-columns: 1.2fr 0.9fr;
    align-items: center;
    gap: 2.8125rem;
    min-height: 28.625rem;
    height: 100%;
    padding-left: 2.9375rem;
    border-radius: 1.25rem;
    background: #f5f5f5;
    overflow: hidden;
    grid-column: image;
    grid-row: 1;
}

.check-section .check-img-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.2);
    z-index: 1;
}

.check-section .check-img-card .img {
    width: 100%;
    position: absolute;
}

.check-section[data-contained="false"] .check-img-card .img {
    height: 100%;
}

.check-section .img img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
}

.check-section[data-contained="false"] .img img {
    height: 100%;
    object-fit: cover;
}

.check-section[data-contained="true"] .check-img-card {
    grid-template-columns: 6fr 2fr;
}
.check-section[data-contained="true"] .check-img-card .img {
    position: static;
}
.check-section[data-contained="true"] .check-img-card::after {
    background: transparent;
}

.check-section .check-card {
    margin-block: 4.375rem;
    background: #fff;
    border-radius: 1.5rem;
    padding: 2rem 3.125rem;
    border: 1px solid rgba(0, 0, 0, 0.1);
    z-index: 1;
    grid-row: 1;
    grid-column: text;
}

.check-section .check-card .title {
    margin-bottom: 1.5625rem;
}

.check-section .check-grid {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.625rem;
    align-self: stretch;
}

.check-section .check-item_title {
    display: flex;
    line-height: 1.35;
    align-items: start;
    gap: 0.9375rem;
}

.check-section .check-item_title:has(strong) {
    font-weight: 400;
}

.check-section .check-item_title svg {
    flex-shrink: 0;
    margin-block-start: 0.375rem;
}

@media (max-width: 768px) {
    .check-section .container {
        grid-template-columns: 1fr;
    }

    .check-section .check-img-card {
        grid-column: auto;
        border-radius: 0;
        position: relative;
        left: calc(-1 * var(--container-x-padding));
        width: calc(100% + (2 * var(--container-x-padding)));
        min-height: auto;
        display: block;
        padding-left: 1.25rem;
        padding-right: 1.25rem;
        padding-bottom: 6.25rem;
    }

    .check-section .check-img-card .img {
        width: 100%;
    }

    .check-section .img img {
        height: 14.4763rem;
    }

    .check-section .check-card {
        grid-column: auto;
        grid-row: auto;
        margin: 0;
        margin-top: -100px;
    }

    .check-section[data-contained="false"] .check-img-card {
        grid-column: auto;
        border-radius: 0;
        position: relative;
        left: calc(-1 * var(--container-x-padding));
        width: calc(100% + (2 * var(--container-x-padding)));
        min-height: auto;
        display: block;
        padding: 0;
    }

    .check-section[data-contained="false"] .check-img-card .img {
        position: static;
    }

    .check-section[data-contained="false"] .img img {
        object-fit: cover;
        position: static;
        height: 350px;
    }
}

/* ======================================== */
/* SPLIT-CARS DRIVER */
/* ======================================== */

.split-section {
    margin: 5rem 0;
}

.split-section .container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
    align-items: center;
}

.split-section .split-content {
    padding-block: 2.875rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 1.5625rem;
    max-width: 27.8125rem;
    margin-left: auto;
    width: 100%;
}

.split-section.flipped .split-content {
    margin-right: auto;
    order: -1;
    margin-left: 0;
}

.split-section .split-description {
    color: var(--blue);
}

.split-section .split-description ul {
    padding-left: 0;
    color: var(--black);
}

.split-section .split-description ul li {
    list-style: none;
    position: relative;
    padding-left: 1.25rem;
    margin-bottom: 0.625rem;
    color: var(--black);
}

.split-section .split-description ul li::before {
    content: "";
    width: 0.5625rem;
    height: 0.5625rem;
    border-radius: 50%;
    background: var(--blue-light);
    position: absolute;
    left: 0;
    top: 0.45em;
}

.split-section .split-description ul {
    font-size: 1.125rem;
    line-height: 1.333333;
}

.split-section .split-search {
    color: var(--blue);
}

.split-section .img {
    min-height: 25rem;
    height: 100%;
    border-radius: 0.625rem;
    position: relative;
    overflow: hidden;
}

.split-section .img::after {
    content: "";
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%);
    position: absolute;
    inset: 0;
}

.split-section .img img {
    width: 100%;
    min-height: 25rem;
    display: block;
    object-fit: cover;
}

@media (max-width: 768px) {
    .split-section {
        margin: 5rem 0;
    }

    .split-section .container {
        grid-template-columns: 1fr;
    }

    .split-section .img {
        order: 0;
        grid-row: 2;
        min-height: 17.8281rem;
    }

    .split-section .split-grid {
        grid-row: 1;
    }

    .split-section .img img {
        min-height: 0;
        width: 100%;
        object-fit: cover;
        display: block;
    }

    .split-section .split-content {
        padding-block: 0;
    }
}

/* ======================================== */
/* ACCORDION-CARS DRIVER */
/* ======================================== */

.accordion-section {
    margin: 7.5rem 0;
}

.accordion-section .container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
}

.accordion-section .img {
    order: 2;
    border-radius: 1.25rem;
    overflow: hidden;
}

.accordion-section .img img {
    width: 100%;
    min-height: 34.375rem;
    object-fit: cover;
    display: block;
}

.accordion-section .img::after {
    content: "";
    position: absolute;
    inset: 0;
}

.accordion-section .accordion-grid {
    display: flex;
    flex-direction: column;
    gap: 1.5625rem;
}

.accordion-section .accordion-item {
    cursor: pointer;
    border-radius: 1.25rem;
    padding: 1.875rem;
    border: 1px solid rgba(0, 0, 0, 0.1);
    background: rgba(238, 238, 238, 0.4);
}

.accordion-section .accordion-head {
    display: grid;
    grid-template-columns: 2.1875rem 1fr;
    gap: 1.5625rem;
    align-items: center;
    row-gap: 0;
}

.accordion-section .accordion-btn {
    content: "";
    display: grid;
    place-items: center;
    width: 2.1875rem;
    height: 2.1875rem;
    border-radius: 6.25rem;
    background: rgba(74, 85, 101, 0.1);
}

.accordion-section .accordion-btn .icon-plus {
    display: grid;
}
.accordion-section .accordion-btn .icon-minus {
    display: none;
}

.accordion-section .accordion-btn svg {
    width: 0.75rem;
    height: 0.75rem;
    display: block;
}

.accordion-item_desc ul {
    margin-top: 1.125rem;
}

.accordion-section .descriptionwrapper {
    display: grid;
    grid-template-rows: 0fr;
    overflow: hidden;
    transition: grid-template-rows 0.6s ease;
    grid-column: 2;
}

.accordion-section .descriptionwrapper > div {
    min-height: 0;
}

.accordion-section .accordion-item.is-open {
    background-color: #ffffff;
}

.accordion-section .accordion-item.is-open .descriptionwrapper {
    grid-template-rows: 1fr;
}

.accordion-section .accordion-item.is-open .accordion-btn .icon-plus {
    display: none;
}
.accordion-section .accordion-item.is-open .accordion-btn .icon-minus {
    display: grid;
}

.accordion-section .accordion-item_desc li {
    position: relative;
    padding-left: 1.25rem;
    margin: 0.3125rem 0;
}

.accordion-section .accordion-item_desc li::before {
    content: "";
    width: 0.5625rem;
    height: 0.5625rem;
    border-radius: 50%;
    background: var(--blue-light);
    position: absolute;
    left: 0;
    top: 0.3125rem;
}

@media (max-width: 768px) {
    .accordion-section .container {
        grid-template-columns: 1fr;
    }

    .accordion-section .img {
        order: 0;
        grid-row: 1;
    }

    .accordion-section .accordion-grid {
        grid-row: 2;
    }

    .accordion-section .img img {
        min-height: 0;
        height: 392.22px;
        width: 100%;
        object-fit: cover;
        display: block;
    }

    .accordion-section .descriptionwrapper {
        grid-column: 1 / -1;
    }
}

/* ======================================== */
/* SELECTION-CARS DRIVER */
/* ======================================== */

.selection-cars-driver {
    padding-bottom: 6.25rem;
    padding-top: 6.25rem;
    overflow: hidden;
    --car-height: 18.3125rem;
}

.selection-cars-driver .title {
    text-align: center;
    margin-bottom: 1.875rem;
}

.selection-cars-driver .description {
    text-align: center;
    margin-bottom: 3.125rem;
    max-width: 41.1875rem;
    color: var(--blue);
    display: flex;
    margin-left: auto;
    margin-right: auto;
}

.selection-cars-driver .rent-panels {
    display: grid;
}

.selection-cars-driver .rent-panels .rent-panel {
    grid-area: 1/1;
}

.selection-cars-driver .rent-panel:not(.is-active) {
    visibility: hidden;
    pointer-events: none;
}

.selection-cars-driver .swiper {
    overflow: visible;
    width: 0;
    min-width: 100%;
}

.selection-cars-driver .swiper-slide {
    display: flex;
    justify-content: center;
    max-width: 23.375rem;
}

.selection-cars-driver .vehicle-swipe {
    width: 100%;
    min-height: var(--car-height);
    display: grid;
    justify-items: center;
    text-align: center;
}

.selection-cars-driver .btncars {
    display: flex;
    justify-content: center;
    margin-block-start: 3.75rem;
}

body.page-template-weddings .selection-cars-driver {
    padding-top: 1.25rem;
}

body.page-template-tour .selection-cars-driver {
    padding-top: 3.75rem;
}

@media (max-width: 768px) {
    .selection-cars-driver .title,
    .selection-cars-driver .description {
        text-align: left;
    }

    .selection-cars-driver .swiper-slide {
        max-width: 18.125rem;
    }

    .selection-cars-driver .btncars {
        justify-content: flex-start;
    }
}

/* ======================================== */
/* HERO-SIDE */
/* ======================================== */

.hero.hero-side {
    position: relative;
}

.hero.hero-side .layers {
    min-height: inherit;
}

.hero.hero-side .layer-bg::before {
    background: linear-gradient(270deg, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.63) 46.57%, rgba(0, 0, 0, 0.7) 100%);
    z-index: 1;
}

.hero.hero-side .container {
    align-items: stretch;
}

.hero.hero-side .top {
    min-height: 100vh;
    min-height: 100svh;
    max-width: 50.6875rem;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: end;
    padding-bottom: 6.25rem;
}

.hero.hero-side .breadcrumbs-wrap,
.hero.hero-side .description {
    margin-bottom: 2.5rem;
}

.hero.hero-side .title {
    margin-bottom: 0.9375rem;
}

.hero.hero-side .ctas {
    display: inline-flex;
    gap: 1.8125rem;
    align-items: left;
    place-content: left;
}

/* ======================================== */
/* TEXT-SECTION */
/* ======================================== */

.text.text-section {
    margin: 6.25rem 0;
}

.text.text-section .title {
    margin-bottom: 1.875rem;
}

.text.text-section:not(:has(.title)) .description {
    max-width: 38.125rem;
}

.text.text-section:has(.title) .title,
.text.text-section:has(.title) .description {
    text-align: center;
    max-width: 41.1875rem;
    margin-inline: auto;
}

.text.text-section:has(.title) .description {
    color: var(--blue);
}

@media (max-width: 768px) {
    .text.text-section:has(.title) .title,
    .text.text-section:has(.title) .description {
        text-align: left;
        max-width: 100%;
    }
}

/* ======================================== */
/* ICON-SIDE */
/* ======================================== */

.icons-side-section {
    margin: 7.5rem 0;
}

.icons-side-section .title {
    text-align: left;
    margin-bottom: 3.75rem;
}

body.page-template-jet .icons-side-section .title {
    text-align: center;
}

body.page-template-jet .icons-side-section {
    margin-block-end: 11.25rem;
}

.icons-side-section .icons-side_wrap {
    width: 100%;
    display: block;
}

.icons-side-section .icons-side-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(18.75rem, 1fr));
    width: 100%;
    justify-content: space-between;
    column-gap: 2.5rem;
    row-gap: 3.75rem;
}

.icons-side-section .icons-side-item_img {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}

.icons-side-section .icons-side-item_img .img {
    width: 3.5rem;
    height: 3.5rem;
    display: grid;
    place-items: center;
    border-radius: 0.625rem;
    background: rgba(238, 238, 238, 0.6);
    margin-top: 0.625rem;
    margin-bottom: 0.9375rem;
    overflow: hidden;
}

.icons-side-section .icons-side-item_img .img img {
    width: 1.875rem;
    height: 1.875rem;
    object-fit: contain;
    display: block;
}

.icons-side-section .icons-side-item_title {
    display: block;
    margin-bottom: 0.625rem;
}

.icons-side-section .icons-side-item_desc {
    color: var(--blue);
    margin-bottom: 0.3125rem;
}

.icons-side-section:has(.icons-side-grid > li:nth-child(4)):not(:has(.icons-side-grid > li:nth-child(5))) .icons-side-grid {
    grid-template-columns: repeat(4, 14.2188rem);
}

@media (max-width: 768px) {
    .icons-side-section {
        margin: 5rem 0;
    }

    .icons-side-section .title {
        margin-bottom: 2.5rem;
    }

    body.page-template-jet .icons-side-section .title {
        text-align: left;
    }

    .icons-side-section:has(.icons-side-grid > li:nth-child(4)):not(:has(.icons-side-grid > li:nth-child(5))) .icons-side-grid {
        grid-template-columns: repeat(auto-fit, minmax(18.75rem, 1fr));
    }
}

/* ======================================== */
/* INFO-SECTION */
/* ======================================== */

.info-section {
    margin: 7.5rem 0;
}

.info-section .title {
    text-align: left;
    margin-bottom: 4.375rem;
}

.info-section .info_wrap {
    width: 100%;
    display: block;
}

.info-section .info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12.5rem, 1fr));
    column-gap: 2.5rem;
    row-gap: 3.75rem;
    align-items: start;
}

.info-section .info-item_img {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}

.info-section .info-item_img .img {
    width: 12.5rem;
    height: 12.5rem;
    display: grid;
    place-items: center;
    border-radius: 0.625rem;
    background: rgba(238, 238, 238, 0.6);
    margin-top: 0.625rem;
    margin-bottom: 0.9375rem;
    overflow: hidden;
}

.info-section .info-item_img .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.info-section .info-item_title {
    display: block;
    margin-bottom: 0.9375rem;
}

.info-section .info-item_desc {
    color: var(--blue);
    width: 14.2188rem;
}

body.page-template-boat .info-section {
    margin-block: 10rem 12.5rem;
}

body.page-template-boat .info-section .title {
    text-align: center;
}

.info-section .info-item_desc {
    color: var(--blue);
    width: auto;
    max-width: none;
}

@media (max-width: 768px) {
    body.page-template-boat .info-section {
        margin: 2.5rem 0;
    }

    body.page-template-boat .info-section .title {
        text-align: left;
        margin-bottom: 3.125rem;
    }

    .info-section .info-grid {
        row-gap: 2.5rem;
    }

    .info-section .info-item_desc {
        width: 353px;
        max-width: 100%;
    }
}

/* ======================================== */
/* DESTINATION CARD-SECTION */
/* ======================================== */

.destination-card-section {
    margin: 7.5rem 0;
}

body.page-template-boat .destination-card-section {
    margin-block-end: 10rem;
}

body.page-template-jet .destination-card-section {
    margin-block-start: 10rem;
    margin-block-end: 3.75rem;
}

.destination-card-section .title {
    margin-bottom: 3.75rem;
    max-width: 64.375rem;
    margin-inline: auto;
    text-align: center;
}

.destination-card-grid {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 3.75rem;
}

.destination-card-section:has(li:nth-child(6)) .title {
    text-align: left;
}

.destination-card-grid:has(li:nth-child(6)) {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(23.3125rem, 100%), 1fr));
    justify-content: start;
}

.destination-card-item {
    overflow: hidden;
    background: var(--surface, #fff);
    display: flex;
    flex-direction: column;
    border-radius: 0.625rem;
    border: 1px solid var(--grey);
    flex-basis: 23.3125rem;
    transition: transform 0.6s ease;
}

.destination-card-item:hover {
    transform: scale(1.02);
}

.destination-card-item .card-content {
    padding: 1.875rem;
    padding-top: 1.5625rem;
    padding-bottom: 2rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.destination-card-section:has(.destination-card-item_text) .title {
    text-align: left;
}

.destination-card-section:has(.destination-card-item_text) .destination-card-grid {
    justify-content: start;
}

.destination-card-item .img {
    width: 100%;
    overflow: hidden;
}

.destination-card-item .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.destination-card-item_title {
    display: block;
    margin-bottom: 1.25rem;
}

.destination-card-item_text {
    color: var(--blue);
    margin-bottom: 1.25rem;
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

.destination-card-item_desc {
    margin-bottom: 0.625rem;
    color: var(--blue);
}

.destination-card-item .contactbutton {
    margin-top: auto;
    padding-top: 0.9375rem;
    padding-bottom: 0;
    display: flex;
    justify-content: center;
}

.destination-card-item .contactbutton .btn {
    width: 100%;
    max-width: 100%;
    min-height: 2.5rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 768px) {
    body.page-template-boat .destination-card-section {
        margin: 5rem 0;
    }

    body.page-template-jet .destination-card-section {
        margin-block-start: 2.5rem;
        margin-block-end: 5rem;
    }

    .destination-card-section .title {
        text-align: left;
    }
}
/* ======================================== */
/* INFO-NUMBER-SECTION */
/* ======================================== */

.info-number-section {
    margin-block: 10.625rem 9.75rem;
}

.info-number-section .info-number-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 3.75rem;
}

.info-number-section .info-number-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
}

.info-number-section .info-numb {
    color: var(--blue);
    font-family: Archivo;
    font-size: 70px;
    font-weight: 700;
    line-height: 110%;
    letter-spacing: -1.4px;
}

.info-number-section .info-numb_text {
    color: var(--on-surface, #111);
}

@media (max-width: 768px) {
    .info-number-section {
        position: relative;
        overflow: auto;
        scrollbar-width: none;
    }

    .info-number-section .info-number-item {
        min-width: max-content;
    }

    .info-number-section .info-numb {
        width: max-content;
        flex-shrink: 0;
    }
}

/* ======================================== */
/* CONTACT FORM */
/* ======================================== */

dialog#contact-form[open] {
    background-color: transparent;
    height: 100%;
    max-height: unset;
    width: 100%;
    max-width: unset;
    display: flex;
    justify-content: center;
    align-items: safe center;
    padding-block: 3.5rem;
}

dialog#contact-form h2 {
    text-align: center;
    margin-block-end: 1.875rem;
}

dialog#contact-form .dialog-content {
    position: relative;
    background-color: white;
    max-width: 50.1875rem;
    margin-inline: auto;
    inline-size: 100%;
    border-radius: 1.25rem;
    padding-block: 5.625rem;
}

dialog#contact-form [data-command="close"] {
    position: absolute;
    top: 2.8125rem;
    right: 2.8125rem;
    width: 1.875rem;
    height: 1.875rem;
    border-radius: 50%;
    background-color: var(--grey-light);
    color: var(--blue);
    display: grid;
    place-items: center;
}

dialog#contact-form::backdrop {
    background-color: rgb(0 0 0 / 0.5);
    backdrop-filter: blur(7.5px);
}

@media (max-width: 768px) {
    dialog#contact-form .dialog-content {
        max-width: calc(100% - 2.5rem);
    }

    dialog#contact-form [data-command="close"] {
        position: absolute;
        right: 1.25rem;
        top: 1.25rem;
    }
}

/* ======================================== */
/* NEWS ARCHIVE */
/* ======================================== */

section.news-archive .container {
    max-inline-size: calc((2 * var(--container-x-padding)) + 71.25rem);
    padding-block-end: 6.25rem;
}

section.news-archive .title-wrapper {
    padding-block: 11.25rem 6.25rem;
    text-align: center;
}

section.news-archive .title-wrapper .breadcrumbs {
    margin-block-end: 1.875rem;
}

section.news-archive .title-wrapper p {
    color: var(--blue);
    margin-block-start: 1.875rem;
}

section.news-archive .wrapper {
    display: grid;
    --grid-item-width: 20.75rem;
    grid-template-columns: repeat(auto-fill, minmax(var(--grid-item-width), 1fr));
    grid-template-columns: repeat(auto-fill, minmax(min(var(--grid-item-width), 100%), 1fr));
    gap: 7rem 2.8125rem;
}

section.news-archive #eg-pagination {
    margin-block-start: 6.25rem;
}

@media (max-width: 768px) {
    section.news-archive .title-wrapper {
        padding-block: 9rem 4rem;
    }

    section.news-archive .wrapper {
        gap: 3.125rem;
    }

    section.news-archive {
        margin-block-end: 6.25rem;
    }

    section.news-archive #eg-pagination {
        margin-block-start: 3.125rem;
    }
}
/* ======================================== */
/* NEWS SINGLE */
/* ======================================== */

section.news-single {
    --_blocks-gap: 3.125rem;
}

section.news-single .hero {
    margin-block: calc(5rem + var(--header-height)) 3.125rem;
    text-align: center;
}

section.news-single .excerpt {
    color: var(--blue);
    margin-block-start: 2.1875rem;
}

section.news-single .hero .container {
    display: flex;
    flex-direction: column;
}

section.news-single .hero .breadcrumbs {
    order: -1;
    margin-block-end: 2.5rem;
}

section.news-single .hero .img-wrapper {
    margin-block-start: 3.75rem;
    aspect-ratio: 812/512;
    border-radius: 0.9375rem;
}

section.news-single [data-layout] {
    margin-block: var(--_blocks-gap);
}

section.news-single [data-layout="text"] .container {
    display: flex;
    flex-direction: column;
    gap: var(--_blocks-gap);
    align-items: start;
}

section.news-single [data-layout="images"] .items {
    display: grid;
    --grid-item-width: 24.75rem;
    grid-template-columns: repeat(auto-fit, minmax(var(--grid-item-width), 1fr));
    grid-template-columns: repeat(auto-fit, minmax(min(var(--grid-item-width), 100%), 1fr));
    gap: var(--container-gap);
}

section.news-single [data-layout="images"] .items .img-wrapper {
    min-block-size: 32rem;
    border-radius: 0.9375rem;
    background-color: var(--grey);
}

section.news-single [data-layout="images"] .items:where(:has(> :nth-child(3))) .img-wrapper {
    min-block-size: 18.25rem;
}

section.news-single [data-layout="lists"] :is(.container, .items) {
    display: flex;
    flex-direction: column;
    gap: var(--_blocks-gap);
}

section.news-single [data-layout="lists"] :is(.item, .description ul) {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

section.news-single [data-layout="lists"] .item .title {
    color: var(--blue);
    font-weight: 500;
}

section.news-single [data-layout="vehicles-slider"] {
    margin-block: 6.25rem;
}

section.news-single [data-layout="vehicles-slider"]:last-child {
    margin-block-end: 8.125rem;
}

section.news-single [data-layout="vehicles-slider"] .wrapper {
    overflow: hidden;
}

section.news-single [data-layout="vehicles-slider"] .container {
    display: flex;
    flex-direction: column;
    gap: var(--_blocks-gap);
    align-items: start;
}

section.news-single [data-layout="vehicles-slider"] .swiper {
    overflow: visible;
}

section.news-single [data-layout="vehicles-slider"] .swiper-slide {
    max-inline-size: 23.375rem;
}

@media (max-width: 768px) {
    section.news-single {
        --_blocks-gap: 2.5rem;
    }

    section.news-single [data-layout="images"] + :is([data-layout="lists"], [data-layout="text"]) {
        margin-block-start: 3.125rem;
    }

    section.news-single .hero .breadcrumbs {
        margin-block-end: 2.5rem;
    }

    section.news-single .excerpt {
        margin-block-start: 0.9375rem;
    }

    section.news-single .hero .img-wrapper {
        margin-block-start: 3.125rem;
    }

    section.news-single .hero {
        margin-block: 14.375rem 5rem;
        text-align: start;
    }

    section.news-single [data-layout="images"] .items {
        gap: 1.25rem;
    }

    section.news-single [data-layout="quote"] .text {
        padding-block: 5rem;
    }

    section.news-single [data-layout="images"] .items:where(:has(> :nth-child(3))) {
        display: flex;
        gap: var(--container-gap);
        overflow: auto;
        scrollbar-width: none;
        position: relative;
        inset-inline-start: calc(-1 * var(--container-x-padding));
        padding-inline: var(--container-x-padding);
        inline-size: calc(100% + (2 * var(--container-x-padding)));
    }

    section.news-single [data-layout="images"] .items:where(:has(> :nth-child(3))) .img-wrapper {
        flex-shrink: 0;
        aspect-ratio: 300/221;
        min-block-size: 13.8125rem;
    }

    section.news-single [data-layout="images"] .items .img-wrapper:only-child {
        min-block-size: auto;
        aspect-ratio: 335/211;
    }

    section.news-single [data-layout="text"] .btn {
        inline-size: 100%;
    }

    section.news-single [data-layout="vehicles-slider"]:last-child,
    section.news-single [data-layout="vehicles-slider"] {
        margin-block: 5rem;
    }

    section.news-single [data-layout="vehicles-slider"] .swiper-slide {
        max-inline-size: 65vw;
    }
}

/* ======================================== */
/* RELATED NEWS */
/* ======================================== */

section.related-news {
    padding-block: 7.5rem;
    background-color: var(--grey-light);
}

section.related-news .container {
    display: flex;
    flex-direction: column;
    gap: 3.75rem;
    max-inline-size: calc((2 * var(--container-x-padding)) + 71.25rem);
}

section.related-news .title {
    text-align: center;
}

section.related-news .items {
    display: grid;
    --grid-item-width: 20rem;
    grid-template-columns: repeat(auto-fit, minmax(var(--grid-item-width), 1fr));
    grid-template-columns: repeat(auto-fit, minmax(min(var(--grid-item-width), 100%), 1fr));
    gap: 2.8125rem;
}

section.related-news .btn {
    max-inline-size: fit-content;
    margin-inline: auto;
}

@media (max-width: 768px) {
    section.related-news {
        padding-block: 5rem;
    }

    section.related-news .title {
        text-align: start;
    }

    section.related-news .items {
        position: relative;
        left: calc(-1 * var(--container-x-padding));
        width: calc(100% + (2 * var(--container-x-padding)));
        overflow: auto;
        display: flex;
        gap: var(--container-gap);
        padding-inline: var(--container-x-padding);
        scrollbar-width: none;
    }

    section.related-news .items .news-card {
        width: 80vw;
        flex-shrink: 0;
    }

    section.related-news .btn {
        margin-inline: 0;
    }
}

/* -----------------------------------
==============================================================================
#IUBENDA
==============================================================================
----------------------------------- */

body #iubenda-cs-banner *,
body #iubenda-cs-banner .iubenda-banner-content:not(.iubenda-custom-content) *,
body #iubenda-cs-banner [class*=" iub"],
body #iubenda-cs-banner [class^="iub"] {
    font-family: "Archivo" !important;
    color: #4a5565 !important;
    font-weight: 400 !important;
    font-size: 14px !important;
}

body.menu-open .iubenda-tp-btn:not(.iubenda-floatable-tb-btn)[data-tp-float][data-tp-float="bottom-left"] {
    display: none !important;
}

body #iubenda-cs-banner label {
    margin-bottom: 0;
}

body #purposes-content-container .purposes-header .purposes-header-text,
body #purposes-content-container .purposes-section-header-text {
    font-size: 14px !important;
}

body #purposes-content-container .purposes-item .purposes-item-body,
body #purposes-content-container .purposes-item .purposes-item-title .purposes-item-title-btn {
    font-weight: 500 !important;
}

body #purposes-content-container .purposes-section-header-title {
    line-height: 1.4 !important;
    padding-bottom: 7px !important;
}

body #purposes-content-container .purposes-header {
    padding-top: 0 !important;
}

body #iubenda-iframe .purposes-header-right button {
    background-color: #4a5565 !important;
    color: white !important;
    border: 0.5px solid #4a5565 !important;
    box-shadow: none !important;
    opacity: 1;
    border-radius: 64px !important;
}

body #iubenda-iframe .purposes-header-right button:hover {
    opacity: 0.8;
    background-color: #4a5565 !important;
    color: white !important;
    border: 0.5px solid #4a5565 !important;
}

body #iubenda-iframe .iub-toggle-checkbox input.style1:checked {
    background-color: #4a5565 !important;
}

body #iubenda-iframe .iub-btn-stroked {
    border: 1px solid black !important;
}

body #purposes-content-container .purposes-header .purposes-header-title {
    font-weight: 600 !important;
    font-size: 2rem !important;
    margin-bottom: 8px !important;
    line-height: 1.2 !important;
    padding-bottom: 0.5rem !important;
    padding-top: 1.6rem !important;
}

body #iubenda-cs-banner .iubenda-granular-controls-container .granular-control-checkbox input.style1:checked {
    background-color: #4a5565 !important;
}

body #iubenda-cs-banner .iubenda-cs-opt-group button,
body .iubenda-alert button.iubenda-button-cancel,
body #iiubenda-cs-banner .iub-btn-consent,
body #iubenda-iframe #iubFooterBtnContainer button,
body #iubenda-cs-banner .iubenda-cs-opt-group button.iubenda-cs-accept-btn {
    border: 0.5px solid #4a5565 !important;
    font-weight: 600 !important;
    outline: none !important;
    box-shadow: none !important;
    color: white !important;
    background-color: #4a5565 !important;
    transition: opacity 200ms ease-in-out;

    font-size: 14px !important;
}

body #iubenda-cs-banner.iub-btn-consent.iub-btn-reject,
body #iubenda-cs-banner .iub-btn-consent.iub-btn-accept {
    color: white !important;
    background-image: none !important;
    padding-left: 25px !important;
    padding-right: 25px !important;

    font-size: 12px !important;
}

body #iubenda-iframe .iub-btn-consent.iub-btn-reject {
    background-size: 9px !important;
}

body #iubenda-iframe .iub-btn-consent.iub-btn-accept {
    background-size: 11px !important;
}

body #iubenda-cs-banner .iubenda-cs-opt-group button:hover,
body .iubenda-alert button.iubenda-button-cancel:hover,
body #iubenda-iframe #iubFooterBtnContainer button:hover,
body #iubenda-iframe #iubFooterBtnContainer button:focus {
    background-color: #4a5565 !important;
    color: white !important;
    border: 0.5px solid #4a5565 !important;
    box-shadow: none !important;
    opacity: 0.8;
}

body #iubenda-cs-banner .iubenda-cs-opt-group button.iubenda-cs-reject-btn {
    background: #4a5565 !important;
    color: white !important;
}

body #iubenda-cs-banner [tabindex]:not([tabindex="-1"]):focus,
body #iubenda-cs-banner a[href]:focus,
body #iubenda-cs-banner button:focus,
body #iubenda-cs-banner details:focus,
body #iubenda-cs-banner input:focus,
body #iubenda-cs-banner select:focus,
body #iubenda-cs-banner textarea:focus,
body #iubenda-iframe [tabindex]:not([tabindex="-1"]):focus,
body #iubenda-iframe a[href]:focus,
body #iubenda-iframe button:focus,
body #iubenda-iframe details:focus,
body #iubenda-iframe input:focus,
body #iubenda-iframe select:focus,
body #iubenda-iframe textarea:focus {
    outline: none !important;
}

body .iubenda-tp-btn[data-tp-float][data-tp-float="bottom-right"] {
    border-radius: 50% !important;
    bottom: 2.5rem !important;
    right: 2.5rem !important;
    margin: 0 !important;
    width: 3rem !important;
    height: 3rem !important;
    background-position: center !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: 0 0 0 1px #4a5565 !important;
    background-size: 22px !important;
    opacity: 0.5;
    transition: all 200ms ease-in-out;
}

body .iubenda-tp-btn[data-tp-float][data-tp-float="bottom-right"]:hover {
    opacity: 1;
}

body #iubenda-iframe .purposes-header-right .iub-iframe-brand-button {
    display: none !important;
}

body #iubenda-cs-banner.iubenda-cs-branded .iubenda-cs-close-btn {
    height: 32px !important;
    min-width: 32px !important;
    font-size: 25px !important;
    margin-top: 6px !important;
}

body #cookie-warning {
    display: none !important;
}

@media only screen and (max-width: 768px) {
    body #purposes-content-container .purposes-header .purposes-header-title {
        font-size: 1.2rem !important;
    }

    body .iubenda-tp-btn[data-tp-float][data-tp-float="bottom-right"] {
        right: 1.25rem !important;
        bottom: 1.25rem !important;
        width: 2.5rem !important;
        height: 2.5rem !important;
    }

    body #purposes-content-container .purposes-section-header-title {
        font-size: 17px !important;
    }

    body #purposes-content-container .purposes-header {
        padding-top: 0 !important;
        padding-bottom: 1.5rem !important;
    }

    body #purposes-content-container .purposes-item {
        margin: 0 !important;
    }

    body #iubenda-cs-banner.iubenda-cs-default .iubenda-cs-brand {
        margin-bottom: -1rem !important;
        margin: -8px -8px 0 !important;
        margin: 0 !important;
        margin-bottom: -0.8rem !important;
    }

    body #iubenda-iframe .iubenda-modal-navigation.iubenda-modal-navigation-brand .iubenda-modal-navigation-logo img {
        max-width: 100% !important;
    }
}