/*
  Theme Name: Simonelli Group
  Author: Egloo
  Author URI: https://egloo.it
  Version: 1.0.1
*/

@font-face {
    font-family: HelveticaNeue;
    src: url("./assets/fonts/webFonts/NeueHelveticaPro55Roman/font.woff2") format("woff2"),
    url("./assets/fonts/webFonts/NeueHelveticaPro55Roman/font.woff") format("woff");
    font-weight: 400;
}

@font-face {
    font-family: HelveticaNeue;
    src: url("./assets/fonts/webFonts/NeueHelveticaPro45Light/font.woff2") format("woff2"),
    url("./assets/fonts/webFonts/NeueHelveticaPro45Light/font.woff") format("woff");
    font-weight: 300;
}

@font-face {
    font-family: HelveticaNeue;
    src: url("./assets/fonts/webFonts/NeueHelveticaPro65Medium/font.woff2") format("woff2"),
    url("./assets/fonts/webFonts/NeueHelveticaPro65Medium/font.woff") format("woff");
    font-weight: 500;
}

@font-face {
    font-family: SuisseWorks;
    src: url("./assets/fonts/SuisseWorks/SuisseWorks-Regular.otf") format("opentype");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: SuisseWorks;
    src: url("./assets/fonts/SuisseWorks/SuisseWorks-Italic.otf") format("opentype");
    font-weight: 400;
    font-style: italic;
}

@font-face {
    font-family: SuisseWorks;
    src: url("./assets/fonts/SuisseWorks/SuisseWorks-Medium.otf") format("opentype");
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: SuisseWorks;
    src: url("./assets/fonts/SuisseWorks/SuisseWorks-MediumItalic.otf") format("opentype");
    font-weight: 500;
    font-style: italic;
}

@font-face {
    font-family: SuisseWorks;
    src: url("./assets/fonts/SuisseWorks/SuisseWorks-Bold.otf") format("opentype");
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: SuisseWorks;
    src: url("./assets/fonts/SuisseWorks/SuisseWorks-BoldItalic.otf") format("opentype");
    font-weight: 700;
    font-style: italic;
}

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

    --c-white: #ffffff;

    --site-width: 80.5rem;
    --columns-gap: 1.25rem;
    --ff-sans: HelveticaNeue, Helvetica, Arial, sans-serif;
    --ff-serif: SuisseWorks, 'Times New Roman', serif;

    --c-gray: #838383;
    --c-accent: #003C69;
    --c-light-gray: #F4F4F4;

    font-family: var(--ff-sans), sans-serif;
}

@media only screen and (max-width: 768px) {
    :root {
        --header-height: 4.75rem;
    }
}

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

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

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

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

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--ff-serif), serif;
}

ol,
ul {
    list-style-type: none;
}

a {
    text-decoration: none;
}

dialog[open] {
    border: none;
    background-color: transparent;
    border-radius: 0;
    inline-size: 100%;
    block-size: 100%;
    max-inline-size: none;
    max-block-size: none;
    display: grid;
    place-items: center;
}

dialog.not-grid[open] {
    display: block;
}

img,
video,
iframe {
    display: block;
    width: 100%;
    height: auto;
}

button,
label,
input {
    cursor: pointer;
}

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

svg {
    line-height: 0;
}

.container {
    width: 100%;
    max-width: calc(var(--site-width) + 2 * var(--columns-gap));
    padding-left: var(--columns-gap);
    padding-right: var(--columns-gap);
    margin: auto;
}

.container.container-8 {
    --site-width: 53.25rem;
}

.container.container-10 {
    --site-width: 66.875rem;
}

.full-page {
    height: 0;
    min-height: 100vh;
}

.eg-btn {
    font-size: .75rem;
    line-height: 1.17;
    font-weight: 500;
    text-transform: uppercase;
    background-color: var(--c-accent);
    color: white;
    padding: 1.25rem 1.875rem 1.2rem;
    display: inline-flex;

    transition: filter 0.3s ease, background-color 0.3s ease;
}

.eg-btn:hover {
    filter: brightness(115%);
}

.eg-btn.white {
    background-color: white;
    color: black;
}

.eg-btn.white:hover {
    background-color: var(--c-light-gray);
}

.eg-btn.transparent.white {
    background-color: transparent;
    color: white;
    border: 1px solid white;
}

.eg-btn.transparent.white:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.supertitle {
    font-size: .75rem;
    line-height: 1.17;
    font-weight: normal;
    text-transform: uppercase;
    color: var(--c-gray);
}

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

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

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

.rich-text > :not(:last-child) {
    margin-block-end: 0.8em;
}

.rich-text h1,
.text-title-1 {
    font-size: 3.125rem;
    line-height: 1.12;
    letter-spacing: -0.046875rem;
    font-weight: 500;
}

.rich-text h2,
.text-title-2 {
    font-size: 2.5rem;
    line-height: 1.2;
    letter-spacing: -0.025rem;
    font-weight: 500;
}

.rich-text h3,
.text-title-3 {
    font-size: 1.5625rem;
    line-height: 1.28;
}

.rich-text h4,
.rich-text h5,
.rich-text h6,
.text-small-title {
    font-size: 1.125rem;
    line-height: 1.3888888888889;
    font-weight: 500;
}

.text-body {
    font-size: 1rem;
    line-height: 1.3125;
    font-weight: 300;
}

.text-body-2 {
    font-size: 0.875rem;
    line-height: 1.1428571428571;
}

.text-label {
    font-size: 0.75rem;
    line-height: 1.1666666666667;
}

.standard-title {
    font-size: 2.5rem;
    line-height: 1.2;
    font-weight: 500;
}

.standard-text {

}

.big-text {
    font-size: 1.5625rem;
    line-height: 1.28;
}

.eg-cta {
    display: inline-flex;
    align-items: center;
    gap: .67em;
    position: relative;
    font-size: 1.125rem;
    color: #a7a7a7;
    font-weight: 500;

    transition-property: color;
    transition-duration: .3s;
    transition-timing-function: ease;
}

.eg-cta:after {
    content: '';
    display: inline-block;
    height: .6em;
    width: .34em;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2LjA2MSIgaGVpZ2h0PSIxMC43MDciIHZpZXdCb3g9IjAgMCA2LjA2MSAxMC43MDciPgogIDxnIGlkPSJSYWdncnVwcGFfMzExNyIgZGF0YS1uYW1lPSJSYWdncnVwcGEgMzExNyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEzMS42NDYgLTcuNjQ2KSI+CiAgICA8cGF0aCBpZD0iVHJhY2NpYXRvXzEzMDAiIGRhdGEtbmFtZT0iVHJhY2NpYXRvIDEzMDAiIGQ9Ik01LDUuNzA3LS4zNTQuMzU0LjM1NC0uMzU0LDUsNC4yOTMsOS42NDYtLjM1NGwuNzA3LjcwN1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEzMiAxOCkgcm90YXRlKC05MCkiIGZpbGw9IiMzYjNiM2IiIG9wYWNpdHk9IjAuNCIvPgogIDwvZz4KPC9zdmc+Cg==");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: right center;
    transform: translateY(-.1em);

    transition-property: background-image, width;
    transition-duration: .3s;
    transition-timing-function: ease;
}

.eg-cta:hover {
    opacity: 1;
    color: var(--c-accent);
}

.eg-cta:hover:after {
    width: .9em;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNi4yMDciIGhlaWdodD0iMTAuNzA3IiB2aWV3Qm94PSIwIDAgMTYuMjA3IDEwLjcwNyI+CiAgPHBhdGggaWQ9IlVuaW9uZV8zIiBkYXRhLW5hbWU9IlVuaW9uZSAzIiBkPSJNLTEyMjUuODUzLDIxODdsNC4xNDYtNC4xNDZILTEyMzZ2LTFoMTQuMjkzbC00LjE0Ni00LjE0Ny43MDctLjcwNiw1LjM1NCw1LjM1My01LjM1NCw1LjM1NFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMzYgLTIxNzcpIiBmaWxsPSIjMDAzYzY5Ii8+Cjwvc3ZnPgo=");
}

@media only screen and (min-width: 768px) {
    .only-mobile {
        display: none;
    }
}

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

/* /* Header */
/**/
/* header { */
/*     position: absolute; */
/*     top: 0; */
/*     width: 100%; */
/*     z-index: 100; */
/* } */
/**/
/* .navbar-dark header nav { */
/*     color: white; */
/* } */
/**/
/* header nav { */
/*     font-size: .865rem; */
/* } */
/**/
/* header nav .navbar-content { */
/*     display: flex; */
/*     gap: 1.865rem; */
/*     align-items: center; */
/*     padding: 1.875rem 0; */
/* } */
/**/
/* header nav .navbar-content .navbar-section:not(.main) { */
/*     flex: 1; */
/* } */
/**/
/* header nav .header-logo { */
/*     width: 100%; */
/*     max-width: 16.4rem; */
/* } */
/**/
/* header nav a.logo-link { */
/*     display: inline-block; */
/* } */
/**/
/* header nav .main-header-menu { */
/*     display: flex; */
/*     gap: 1.865rem; */
/* } */
/**/
/* header nav .navbar-section.right { */
/*     display: flex; */
/*     align-items: center; */
/*     gap: 1.25rem; */
/*     justify-content: flex-end; */
/* } */
/**/
/* header nav .lang-selector { */
/*     color: white; */
/*     background: transparent; */
/*     font-size: .75rem; */
/*     text-transform: uppercase; */
/*     border: none; */
/* } */
/**/
/* @media only screen and (max-width: 768px) { */
/*     body > header { */
/*         display: flex !important; */
/*         flex-direction: column; */
/*         position: fixed; */
/*         background: white; */
/*         padding: 1rem 2rem; */
/*         color: black; */
/*     } */
/**/
/*     .navbar-dark header nav { */
/*         color: black; */
/*     } */
/**/
/*     body > header:not(.open) nav { */
/*         display: none; */
/*     } */
/**/
/*     body > header .menu-toggle { */
/*         display: inline-flex; */
/*     } */
/**/
/*     header nav .navbar-content, */
/*     header nav .main-header-menu { */
/*         flex-direction: column; */
/*         gap: 2.5rem; */
/*     } */
/**/
/*     header nav .navbar-content .navbar-section.left { */
/*         display: none; */
/*     } */
/* } */

/* Footer */

footer {
    position: relative;
    background-color: var(--c-accent);
    color: white;
}

footer .main {
    padding-top: 5rem;
    padding-bottom: 5rem;
}

footer .main .topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 5rem;
}

footer .main .utils-wrapper {
    display: flex;
    gap: 1.25rem;
    align-items: center;
    justify-content: flex-end;
}

footer .main .lang-selector {
    color: white;
    background: transparent;
    font-size: .75rem;
    text-transform: uppercase;
    border: none;
}

footer .main .main-content {
    display: flex;
    gap: var(--columns-gap);
}

footer .main .main-content > * {
    flex: 1;
}

footer .main .main-content .columns-wrapper {
    display: flex;
    gap: var(--columns-gap);
}

footer .main .main-content .group-sites .columns-wrapper {
    justify-content: space-between;
}

footer .main .main-content p {
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.4;
    opacity: .5;
}

footer .main .main-content .footer-heading {
    font-family: var(--ff-sans), sans-serif;
    font-size: 1.125rem;
    margin-bottom: 1.25rem;
    font-weight: 500;
    opacity: 1;
}

footer .main .main-content .headquarter-info .column {
    max-width: 12.375rem;
}

footer .colophon {
    /*border-top: 1px solid white;*/
    /*padding-top: 2.5rem;*/
    padding-bottom: 2.5rem;
}

footer .colophon .columns-container {
    padding-top: 2.5rem;
    border-top: 1px solid white;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--columns-gap);
}

footer .colophon .colophon-text {
    font-size: .875rem;
    opacity: .7;
}

footer .colophon .col-2 .colophon-text {
    display: flex;
    gap: 3rem;
    flex-wrap: wrap;
}

/* PART: Slider standard */

.full-page.slider-standard .swiper {
    height: 100%;
}

.slider-standard .swiper-slide {
    background-color: black;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.slider-standard .swiper-slide .bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #00000073;
}

.slider-standard .swiper-slide .bg,
.slider-standard .swiper-slide .bg-img,
.slider-standard .swiper-slide .bg-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.slider-standard .swiper-slide .bg-img,
.slider-standard .swiper-slide .bg-video {
    object-fit: cover;
    object-position: center;
}

.slider-standard .swiper-slide .slide-content {
    position: relative;
    width: 100%;
    max-width: calc(var(--site-width) * 0.83 + 2 * var(--columns-gap));
    margin: auto;
    padding: 6.25rem var(--columns-gap);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
}

.slider-standard .swiper-slide .slide-content .slide-supertitle {
    font-size: .75rem;
    line-height: 1.17;
    font-weight: normal;
    text-transform: uppercase;
    color: var(--c-gray);
}

.slider-standard .swiper-slide .slide-content .slide-title {
    margin-bottom: .625rem;
    font-size: 2.74rem;
    line-height: 1.14;
    font-weight: normal;
}

.slider-standard .swiper-pagination {
    bottom: 9%;
}

.slider-standard .swiper-pagination .swiper-pagination-bullet {
    width: 8px;
    height: 4px;
    background: white;
    opacity: .3;
    border-radius: 100px;

    transition-duration: .3s;
    transition-timing-function: ease;
    transition-property: width, opacity;
}

.slider-standard .swiper-pagination .swiper-pagination-bullet-active {
    opacity: 1;
    width: 21px;
}

/* PART: KPIs + immagine */

.img-kpis .intro {
    padding-top: 6.25rem;
    text-align: center;
}

.img-kpis .intro .container {
    --site-width: 53.25rem;
}

.img-kpis .intro .section-heading .section-supertitle {
    margin-bottom: 1.25rem;
}

.img-kpis .intro .section-heading .section-title {
    margin-bottom: 2.5rem;
}

.img-kpis .intro .content-card {
    --image-height: 14.7rem;
    background-image: linear-gradient(to bottom, transparent var(--image-height), var(--c-accent) var(--image-height));
}

.img-kpis .intro .content-card .intro-image {
    width: 100%;
    height: var(--image-height);
    /*max-height: 30vh;*/
    object-fit: cover;
}

.img-kpis .intro .content-card .content-wrapper {
    background-color: white;
    padding: 2.5rem 2rem;
}

.img-kpis .intro .content-card .content-wrapper > * {
    max-width: 40rem;
    margin: auto;
}

.img-kpis .intro .content-card .text-wrapper {
    font-weight: lighter;
    margin-bottom: 1.5rem;
}

.img-kpis .intro .content-card .text-wrapper strong {
    font-weight: bold;
}

.img-kpis .kpis {
    background-color: var(--c-accent);
    color: white;
    padding: 6.25rem var(--columns-gap);
}

.img-kpis .kpis .kpis-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    grid-column-gap: var(--columns-gap);
    grid-row-gap: 3.125rem;
}

.img-kpis .kpis .kpis-grid .single-kpi {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
}

.img-kpis .kpis .kpis-grid .single-kpi .kpi-image,
.img-kpis .kpis .kpis-grid .single-kpi .kpi-icon svg {
    height: 4rem;
    width: auto;
}

.img-kpis .kpis .kpis-grid .single-kpi .kpi-value {
    font-size: 3rem;
    line-height: 1;
    font-family: var(--ff-serif), serif;
    font-weight: 500;
}

.img-kpis .kpis .kpis-grid .single-kpi .kpi-label {
    font-weight: 300;
    text-transform: uppercase;
    line-height: 1.31;
}

/* PART: Cards slider */

section.cards-slider {
    overflow: hidden;
    background-color: var(--c-light-gray);
}

section.cards-slider > div.container {
    margin-block: 6.25rem;
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas:
        "section-title section-title"
        "title slider-info"
        "swiper swiper";
}

section.cards-slider .section-title {
    text-transform: uppercase;
    margin-block-end: 1.875rem;
    grid-area: section-title;
    color: #838383;
}

section.cards-slider .title-wrapper {
    grid-area: title;
}

section.cards-slider .slider-info {
    grid-area: slider-info;
    align-self: end;
}

section.cards-slider .slider-info :where(a, .separator, button) {
    color: rgba(from var(--fg-color) r g b / 0.4);
}

section.cards-slider .slider-info a:where(:hover, :focus-visible) {
    color: var(--c-accent);
    text-decoration: underline;
}

section.cards-slider .slider-info button:hover {
    color: var(--fg-color);
}

section.cards-slider .slider-info .separator {
    margin-inline: 1ch;
}

section.cards-slider .slider-info button.swiper-btn-prev {
    scale: -1 1;
}

section.cards-slider .slider-info button.swiper-button-disabled {
    display: none;
}

section.cards-slider .slider-info .swiper-range {
    font-weight: 300;
    margin-inline: 0.7ch;
}

section.cards-slider .swiper {
    grid-area: swiper;
    inline-size: 0;
    min-inline-size: 100%;
    overflow: visible;
    margin-block-start: 2.5rem;
}

section.cards-slider .swiper .swiper-wrapper .swiper-slide {
    max-inline-size: 12.375rem;
}

section.cards-slider[data-card-type="news"] .swiper .swiper-wrapper .swiper-slide {
    max-inline-size: 25.9375rem;
}

section.cards-slider[data-card-type="news"] .swiper .swiper-wrapper .swiper-slide {
    max-inline-size: 25.9375rem;
}

section.cards-slider[data-card-type="news"] .swiper .swiper-wrapper .swiper-slide .card {
    block-size: 100%;
}

section.cards-slider[data-card-type="location"] .swiper .swiper-wrapper .swiper-slide {
    max-inline-size: 19.1875rem;
}

@media only screen and (max-width: 768px) {
    section.cards-slider .section-title {
        margin-block-end: 1.25rem;
    }

    section.cards-slider > div.container {
        grid-template-columns: 1fr;
        grid-template-areas:
            "section-title"
            "title"
            "swiper"
            "slider-info";
        margin-block-start: 3.25rem;
        margin-block-end: 3.25rem;
    }

    section.cards-slider .slider-info {
        margin-block-start: 2rem;
    }

    section.cards-slider .slider-info p {
        display: flex;
        justify-content: space-between;
    }

    section.cards-slider .slider-info p:not(:has(a:first-child)) {
        justify-content: end;
        inline-size: fit-content;
        margin-inline-start: auto;
    }

    section.cards-slider .slider-info p > :first-child {
        margin-inline-end: auto;
    }

    section.cards-slider .slider-info p > .separator {
        display: none;
    }

    section.cards-slider .slider-info .swiper-range {
        margin-inline: 1ch;
    }

    section.cards-slider .slider-info .swiper-range .slide-range-end,
    section.cards-slider .slider-info .swiper-range .slide-range-dash {
        display: none;
    }
}

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

article.card.card-news {
    border-radius: var(--border-default);
    display: flex;
    flex-direction: column;
    position: relative;
    background-color: var(--c-white);
    box-shadow: 0 3px 6px #00000029;
}

article.card.card-news .thumbnail {
    display: grid;
    background-color: var(--c-accent);
    aspect-ratio: 415/250;
}

article.card.card-news .thumbnail > * {
    grid-area: 1/1;
}

article.card.card-news .thumbnail .img-wrapper {
    --_padding: 1.25rem;
    margin-top: var(--_padding);
    margin-left: var(--_padding);
    height: calc(100% - (var(--_padding) * 2));
    width: calc(100% - (var(--_padding) * 2));
    border-start-start-radius: 6.25rem;
    border-end-end-radius: 6.25rem;
}

article.card.card-news .thumbnail .img-wrapper img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

article.card.card-news .thumbnail .cta-wrapper {
    border-start-start-radius: var(--border-default);
    border-start-end-radius: var(--border-default);
    display: grid;
    place-items: center;
    background-color: rgb(0 0 0 / 0.3);
    opacity: 0;
    transition: opacity 0.2s ease;
    position: relative;
}

article.card.card-news .thumbnail .cta-wrapper .btn {
    transform: translateY(50%);
    transition: transform 0.2s ease;
}

article.card.card-news:where(:has(:focus-visible), :hover) .thumbnail .cta-wrapper {
    opacity: 1;
}

article.card.card-news:where(:has(:focus-visible), :hover) .thumbnail .cta-wrapper .btn {
    transform: translateY(0%);
}

article.card.card-news .text-wrapper {
    padding: 2.5rem 1.8125rem;
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

article.card.card-news .text-wrapper .info {
    display: flex;
    align-items: center;
    gap: 0.5625rem;
}

article.card.card-news .text-wrapper .info .category {
    padding-block: 0.4375rem 0.1875rem;
    padding-inline: 0.875rem;
    background-color: var(--c-accent);
    font-size: 0.8125rem;
    line-height: 1;
    color: var(--c-white);
    font-weight: 500;
    letter-spacing: -0.07px;
}

article.card.card-news .text-wrapper .info .date {
    font-size: 0.75rem;
    line-height: 1.25;
    font-weight: 500;
    opacity: 0.5;
    text-box: trim-both ex alphabetic;
}

article.card.card-news .text-wrapper .title a {
    font-family: var(--ff-sans);
    font-size: 1.125rem;
    line-height: 1.222222;
    font-weight: 500;
    outline: none;

    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

article.card.card-news .text-wrapper .title a::after {
    content: "";
    position: absolute;
    inset: 0;
    outline: 0px solid currentColor;
    outline-offset: 5px;
    transition: outline-width 0.2s ease;
    border-radius: calc(var(--border-default) + 5px);
}

article.card.card-news:has(:focus-visible) .text-wrapper .title a::after {
    outline-width: 5px;
}

@media (max-width: 768px) {
    article.card.card-news .text-wrapper {
        padding: 1.25rem 1.25rem 1.5rem;
    }
}

/* PART: Logo cards */

section.logo-cards {
    text-align: center;
    margin-top: 6.25rem;
    margin-bottom: 6.25rem;
}

section.logo-cards .section-heading {
    margin-bottom: 3.125rem;
}

section.logo-cards .section-heading .container {
    --site-width: 53.25rem;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

section.logo-cards .logos-grid {
    display: flex;
    gap: var(--columns-gap);
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 3.125rem;
}

section.logo-cards .logos-grid .single-logo-card {
    flex-basis: 12rem;
    flex-grow: 1;
    max-width: 18.94rem;
    box-shadow: 0 3px 6px rgb(0 0 0 / 0.16);
    /*padding-bottom: 50%;*/
    /*position: relative;*/
}

/*section.logo-cards .logos-grid .single-logo-card img {*/
/*    position: absolute;*/
/*    top: 0;*/
/*    left: 0;*/
/*    width: 100%;*/
/*    height: 100%;*/
/*    object-fit: contain;*/
/*}*/

/* PART: Split standard */

section.split-std {
    display: flex;
}

section.split-std.image-left {
    flex-direction: row-reverse;
}

section.split-std > * {
    flex: 1;
}

section.split-std .image-side {
    position: relative;
    /*min-height: 85vh;*/
    min-height: 40rem;
    padding: var(--columns-gap)
}

section.split-std :is(.content-image,video) {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

section.split-std .image-inset :is(.content-image,video) {
    max-width: 39.625rem;
    height: calc(100% - 12.5rem);
    top: 50%;
    transform: translateY(-50%);
}

section.split-std.image-left .image-inset :is(.content-image,video) {
    left: unset;
    right: 0;
}

section.split-std .text-side {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 6.25rem var(--columns-gap);
}

section.split-std .text-side {
    background-color: var(--_bg, transparent);
    color: var(--_fg, inherit);
}

section.split-std .text-side.invert-colors {
    color: white;
}

section.split-std .text-side .text-content {
    max-width: 40.25rem;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

section.split-std.image-right .text-side .text-content {
    margin-left: auto;
    width: 100%;
}

section.split-std .text-side .text-content > * {
    max-width: 26rem;
    margin: auto;
    width: 100%;
}

section.split-std .text-side .text-content .section-cta {
    margin-top: .625rem;
}

section.split-std .text-side .text-content .section-cta .eg-btn:not(.white) {
    background-color: var(--_accent, var(--c-accent));
    color: var(--_bg, white);
}

section.split-std .text-side .text-content .section-text {
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.3125;
}

section.split-std .text-side .supertitle {
    color: var(--_accent, var(--c-gray));
}

section.split-std .text-side.title-style-supertitle-big .supertitle {
    font-family: var(--ff-serif), serif;
    font-size: 4rem;
    font-weight: 500;
    line-height: 1;
    color: var(--_accent, var(--c-accent));
}

section.split-std .text-side.title-style-supertitle-big .standard-title {
    font-family: var(--ff-sans), sans-serif;
    font-size: 1.5625rem;
    font-weight: 500;
    line-height: 1.28;
}

/* PART: Testo con immagine di sfondo */

section.text-bg {
    position: relative;
    padding: 5.875rem 0;
    text-align: center;
    color: white;
}

section.text-bg .bg,
section.text-bg .bg > .background-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

section.text-bg .bg > .background-image {
    object-fit: cover;
    object-position: center;
}

section.text-bg .bg::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
}

section.text-bg .content {
    position: relative;
}

section.text-bg .content .container {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

section.text-bg .content .section-cta {
    margin-top: .625rem;
}

section.text-bg .content .supertitle {
    color: white;
}

/* PART: Hero standard */

section.hero-standard {
    position: relative;
    background-color: black;
    min-height: 35rem;
}

section.hero-standard .bg,
section.hero-standard .bg > .background-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

section.hero-standard .bg > .background-image {
    object-fit: cover;
    object-position: center;
}

section.hero-standard::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
}

/* PART: Only text */

section.only-text {
    padding: 6.25rem var(--columns-gap);
    text-align: center;
}

section.only-text .container {
    --site-width: 53.25rem;
    display: flex;
    flex-direction: column;
    gap: 1.875rem;
}

body.page-template-story section.only-text {
    position: relative;
    z-index: 1;
}

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

section.hero.hero-half .layers {
    min-block-size: 28.125rem;
    align-items: center;
    text-align: center;
    color: white;
}

section.hero.hero-half .layer-bg::after {
    background-color: #000000;
    opacity: 0.6;
}

section.hero.hero-half .layer-bg {
    block-size: 100%;
}

/* ======================================== */
/* SINGLE ARTICLE */
/* ======================================== */

.news-template-default .hero {
    padding-top: 10rem;
    padding-bottom: 6.25rem;
    background-color: var(--c-accent);
    color: white;
    text-align: center;
}

.news-template-default .hero > .container {
    display: flex;
    flex-direction: column;
    gap: 1.875rem;
}

.news-template-default .hero #breadcrumbs {
    display: flex;
    gap: 0.8125rem;
    justify-content: center;
    flex-wrap: wrap;
}

.news-template-default .hero #breadcrumbs li:not(:last-child) {
    position: relative;
    display: flex;
    gap: 0.8125rem;
    align-items: center;
}

.news-template-default .hero #breadcrumbs li:not(:last-child):after {
    content: '';
    width: 0.286875rem;
    height: 0.485625rem;
    display: inline-block;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0LjU5IiBoZWlnaHQ9IjcuNzY2IiB2aWV3Qm94PSIwIDAgNC41OSA3Ljc2NiI+CiAgPHBhdGggaWQ9IlRyYWNjaWF0b18xMzIyIiBkYXRhLW5hbWU9IlRyYWNjaWF0byAxMzIyIiBkPSJNLTEyMjY2LDEyODU4LjgxNGEuNS41LDAsMCwxLS4zNTQtLjE0Ni41LjUsMCwwLDEsMC0uNzA3bDMuMDI5LTMuMDI5LTMuMDI5LTMuMDI5YS41LjUsMCwwLDEsMC0uNzA3LjUuNSwwLDAsMSwuNzA3LDBsMy43MzYsMy43MzYtMy43MzYsMy43MzZBLjUuNSwwLDAsMS0xMjI2NiwxMjg1OC44MTRaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjI2Ni41IC0xMjg1MS4wNDkpIiBmaWxsPSIjZmZmIi8+Cjwvc3ZnPgo=");
    transform: translateY(-.12em);
}

.news-template-default .thumbnail-wrapper {
    background-image: linear-gradient(var(--c-accent) 50%, transparent 50%);
}

.news-template-default .content {
    padding-top: 6.25rem;
    padding-bottom: 6.25rem;
    font-size: 1rem;
    line-height: 1.3125;
    font-weight: 300;
}

.news-template-default .content p:not(:last-child) {
    margin-bottom: 1rem;
}

.news-template-default .thumbnail-wrapper .attachment-post-thumbnail {
    max-height: 65vh;
    width: 100%;
    object-fit: cover;
    object-position: center;
}

/* -----------------------------------
==============================================================================
#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-sans), sans-serif !important;
    color: #000000 !important;
    font-weight: 400 !important;
    font-size: 14px !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: var(--c-accent) !important;
    color: #ffffff !important;
    border: 0.5px solid var(--c-accent) !important;
    box-shadow: none !important;
    opacity: 1;
    border-radius: 64px !important;
}

body #iubenda-iframe .purposes-header-right button:hover {
    opacity: 0.8;
    background-color: var(--c-accent) !important;
    color: #ffffff !important;
    border: 0.5px solid var(--c-accent) !important;
}

body #iubenda-iframe .iub-toggle-checkbox input.style1:checked {
    background-color: var(--c-accent) !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:checked {
    background-color: var(--c-accent) !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 var(--c-accent) !important;
    font-weight: 600 !important;
    outline: none !important;
    box-shadow: none !important;
    color: #ffffff !important;
    background-color: var(--c-accent) !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: #ffffff !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: var(--c-accent) !important;
    color: #ffffff !important;
    border: 0.5px solid var(--c-accent) !important;
    box-shadow: none !important;
    opacity: 0.8;
}

body #iubenda-cs-banner .iubenda-cs-opt-group button.iubenda-cs-reject-btn {
    background: var(--c-accent) !important;
    color: #ffffff !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 var(--c-accent) !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;
    }
}
