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

@font-face {
    font-display: swap;
    font-family: "Pragmatica Extended";
    font-style: normal;
    font-weight: 400;
    src: url("assets/fonts/pragmatica/Pragmatica Extended Book.ttf") format("truetype");
}

@font-face {
    font-display: swap;
    font-family: "Pragmatica Extended";
    font-style: normal;
    font-weight: 500;
    src: url("assets/fonts/pragmatica/Pragmatica Extended Medium.ttf") format("truetype");
}

@font-face {
    font-display: swap;
    font-family: "Degular Mono";
    font-style: normal;
    font-weight: 400;
    src: url("assets/fonts/degular-mono/Degular Mono Regular.ttf") format("truetype");
}

@font-face {
    font-display: swap;
    font-family: "Degular Mono";
    font-style: normal;
    font-weight: 500;
    src: url("assets/fonts/degular-mono/Degular\ Mono\ Medium.ttf") format("truetype");
}

* {
    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;
}

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 {
    -webkit-tap-highlight-color: transparent;
}

:focus-visible {
    outline-offset: 4px;
    outline: 0px solid var(--on-surface, currentColor);
    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;
    }
}

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

nav.breadcrumbs ul {
    --_gap: 1.25rem;
    display: block;
}

nav.breadcrumbs li {
    display: inline-block;
    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;
}

section.page-content {
    padding-block-start: 9rem;
    padding-block-end: 5rem;
}

section.page-content .page-content-header {
    margin-block-end: 2.5rem;
}

section.page-content .page-content-header h1 {
    margin-block-start: 0.5em;
    font-size: clamp(2.25rem, 6vw, 4rem);
    line-height: 1.1;
    text-wrap: balance;
}

@media (max-width: 768px) {
    section.page-content {
        padding-block-start: 7rem;
        padding-block-end: 4rem;
    }

    section.page-content .page-content-header {
        margin-block-end: 2rem;
    }
}

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

.skip-link:focus {
    position: fixed;
    inset-block-start: 1rem;
    inset-inline-start: 1rem;
    z-index: 9999;
    inline-size: fit-content;
    block-size: fit-content;
    padding: 0.75rem 1.25rem;
    overflow: visible;
    clip-path: none;
    white-space: normal;
    background-color: var(--on-surface, #000);
    color: var(--surface, #fff);
    border-radius: 0.25rem;
    outline: 2px solid transparent;
}

.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;
    display: grid;
}

.layers > .layer.layer-bg > .img-wrapper.img-wrapper-ratio {
    block-size: 100%;
    grid-area: 1/1;
}

.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;
}

.split-line {
    position: relative;
    isolation: isolate;
}

.split-line::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-color: var(--accent);
    transform: scaleX(0);
    transform-origin: left;
}

@keyframes woosh {
    0% {
        transform: scaleX(0);
        transform-origin: left;
        animation-timing-function: cubic-bezier(0.4, 0, 1, 1);
    }
    55% {
        transform: scaleX(1);
        transform-origin: left;
    }
    55.1% {
        transform: scaleX(1);
        transform-origin: right;
        animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
    }
    100% {
        transform: scaleX(0);
        transform-origin: right;
    }
}

.woosh .split-line::after {
    animation: woosh 0.9s linear forwards;
}

.woosh .split-line:nth-child(2)::after {
    animation-delay: 0.15s;
}
.woosh .split-line:nth-child(3)::after {
    animation-delay: 0.3s;
}

:root {
    --container-columns: 12;
    --container-gap: 1.25rem;
    --container-column-width: 6.0625rem;
    --container-x-padding: 3.125rem;

    --eg-form-gap-row: 1.0625rem;
    --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: rgb(209 211 212 / 0.05);
    --eg-form-input-border: transparent;
    --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: 400;
    --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.25rem;
    --eg-form-icon-check: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMC44NzUiIGhlaWdodD0iNy4xOTciIHZpZXdCb3g9IjAgMCAxMC44NzUgNy4xOTciPgogIDxwYXRoIGlkPSJUcmFjY2lhdG9fMjA4ODUiIGRhdGEtbmFtZT0iVHJhY2NpYXRvIDIwODg1IiBkPSJNLTE1NjA2LjA3Niw2ODc4LjMwN2wzLjI2MywzLjI2Myw0Ljc4NC00Ljc4NCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTU2MDcuNDkgLTY4NzUuMzczKSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZmIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4K");
    --eg-form-icon-file: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMy4zNjIiIGhlaWdodD0iMTkuNzQ4IiB2aWV3Qm94PSIwIDAgMjMuMzYyIDE5Ljc0OCI+CiAgPGcgaWQ9IlJhZ2dydXBwYV8xNTc4IiBkYXRhLW5hbWU9IlJhZ2dydXBwYSAxNTc4IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNzM4LjA4NiAtNjU0Mi41MDEpIj4KICAgIDxwYXRoIGlkPSJUcmFjY2lhdG9fMjA5MDkiIGRhdGEtbmFtZT0iVHJhY2NpYXRvIDIwOTA5IiBkPSJNMzQuMzM2LDU3LjQ1N2EuNjE2LjYxNiwwLDAsMC0uNjIyLjYyMnYyLjk2NUEyLjMyLDIuMzIsMCwwLDEsMzEuNCw2My4zNjJIMTYuMTQ4YTIuMzEyLDIuMzEyLDAsMCwxLTIuMzE3LTIuMzE3VjU4LjA3OWEuNjIyLjYyMiwwLDAsMC0xLjI0NSwwdjIuOTY1YTMuNTYzLDMuNTYzLDAsMCwwLDMuNTYzLDMuNTYzSDMxLjM4NWEzLjU2MywzLjU2MywwLDAsMCwzLjU2My0zLjU2M1Y1OC4wNzlhLjYuNiwwLDAsMC0uNjEyLS42MjJaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3MjYgNjQ5Ny4xNDEpIiBmaWxsPSIjYmI4ZWY4IiBzdHJva2U9IiNiYjhlZjgiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgPHBhdGggaWQ9IlRyYWNjaWF0b18yMDkxMCIgZGF0YS1uYW1lPSJUcmFjY2lhdG8gMjA5MTAiIGQ9Ik0zOS43NTcsMzIuMTZhLjYxNi42MTYsMCwwLDAsLjYyMi0uNjIyVjIwLjg2MWwyLjY2NiwyLjgyN2EuNjQ1LjY0NSwwLDAsMCwuNDQ4LjIuNTY4LjU2OCwwLDAsMCwuNDI0LS4xNzQuNjI4LjYyOCwwLDAsMCwuMDI1LS44ODRsLTMuNzM3LTMuOTc0YS42NDguNjQ4LDAsMCwwLS45MSwwTDM1LjU1OCwyMi44M2EuNjI1LjYyNSwwLDEsMCwuOTA5Ljg2bDIuNjY2LTIuODI3VjMxLjUzOGEuNjE4LjYxOCwwLDAsMCwuNjI0LjYyMloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDcxMC4wMTYgNjUyNC4zMzIpIiBmaWxsPSIjYmI4ZWY4IiBzdHJva2U9IiNiYjhlZjgiIHN0cm9rZS13aWR0aD0iMSIvPgogIDwvZz4KPC9zdmc+Cg==");
}

.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;
}

body.home .container {
    max-inline-size: none;
}

::selection {
    background-color: var(--accent);
    color: var(--on-surface);
}

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

/* ======================================== */
/* 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;
    background-size: 72%;
}

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 label:has([aria-required="true"]) .label-title::after {
    content: " *";
    color: var(--accent);
}

.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: 0.875rem;
    line-height: 1.571;
    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);
}

@media (max-width: 768px) {
    .wpcf7-styled :is([data-class="wpcf7cf_group"], form) > p {
        grid-template-columns: 1fr;
    }
}

.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-acceptance label span a {
    text-decoration: underline;
}

.wpcf7-styled .wide [data-name="acceptance"] {
    display: block;
    margin-block: var(--eg-form-gap-row);
}

.wpcf7-styled [data-name="acceptance"] .wpcf7-list-item {
    margin-inline-start: 0;
}

.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;
}

.eg-pagination ul {
    display: flex;
    gap: 0.5rem;
    justify-content: center;
    align-items: center;
}

.eg-pagination .page-btn:disabled,
.eg-pagination .page-separator,
.eg-pagination .page:not(.page-current) {
    opacity: 0.4;
}

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

/* ======================================== */
/* THEME */
/* ======================================== */

:root {
    --c-blue-osca: #1d2353;
    --c-red-osca: #df3341;
    --c-gray-osca: #d1d3d4;
    --c-petrol: #1f2839;
    --c-btn-bg: #171c27;

    --ff-primary: "Pragmatica Extended", sans-serif;
    --ff-secondary: "Degular Mono", monospace;
}

.ff-primary {
    font-family: var(--ff-primary);
}

.ff-secondary {
    font-family: var(--ff-secondary);
}

.fw-bold {
    font-weight: 700;
}

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

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

[data-theme="dark"] {
    --surface: var(--c-petrol);
    --on-surface: white;
    --accent: var(--c-red-osca);
    color: var(--on-surface);
    background-color: var(--surface);
}

.color-accent {
    color: var(--accent);
}

@keyframes full-spin {
    0% {
        rotate: 0turn;
    }
    100% {
        rotate: 1turn;
    }
}

.btn.btn-dash {
    font-family: var(--ff-secondary);
    display: flex;
    flex-direction: column;
    align-content: inherit;
    text-align: center;
    align-items: center;
    gap: 1.0625rem;
    font-size: 0.875rem;
    letter-spacing: -0.04em;
}

.btn.btn-dash .btn-text {
    overflow: clip;
    display: grid;
}

.btn.btn-dash .btn-text > span {
    grid-area: 1/1;
    transition: translate 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.btn.btn-dash .btn-text > span:last-child {
    translate: 0 100%;
}

.btn.btn-dash:where(:hover, :focus-visible) .btn-text > span:first-child {
    translate: 0 -100%;
}

.btn.btn-dash:where(:hover, :focus-visible) .btn-text > span:last-child {
    translate: 0 0;
}

.btn.btn-dash .btn-icon {
    display: grid;
    place-items: center;
    inline-size: 2.625rem;
    block-size: 2.625rem;
    border-radius: 50%;
    border: 1px solid var(--accent);
    position: relative;
}

.btn.btn-dash.btn-large .btn-icon::before,
.btn.btn-dash .btn-icon::after {
    content: "";
    position: absolute;
    inset: -0.5625rem;
    border: 1px dashed var(--accent);
    border-radius: 50%;
    animation: full-spin 20s linear infinite;
}

/* btn large */

.btn.btn-dash.btn-large {
    font-size: 1.125rem;
    letter-spacing: -0.04em;
    gap: 2.1875rem;
}

.btn.btn-dash.btn-large .btn-icon {
    inline-size: 2.3125rem;
    block-size: 2.3125rem;
}

.btn.btn-dash.btn-large .btn-icon::after {
    inset: -1rem;
}

.btn.btn-dash.btn-large .btn-icon::before {
    animation-direction: reverse;
    inset: -1.5625rem;
}

.btn.btn-dash.btn-large .btn-icon {
    transition:
        inline-size 0.8s cubic-bezier(0.22, 1, 0.36, 1),
        block-size 0.8s cubic-bezier(0.22, 1, 0.36, 1),
        background-color 0.8s cubic-bezier(0.22, 1, 0.36, 1),
        margin 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.btn.btn-dash.btn-large .btn-icon::after,
.btn.btn-dash.btn-large .btn-icon::before {
    transition: inset 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.btn.btn-dash.btn-large:where(:hover, :focus-visible) .btn-icon {
    inline-size: 1.625rem;
    block-size: 1.625rem;
    background-color: var(--accent);
    margin: calc((2.3125rem - 1.625rem) / 2);
}

.btn.btn-dash.btn-large:where(:hover, :focus-visible) .btn-icon::after {
    inset: calc((2.5rem - 1.625rem) / 2 * -1);
}

.btn.btn-dash.btn-large:where(:hover, :focus-visible) .btn-icon::before {
    inset: calc((5.4375rem - 1.625rem) / 2 * -1);
}

.btn.btn-arrows {
    --_arrow-wrapper-size: 2.375rem;
    border-radius: 0.75rem;
    background-color: var(--accent);
    border: 2px solid var(--accent);
    display: flex;
    overflow: hidden;
}

.btn.btn-arrows .text {
    font-size: 1.125rem;
    line-height: 1.2;
    letter-spacing: -0.01em;
    font-weight: 500;
    padding-block: 0.4375rem;
    padding-inline: 1rem;
    border-radius: 0.625rem;
    background-color: var(--c-btn-bg);
    display: inline-block;
    transition: translate 0.2s ease;
}

.btn.btn-arrows .arrow-wrap {
    border-radius: 0.625rem;
    inline-size: var(--_arrow-wrapper-size);
    transition:
        translate 0.2s ease,
        margin-inline-start 0.2s ease,
        margin-inline-end 0.2s ease;
}

.btn.btn-arrows .arrow-wrap:first-child .arrow {
    margin-inline-end: 0.125rem;
}

.btn.btn-arrows .arrow-wrap:last-child .arrow {
    margin-inline-start: 0.125rem;
}

.btn.btn-arrows .arrow {
    padding: 0.625rem;
    border-radius: 0.625rem;
    background-color: var(--c-btn-bg);
    display: grid;
    place-items: center;
}

.btn.btn-arrows .arrow-wrap:first-child {
    margin-inline-start: calc(-1 * var(--_arrow-wrapper-size));
}

.btn.btn-arrows:is(:hover, :focus-visible) :is(.arrow-wrap, .text) {
    translate: var(--_arrow-wrapper-size);
}

@media (max-width: 768px) {
    .btn.btn-dash.btn-large {
        font-size: 1rem;
        gap: 1.5rem;
    }
}

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

header.egloo {
    z-index: 2;
    padding-inline: var(--container-x-padding);
    padding-block-start: 3.125rem;
    position: fixed;
    inset-block-start: 0;
    inset-inline-start: 0;
    inline-size: fit-content;
}

header.egloo nav ul {
    position: relative;
    display: flex;
    flex-direction: column;
    font-size: 0.875rem;
    border-inline-start: 1px solid rgb(from var(--on-surface) r g b / 0.1);
}

header.egloo nav ul::after {
    content: "";
    position: absolute;
    pointer-events: none;
    inset-block-start: 0;
    inset-inline-start: 0;
    inline-size: 1px;
    block-size: var(--_progress, calc(100% / var(--_items)));
    background-color: var(--accent);
    transition: block-size 0.3s ease;
}

header.egloo nav a.active {
    color: var(--accent);
}

header.egloo nav a {
    padding-inline: 0.625rem;
    padding-block: 0.4375rem;
    display: block;
}

header.egloo nav a .btn-text {
    overflow: clip;
    display: grid;
}

header.egloo nav a .btn-text > span {
    grid-area: 1/1;
    transition: translate 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

header.egloo nav a .btn-text > span:last-child {
    translate: 0 100%;
}

header.egloo nav a:where(:hover, :focus-visible) .btn-text > span:first-child {
    translate: 0 -100%;
}

header.egloo nav a:where(:hover, :focus-visible) .btn-text > span:last-child {
    translate: 0 0;
}

body.home {
    background-image: linear-gradient(#0d1119, var(--c-petrol));
}

@media (max-width: 768px) {
    header.egloo {
        display: none;
    }
}

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

section.hero .layers {
    min-block-size: 100svh;
    text-align: center;
}

section.hero .layer-fg {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

@media (min-width: 768px) {
    section.hero .layer-fg {
        padding-block-start: 5rem;
    }
}

section.hero .btn.btn-dash {
    position: absolute;
    inset-block-start: 3.125rem;
    inset-inline-end: var(--container-x-padding);
    z-index: 2;
}

section.hero .logo {
    position: absolute;
    inset-block-start: 1.5625rem;
    inset-inline-start: 50%;
    translate: -50%;
    z-index: 1;
}

section.hero .title {
    overflow: hidden;
    font-size: 7.5rem;
    letter-spacing: -0.03em;
    line-height: 1.4;
}

section.hero .description {
    font-size: 0.9375rem;
    line-height: 1.4;
    margin-block-start: 0.4375rem;
    max-inline-size: 29.6875rem;
    margin-inline: auto;
}

section.hero .car,
section.hero h1,
section.hero .description {
    visibility: hidden;
}

section.hero .car {
    max-inline-size: 37.9375rem;
    margin-inline: auto;
    display: grid;
    mask-image: linear-gradient(black 60%, transparent);
}

section.hero .car .img-wrapper {
    grid-area: 1/1;
}

section.hero[data-is-on="true"] .img-wrapper-off,
section.hero[data-is-on="false"] .img-wrapper-on {
    opacity: 0;
    pointer-events: none;
}

@media (max-width: 768px) {
    section.hero .title {
        font-size: 2.375rem;
        line-height: 1.1;
    }
    section.hero .description {
        padding-inline: 1.25rem;
        max-inline-size: 100%;
        margin-block-start: 1rem;
        font-size: 0.875rem;
    }
    section.hero .logo {
        inline-size: 5.5rem;
        inset-block-start: 1.125rem;
    }
    section.hero .logo svg {
        inline-size: 100%;
        block-size: auto;
    }
    section.hero .btn.btn-dash {
        inset-block-start: 1.5rem;
        inset-inline-end: 1.25rem;
        font-size: 0.75rem;
        gap: 0.625rem;
    }
    section.hero .btn.btn-dash .btn-icon {
        inline-size: 2rem;
        block-size: 2rem;
    }
    section.hero .car {
        max-inline-size: 85%;
    }
}

/* ======================================== */
/* INTRO TEXT */
/* ======================================== */

section.intro-text {
    --_height: 250svh;
    --_padding: 25svh;
    --_gradient: linear-gradient(#07050d, #1f2533);
    --_size: calc(var(--_height) + var(--_padding));
    min-block-size: var(--_height);
    padding-block-end: var(--_padding);
    background-image: var(--_gradient);
}

section.intro-text .layers {
    position: sticky;
    inset-block-start: var(--_top);
}

section.intro-text .container {
    block-size: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2.5rem;
    text-align: center;
    max-inline-size: calc((2 * var(--container-x-padding)) + 43.1875rem);
}

section.intro-text .pretitle {
    font-size: 1.125rem;
    letter-spacing: -0.04em;
}

section.intro-text .title {
    position: relative;
    font-size: 2rem;
    line-height: 1.2;
    letter-spacing: -0.01em;
    isolation: isolate;
}

section.intro-text .title::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: var(--_gradient);
    background-size: 100% var(--_section-height, var(--_size));
    background-position: 0 var(--_mask-y, 0px);
    pointer-events: none;
    z-index: -1;
    filter: blur(50px);
}

section.intro-text .layer-bg {
    display: grid;
    place-items: center;
}

section.intro-text .layer-bg svg {
    animation: full-spin 20s linear infinite;
}

@media (max-width: 768px) {
    section.intro-text .title::after {
        content: initial;
        display: none;
    }

    section.intro-text {
        --_height: 250svh;
        --_padding: 15svh;
    }
    section.intro-text .container {
        gap: 1.75rem;
    }
    section.intro-text .pretitle {
        font-size: 0.875rem;
    }
    section.intro-text .title {
        font-size: 1.375rem;
        line-height: 1.3;
    }
    section.intro-text .layer-bg svg {
        inline-size: 70vw;
        block-size: 70vw;
    }
}

/* ======================================== */
/* VIDEO SHOWCASE */
/* ======================================== */

section.video-showcase {
    min-block-size: 300svh;
    background-image: linear-gradient(#1f2533, #0a0c13);
}

section.video-showcase .layers {
    position: sticky;
    inset-block-start: 0;
    padding: 1.25rem;
    min-block-size: 100svh;
}

section.video-showcase .layer-bg::after {
    background-color: rgb(0 0 0 / 0.25);
}

section.video-showcase .layer-bg {
    overflow: hidden;
    border-radius: 1.25rem;
}

section.video-showcase .container {
    max-inline-size: calc(37.5rem + (2 * var(--container-x-padding)));
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    block-size: 100%;
}

section.video-showcase .title {
    font-size: 2.8125rem;
    line-height: 1.111111;
}

section.video-showcase .description {
    font-size: 0.9375rem;
    line-height: 1.4;
}

section.video-showcase .btn-audio {
    position: absolute;
    inset-block-end: 1.875rem;
    inset-inline-end: 1.875rem;
}

section.video-showcase .btn-audio.active .audio-off,
section.video-showcase .btn-audio:not(.active) .audio-on {
    display: none;
}

section.video-showcase .btn-audio :is(.audio-on, .audio-off) {
    display: flex;
    align-items: center;
    gap: 0.9375rem;
    font-size: 0.875rem;
    letter-spacing: -0.03em;
}

section.video-showcase .btn-audio .btn-text {
    overflow: clip;
    display: grid;
}

section.video-showcase .btn-audio .btn-text > span {
    grid-area: 1/1;
    transition: translate 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

section.video-showcase .btn-audio .btn-text > span:last-child {
    translate: 0 100%;
}

section.video-showcase .btn-audio:where(:hover, :focus-visible) .btn-text > span:first-child {
    translate: 0 -100%;
}

section.video-showcase .btn-audio:where(:hover, :focus-visible) .btn-text > span:last-child {
    translate: 0 0;
}

section.video-showcase .btn-audio .audio-off svg {
    color: var(--accent);
}

section.video-showcase .btn-audio .icon {
    display: grid;
    place-items: center;
    inline-size: 3.75rem;
    block-size: 3.75rem;
    border-radius: 50%;
    position: relative;
}

section.video-showcase .btn-audio .icon::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 1px dashed var(--accent);
    animation: full-spin 20s linear infinite;
}

@media (max-width: 768px) {
    section.video-showcase {
        min-block-size: 250svh;
    }
    section.video-showcase .layers {
        padding: 0.75rem;
    }
    section.video-showcase .container {
        gap: 1rem;
    }
    section.video-showcase .title {
        font-size: 1.875rem;
        line-height: 1.15;
    }
    section.video-showcase .description {
        font-size: 0.875rem;
    }
    section.video-showcase .btn-audio {
        inset-block-end: 1.25rem;
        inset-inline-end: 1.25rem;
    }
    section.video-showcase .btn-audio :is(.audio-on, .audio-off) {
        gap: 0.625rem;
        font-size: 0.75rem;
    }
    section.video-showcase .btn-audio .icon {
        inline-size: 2.75rem;
        block-size: 2.75rem;
    }
    section.video-showcase .btn-audio .icon svg {
        inline-size: 1.125rem;
        block-size: auto;
    }
}

/* ======================================== */
/* TEXTS SEQUENCE */
/* ======================================== */

section.texts-sequence {
    min-block-size: var(--_height, 500svh);
    background-image: linear-gradient(#0a0c13, #1f2533);
}

section.texts-sequence .layers {
    position: sticky;
    inset-block-start: 0;
    min-block-size: 100svh;
}

section.texts-sequence .layer-bg {
    display: grid;
    align-items: center;
}

section.texts-sequence .layer-bg svg {
    inline-size: 40vw;
    block-size: 40vw;
    translate: -50%;
}

section.texts-sequence .container {
    display: flex;
    flex-direction: column;
    gap: 0.9375rem;
    text-align: center;
    block-size: 100%;
    justify-content: center;
    align-items: center;
}

section.texts-sequence .items {
    display: grid;
}

section.texts-sequence .item {
    grid-area: 1/1;
    display: flex;
    flex-direction: column;
    gap: 0.9375rem;
    opacity: 0;
    transition: opacity 0.3s ease;
}

section.texts-sequence .item.active {
    opacity: 1;
}

section.texts-sequence .item:not(.active) {
    opacity: 0 !important;
}

section.texts-sequence .item-title {
    font-size: 3.4375rem;
}

section.texts-sequence .item-description {
    font-size: 0.9375rem;
    line-height: 1.4;
    max-inline-size: 27.5rem;
    margin-inline: auto;
}

@media (max-width: 768px) {
    section.texts-sequence .layers {
        display: block;
        position: relative;
        block-size: var(--_height, 500svh);
        padding-block-start: 40vh;
    }
    section.texts-sequence .layers > .layer-bg {
        position: sticky;
        inset: 0;
        min-block-size: 100svh;
        margin-block-start: -40vh;
    }
    section.texts-sequence .layers > .layer-fg {
        position: sticky;
        inset-block-start: var(--_top, 0px);
        padding-block-start: 0vh;
    }
    section.texts-sequence .item-title {
        font-size: 2rem;
        line-height: 1.1;
    }
    section.texts-sequence .item-description {
        font-size: 0.875rem;
    }
    section.texts-sequence .layer-bg svg {
        inline-size: 90vw;
        block-size: 90vw;
        translate: -50%;
    }
}

/* ======================================== */
/* COUNTDOWN TIMER */
/* ======================================== */

section.countdown-timer .layers {
    min-block-size: 100svh;
}

section.countdown-timer .layer-bg {
    isolation: isolate;
    overflow: hidden;
}

section.countdown-timer .layer-bg svg {
    position: absolute;
    inset-block-end: 0;
    inset-inline-end: 0;
    translate: 50% 50%;
    z-index: 1;
}

section.countdown-timer .layers > .layer-bg::after {
    background-image: linear-gradient(transparent, rgb(10 12 19 / 0.3), rgb(10 12 19 / 0.8) 69%, rgb(10 12 19 / 1) 100%);
    max-block-size: 75%;
    inset-block-end: 0;
    inset-block-start: auto;
}

section.countdown-timer .layers > .layer-bg::before {
    inset-block-start: 0;
    max-block-size: 50%;
    background-image: linear-gradient(rgb(31 37 51 / 1), rgb(31 37 51 / 0.6), transparent);
    z-index: 2;
}

section.countdown-timer .container {
    display: grid;
    align-items: center;
    block-size: 100%;
}

section.countdown-timer .wrapper {
    display: grid;
    grid-template-rows: 1fr auto 1fr;
    gap: 3.75rem;
    text-align: center;
    justify-content: center;
}

section.countdown-timer .start {
    align-self: end;
    display: flex;
    flex-direction: column;
    gap: 1.875rem;
    max-inline-size: 37.875rem;
    margin-inline: auto;
}

section.countdown-timer .title {
    font-size: 2.8125rem;
    letter-spacing: -0.01em;
}

section.countdown-timer .description {
    font-size: 0.9375rem;
    line-height: 1.4;
}

section.countdown-timer .countdown {
    font-size: 7.5rem;
    letter-spacing: -0.01em;
}

section.countdown-timer .countdown .part {
    display: inline-flex;
    flex-direction: column;
}

section.countdown-timer .countdown .number-wrapper {
    overflow: clip;
    line-height: 1;
}

section.countdown-timer .countdown .number {
    display: block;
}

section.countdown-timer .countdown .separator {
    align-self: start;
    overflow: clip;
    line-height: 1;
}

section.countdown-timer .countdown .text {
    font-size: 0.875rem;
    letter-spacing: -0.04em;
}

@media (max-width: 768px) {
    section.countdown-timer .wrapper {
        gap: 2rem;
    }
    section.countdown-timer .start {
        gap: 1.25rem;
    }
    section.countdown-timer .title {
        font-size: 1.75rem;
        line-height: 1.15;
    }
    section.countdown-timer .description {
        font-size: 0.875rem;
    }
    section.countdown-timer .countdown {
        font-size: 2.5rem;
    }
    section.countdown-timer .countdown .text {
        font-size: 0.625rem;
    }
    section.countdown-timer .layer-bg svg {
        inline-size: 80vw;
        block-size: auto;
        inset-inline-end: auto;
        inset-inline-start: 50%;
        translate: -50% 50%;
    }
}

/* ======================================== */
/* FORM CONTAINER */
/* ======================================== */

section.form-container {
    padding-block: 5.625rem;
    background-image: linear-gradient(#0a0c13, #1f2533);
}

section.form-container button {
    grid-column: 2;
    justify-self: end;
}

@media (max-width: 768px) {
    section.form-container button {
        grid-column: -1/1;
        justify-self: center;
    }
}

section.form-container button [inert] {
    opacity: 1;
}

section.form-container .container {
    max-inline-size: calc(43.1875rem + (2 * var(--container-x-padding)));
    display: flex;
    flex-direction: column;
    gap: 4.5625rem;
}

section.form-container .socials ul {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.875rem;
}

section.form-container .socials ul a {
    inline-size: 3.375rem;
    block-size: 3.375rem;
    border-radius: 50%;
    border: 1px dashed var(--accent);
    display: grid;
    place-items: center;
}

section.form-container .socials ul a img {
    inline-size: 1.25rem;
    block-size: 1.25rem;
}

section.form-container .logo {
    inline-size: 8.5rem;
    block-size: 8.5rem;
    margin-inline: auto;
}

section.form-container .logo svg {
    inline-size: 100%;
    block-size: 100%;
}

section.form-container .copyright {
    text-align: center;
    font-size: 0.75rem;
    opacity: 0.4;
    letter-spacing: -0.04;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

section.form-container .copyright a {
    text-decoration: underline;
}

@media (max-width: 768px) {
    section.form-container {
        padding-block: 3.75rem;
    }
    section.form-container .container {
        gap: 3rem;
    }
    section.form-container .socials ul {
        gap: 1.25rem;
    }
    section.form-container .socials ul a {
        inline-size: 2.75rem;
        block-size: 2.75rem;
    }
    section.form-container .socials ul a img {
        inline-size: 1rem;
        block-size: 1rem;
    }
    section.form-container .logo {
        inline-size: 6rem;
        block-size: 6rem;
    }
}

/* ======================================== */
/* INTRO OVERLAY */
/* ======================================== */

dialog.intro-overlay {
    position: fixed;
    inset: 0;
    inline-size: 100%;
    block-size: 100%;
    max-inline-size: none;
    max-block-size: none;
    border: none;
    padding: 0;
    margin: 0;
    z-index: 10;
    background: none;
    color: var(--on-surface);
    --btn-size: 9.1875rem;
}

dialog.intro-overlay:has(.btn-discover:where(:hover, :focus-visible)) {
    --btn-size: 12.625rem;
}

dialog.intro-overlay::backdrop {
    display: none;
}

dialog.intro-overlay .backdrop {
    position: absolute;
    inset: 0;
    z-index: -1;
    backdrop-filter: blur(25px);
    background-color: rgb(from #282828 r g b / 0.1);
    pointer-events: none;
    -webkit-mask-image: radial-gradient(circle closest-side, #000 99%, transparent 100%), linear-gradient(#000, #000);
    mask-image: radial-gradient(circle closest-side, #000 99%, transparent 100%), linear-gradient(#000, #000);
    -webkit-mask-position: center, center;
    mask-position: center, center;
    -webkit-mask-repeat: no-repeat, no-repeat;
    mask-repeat: no-repeat, no-repeat;
    -webkit-mask-size:
        var(--btn-size) var(--btn-size),
        100% 100%;
    mask-size:
        var(--btn-size) var(--btn-size),
        100% 100%;
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    transition:
        -webkit-mask-size 1.2s cubic-bezier(0.22, 1, 0.36, 1),
        mask-size 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

dialog.intro-overlay .container {
    position: relative;
    block-size: 100%;
}

dialog.intro-overlay p {
    position: absolute;
    inset-block-start: 25%;
    inset-inline-start: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.4;
    text-align: center;
}

dialog.intro-overlay .btn-discover {
    display: grid;
    place-items: center;
    inline-size: 9.1875rem;
    block-size: 9.1875rem;
    border-radius: 50%;
    border: 1px solid var(--accent);
    font-size: 0.875rem;
    letter-spacing: -0.04em;
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    transform: translate(-50%, -50%);
    cursor: pointer;
    background: none;
    color: var(--on-surface);
}

dialog.intro-overlay .btn-discover::before,
dialog.intro-overlay .btn-discover::after {
    content: "";
    position: absolute;
    border: 1px dashed var(--accent);
    border-radius: 50%;
    animation: full-spin 20s linear infinite;
}

dialog.intro-overlay .btn-discover::after {
    inset: -1.25rem;
}

dialog.intro-overlay .btn-discover::before {
    inset: -3.375rem;
    animation-direction: reverse;
}

dialog.intro-overlay .btn-discover {
    transition:
        inline-size 1.2s cubic-bezier(0.22, 1, 0.36, 1),
        block-size 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

dialog.intro-overlay .btn-discover::before,
dialog.intro-overlay .btn-discover::after {
    transition: inset 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

dialog.intro-overlay .btn-discover:where(:hover, :focus-visible) {
    inline-size: 12.625rem;
    block-size: 12.625rem;
}

dialog.intro-overlay .btn-discover:where(:hover, :focus-visible)::after {
    inset: -1.25rem;
}

dialog.intro-overlay .btn-discover:where(:hover, :focus-visible)::before {
    inset: -5.1875rem;
}

@media (max-width: 768px) {
    dialog.intro-overlay {
        --btn-size: 7rem;
    }
    dialog.intro-overlay:has(.btn-discover:where(:hover, :focus-visible)) {
        --btn-size: 9rem;
    }
    dialog.intro-overlay p {
        inset-block-start: 22%;
        padding-inline: 1.5rem;
        font-size: 0.875rem;
    }
    dialog.intro-overlay .btn-discover {
        inline-size: 7rem;
        block-size: 7rem;
        font-size: 0.75rem;
    }
    dialog.intro-overlay .btn-discover::after {
        inset: -0.875rem;
    }
    dialog.intro-overlay .btn-discover::before {
        inset: -2.25rem;
    }
    dialog.intro-overlay .btn-discover:where(:hover, :focus-visible) {
        inline-size: 9rem;
        block-size: 9rem;
    }
    dialog.intro-overlay .btn-discover:where(:hover, :focus-visible)::after {
        inset: -0.875rem;
    }
    dialog.intro-overlay .btn-discover:where(:hover, :focus-visible)::before {
        inset: -3.25rem;
    }
}

/* -----------------------------------
==============================================================================
#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: var(--ff-primary) !important;
    color: #fff !important;
    font-weight: 400 !important;
    font-size: 13px !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: 13px !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: #df3341 !important;
    color: white !important;
    border: 0.5px solid #df3341!important;
    box-shadow: none !important;
    opacity: 1;
    border-radius: 64px !important;
}

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

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

body #iubenda-iframe .iub-btn-stroked {
    border: 1px solid #ffffff !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, #iubenda-cs-banner .iubenda-granular-controls-container .granular-control-checkbox input.style1:checked {
    background-color: #555!important;
}

body #iubenda-cs-banner .iubenda-granular-controls-container .granular-control-checkbox input.style1:checked {
    background-color: #df3341 !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-cs-banner .iubenda-cs-opt-group button.iubenda-cs-accept-btn {
    border: 0.5px solid #df3341 !important;
    font-weight: 500 !important;
    outline: none !important;
    box-shadow: none !important;
    color: white !important;
    background-color: #df3341 !important;
    transition: opacity 200ms ease-in-out;
    font-size: 14px !important;
}

body #iubenda-cs-banner .iubenda-banner-content:not(.iubenda-custom-content) * strong,
body #iubenda-cs-banner [class*=" iub"] strong,
body #iubenda-cs-banner [class^=iub] strong {
    font-weight: 500!important;
}

body #iubenda-iframe #iubFooterBtnContainer button {
    color: white !important;
    background-color: #df3341 !important;
}

body #iubenda-cs-banner.iub-btn-consent.iub-btn-reject,
body #iubenda-cs-banner .iub-btn-consent.iub-btn-accept {
    color: black !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 {
    background-color: #df3341 !important;
    color: white !important;
    border: 0.5px solid #df3341 !important;
    box-shadow: none !important;
    opacity: 0.8;
}

body #iubenda-iframe #iubFooterBtnContainer button:hover,
body #iubenda-iframe #iubFooterBtnContainer button:focus {
    background-color: #df3341 !important;
    color: white !important;
}

body #iubenda-cs-banner .iubenda-cs-opt-group button.iubenda-cs-reject-btn {
    background: #df3341 !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 white !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;
    }
}
