@layer abstracts {
    .flex-spaced-xs {
        justify-content: space-between;
        align-items: center;
        gap: 2rem;
        width: 100%;
        display: flex;
    }

    @media (width <= 991px) {
        .flex-spaced-xs {
            flex-direction: column;
            align-items: flex-start;
            gap: 1rem;
        }
    }

    @media (width >= 992px) {
        .flex-spaced-xs.row-reverse {
            flex-direction: row-reverse;
        }
    }

    .flex-spaced-xs.mobile-force-row {
        align-items: center;
        flex-direction: row !important;
    }

    .flex-spaced-xs.column {
        flex-direction: column;
        align-items: flex-start;
    }

    .flex-spaced-xs.no-space-between {
        justify-content: normal;
        width: fit-content;
    }

    .flex-spaced-s {
        justify-content: space-between;
        align-items: center;
        gap: 4rem;
        width: 100%;
        display: flex;
    }

    @media (width <= 991px) {
        .flex-spaced-s {
            flex-direction: column;
            align-items: flex-start;
            gap: 2rem;
        }
    }

    @media (width >= 992px) {
        .flex-spaced-s.row-reverse {
            flex-direction: row-reverse;
        }
    }

    .flex-spaced-s.mobile-force-row {
        align-items: center;
        flex-direction: row !important;
    }

    .flex-spaced-s.column {
        flex-direction: column;
        align-items: flex-start;
    }

    .flex-spaced-s.no-space-between {
        justify-content: normal;
        width: fit-content;
    }

    .flex-spaced-m {
        justify-content: space-between;
        align-items: center;
        gap: 8rem;
        width: 100%;
        display: flex;
    }

    @media (width <= 991px) {
        .flex-spaced-m {
            flex-direction: column;
            align-items: flex-start;
            gap: 4rem;
        }
    }

    @media (width >= 992px) {
        .flex-spaced-m.row-reverse {
            flex-direction: row-reverse;
        }
    }

    .flex-spaced-m.mobile-force-row {
        align-items: center;
        flex-direction: row !important;
    }

    .flex-spaced-m.column {
        flex-direction: column;
        align-items: flex-start;
    }

    .flex-spaced-m.no-space-between {
        justify-content: normal;
        width: fit-content;
    }

    .flex-spaced-l {
        justify-content: space-between;
        align-items: center;
        gap: 16rem;
        width: 100%;
        display: flex;
    }

    @media (width <= 991px) {
        .flex-spaced-l {
            flex-direction: column;
            align-items: flex-start;
            gap: 8rem;
        }
    }

    @media (width >= 992px) {
        .flex-spaced-l.row-reverse {
            flex-direction: row-reverse;
        }
    }

    .flex-spaced-l.mobile-force-row {
        align-items: center;
        flex-direction: row !important;
    }

    .flex-spaced-l.column {
        flex-direction: column;
        align-items: flex-start;
    }

    .flex-spaced-l.no-space-between {
        justify-content: normal;
        width: fit-content;
    }

    @media (width <= 991px) {
        .gap-m-xs {
            gap: 2rem;
        }

        .gap-m-s {
            gap: 4rem;
        }

        .gap-m-m {
            gap: 8rem;
        }

        .gap-m-l {
            gap: 16rem;
        }
    }

    .centered {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    @media (width <= 991px) {
        .desktop {
            display: none !important;
        }
    }

    @media (width >= 992px) {
        .mobile {
            display: none !important;
        }
    }

    :root {
        --spacing-xs: 2rem;
        --spacing-s: 4rem;
        --spacing-m: 8rem;
        --spacing-l: 16rem;
        --orange-color: #dc582a;
        --bordeaux-color: #874b52;
        --yellow-color: #f1be48;
        --cream-color: #fff5f5;
    }
}

@layer base {
    * {
        box-sizing: inherit;
        outline: none;
    }

    html {
        text-rendering: optimizeLegibility;
        box-sizing: border-box;
        font-size: 56.5%;
    }

    @media (prefers-reduced-motion: no-preference) {
        html {
            scroll-behavior: smooth;
        }
    }

    @media (width >= 576px) {
        html {
            font-size: 62.5%;
        }
    }

    @media (width >= 992px) {
        html {
            font-size: 37.5%;
        }
    }

    @media (width >= 1200px) {
        html {
            font-size: 43.75%;
        }
    }

    @media (width >= 1400px) {
        html {
            font-size: 50%;
        }
    }

    @media (width >= 1600px) {
        html {
            font-size: 56.25%;
        }
    }

    @media (width >= 1900px) {
        html {
            font-size: 62.5%;
        }
    }

    body {
        text-rendering: optimizeLegibility;
        height: 100%;
        margin: 0;
        font-family: Montserrat;
    }

    main {
        position: relative;
    }

    .grecaptcha-badge {
        visibility: hidden;
    }

    @media (width <= 1310px) and (orientation: landscape) {
        .daterangepicker {
            right: -10% !important;
        }
    }

    .shrink {
        flex-shrink: 2;
        min-width: 0;
    }

    .no-shrink {
        flex-shrink: 0;
        min-width: auto;
    }

    .media-container {
        width: 100%;
        height: 100%;
    }

    .media-container img,
    .media-container video {
        object-fit: cover;
        border-radius: inherit;
        width: 100%;
        height: 100%;
    }

    a {
        color: inherit;
        text-decoration: none;
    }

    .umb-block-list > :has(.swiper) {
        overflow: hidden;
    }

    .swiper {
        width: 100%;
        overflow: visible !important;
    }

    p:last-child,
    h1:last-child,
    h2:last-child,
    h3:last-child,
    h4:last-child,
    h5:last-child,
    h6:last-child {
        margin: 0;
    }

    :focus-visible {
        outline: 2px solid var(--yellow-color);
        outline-offset: 4px;
    }

    .no-scroll {
        height: 100%;
        overflow: hidden;
    }

    @media (prefers-reduced-motion: reduce) {
        * {
            transition: 0;
        }
    }

    .template-spacing-top,
    .template-spacing {
        padding-top: 3.5rem;
    }

    @media (width >= 768px) {
        .template-spacing-top,
        .template-spacing {
            padding-top: 6rem;
        }
    }

    @media (width >= 992px) {
        .template-spacing-top,
        .template-spacing {
            padding-top: 10rem;
        }
    }

    .template-spacing-bottom,
    .template-spacing {
        padding-bottom: 3.5rem;
    }

    @media (width >= 768px) {
        .template-spacing-bottom,
        .template-spacing {
            padding-bottom: 6rem;
        }
    }

    @media (width >= 992px) {
        .template-spacing-bottom,
        .template-spacing {
            padding-bottom: 10rem;
        }
    }

    .template-double-spacing-top,
    .template-double-spacing {
        padding-top: 6rem;
    }

    @media (width >= 768px) {
        .template-double-spacing-top,
        .template-double-spacing {
            padding-top: 10rem;
        }
    }

    @media (width >= 992px) {
        .template-double-spacing-top,
        .template-double-spacing {
            padding-top: 16rem;
        }
    }

    .template-double-spacing-bottom,
    .template-double-spacing {
        padding-bottom: 6rem;
    }

    @media (width >= 768px) {
        .template-double-spacing-bottom,
        .template-double-spacing {
            padding-bottom: 10rem;
        }
    }

    @media (width >= 992px) {
        .template-double-spacing-bottom,
        .template-double-spacing {
            padding-bottom: 16rem;
        }
    }

    .template-spacing + .template-spacing {
        padding-top: 0;
    }

    .template-spacing > .no-container > .row {
        margin-left: 0;
        margin-right: 0;
    }

    .template-spacing > .no-container > .row > [class*="col-"] {
        padding-left: 0;
        padding-right: 0;
    }

    .template-margin-top,
    .template-margin {
        margin-top: 3.5rem;
    }

    @media (width >= 768px) {
        .template-margin-top,
        .template-margin {
            margin-top: 6rem;
        }
    }

    @media (width >= 992px) {
        .template-margin-top,
        .template-margin {
            margin-top: 10rem;
        }
    }

    .template-margin-bottom,
    .template-margin {
        margin-bottom: 3.5rem;
    }

    @media (width >= 768px) {
        .template-margin-bottom,
        .template-margin {
            margin-bottom: 6rem;
        }
    }

    @media (width >= 992px) {
        .template-margin-bottom,
        .template-margin {
            margin-bottom: 10rem;
        }
    }

    .template-double-margin-top,
    .template-double-margin {
        margin-top: 6rem;
    }

    @media (width >= 768px) {
        .template-double-margin-top,
        .template-double-margin {
            margin-top: 10rem;
        }
    }

    @media (width >= 992px) {
        .template-double-margin-top,
        .template-double-margin {
            margin-top: 16rem;
        }
    }

    .template-double-margin-bottom,
    .template-double-margin {
        margin-bottom: 6rem;
    }

    @media (width >= 768px) {
        .template-double-margin-bottom,
        .template-double-margin {
            margin-bottom: 10rem;
        }
    }

    @media (width >= 992px) {
        .template-double-margin-bottom,
        .template-double-margin {
            margin-bottom: 16rem;
        }
    }

    .template-claim-primary {
        font-family: Montserrat;
        font-size: 10rem;
        font-style: normal;
        font-weight: 700;
        line-height: 100%;
    }

    .template-claim-primary strong,
    .template-claim-primary b {
        font-weight: 700;
    }

    @media (width <= 991px) {
        .template-claim-primary {
            font-size: 5rem;
            line-height: 90%;
        }
    }

    .template-claim-primary a {
        color: inherit;
        transition: opacity 0.3s ease-in-out;
    }

    @media (hover: hover) {
        .template-claim-primary a:hover {
            opacity: 0.7;
        }
    }

    .template-claim-secondary {
        font-family: Romania;
        font-size: 4rem;
        font-style: normal;
        font-weight: 400;
        line-height: 100%;
    }

    .template-claim-secondary strong,
    .template-claim-secondary b {
        font-weight: 700;
    }

    @media (width <= 991px) {
        .template-claim-secondary {
            font-size: 2rem;
            line-height: 225%;
        }
    }

    .template-claim-secondary a {
        color: inherit;
        transition: opacity 0.3s ease-in-out;
    }

    @media (hover: hover) {
        .template-claim-secondary a:hover {
            opacity: 0.7;
        }
    }

    .template-h1 {
        font-family: Montserrat;
        font-size: 8rem;
        font-style: normal;
        font-weight: 700;
        line-height: 125%;
    }

    .template-h1 strong,
    .template-h1 b {
        font-weight: 700;
    }

    @media (width <= 991px) {
        .template-h1 {
            font-size: 4rem;
            line-height: 100%;
        }
    }

    .template-h1 a {
        color: inherit;
        transition: opacity 0.3s ease-in-out;
    }

    @media (hover: hover) {
        .template-h1 a:hover {
            opacity: 0.7;
        }
    }

    .template-h2 {
        font-family: Montserrat;
        font-size: 6.5rem;
        font-style: normal;
        font-weight: 700;
        line-height: 115%;
    }

    .template-h2 strong,
    .template-h2 b {
        font-weight: 700;
    }

    @media (width <= 991px) {
        .template-h2 {
            font-size: 3rem;
            line-height: 250%;
        }
    }

    .template-h2 a {
        color: inherit;
        transition: opacity 0.3s ease-in-out;
    }

    @media (hover: hover) {
        .template-h2 a:hover {
            opacity: 0.7;
        }
    }

    .template-sottotitolo {
        font-family: Romania;
        font-size: 3.5rem;
        font-style: normal;
        font-weight: 400;
        line-height: 215%;
    }

    .template-sottotitolo strong,
    .template-sottotitolo b {
        font-weight: 700;
    }

    @media (width <= 991px) {
        .template-sottotitolo {
            font-size: 1.9rem;
            line-height: 235%;
        }
    }

    .template-sottotitolo a {
        color: inherit;
        transition: opacity 0.3s ease-in-out;
    }

    @media (hover: hover) {
        .template-sottotitolo a:hover {
            opacity: 0.7;
        }
    }

    .template-menu {
        font-family: Montserrat;
        font-size: 2rem;
        font-style: normal;
        font-weight: 400;
        line-height: 100%;
    }

    .template-menu strong,
    .template-menu b {
        font-weight: 700;
    }

    @media (width <= 991px) {
        .template-menu {
            font-size: 1.7rem;
        }
    }

    .template-menu a {
        color: inherit;
        transition: opacity 0.3s ease-in-out;
    }

    @media (hover: hover) {
        .template-menu a:hover {
            opacity: 0.7;
        }
    }

    .template-cta {
        font-family: Romania;
        font-size: 2.5rem;
        font-style: normal;
        font-weight: 400;
        line-height: 100%;
    }

    .template-cta strong,
    .template-cta b {
        font-weight: 700;
    }

    @media (width <= 991px) {
        .template-cta {
            font-size: 2rem;
        }
    }

    .template-cta a {
        color: inherit;
        transition: opacity 0.3s ease-in-out;
    }

    @media (hover: hover) {
        .template-cta a:hover {
            opacity: 0.7;
        }
    }

    .template-text {
        letter-spacing: 0.066rem;
        font-family: Montserrat;
        font-size: 2.2rem;
        font-style: normal;
        font-weight: 400;
        line-height: 100%;
    }

    .template-text strong,
    .template-text b {
        font-weight: 700;
    }

    @media (width <= 991px) {
        .template-text {
            letter-spacing: 0.057rem;
            font-size: 1.9rem;
        }
    }

    .template-text a {
        color: inherit;
        transition: opacity 0.3s ease-in-out;
    }

    @media (hover: hover) {
        .template-text a:hover {
            opacity: 0.7;
        }
    }

    .template-accordion {
        font-family: Montserrat;
        font-size: 3.5rem;
        font-style: normal;
        font-weight: 400;
        line-height: 215%;
    }

    .template-accordion strong,
    .template-accordion b {
        font-weight: 700;
    }

    @media (width <= 991px) {
        .template-accordion {
            letter-spacing: 0.06rem;
            font-size: 2rem;
            line-height: 100%;
        }
    }

    .template-accordion a {
        color: inherit;
        transition: opacity 0.3s ease-in-out;
    }

    @media (hover: hover) {
        .template-accordion a:hover {
            opacity: 0.7;
        }
    }

    .template-text-small {
        letter-spacing: 0.054rem;
        font-family: Montserrat;
        font-size: 1.8rem;
        font-style: normal;
        font-weight: 400;
        line-height: 100%;
    }

    .template-text-small strong,
    .template-text-small b {
        font-weight: 700;
    }

    @media (width <= 991px) {
        .template-text-small {
            letter-spacing: 0.045rem;
            font-size: 1.5rem;
        }
    }

    .template-text-small a {
        color: inherit;
        transition: opacity 0.3s ease-in-out;
    }

    @media (hover: hover) {
        .template-text-small a:hover {
            opacity: 0.7;
        }
    }

    .template-footer {
        letter-spacing: 0.054rem;
        font-family: Montserrat;
        font-size: 1.8rem;
        font-style: normal;
        font-weight: 700;
        line-height: 100%;
    }

    .template-footer strong,
    .template-footer b {
        font-weight: 700;
    }

    @media (width <= 991px) {
        .template-footer {
            letter-spacing: 0.045rem;
            font-size: 1.5rem;
        }
    }

    .template-footer a {
        color: inherit;
        transition: opacity 0.3s ease-in-out;
    }

    @media (hover: hover) {
        .template-footer a:hover {
            opacity: 0.7;
        }
    }

    .template-footer-small {
        letter-spacing: 0.054rem;
        font-family: Montserrat;
        font-size: 1.5rem;
        font-style: normal;
        font-weight: 700;
        line-height: 100%;
    }

    .template-footer-small strong,
    .template-footer-small b {
        font-weight: 700;
    }

    @media (width <= 991px) {
        .template-footer-small {
            letter-spacing: 0.045rem;
            font-size: 1.5rem;
            line-height: 120%;
        }
    }

    .template-footer-small a {
        color: inherit;
        transition: opacity 0.3s ease-in-out;
    }

    @media (hover: hover) {
        .template-footer-small a:hover {
            opacity: 0.7;
        }
    }

    a.template-claim-primary {
        transition: opacity 0.3s ease-in-out;
    }

    @media (hover: hover) {
        a.template-claim-primary:hover {
            opacity: 0.7;
        }
    }

    a.template-claim-secondary {
        transition: opacity 0.3s ease-in-out;
    }

    @media (hover: hover) {
        a.template-claim-secondary:hover {
            opacity: 0.7;
        }
    }

    a.template-h1 {
        transition: opacity 0.3s ease-in-out;
    }

    @media (hover: hover) {
        a.template-h1:hover {
            opacity: 0.7;
        }
    }

    a.template-h2 {
        transition: opacity 0.3s ease-in-out;
    }

    @media (hover: hover) {
        a.template-h2:hover {
            opacity: 0.7;
        }
    }

    a.template-sottotitolo {
        transition: opacity 0.3s ease-in-out;
    }

    @media (hover: hover) {
        a.template-sottotitolo:hover {
            opacity: 0.7;
        }
    }

    a.template-menu {
        transition: opacity 0.3s ease-in-out;
    }

    @media (hover: hover) {
        a.template-menu:hover {
            opacity: 0.7;
        }
    }

    a.template-cta {
        transition: opacity 0.3s ease-in-out;
    }

    @media (hover: hover) {
        a.template-cta:hover {
            opacity: 0.7;
        }
    }

    a.template-text {
        transition: opacity 0.3s ease-in-out;
    }

    @media (hover: hover) {
        a.template-text:hover {
            opacity: 0.7;
        }
    }

    a.template-accordion {
        transition: opacity 0.3s ease-in-out;
    }

    @media (hover: hover) {
        a.template-accordion:hover {
            opacity: 0.7;
        }
    }

    a.template-text-small {
        transition: opacity 0.3s ease-in-out;
    }

    @media (hover: hover) {
        a.template-text-small:hover {
            opacity: 0.7;
        }
    }

    a.template-footer {
        transition: opacity 0.3s ease-in-out;
    }

    @media (hover: hover) {
        a.template-footer:hover {
            opacity: 0.7;
        }
    }

    a.template-footer-small {
        transition: opacity 0.3s ease-in-out;
    }

    @media (hover: hover) {
        a.template-footer-small:hover {
            opacity: 0.7;
        }
    }

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

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

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

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

    .orange-background {
        color: var(--cream-color);
        background-image: url("/css/filter/filigrana.png");
        background-repeat: repeat;
        position: relative;
    }

    @media (prefers-contrast: more) {
        .orange-background {
            color: var(--cream-color) !important;
        }
    }

    .orange-background :focus-visible {
        outline-color: var(--cream-color);
    }

    .orange-background:before {
        content: "";
        z-index: 0;
        background-color: var(--orange-color);
        mix-blend-mode: multiply;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
    }

    .orange-background > * {
        z-index: 1;
        position: relative;
    }

    .orange-background.template-spacing + .orange-background.template-spacing,
    .orange-background.template-spacing + :first-child > .orange-background.template-spacing,
    .orange-background.template-spacing-bottom + .orange-background.template-spacing,
    .orange-background.template-spacing-bottom + :first-child > .orange-background.template-spacing,
    .orange-background.template-spacing + .umb-block-list > .orange-background.template-spacing:first-of-type,
    .orange-background.template-spacing-bottom + .umb-block-list > .orange-background.template-spacing:first-of-type {
        padding-top: 0;
    }

    .bordeaux-background {
        color: var(--cream-color);
        background-image: url("/css/filter/filigrana.png");
        background-repeat: repeat;
        position: relative;
    }

    @media (prefers-contrast: more) {
        .bordeaux-background {
            color: var(--cream-color) !important;
        }
    }

    .bordeaux-background :focus-visible {
        outline-color: var(--cream-color);
    }

    .bordeaux-background:before {
        content: "";
        z-index: 0;
        background-color: var(--bordeaux-color);
        mix-blend-mode: multiply;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
    }

    .bordeaux-background > * {
        z-index: 1;
        position: relative;
    }

    .bordeaux-background.template-spacing + .bordeaux-background.template-spacing,
    .bordeaux-background.template-spacing + :first-child > .bordeaux-background.template-spacing,
    .bordeaux-background.template-spacing-bottom + .bordeaux-background.template-spacing,
    .bordeaux-background.template-spacing-bottom + :first-child > .bordeaux-background.template-spacing,
    .bordeaux-background.template-spacing + .umb-block-list > .bordeaux-background.template-spacing:first-of-type,
    .bordeaux-background.template-spacing-bottom + .umb-block-list > .bordeaux-background.template-spacing:first-of-type {
        padding-top: 0;
    }

    .yellow-background {
        color: var(--bordeaux-color);
        background-image: url("/css/filter/filigrana.png");
        background-repeat: repeat;
        position: relative;
    }

    @media (prefers-contrast: more) {
        .yellow-background {
            color: var(--bordeaux-color) !important;
        }
    }

    .yellow-background :focus-visible {
        outline-color: var(--bordeaux-color);
    }

    .yellow-background:before {
        content: "";
        z-index: 0;
        background-color: var(--yellow-color);
        mix-blend-mode: multiply;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
    }

    .yellow-background > * {
        z-index: 1;
        position: relative;
    }

    .yellow-background.template-spacing + .yellow-background.template-spacing,
    .yellow-background.template-spacing + :first-child > .yellow-background.template-spacing,
    .yellow-background.template-spacing-bottom + .yellow-background.template-spacing,
    .yellow-background.template-spacing-bottom + :first-child > .yellow-background.template-spacing,
    .yellow-background.template-spacing + .umb-block-list > .yellow-background.template-spacing:first-of-type,
    .yellow-background.template-spacing-bottom + .umb-block-list > .yellow-background.template-spacing:first-of-type {
        padding-top: 0;
    }

    .cream-background {
        color: var(--bordeaux-color);
        background-image: url("/css/filter/filigrana.png");
        background-repeat: repeat;
        position: relative;
    }

    @media (prefers-contrast: more) {
        .cream-background {
            color: var(--bordeaux-color) !important;
        }
    }

    .cream-background :focus-visible {
        outline-color: var(--bordeaux-color);
    }

    .cream-background:before {
        content: "";
        z-index: 0;
        background-color: var(--cream-color);
        mix-blend-mode: multiply;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
    }

    .cream-background > * {
        z-index: 1;
        position: relative;
    }

    .cream-background.template-spacing + .cream-background.template-spacing,
    .cream-background.template-spacing + :first-child > .cream-background.template-spacing,
    .cream-background.template-spacing-bottom + .cream-background.template-spacing,
    .cream-background.template-spacing-bottom + :first-child > .cream-background.template-spacing,
    .cream-background.template-spacing + .umb-block-list > .cream-background.template-spacing:first-of-type,
    .cream-background.template-spacing-bottom + .umb-block-list > .cream-background.template-spacing:first-of-type {
        padding-top: 0;
    }

    :root {
        --container-1: 540px;
        --container-2: 720px;
        --container-3: 960px;
        --container-4: 1140px;
        --container-5: 1320px;
        --container-larger-6: 1520px;
        --container-larger-7: 1800px;
    }

    @media (width >= 576px) {
        :root {
            --container-size: var(--container-1);
            --container-larger-size: var(--container-1);
        }
    }

    @media (width >= 768px) {
        :root {
            --container-size: var(--container-2);
            --container-larger-size: var(--container-2);
        }
    }

    @media (width >= 992px) {
        :root {
            --container-size: var(--container-3);
            --container-larger-size: var(--container-3);
        }
    }

    @media (width >= 1200px) {
        :root {
            --container-size: var(--container-4);
            --container-larger-size: var(--container-4);
        }
    }

    @media (width >= 1400px) {
        :root {
            --container-size: var(--container-5);
            --container-larger-size: var(--container-5);
        }
    }

    @media (width >= 1600px) {
        :root {
            --container-larger-size: var(--container-larger-6);
        }
    }

    @media (width >= 1900px) {
        :root {
            --container-larger-size: var(--container-larger-7);
        }
    }

    :root {
        --container-mixed-size: calc((var(--container-size) / 2) + (var(--container-larger-size) / 2));
        --container-margin: calc(50% - (var(--container-size) / 2));
        --container-margin-larger: calc(50% - (var(--container-larger-size) / 2));
    }

    .container,
    .container-larger,
    .container-larger-left,
    .container-larger-right {
        width: 100%;
        margin-right: auto;
    }

    @media (width <= 768px) {
        .container,
        .container-larger,
        .container-larger-left,
        .container-larger-right {
            padding-left: 2rem;
            padding-right: 2rem;
        }
    }

    .container,
    .container-larger {
        margin-left: auto;
    }

    .container {
        max-width: var(--container-size);
    }

    .container-larger {
        max-width: var(--container-larger-size);
    }

    .container-larger-left,
    .container-larger-right {
        max-width: var(--container-mixed-size);
    }

    .container-larger-left {
        margin-left: var(--container-margin-larger);
    }

    .container-larger-right {
        margin-left: var(--container-margin);
    }

    .container-percentage {
        --size: var(--container-size);
    }

    .container-larger-percentage {
        --size: var(--container-larger-size);
    }

    .container-percentage,
    .container-larger-percentage {
        width: 100%;
        display: flex;
    }

    @media (width <= 991px) {
        .container-percentage,
        .container-larger-percentage {
            flex-direction: column;
        }
    }

    .container-percentage > *,
    .container-larger-percentage > * {
        flex-grow: 0;
        flex-shrink: 0;
        margin: auto;
    }

    .container-percentage > :first-child,
    .container-percentage > :last-child,
    .container-larger-percentage > :first-child,
    .container-larger-percentage > :last-child {
        --margin: 0px;
        width: 100%;
    }

    @media (width <= 991px) {
        .container-percentage > :first-child,
        .container-percentage > :last-child,
        .container-larger-percentage > :first-child,
        .container-larger-percentage > :last-child {
            --margin: 0px;
            max-width: unset !important;
        }
    }

    @media (width <= 768px) {
        .container-percentage > :first-child,
        .container-percentage > :last-child,
        .container-larger-percentage > :first-child,
        .container-larger-percentage > :last-child {
            padding-left: 2rem;
            padding-right: 2rem;
        }
    }

    .container-percentage > :first-child.full-size,
    .container-percentage > :last-child.full-size,
    .container-larger-percentage > :first-child.full-size,
    .container-larger-percentage > :last-child.full-size {
        margin: 0;
        padding: 0;
    }

    @media (width <= 768px) {
        .container-percentage > :first-child.full-size,
        .container-percentage > :last-child.full-size,
        .container-larger-percentage > :first-child.full-size,
        .container-larger-percentage > :last-child.full-size {
            padding: 0;
        }
    }

    .container-percentage > :first-child.full-size.limited,
    .container-percentage > :last-child.full-size.limited,
    .container-larger-percentage > :first-child.full-size.limited,
    .container-larger-percentage > :last-child.full-size.limited {
        --max-size: 100rem;
        flex-direction: column;
        display: flex;
    }

    .container-percentage > :first-child.full-size.limited > *,
    .container-percentage > :last-child.full-size.limited > *,
    .container-larger-percentage > :first-child.full-size.limited > *,
    .container-larger-percentage > :last-child.full-size.limited > * {
        max-width: var(--max-size);
    }

    .container-percentage > :first-child,
    .container-larger-percentage > :first-child {
        max-width: calc(var(--size) * var(--percentage, 100) / 100 - var(--margin));
        margin-right: var(--margin);
    }

    .container-percentage > :first-child.full-size,
    .container-larger-percentage > :first-child.full-size {
        max-width: calc(50% + (var(--percentage) - 50) / 100 * var(--size));
    }

    .container-percentage > :first-child.full-size.limited,
    .container-larger-percentage > :first-child.full-size.limited {
        align-items: flex-end;
    }

    .container-percentage > :last-child,
    .container-larger-percentage > :last-child {
        max-width: calc(var(--size) * (100 - var(--percentage, 100)) / 100 - var(--margin));
        margin-left: var(--margin);
    }

    .container-percentage > :last-child.full-size,
    .container-larger-percentage > :last-child.full-size {
        max-width: calc(50% + (50 - var(--percentage, 0)) / 100 * var(--size));
    }

    .container-percentage > :last-child.full-size.limited,
    .container-larger-percentage > :last-child.full-size.limited {
        align-items: flex-start;
    }
}

@layer blocks {
    .testo.centrato .column {
        align-items: center;
    }

    .testo.centrato .column * {
        text-align: center;
    }

    .testo-immagine .testo {
        max-width: 75rem;
    }

    .testo-immagine .media-container {
        width: 53.5rem;
        height: 65rem;
    }

    @media (width <= 991px) {
        .testo-immagine .media-container {
            width: 100%;
            height: 30rem;
        }
    }

    .accordion-fascia .accordion-container .accordion-item {
        border-bottom: 2px solid var(--black-color);
        flex-direction: column;
        padding-block: 5rem;
        display: flex;
    }

    .accordion-fascia .accordion-container .accordion-item .visible {
        cursor: pointer;
    }

    .accordion-fascia .accordion-container .accordion-item .hidden {
        opacity: 0;
        max-height: 0;
        padding-block: 0.1rem;
        transition:
            opacity 0.15s ease-out,
            margin-top 0.15s ease-out;
        overflow: hidden;
    }

    .accordion-fascia .accordion-container .accordion-item.open .hidden {
        opacity: 1;
        margin-top: 3rem;
    }

    .downloads {
        color: var(--dark-brown-color);
    }

    .downloads svg path {
        stroke: var(--dark-brown-color);
    }

    .downloads .lista a {
        border: 2px solid var(--black-color);
        border-radius: 2.5rem;
        padding: 3.5rem 5rem;
    }

    .downloads .lista a svg {
        border-radius: 100%;
        width: 3.3rem;
        height: 3.3rem;
        padding: 0.7rem;
    }

    .downloads .lista a svg path {
        stroke: var(--dark-brown-color);
    }

    .highlights .swiper-slide {
        border: 1px solid var(--black-color);
        border-radius: 7.5rem;
        padding: 6.5rem;
    }

    .highlights .swiper-slide .media-container {
        width: 9rem;
        height: 9rem;
    }

    .canali-di-smistamento .swiper-slide {
        border-radius: 3rem;
        overflow: hidden;
    }

    .canali-di-smistamento .swiper-slide h3 {
        text-shadow: 0 0 20px #000;
        position: absolute;
        bottom: 2rem;
        left: 50%;
        transform: translateX(-50%);
    }

    @media (width <= 991px) {
        .canali-di-collegamento .canale-di-collegamento {
            flex-direction: column-reverse;
        }
    }

    .canali-di-collegamento .testo {
        max-width: 60rem;
    }

    .canali-di-collegamento .media-container {
        width: 51rem;
        height: 66rem;
    }

    @media (width <= 991px) {
        .canali-di-collegamento .media-container {
            width: 100%;
            height: 20rem;
        }
    }

    .punto-elenco-personalizzato .media-container,
    .punto-elenco-personalizzato .numero {
        flex-shrink: 0;
        width: 10rem;
    }

    @media (width <= 991px) {
        .punto-elenco-personalizzato .media-container,
        .punto-elenco-personalizzato .numero {
            width: 4rem;
        }
    }

    .work-in-progress {
        z-index: 9999;
        width: 100%;
        height: 100dvh;
        position: fixed;
        top: 0;
        left: 0;
    }

    @media (width <= 991px) {
        .work-in-progress {
            gap: 2rem;
        }
    }

    .work-in-progress .logo {
        padding-top: 6rem;
    }

    @media (width <= 991px) {
        .work-in-progress .logo {
            padding-top: 4.5rem;
        }
    }

    .work-in-progress .logo .logo-svg svg {
        width: 24.5rem;
        height: auto;
    }

    @media (width <= 991px) {
        .work-in-progress .logo .logo-svg svg {
            width: auto;
            height: 4rem;
        }
    }

    .work-in-progress .logo .socials a {
        width: auto;
        height: 4.5rem;
    }

    @media (width <= 991px) {
        .work-in-progress .logo .socials a {
            height: 4.5rem;
        }
    }

    .work-in-progress .logo .socials a svg {
        width: auto;
        height: 4.5rem;
    }

    @media (width <= 991px) {
        .work-in-progress .logo .socials a svg {
            height: 4.5rem;
        }
    }

    .work-in-progress .logo .socials a svg path {
        stroke: var(--yellow-color);
        transition: stroke 0.25s ease-in-out;
    }

    @media (hover: hover) {
        .work-in-progress .logo .socials a:hover svg path {
            stroke: var(--cream-color);
        }
    }

    .work-in-progress .contenuto {
        justify-content: flex-start;
        align-items: center;
        width: 100%;
    }

    .work-in-progress .contenuto h1 {
        color: var(--yellow-color);
        text-align: center;
        text-transform: lowercase;
        margin: 0;
        font-size: 7rem;
    }

    @media (width <= 991px) {
        .work-in-progress .contenuto h1 {
            font-size: 3.8rem;
        }
    }

    .work-in-progress .contenuto .icone {
        width: 100%;
        height: 50rem;
        position: relative;
    }

    @media (width <= 991px) {
        .work-in-progress .contenuto .icone {
            height: 22rem;
        }
    }

    .work-in-progress .contenuto .icone svg {
        width: auto;
        height: 36rem;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
    }

    .work-in-progress .contenuto .icone svg:first-child {
        display: block;
        top: 10rem;
        left: 0;
        transform: translateX(-50%);
    }

    .work-in-progress .contenuto .icone svg:last-child {
        display: block;
        top: 10rem;
        left: 100%;
        transform: translateX(-50%);
    }

    @media (width <= 991px) {
        .work-in-progress .contenuto .icone svg {
            height: 22rem;
        }

        .work-in-progress .contenuto .icone svg:first-child,
        .work-in-progress .contenuto .icone svg:last-child {
            display: none;
        }
    }

    .work-in-progress .dati {
        flex-direction: row;
        justify-content: center;
        align-items: center;
        gap: 0.5rem;
        padding-bottom: 6rem;
        display: flex;
    }

    @media (width <= 991px) {
        .work-in-progress .dati {
            flex-wrap: wrap;
            gap: 1rem;
            padding-bottom: 4.5rem;
        }
    }

    .work-in-progress .dati .template-footer-small {
        color: var(--yellow-color);
        text-align: center;
    }

    @media (width <= 991px) {
        .work-in-progress .dati .template-footer-small:first-child {
            padding-bottom: 1rem;
        }

        .work-in-progress .dati .template-footer-small:nth-child(2n) {
            display: none;
        }
    }
}

@layer components {
    .template-cta {
        width: fit-content;
        color: inherit;
        border: 4px solid var(--yellow-color);
        border-radius: 0 6rem 6rem 8rem;
        min-width: auto;
        min-height: 8rem;
        padding: 1rem 5rem;
        text-decoration: none;
        transition:
            background-color 0.25s ease-in-out,
            color 0.25s ease-in-out,
            border-color 0.25s ease-in-out;
    }

    @media (width <= 991px) {
        .template-cta {
            min-width: 32.4rem;
            min-height: 6rem;
        }
    }

    .template-cta.cta-yellow {
        border-color: var(--yellow-color);
        background-color: var(--yellow-color);
        color: var(--bordeaux-color);
    }

    @media (hover: hover) {
        .template-cta.cta-yellow:hover {
            border-color: var(--bordeaux-color);
            background-color: var(--bordeaux-color);
            color: var(--white-color);
        }
    }

    .template-cta.cta-bordeaux {
        border-color: var(--bordeaux-color);
        background-color: var(--bordeaux-color);
        color: var(--cream-color);
    }

    @media (hover: hover) {
        .template-cta.cta-bordeaux:hover {
            border-color: var(--bordeaux-color);
            color: var(--bordeaux-color);
            background-color: #0000;
        }
    }
}

@layer layouts {
    .archie-breadcrumb {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .archie-breadcrumb-item {
        font-size: 1.5rem;
        display: inline-block;
    }

    .archie-breadcrumb-item a {
        color: var(--black-color);
        text-decoration: none;
        transition: all 0.3s ease-in-out;
    }

    .archie-breadcrumb-item a:hover {
        color: var(--black-color);
    }

    .archie-breadcrumb-item:last-child {
        color: var(--black-color);
        font-weight: 600;
    }

    .archie-breadcrumb-item .separator {
        color: var(--black-color);
        padding: 0 0.3rem;
    }
}

@layer pages;

/*# sourceMappingURL=main.g.css.map*/
