﻿:root {
    --verde: #3FAE2A;
    --verde-dark: #2E8B1F;
    --verde-light: #A5D86A;
    --verde-sfondo: #e7ffca;
    --blu: #1E6FB8;
    --blu-dark: #164F86;
    --blu-light: #6FA9E3;
    --blu-sfondo: #6FA9E3A1;
    --giallo: #F2C200;
    --giallo-light: #FFD84D;
    --giallo-sfondo: #f5e7ab;
    --nero: #1A1A1A;
    --grigio: #555555;
    --grigio-light: #F5F5F5;
    --bianco: #FFFFFF;
    --marrone: #473B2D;
}

html {
    font-size: 100%;
}

header{
    display:none;
}

body {
    margin: 0;
    font-family: Open Sans,sans-serif
}

h1, h2, h3, h4, h5 {
    margin: 0px;
}

*, *::before, *::after {
    box-sizing: border-box;
}

.none{
    display:none;
}

.c-scroll-container {
    padding: 10px 50px;
    position: absolute;
    bottom: -50px;
    width: 100%;
    z-index: 2;
}

.c-scroll-indicator {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-flow: column;
}

.c-scroll-indicator_label {
    /* margin-left: 20px; */
    color: var(--bianco);
    text-align: center;
    margin-bottom: 20px;
}

.c-scroll-indicator_value {
    display: inline-block;
    width: 1px;
    height: 100px;
    background-color: #cfd6d9;
    position: relative;
    overflow: hidden;
}

    .c-scroll-indicator_value span {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0;
        background-color: #000;
        animation: scrollIndicator 1.4s cubic-bezier(.645, .045, .355, 1) infinite;
    }

.traslateup {
    transition: transform 400ms ease-in-out,opacity 400ms ease-out;
    opacity: 0;
    transform: translateY(50px);
}

    .traslateup.visibile {
        transform: translateY(0);
        opacity: 1;
    }

.traslateopacity {
    transition: transform 800ms ease-in-out,opacity 800ms ease-out;
    opacity: 0;
}

    .traslateopacity.visibile {
        opacity: 1;
    }

.traslateright {
    transition: transform 1000ms ease-in-out,opacity 1000ms ease-out;
    opacity: 0;
    transform: translateX(100%);
}

    .traslateright.visibile {
        transform: translateX(0);
        opacity: 1;
    }

.traslateleft {
    transition: transform 1000ms ease-in-out,opacity 1000ms ease-out;
    opacity: 0;
    transform: translateX(-100%);
}

    .traslateleft.visibile {
        transform: translateX(0);
        opacity: 1;
    }


@keyframes scrollIndicator {
    0% {
        transform: translate3d(0,-102%,0)
    }

    69.9% {
        transform: translate3d(0,102%,0)
    }

    70% {
        transform: translate3d(0,-102%,0)
    }

    to {
        transform: translate3d(0,-102%,0)
    }
}


.sfondocontatti {
    position: relative;
    overflow: hidden;
}

.bg-img {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    /*object-position: right center;*/
    z-index: 0;
}

.sfondocontatti .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 90%;
    height: 100%;
    background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0) 100%);
    z-index: 0;
}

.bottoneGenerico {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 10px;
    background: var(--blu);
    color: white;
    padding: 12px 28px;
    border-radius: 30px;
    cursor: pointer;
    transition: 0.3s;
    text-decoration: none;
}

    .bottoneGenerico.verde {
        background: var(--verde);
    }

    .bottoneGenerico.transparent {
        background: transparent;
        border: 1px solid;
    }

    .bottoneGenerico:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 20px rgba(0,0,0,0.15);
    }

div.first {
    position: relative;
    height: 100vh;
    margin: auto;
    width: 100%;
    overflow: hidden;
    background: #f6f5f3;
    box-sizing: border-box;
}


.mySlides2 {
    position: absolute;
    height: 100%;
    width: 100%;
    transition: all 1500ms;
    display: flex;
    align-items: center;
    justify-content: center;
}

.claimHome {
    z-index: 2;
    display: flex;
    margin-left: 50px;
    flex-flow: column;
    text-align: center;
    margin-right: 50px;
    /* max-width: 900px; */
}

    .claimHome.widthvw {
        max-width: 80vw;
    }

    .claimHome h1 {
        font-family: Poppins, sans-serif;
        font-weight: 400;
        font-size: clamp(2.8rem, 5vw, 5.2rem);
        line-height: clamp(2.7rem, 6vw, 5.9rem);
        letter-spacing: clamp(-1px, -0.2vw, -3.6px);
        color: #fff;
    }

    .claimHome img {
        display: block;
        max-width: 400px;
        margin: auto;
    }

.margintop {
    margin-top: 20px;
}

.sfondonero {
    position: absolute;
    background-color: rgb(0 0 0 / 15%);
    width: 100%;
    height: 100%;
    z-index: 1;
}

.mySlidesHomeVideo {
    position: absolute;
    height: 100%;
    width: 100%;
    transition: all 1500ms;
    object-fit: cover;
}

.section {
    margin: 150px 0px;
}

    .section.ridotta {
        margin: 50px 0px;
        margin-top: 0;
    }

.sectiongrigio {
    padding: 100px 0px;
    background-color: var(--grigio-light);
}

.sectionblu {
    padding: 100px 0px;
    background-color: var(--blu-sfondo);
}

.sectiongiallo {
    padding: 100px 0px;
    background-color: var(--giallo-sfondo);
}

.sectionverde {
    padding: 100px 0px;
    background-color: var(--verde-sfondo);
}
/* Blocchi uniformi HOMEPAGE */

.sezioneFlex.blocchiuniformi {
    flex-flow: wrap;
    gap: 20px;
}

.sezioneFlex {
    width: 100%;
    display: flex;
    flex-flow: row;
    align-items: flex-start;
}

.blocchiuniformi .blocco {
    position: relative;
    flex-basis: calc(100% / 2 - 10px);
    box-sizing: border-box;
    overflow: hidden;
    border-radius: 25px;
}

    .blocchiuniformi .blocco img {
        width: 100%;
        min-height: 45vh;
        max-height: 58vh;
        object-fit: cover;
        display: block;
        border-radius: 25px;
        transition: transform 0.5s ease;
    }

.blocco .mascheraScura {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2; 
    width: 100%;
    height: 100%;
    background-color: rgb(0 0 0 / 45%);
    transition: background-color 0.4s ease;
    border-radius: 25px;
    padding: 40px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
}

.contenuto {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.blocco .title {
    font-family: Poppins, sans-serif;
    font-size: clamp(1.6rem, 4vw, 3rem);
    line-height: clamp(1.7rem, 4.5vw, 3.5rem);
    letter-spacing: clamp(-1px, -0.15vw, -2.5px);
    color: var(--bianco);
    text-transform: uppercase;
    transform: translateY(10px);
    transition: transform 0.3s ease;
}

.blocco .descrizione {
    color: var(--bianco);
    font-size: 1rem;
    transform: translateY(10px);
    transition: all 0.3s ease;
}

.blocco .bottoneGenerico {
    transform: translateY(10px);
}

.blocco:hover .title, .blocco:hover .descrizione, .blocco:hover .bottoneGenerico {
    transform: translateY(0);
}


.blocco:hover img {
    transform: scale(1.08);
}

.blocco:hover .mascheraScura {
    background-color: rgb(0 0 0 / 20%);
}

.containerIntElenco {
    width: 50%;
    z-index: 1;
    position: relative;
    display: flex;
}

    .containerIntElenco.dx {
        padding: 5%;
    }

    .containerIntElenco.full {
        width: 100%;
        /*padding: 0 5%;*/
    }

    .containerIntElenco.sx {
        padding: 5%;
    }

        .containerIntElenco.sx.padding200.topbottom200 {
            padding-top: 200px;
            padding-bottom: 200px;
        }

        .containerIntElenco.sx.padding200 {
            padding-right: 200px;
        }

        .containerIntElenco.sx.nopaddingleft {
            padding-left: 0;
        }

    .containerIntElenco .logoSuTitolo {
        max-width: 300px;
        max-height: 50px;
    }

.containerIntElencoImmagine {
    width: 100%;
    display: block;
    height: 100%;
    object-fit: cover;
    border-radius: 25px;
    border: none;
}

.containerIntDescElenco {
    font-weight: 300;
    font-size: 15px;
    line-height: 1.73em;
    position: relative;
    text-align: center;
    width: 100%;
    display: block;
}

.containerIntDescElenco.height {
    height: 55vh;
}

    .containerIntDescElenco.sfondofascia {
        position: relative;
        overflow: hidden;
        border-radius: 25px;
    }

        .containerIntDescElenco.sfondofascia > img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            border-radius: 25px;
            transition: transform 0.6s ease;
        }

        .containerIntDescElenco.sfondofascia:hover > img {
            transform: scale(1.05);
        }


    .containerIntDescElenco.flex {
        display: flex;
        gap: 50px;
        justify-content: center;
    }

        .containerIntDescElenco.flex img {
            width: 100%;
            max-width: 500px;
            flex: 1;
        }

    .containerIntDescElenco.left {
        text-align: left;
    }

    .containerIntDescElenco h2, .containerIntDescElenco h3, .containerIntDescElenco p {
        margin: 0;
    }

    .containerIntDescElenco h1, .containerIntDescElenco h2 {
        font-family: Poppins, sans-serif;
        font-weight: 400;
        font-size: clamp(1.8rem, 4vw, 3rem);
        line-height: clamp(2.2rem, 4.5vw, 3.5rem);
        letter-spacing: clamp(-1px, -0.15vw, -2.5px);
        color: #000;
        margin-bottom: 16px;
    }

    .containerIntDescElenco h2.nomargin {
        margin-bottom: 0px;
    }

        .containerIntDescElenco h2 > b, .containerIntDescElenco h3 > b, .containerIntDescElenco p > b {
            color: var(--verde-dark);
            font-weight: 500;
        }

    .containerIntDescElenco h3 {
        font-family: Poppins, sans-serif;
        font-weight: 300;
        font-size: clamp(1.3rem, 2vw, 1.6rem);
        line-height: clamp(1.6rem, 2.4vw, 2rem);
        letter-spacing: clamp(-0.5px, -0.08vw, -0.8px);
        margin-bottom: 16px;
        color: #222;
    }

    .containerIntDescElenco p {
        font: normal normal 400 1rem / 1.621rem Open Sans;
        letter-spacing: 0px;
        color: #000000;
        margin-bottom: 14px;
    }

        .containerIntDescElenco p a {
            text-decoration: none;
            color: #000000;
        }

    .containerIntDescElenco > .tabella {
        justify-content: space-between;
        align-items: flex-start;
        gap: 20px 30px;
        margin: 18px 0;
        padding-top: 22px;
        border-top: 1px solid #d5e0eb;
        border-bottom: 1px solid #d5e0eb;
    }

        .containerIntDescElenco > .tabella > div {
            /*flex: 1 1 260px;*/
            flex: 1;
        }

        .containerIntDescElenco > .tabella p {
            margin-bottom: 18px;
        }
        
        .containerIntDescElenco > .tabella a {
            font-weight: 600;
        }

            .containerIntDescElenco > .tabella p strong {
                display: block;
                font-family: Poppins, sans-serif;
                font-weight: 500;
                margin-bottom: 4px;
                color: #111;
            }

.maxwidth400 {
    max-width: 800px;
    margin: auto;
    padding: 0px 10%;
}

/* pagina dettaglio */

.containerIntDettaglio {
    width: 50%;
    box-sizing: border-box;
    z-index: 1;
    position: relative;
    display: flex;
}

    .containerIntDettaglio.dx {
        box-sizing: border-box;
        padding: 3%;
        padding-right: 0;
    }

    .containerIntDettaglio.sx {
        box-sizing: border-box;
        padding: 5%;
    }

        .containerIntDettaglio.sx.padding200.topbottom200 {
            padding-top: 200px;
            padding-bottom: 200px;
        }

        .containerIntDettaglio.sx.padding200 {
            padding-right: 200px;
        }

        .containerIntDettaglio.sx.nopaddingleft {
            padding-left: 0;
        }

.containerIntDescDettaglio {
    box-sizing: border-box;
    font-weight: 300;
    font-size: 15px;
    line-height: 1.73em;
    position: relative;
    text-align: center;
    width: 100%;
}

    .containerIntDescDettaglio.sfondofascia {
        position: relative;
        overflow: hidden;
        border-radius: 25px;
        display: flex;
        flex-direction: column;
        gap: 12px;
        /*background-color: #f5f5f5;*/
    }

        .containerIntDescDettaglio.sfondofascia > a {
            display: block;
            overflow: hidden;
            border-radius: 18px;
        }

        .containerIntDescDettaglio.sfondofascia > img,
        .containerIntDescDettaglio.sfondofascia > a > img {
            width: 100%;
            height: auto;
            max-height: 600px;
            object-fit: cover;
            display: block;
            border-radius: 18px;
            transition: transform 0.6s ease;
        }
        .containerIntDescDettaglio.sfondofascia > a:hover > img {
            transform: scale(1.05);
        }


    .containerIntDescDettaglio.flex {
        display: flex;
        gap: 50px;
        justify-content: center;
    }

        .containerIntDescDettaglio.flex img {
            width: 100%;
            max-width: 500px;
            flex: 1;
        }

    .containerIntDescDettaglio.left {
        text-align: left;
    }

    .containerIntDescDettaglio h1, .containerIntDescDettaglio h2, .containerIntDescDettaglio h3, .containerIntDescDettaglio p {
        margin: 0;
    }

    .containerIntDescDettaglio h1 {
        font-family: Poppins, sans-serif;
        font-weight: 400;
        font-size: clamp(1.8rem, 4vw, 3rem);
        line-height: clamp(2.2rem, 4.5vw, 3.5rem);
        letter-spacing: clamp(-1px, -0.15vw, -2.5px);
        color: #000;
        margin-bottom: 16px;
    }

        .containerIntDescDettaglio h1 > b, .containerIntDescDettaglio h2 > b, .containerIntDescDettaglio h3 > b, .containerIntDescDettaglio p > b {
            color: var(--verde-dark);
            font-weight: 500;
        }

    .containerIntDescDettaglio h2 {
        font-family: Poppins, sans-serif;
        font-weight: 300;
        font-size: clamp(1.2rem, 2vw, 1.6rem);
        line-height: clamp(1.6rem, 2.4vw, 2rem);
        letter-spacing: clamp(-0.5px, -0.08vw, -0.8px);
        margin-bottom: 16px;
        color: #222;
    }

    .containerIntDescDettaglio p {
        font: normal normal 400 1rem / 1.621rem Open Sans;
        letter-spacing: 0px;
        color: #000000;
        margin-bottom: 14px;
    }

.sectionVideo {
    width: 100%;
    margin-top: 100px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
}

.videoWrapper {
    flex-basis: calc(50% - 15px);
    justify-content: center;
    position: relative;
    aspect-ratio: 16 / 9;
    border-radius: 18px;
    overflow: hidden;
    background-color: #000;
    /*box-shadow: 0 10px 30px rgba(0,0,0,0.12);*/
}

    .videoWrapper video,
    .videoWrapper iframe {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        border: none;
    }





/* NEWS */

.titoloNews {
    /* display: flex;
    gap: 50px;
    align-items: center;
    justify-content: space-between;*/
    margin-bottom: 40px;
}

.contenitoreNews {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    margin: 40px auto 0;
    justify-content: center;
    /*padding: 0 16px;*/
}

    .contenitoreNews > div {
        flex-basis: calc(100% / 3 - 22px);
    }
    
    .contenitoreNews.elenco > div {
        flex-basis: calc(100% / 3 - 22px);
    }

    .contenitoreNews .ElencoItem {
        background: #ffffff;
        border-radius: 20px;
        overflow: hidden;
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
        transition: all 0.3s ease;
        position: relative;
    }

        .contenitoreNews .ElencoItem:hover {
            transform: translateY(-8px) scale(1.01);
            box-shadow: 0 18px 40px rgba(0, 0, 0, 0.12);
        }

    .contenitoreNews .LinkNewsHome {
        display: block;
        text-decoration: none;
        color: inherit;
    }

    .contenitoreNews .immaginenews {
        position: relative;
        width: 100%;
        aspect-ratio: 16 / 10;
        overflow: hidden;
    }

        .contenitoreNews .immaginenews img {
            width: 100%;
            height: 100%;
            border-radius: 25px;
            object-fit: cover;
            transition: transform 0.5s ease, filter 0.5s ease;
        }

        .contenitoreNews .immaginenews::after {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(to top, rgba(0,0,0,0.35), transparent 60%);
            opacity: 0;
            transition: opacity 0.3s ease;
        }

    .contenitoreNews .ElencoItem:hover .immaginenews img {
        transform: scale(1.08);
        filter: brightness(0.95);
    }

    .contenitoreNews .ElencoItem:hover .immaginenews::after {
        opacity: 1;
    }

    .contenitoreNews .DescrizioneSuPaginaElenco {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding-top: 25px;
    }

        .contenitoreNews .DescrizioneSuPaginaElenco > div:first-child {
            flex: 1;
        }

.material-icons-outlined.circle {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--nero);
    border-radius: 50%;
    font-size: 20px;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.contenitoreNews .LinkNewsHome:hover .material-icons-outlined.circle {
    transform: translateX(4px);
    border-color: #000;
}

.contenitoreNews .titolonews {
    display: block;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.3;
    margin: 8px 0 12px;
    color: #111;
    transition: color 0.25s ease;
}

.contenitoreNews .ElencoItem:hover .titolonews {
    color: #0078d7;
}

.contenitoreNews h3 {
    font-family: Poppins, sans-serif;
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 100%;
    margin-bottom: 10px;
    color: #222;
}

.contenitoreNews p {
    font: normal normal 400 14px / 20px Open Sans;
    letter-spacing: 0px;
    color: rgb(157, 147, 150);
    margin: 0px;
}

.contenitoreNews .iconaNews {
    color: #aaa;
    font-size: 1.2rem;
    transition: all 0.25s ease;
}

.contenitoreNews .ElencoItem:hover .iconaNews {
    color: #0078d7;
    transform: translateX(4px);
}

/* HEADER */
.titoloNews h2 {
    text-align: center;
    font-family: Poppins, sans-serif;
    font-weight: 400;
    font-size: clamp(1.8rem, 4vw, 3rem);
    line-height: clamp(2.2rem, 4.5vw, 3.5rem);
    letter-spacing: clamp(-1px, -0.15vw, -2.5px);
}

.pulsanteTutteNews {
    display: block;
    border-radius: 25px;
    /*flex-basis:50%;*/
}

    .pulsanteTutteNews a {
        display: flex;
        text-decoration: none;
        width: 100%;
        min-width: 200px;
        padding: 13px 40px;
        text-align: center;
        background-color: #8C857D;
        color: #fff;
        /*border-right: solid 1px #fff;*/
        border-radius: 24px;
        font: normal normal 500 14px / 24px Open Sans;
        align-items: center;
        justify-content: center;
        transition: all .2s ease-in;
    }

        .pulsanteTutteNews a:hover {
            background-color: var(--marrone);
        }

/* FINE NEWS */
.ContainerPlaceHomeLink a, .footerleftitem a, .footerright a, .menu a {
    text-decoration: none
}

div.HomeSfondo1, div.HomeSfondo2, div.HomeSfondo3 {
    background-size: 100% 100%;
    background-position: center top;
    border-radius: 25px;
}

.container, .container2 {
    position: relative;
    width: 100%;
    box-sizing: border-box
}

.LabelMenuPrincipale, .MenuCategorieResponsivo, .MenuPrincipale, .menu > input, .menuCategorie > input, div.freccianone, div.frecciavisible {
    display: none
}

.container, .container2, .menu a {
    box-sizing: border-box
}

input[type=file], input[type=submit] {
    -webkit-appearance: none
}

.container {
    padding: 0 50px
}

    .container.news {
        margin: auto;
        max-width: 1500px;
    }

    .container.maxwidth1500 {
        margin: auto;
        max-width: 1500px;
    }

.tabella {
    width: 100%;
    display: flex;
    justify-content: center;
    flex-flow: wrap;
}

    .tabella.center {
        align-items: center;
    }

h1.titolo, h2.titolo {
    flex-basis: 100%;
    text-align: center;
    font-family: Poppins, sans-serif;
    font-weight: 400;
    font-size: clamp(1.8rem, 4vw, 3rem);
    line-height: clamp(2.2rem, 4.5vw, 3.5rem);
    letter-spacing: clamp(-1px, -0.15vw, -2.5px);
    color: #000;
    margin-bottom: 40px;
}

.container2 {
    padding: 12px 55px 0
}

.container3 {
    margin: auto;
    padding: 0px 150px;
    box-sizing: border-box;
    width: 100%;
    max-width: 1700px;
}

.margintop10 {
    margin-top: 10px;
}

.margintop20 {
    margin-top: 20px;
}

.margintop30 {
    margin-top: 30px;
}

.margintop50 {
    margin-top: 50px;
}

.margintop100 {
    margin-top: 100px;
}

.padding30 {
    padding: 0px 30px;
}

.spazio {
    /*height: 80px;*/
    height: 100px;
}

.spazioInternoStatico {
    height: 130px
}

.menuCategorie {
    overflow-y: visible;
    float: right;
    padding-bottom: 5px
}

.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: var(--bianco);
    z-index: 3000;
    /*box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);*/
}

.LabelMenuPrincipale {
    display: block;
    /*position: absolute;*/
}

.lineamenu {
    height: 2px;
    width: 28px;
    background-color: #000;
    margin-bottom: 5px;
}

.menuacomparsa {
    display: none;
    /*position: absolute;
    margin-top: -64px;
    right: 0px;
    float: none;
    width: 65px;
    z-index: 2600000000000000000;
    margin-right: 15px;*/
}

.menuHam {
    background-color: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    padding: 0;
}

    .menuHam.unscrolled svg {
        filter: invert(100%) sepia(0%) saturate(7500%) hue-rotate(46deg) brightness(116%) contrast(112%);
    }

.line {
    fill: none;
    stroke: black;
    stroke-width: 6;
    transition: stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1), stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1);
}

.line1 {
    stroke-dasharray: 60 207;
    stroke-width: 6;
}

.line2 {
    stroke-dasharray: 60 60;
    stroke-width: 6;
}

.line3 {
    stroke-dasharray: 60 207;
    stroke-width: 6;
}

.opened .line1 {
    stroke-dasharray: 90 207;
    stroke-dashoffset: -134;
    stroke-width: 6;
}

.opened .line2 {
    stroke-dasharray: 1 60;
    stroke-dashoffset: -30;
    stroke-width: 6;
}

.opened .line3 {
    stroke-dasharray: 90 207;
    stroke-dashoffset: -134;
    stroke-width: 6;
}


.container2 {
    margin: 0 auto;
    padding: 0 50px;
}

.header .container2 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 80px;
    gap: 24px;
}

.logo {
    display: flex;
    align-items: center;
    position: relative;
    z-index: 5;
    flex-shrink: 0;
}

    .logo a {
        display: inline-flex;
        align-items: center;
        text-decoration: none;
    }

img.venticinqueanniAssieme {
    width: 47px;
    padding-bottom: 0;
    margin-right: 10px;
}

img.ImageLogo {
    width: 250px;
    max-width: 100%;
    height: auto;
    padding-bottom: 0;
    display: block;
}

/* wrapper menu */
.MenuPrincipale {
    display: none;
}

.LabelMenuPrincipale {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 12px;
    background: #f5f5f5;
    transition: all 0.25s ease;
}

    .LabelMenuPrincipale:hover {
        background: #ececec;
    }

.menu {
    display: block;
}

    .menu input[type="checkbox"] {
        display: none;
    }

    .menu > div {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: wrap;
        gap: 5px;
    }

    .menu a {
        float: none;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        text-decoration: none;
        background: transparent;
        color: #000;
        font-family: "Open Sans", sans-serif;
        font-size: 0.83rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: -0.5px;
        padding: 12px 14px;
        margin: 0;
        min-height: 44px;
        max-width: none;
        max-height: none;
        border-radius: 0;
        transition: color 0.25s ease;
        white-space: nowrap;
        position: relative;
    }

    .menu > div > a::before,
    .menu > div > .menu-item-dropdown > a::before {
        content: "";
        position: absolute;
        left: 16px;
        width: calc(100% - 32px);
        bottom: 8px;
        height: 2px;
        background: var(--marrone);
        transform: scaleX(0);
        transform-origin: left;
        transition: transform 0.25s ease;
    }

    .menu > div > a:hover::before,
    .menu > div > a.MenuSelezionato::before,
    .menu > div > .menu-item-dropdown:hover > a::before,
    .menu > div > .menu-item-dropdown > a.MenuSelezionato::before {
        transform: scaleX(1);
    }

.LinkMenuMarchi,
.LinkMenuProgettazione,
.MenuCategorieWrapper a,
a.Link1 {
    transition: all 0.25s ease;
    text-decoration: none;
}

.menuhorizontalseparator {
    display: none;
}

.headerresponsivo {
    display: none;
}

.headerslides {
    width: 100%;
    margin-top: 0 !important;
}

/* DROPDOWN */
.menu-item-dropdown {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.menu-dropdown-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-right: 18px;
}

    .menu-dropdown-toggle::after {
        content: "";
        display: inline-block;
        margin-left: 8px;
        width: 6px;
        height: 6px;
        border-right: 1.5px solid currentColor;
        border-bottom: 1.5px solid currentColor;
        transform: rotate(45deg) translateY(-1px);
        transition: transform 0.25s ease;
    }

.menu-dropdown-panel {
    position: absolute;
    /*top: calc(100% + 12px);*/
    top: calc(100% + 0px);
    left: 0;
    min-width: 220px;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 18px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.10);
    padding: 10px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
    z-index: 100;
}

    .menu-dropdown-panel a {
        display: block;
        width: 100%;
        justify-content: flex-start;
        text-align: left;
        white-space: nowrap;
        font-size: 0.82rem;
        font-weight: 600;
        text-transform: none;
        letter-spacing: -0.5px;
        padding: 11px 14px;
        min-height: auto;
        border-radius: 12px;
        color: #000;
        background: transparent;
        box-shadow: none;
        transform: none;
    }

        .menu-dropdown-panel a:hover,
        .menu-dropdown-panel a.MenuSelezionato {
            background: #f3f0ec;
            box-shadow: none;
            transform: translateX(2px);
        }

.menu-item-dropdown:hover .menu-dropdown-panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.menu-item-dropdown:hover .menu-dropdown-toggle::after {
    transform: rotate(225deg) translateY(-1px);
}

.menu-item-dropdown::after {
    content: "";
    position: absolute;
    left: 0;
    top: 100%;
    width: 100%;
    height: 14px;
}


.footer {
    /*background-color: #473b2d2e;*/
    background-color: var(--grigio-light);
    border-top: 1px solid #D4D1CC;
    border-bottom: 1px solid #D4D1CC;
}

.footer2 {
    background-color: #fff;
     padding-bottom: 50px;
}

.containerFooter {
    padding: 15px 50px;
    display: flex;
    color: #000;
    max-width: 1600px;
    margin: auto;
    font-size: 14px;
}

    .containerFooter.padding100 {
        padding: 100px 50px;
    }

    .containerFooter > .footeritem1 {
        width: calc(100% / 3);
        display: flex;
        flex-flow: column;
        justify-content: space-between;
        flex: inherit;
        padding-right: 20px;
    }

    .containerFooter > .footeritem2 {
        flex: 1;
        display: flex;
        flex-flow: wrap;
        gap: 50px;
    }

.footeritem2 > div {
    flex: 1;
}

.footeritem1 > div > .imgLogo {
    width: 100%;
    display: block;
    /* padding-right: 50px; */
    max-width: 300px;
    /* margin: auto;*/
}


.footeritem1 > div.sponsor {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: start;
    align-items: center;
    font-style: italic;
    color: var(--grigio);
}

    .footeritem1 > div.sponsor > img {
        display: block;
        /*max-width: 100%;*/
    }

.TendeDaSolePara, .TendeDaSoleSomify {
    max-width: 50px
}

.TendeDaSoleCorradi {
    max-width: 110px
}

.TendeDaSoleCE {
    max-width: 35px
}

.TendeDaSoleCorradiBio {
    max-width: 170px
}

.containerFooter h3 {
    font: normal normal 600 18px/21px Poppins;
    letter-spacing: 0;
    color: #000;
    margin-bottom: 20px;
}

.footeritem2 a, .footertext {
    text-decoration: none;
    color: #000;
    font: normal normal 400 16px/22px Open Sans;
    letter-spacing: 0;
    margin: 10px 0px;
    display: block;
}

.containerFooter.flex {
    justify-content: space-between;
}

.footer2link {
    display: flex;
}

    .footer2link > a {
        display: block;
        margin-left: 50px;
        color: #000;
        text-decoration: none;
    }

.blocchilavorazioni {
    display: flex;
    justify-content: space-evenly;
    margin: 100px auto;
    flex-flow: wrap;
    gap: 100px;
}

    .blocchilavorazioni > div {
        max-width: 300px;
        width: 100%;
    }

    .blocchilavorazioni p {
        font-family: Poppins, sans-serif;
        font-weight: 400;
        font-size: clamp(1.2rem, 2vw, 2rem);
        line-height: clamp(1.6rem, 2.4vw, 2rem);
        letter-spacing: clamp(-0.5px, -0.08vw, -0.8px);
        margin: 10px 0;
        color: var(--nero);
    }

    .blocchilavorazioni .material-icons-outlined {
        font-size: 60px;
        color: var(--blu)
    }

.lineaorizzontale {
    background-color: var(--blu-light);
    width: 42%;
    height: 1px;
    margin: auto;
}

.splide{
    width:100%;
}

.splide__track {
    padding-bottom: 20px;
}

.splide__slide {
    justify-items: center;
}

.splide .splide__pagination__page {
    background: var(--giallo-sfondo);
}

    .splide .splide__pagination__page.is-active {
        background: var(--verde);
    }

.splide__slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#partners-carousel .splide__slide img {
    max-height: 7vh;
    object-fit: contain;
    display: block;
    transition: .4s ease-out;
}

.splide__arrows > .splide__arrow {
    background: #fff;
}

.splide__slide p {
    text-align: center;
    font-family: Oepn Sans, sans-serif;
    font-weight: 400;
    font-size: clamp(1.5rem, 2vw, 1.2rem);
    line-height: clamp(1.6rem, 2.4vw, 2rem);
    letter-spacing: clamp(-0.5px, -0.08vw, -0.8px);
    color: var(--nero);
    text-align: left;
}

    .splide__slide p.center {
        text-align: center;
    }

.HomeSeparator {
    height: 25px
}

.HomeContentWrapper {
    display: flex;
    min-height: 460px;
    height: 35vw;
    max-height: 900px;
}

    .HomeContentWrapper.news {
        /*border-bottom: solid 30px #fff;*/
        display: flex;
        flex-flow: column;
        height: auto;
        max-height: none;
        max-width: 1185px;
        position: relative;
        margin: auto;
    }

.HomeContentWrapperNoSfondo {
    background-color: #fff
}

.HomeLeft {
    position: relative;
    overflow: hidden;
    border-radius: 25px;
}

    .HomeLeft img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        border-radius: 25px;
        transition: transform 0.6s ease;
    }

    .HomeLeft:hover img {
        transform: scale(1.05);
    }

    .HomeLeft h2 {
        font-weight: 300;
        font-size: 40px;
        display: block;
        margin: 0 auto
    }

.HomeLeftTesto {
    height: 450px
}

.HomeRight {
    float: right;
    position: relative;
    border-left: solid 15px #fff;
    align-items: stretch
}

.HomeRightInverso {
    position: relative;
    overflow: hidden;
    border-radius: 25px;
    /*height: inherit;
    position: absolute;
    top: 0;
    right: 0;
    border-left: solid 15px #fff;
    align-items: stretch*/
}

    .HomeRightInverso img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        border-radius: 25px;
        transition: transform 0.6s ease;
    }

        .HomeRightInverso img.contain {
            object-fit: contain;
        }

    .HomeRightInverso:hover img {
        transform: scale(1.05);
    }

.HomeRightTesto, .HomeTestoWrapper {
    height: 450px
}


.DetrazioniFiscaliHome {
    border: 25px solid rgba(126,120,108,.5);
    max-width: 480px;
    width: 100%;
    height: auto;
    margin: 0 auto;
    text-align: center;
    box-sizing: border-box
}

    .DetrazioniFiscaliHome img {
        width: 100%;
        display: block
    }

.DetrazioniFiscaliHomeTesto {
    background-color: #fff;
    padding: 18px;
    height: auto;
    box-sizing: border-box
}

.ContainerPlaceHome {
    box-sizing: border-box;
    max-width: 500px;
    margin: 0 auto;
    font-size: 16px
}

.ContainerPlaceHomeConBordoBianco {
    padding: 30px;
    height: 100%;
    max-height: 900px;
    box-sizing: border-box;
    border: 1px solid #fff;
    color: #fff;
    text-align: justify;
    font-size: 16px;
    font-weight: 300
}

.ContainerPlaceHomeLink h2,
.ContainerPlaceHomeLink h3,
.ContainerPlaceHomeLink p {
    margin: 0;
}

.ContainerPlaceHomeLink {
    /*background-color: #E3E3E3;*/
    padding: 5%;
    box-sizing: border-box;
    display: flex;
    flex-flow: column;
    align-self: center;
    justify-content: center;
}

    .ContainerPlaceHomeLink a h2 {
        font: normal normal 400 6vh / 7vh Poppins;
        color: #000000;
        margin-bottom: 16px;
        letter-spacing: -3px;
        text-align: left;
    }

    .ContainerPlaceHomeLink h3 {
        font-family: Poppins, sans-serif;
        font-size: 2.8vh;
        line-height: 3.6vh;
        font-weight: 300;
        letter-spacing: -0.8px;
        margin-bottom: 20px;
        color: #222;
        text-align: left;
    }

    .ContainerPlaceHomeLink p {
        font: normal normal 400 16px / 26px Open Sans;
        letter-spacing: 0px;
        margin-bottom: 14px;
        color: #000000;
    }

        .ContainerPlaceHomeLink p:last-child {
            margin-bottom: 0;
        }

.InternoSezioniHome {
    font-family: Poppins, sans-serif;
    font-size: 1.8vh;
    line-height: 2.4vh;
    font-weight: 400;
    letter-spacing: -0.3px;
    color: #444;
    margin: 0;
    text-align: left;
}


.HomeLinkSeparator {
    width: 240px;
    border-top: solid 1px grey;
    margin: 20px auto 40px
}

.ContattiDestra, .ContattiSinistra {
    margin-top: 55px;
    margin-bottom: 20px
}

span.ColoreParticolareHomepage {
    color: #2A814E
}

div.HomeSfondo1 {
    background-image: url(/tende/coperture-fisse-mobili-bioclimatiche.jpg)
}

div.HomeSfondo2 {
    background-image: url(/tende/applicazione-tende-da-sole.jpg)
}

div.HomeSfondo3 {
    background-image: url(/tende/avvolgente-vela-hi-tech.jpg)
}

h2.H2UltimiProgetti {
    display: block;
    text-align: center;
    font-weight: 300;
    font-size: 30px
}

.GalleriaUltimiProgettiWrapper {
    height: auto;
    background-color: #E3E3E3;
    padding: 15px 0;
    box-sizing: border-box
}

.visualizzaslide {
    display: none
}

.ContattiSinistra {
    float: left;
    width: 48.5%
}

a.hl_mappacontatti {
    width: 100%;
    height: 9vw
}

    a.hl_mappacontatti > img {
        display: block;
        height: 100%
    }

.ContattiDestra {
    float: right;
    width: 48.5%;
    font-size: 13px;
    color: #000;
    vertical-align: top
}

.LabelContatti, .informazioniSinistra h3 {
    font-size: 25px;
    text-align: left;
    color: #000
}

.ContattiForm {
    width: 56%;
    color: #000
}

.LabelContatti {
    display: block;
    font-weight: 300;
    margin-bottom: 10px
}

.informazioni {
    width: 100%;
    height: auto;
    padding: 10px;
    box-sizing: border-box;
    background-color: #f5f5f5;
    border: 1px solid silver;
    color: #000;
    position: relative
}

.informazioniSinistra {
    float: left;
    width: 40%;
    margin-right: 10%
}

    .informazioniSinistra h3 {
        margin-top: 0;
        font-weight: 400
    }

.informazioniDestra {
    float: left;
    width: 40%
}

    .informazioniDestra span {
        font-size: 15px
    }

    .informazioniDestra a {
        color: #000;
        font-size: 11px
    }

.informazionitesto {
    color: #666;
    text-align: justify;
    font-size: 16px;
    font-weight: 300
}

.MenuCategorieWrapper {
    display: flex;
    flex-flow: column;
    width: 100%;
    background-color: #E3E3E3;
    text-align: center;
    /*padding: 0 55px;*/
    box-sizing: border-box
}

.LabelIntestazioneMenuCategorie, .LabelProgettazione {
    padding: 12px 0 12px 12px;
    font-weight: 300
}

.MenuCategorieWrapper a > span {
    max-width: 141px;
    display: block;
    margin: 0 auto
}

.MenuCategorieWrapper a.Selezionato, .MenuCategorieWrapper a:hover {
    background-color: var(--marrone)
}

.MenuCategorieWrapper a:nth-child(8n-1) {
    border-right: solid 1px #8C857D
}

    .MenuCategorieWrapper a:nth-child(8n-1):hover {
        border-right: solid 1px var(--marrone);
    }

.CB_MenuCategorie {
    display: none
}

.LabelIntestazioneMenuCategorie {
    background-color: #989189;
    color: #fff;
    width: calc(((100% - 110px)/ 7) * 2);
    font-size: 17px;
    /*margin-left: 55px;*/
    display: inline-block;
    background-image: none
}

.AziendaLeft {
    text-align: justify;
    margin-bottom: 55px;
    font-size: 16px
}

.AziendaRight {
    float: right;
    width: 45%;
    margin-bottom: 55px;
    margin-left: 55px
}

.AziendaLabelPresentazione {
    display: block;
    color: #000;
    font-weight: 300;
    font-size: 40px;
    text-align: left
}

.AziendaArcosolImg {
    width: 100%;
    display: block;
    margin-bottom: .8%
}

.AutomezziArcosolImg {
    width: 49%;
    margin-bottom: .8%;
    display: block;
    float: left
}

.AziendaArcosolImg2 {
    width: 50%;
    display: block;
    float: right
}

.MenuWrapper {
    width: 25%;
    float: left
}

.MenuProgettazione {
    background-color: #E3E3E3;
    margin-bottom: 15px
}

    .MenuProgettazione input[type=checkbox] {
        display: none
    }

.LabelProgettazione {
    color: #fff;
    background-color: #989189;
    display: block;
    width: 100%;
    font-size: 17px
}

.LinkMenuProgettazione {
    color: #000;
    display: block;
    font-size: 15px;
    padding: 7px;
    box-sizing: border-box
}

    .LinkMenuProgettazione:hover {
        background-color: var(--marrone);
    }

.LinkMenuProgettazioneSelezionato {
    background-color: var(--marrone);
    color: #fff
}

.PanelProgettazioneWrapper {
    width: 75%;
    float: left;
    padding-left: 55px;
    box-sizing: border-box;
    text-align: justify;
    margin-bottom: 50px
}

.ProgettazioneLabelInterna {
    display: block;
    color: #000;
    font-weight: 300;
    text-align: left;
    margin-bottom: 10px;
    font-size: 40px
}

.MenuMarchiWrapper {
    width: 300px;
    display: flex;
    flex-direction: column;
    margin: 30px 0;
}

.PanelWrapper{
    margin: 30px 0;
}

.PanelNewsWrapper{
    margin: 30px 0;
}

.PanelMarchiWrapper {
    flex: 1;
    padding-left: 40px;
    text-align: left;
    margin: 30px 0;
}

.MenuMarchi {
    background-color: #F5F5F5;
    border-radius: 16px;
    overflow: hidden;
    position: sticky;
    top: 80px;
    border: 1px solid #E0E0E0;
    /*margin: 40px 0;*/
}

.LabelMarchi {
    color: var(--nero);
    background-color: #EAEAEA;
    display: block;
    width: 100%;
    padding: 16px 18px;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.3px;
    border-bottom: 1px solid #E0E0E0;
}

.CB_MenuMarchi {
    display: none;
}

.LinkMenuMarchi {
    color: #333;
    display: block;
    font-size: 14.5px;
    padding: 11px 16px;
    text-decoration: none;
    border-left: 3px solid transparent;
    transition: all 0.25s ease;
}

    .LinkMenuMarchi:hover {
        background-color: #FFFFFF;
        color: #000;
        border-left: 3px solid #989189;
        padding-left: 18px;
    }

.LinkMenuMarchiSelezionato {
    background-color: #FFFFFF;
    color: #000;
    border-left: 3px solid var(--marrone);
    font-weight: 500;
}

.MenuMarchi div a + a {
    border-top: 1px solid #ECECEC;
}

.PanelMarchiWrapper h2, .PanelMarchiWrapper h3, .PanelMarchiWrapper p {
    margin: 0;
}

.PanelMarchiWrapper > h1 {
    font-family: Poppins, sans-serif;
    font-weight: 400;
    font-size: clamp(1.8rem, 4vw, 3rem);
    line-height: clamp(2.2rem, 4.5vw, 3.5rem);
    letter-spacing: clamp(-1px, -0.15vw, -2.5px);
    color: #000;
    text-align: center;
    margin-bottom: 30px;
}

.PanelMarchiWrapper p {
    font: normal normal 400 1rem / 1.621rem Open Sans;
    letter-spacing: 0px;
    color: #000000;
    margin: 14px 0;
}

ul, ol {
    font: normal normal 400 0.9rem / 1.621rem Open Sans;
    letter-spacing: 0px;
    color: var(--nero);
    margin: 14px 0;
    padding-inline-start: 25px;
}

.TempotestLogo {
    display: block;
    max-width: 200px;
    height: auto;
    margin-bottom: 15px;
}

.ParaLogo {
    display: block;
    max-width: 140px;
    margin-bottom: 15px;
}

.ParaImmagineSinistra,
.ImmagineGiovanardi,
.LogoCorti {
    display: block;
    max-width: 180px;
    width: 100%;
    height: auto;
    margin-bottom: 10px;
}

.ParaImmagineSinistra {
    margin-right: 15px;
}

iframe {
    width: 100%;
    height: 500px;
    border-radius: 12px;
    border: none;
}

.TabellaUV,
.tabella-protezione {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    margin: 14px 0;
    background: #fff;
    border: 1px solid #dbe8d2;
    border-radius: 12px;
    overflow: hidden;
    font-size: 13px;
    color: #1a3a0d;
}

.tabella-protezione {
    max-width: 400px;
}

    .TabellaUV thead,
    .tabella-protezione thead {
        background-color: #43B04A;
    }

        .TabellaUV thead th,
        .TabellaUV thead td,
        .tabella-protezione thead th,
        .tabella-protezione thead td {
            font-size: 12px;
            color: #fff;
            font-weight: 500;
            text-align: center;
            padding: 12px 10px;
            line-height: 1.4;
            letter-spacing: 0.02em;
            text-transform: uppercase;
            border-right: 1px solid rgba(255,255,255,0.18);
        }

            .TabellaUV thead th:last-child,
            .TabellaUV thead td:last-child,
            .tabella-protezione thead th:last-child,
            .tabella-protezione thead td:last-child {
                border-right: none;
            }

    .TabellaUV tbody tr:nth-child(odd),
    .tabella-protezione tbody tr:nth-child(odd) {
        background-color: #f8fbf5;
    }

    .TabellaUV tbody tr:nth-child(even),
    .tabella-protezione tbody tr:nth-child(even) {
        background-color: #eef6e8;
    }

    .TabellaUV tbody td,
    .tabella-protezione tbody td {
        font-size: 13px;
        color: #1a3a0d;
        text-align: center;
        padding: 12px 10px;
        line-height: 1.45;
        vertical-align: middle;
        border-right: 1px solid #dbe8d2;
        border-bottom: 1px solid #dbe8d2;
    }

        .TabellaUV tbody td:last-child,
        .tabella-protezione tbody td:last-child {
            border-right: none;
        }

    .TabellaUV tbody tr:last-child td,
    .tabella-protezione tbody tr:last-child td {
        border-bottom: none;
    }

    .tabella-protezione tfoot td,
    .TabellaUV tfoot td {
        font-size: 11px;
        color: #5f6f57;
        text-align: center;
        padding: 9px 10px;
        background: #f5f8f2;
        border-top: 1px solid #dbe8d2;
    }

    .tabella-protezione td.img {
        width: 60px;
    }

        .tabella-protezione td.img img {
            width: 40px;
            height: auto;
            display: block;
            margin: 0 auto;
        }

.badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 500;
    white-space: nowrap;
}

.b-red {
    background: #f3d4ca;
    color: #7a2a10;
}

.b-amber {
    background: #f4dfba;
    color: #7a4a00;
}

.b-yellow {
    background: #ece7b8;
    color: #615700;
}

.b-green {
    background: #cfe4bf;
    color: #2f5e1d;
}

.b-teal {
    background: #c7e2d7;
    color: #1f5a4a;
}

.badge-sub {
    font-size: 11px;
    color: #5f7c53;
    margin-top: 4px;
    display: block;
}

.time-num {
    font-size: 20px;
    font-weight: 600;
    color: #2a7a30;
    display: block;
    line-height: 1.2;
}

.time-unit {
    font-size: 11px;
    color: #5f7c53;
}

.upf-cell {
    border-left: 3px solid #43B04A !important;
}

.upf-formula {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.formula-box {
    background: #43B04A;
    color: #fff;
    border-radius: 6px;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 500;
}

.formula-eq {
    font-size: 16px;
    font-weight: 500;
    color: #2a7a30;
}

.upf-text {
    font-size: 12px;
    color: #235010;
    line-height: 1.5;
    text-align: center;
}

table.EfficienzaProtezione {
    width: 100%;
    min-width: 300px;
    border-collapse: collapse;
    table-layout: fixed;
    margin: 14px 0;
    background: #fff;
    border: 1px solid #dbe8d2;
    border-radius: 12px;
    overflow: hidden;
    font-size: 13px;
    color: #1a3a0d;
}

table.EfficienzaProtezione.nomarginbottom {
    margin-bottom: 0;
}

    /* HEADER */
    table.EfficienzaProtezione thead {
        background-color: #43B04A;
    }

        table.EfficienzaProtezione thead th,
        table.EfficienzaProtezione thead td {
            font-size: 12px;
            color: #fff;
            font-weight: 500;
            text-align: center;
            padding: 12px 10px;
            line-height: 1.4;
            letter-spacing: 0.02em;
            text-transform: uppercase;
            border-right: 1px solid rgba(255,255,255,0.18);
        }

            table.EfficienzaProtezione thead th:last-child,
            table.EfficienzaProtezione thead td:last-child {
                border-right: none;
            }

    /* RIGHE */
    table.EfficienzaProtezione tbody tr:nth-child(odd) {
        background-color: #f8fbf5;
    }

    table.EfficienzaProtezione tbody tr:nth-child(even) {
        background-color: #eef6e8;
    }

    /* CELLE */
    table.EfficienzaProtezione tbody td {
        font-size: 13px;
        color: #1a3a0d;
        text-align: center;
        padding: 12px 10px;
        line-height: 1.45;
        vertical-align: middle;
        border-right: 1px solid #dbe8d2;
        border-bottom: 1px solid #dbe8d2;
    }

        table.EfficienzaProtezione tbody td:last-child {
            border-right: none;
        }

    table.EfficienzaProtezione tbody tr:last-child td {
        border-bottom: none;
    }

    /* (opzionale) FOOTER se lo userai */
    table.EfficienzaProtezione tfoot td {
        font-size: 11px;
        color: #5f6f57;
        text-align: center;
        padding: 9px 10px;
        background: #f5f8f2;
        border-top: 1px solid #dbe8d2;
    }

.ImamgineSoltis {
    float: left;
    display: block;
    margin-right: 4px;
    margin-bottom: 4px;
    width: 300px
}

.ImmagineAutomatismiSomfy, .ImmagineCorradi {
    float: left;
    display: block;
    margin-right: 10px;
    margin-bottom: 10px
}

.PaginaElencoWrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px;
}

.ElencoItem {
    flex-basis: calc(100% / 3 - 27px);
}

    .ElencoItem a {
        display: block;
        flex-basis: calc(100% / 3 - 22px);
        text-decoration: none;
        color: inherit;
    }

    .ElencoItem .immagineprodottowrapper {
        width: 100%;
        aspect-ratio: 16 / 10;
        overflow: hidden;
    }

        .ElencoItem .immagineprodottowrapper > img {
            width: 100%;
            height: 100%;
            border-radius: 25px;
            object-fit: cover;
            transition: transform 0.5s ease, filter 0.5s ease;
        }
    /*.ElencoItem .immagineprodottowrapper > img::after {
                content: "";
                position: absolute;
                inset: 0;
                background: linear-gradient(to top, rgba(0, 0, 0, 0.35), transparent 60%);
                opacity: 0;
                transition: opacity 0.3s ease;
            }*/


    .ElencoItem .titoloProdotto {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding-top: 25px;
    }

        .ElencoItem .titoloProdotto > div:first-child {
            flex: 1;
        }

        /*
        .ElencoItem .titoloProdotto h2 {
            font-family: Poppins, sans-serif;
            font-weight: 500;
            font-size: 1.1rem;
            line-height: 100%;
            color: var(--nero);
        }*/

        .ElencoItem .titoloProdotto h2 {
            font-family: Poppins, sans-serif;
            font-weight: 500;
            font-size: 1.1rem;
            line-height: 100%;
            color: var(--nero);
        }

        .ElencoItem .titoloProdotto h3 {
            font-family: Poppins, sans-serif;
            font-weight: 400;
            font-size: 1.1rem;
            line-height: 100%;
            margin-bottom: 10px;
            color: #222;
        }

    .ElencoItem p.descrizioneProdotto {
        font: normal normal 400 14px / 20px Open Sans;
        letter-spacing: 0px;
        color: rgb(157, 147, 150);
        margin: 0px;
    }

    .ElencoItem a:hover .material-icons-outlined.circle {
        transform: translateX(4px);
        border-color: #000;
    }

.NomeCategoriaWrapper {
    text-align: center;
    position: relative;
    margin: 30px 0 15px
}

.NomeCategoriaWrapperNews {
    text-align: center;
    position: relative;
    margin: 15px 0 20px
}

.LabelNomeCategoria {
    font-size: 40px;
    font-weight: 300
}

img.immagineprodotto {
    display: block;
    margin: 0 auto
}

.LinkNews, .LinkNewsPubblicaHome {
    color: #000;
    text-decoration: none
}

a.Link1 img.ElencoZoom {
    display: none;
    position: absolute;
    margin: 18% 47% 0
}

a.Link1:hover {
    background-color: rgba(22,22,22,.8)
}

a.Link1 > span {
    font-weight: 300
}

a.Link1:hover span {
    display: table-cell;
    font-size: 27px
}

a.Link1:hover img.ElencoZoom {
    display: block
}

.immaginemodello {
    width: 100%;
    height: 79px;
    background-color: #cFCFCF
}

.PosizioneSuPaginaElenco {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    overflow: hidden
}
.NewsWrapper.news-section {
    padding: 100px 0;
}

.news-featured-list {
    display: flex;
    flex-direction: column;
    gap: 32px;
    margin-bottom: 70px;
}

.news-featured-card {
    display: flex;
    align-items: stretch;
    gap: 0;
    background: #fff;
    /*border-radius: 28px;*/
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    padding-bottom: 25px;
    border-bottom: 1px solid #d5e0eb;
    /*box-shadow: 0 14px 35px rgba(0, 0, 0, 0.08);*/
    transition: transform 0.3s ease;
}

    .news-featured-card:hover {
        transform: translateY(-6px);
        /*box-shadow: 0 22px 50px rgba(0, 0, 0, 0.12);*/
    }

.news-featured-image {
    flex: 0 0 35%;
    min-height: 340px;
    overflow: hidden;
}

.news-featured-img {
    width: 100%;
    height: 100%;
    max-height: 40vh;
    display: block;
    object-fit: contain;
    border: none;
    border-radius: 25px;
    transition: transform 0.6s ease;
}

.news-featured-card:hover .news-featured-img {
    /*transform: scale(1.05);*/
}

.news-featured-content {
    flex: 1;
    padding: 38px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.news-featured-title {
    margin: 0 0 18px;
    font-family: Poppins, sans-serif;
    font-weight: 400;
    font-size: clamp(1.8rem, 3vw, 2.8rem);
    line-height: 1.15;
    letter-spacing: clamp(-0.8px, -0.08vw, -1.5px);
    color: var(--nero);
}

.news-featured-description {
    font: normal normal 400 1rem / 1.75rem Open Sans;
    color: var(--grigio);
    margin-bottom: 28px;
}

    .news-featured-description br {
        display: block;
        content: "";
        margin-bottom: 8px;
    }

.news-featured-cta {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-family: Open Sans, sans-serif;
    font-weight: 600;
    color: var(--blu);
    margin-top: auto;
}

    .news-featured-cta .circle {
        width: 42px;
        height: 42px;
        font-size: 20px;
        border: 1px solid currentColor;
        border-radius: 50%;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        transition: transform 0.25s ease, background-color 0.25s ease;
    }

.news-featured-card:hover .news-featured-cta .circle {
    transform: translateX(4px);
    background-color: rgba(30, 111, 184, 0.06);
}

.news-archive-header {
    margin-bottom: 30px;
    padding-top: 10px;
    border-top: 1px solid rgba(0,0,0,0.08);
}

.NewsMenoRecentiH2 {
    font-family: Poppins, sans-serif;
    font-weight: 400;
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    line-height: 1.2;
    letter-spacing: clamp(-0.8px, -0.08vw, -1.4px);
    color: var(--nero);
    margin: 0;
}

.news-archive-list {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
}

.news-archive-card {
    flex: 1 1 calc(33.333% - 22px);
    min-width: 280px;
    background: #fff;
    border-radius: 24px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.07);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

    .news-archive-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 18px 42px rgba(0, 0, 0, 0.11);
    }

.news-archive-image {
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

.news-archive-img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border: none;
    transition: transform 0.6s ease;
}

.news-archive-card:hover .news-archive-img {
    transform: scale(1.06);
}

.news-archive-content {
    padding: 24px 24px 26px;
}

.news-archive-title {
    margin: 0 0 12px;
    font-family: Poppins, sans-serif;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 1.3;
    color: var(--nero);
}

.news-archive-description {
    font: normal normal 400 0.95rem / 1.65rem Open Sans;
    color: var(--grigio);
}

    .news-archive-description br {
        display: block;
        content: "";
        margin-bottom: 8px;
    }

.HRElencoNews,
.HRElencoNewsPubblicaHome,
.SeparaNewsNuoveDaVecchie {
    display: none;
}

.ImmagineNewsItem, .ImmagineNewsItemPubblicaHome {
    height: auto;
    float: left;
    margin-right: 30px;
    border: 1px dotted silver;
    display: block
}

.LabelTitoloNewsPubblicaHome {
    text-align: left;
    display: block;
    font-weight: 300;
    font-size: 30px
}

.LabelTitoloNews {
    text-align: left;
    display: block;
    font-weight: 400
}

.NewsDescription, .NewsDescriptionPubblicaHome {
    font-size: 14.5px;
    text-transform: capitalize;
    font-weight: 300;
    text-align: justify;
    box-sizing: border-box
}

.ImmagineNewsItem {
    max-width: 180px;
    width: 30%;
    max-height: 150px;
    margin-bottom: 10px
}

.ImmagineNewsItemPubblicaHome {
    width: 283px;
    margin-left: 30px
}

.NewsDescription {
    padding: 10px 0
}

.NewsDescriptionPubblicaHome {
    padding: 10px
}

.HRGenerico {
    border-top: solid 1px #7e786c80;
    margin: 20px auto 20px;
}

.HRElencoNews {
    width: 100%;
    margin: 30px 0
}

.HRElencoNewsPubblicaHome {
    width: 100%;
    margin: 0
}

div.PaginaDettaglio {
    float: right;
    width: 49%;
    vertical-align: top;
    margin-top: 20px;
    line-height: 20px;
    font-size: 15px
}

    div.PaginaDettaglio > div.DivConSfondo {
        background-color: #E3E3E3;
        padding: 37px;
        box-sizing: border-box
    }

div.ImmaginePrincipale {
    float: left;
    position: relative;
    width: 49%;
    margin-top: 20px;
    margin-left: -2px;
    margin-right: -2px
}

    div.ImmaginePrincipale img {
        display: block;
        width: 100%;
        margin: 0 auto
    }

.container {
    padding: 0 50px;
}

.containerDett  {
    padding: 0 100px;
}

.referenzeGrid {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    width: 100%;
}

.titoloImmagineReferenze {
    font-family: "Open Sans", sans-serif;
    font-size: 1rem;
    font-weight: 400;
    margin-bottom: 20px;
}

.immagineReferenze {
    overflow: hidden;
    border-radius: 25px;
    height: 100%;
}

    .immagineReferenze img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 25px;
    }

/* Base comune */
.contenitoreFlex0, .contenitoreFlex1, .contenitoreFlex2, .contenitoreFlex3, .contenitoreFlex4 {
    display: flex;
    flex-direction: column;
    height: 680px;
    /*margin-bottom: 40px;*/
    box-sizing: border-box;
    min-width: 0;
}

.blocco0, .blocco1, .blocco2, .blocco3, .blocco4 {
    display: flex;
    flex-direction: column;
    /*height: 100%;*/
    overflow: hidden;
}

.contenitoreFlex1,
.contenitoreFlex4,
.contenitoreFlex0 {
    width: 40%;
    flex: 0 0 40%;
}

.blocco1,
.blocco4,
.blocco0 {
    /*height: 400px;*/
    max-height: 500px;
    margin-top: auto;
}


.contenitoreFlex1,
.contenitoreFlex3 {
    flex-grow: 1;
}


.IntestazioneDettagliLabel {
    display: block;
    color: grey;
    font-size: 18px
}

.sottocategoriadettaglio2 {
    font-weight: 500;
    padding-top: 0;
    font-size: 24px;
    line-height: 30px;
    font-family: Roboto,sans-serif;
    letter-spacing: 3px
}

.testodettaglio {
    text-align: justify;
    font-weight: 300;
    font-size: 16px
}

div.ImmaginiAllegateWrapper {
    margin: 0;
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
}

    div.ImmaginiAllegateWrapper div.ImageItem {
        width: 100%;
        /*  aspect-ratio: 1 / 1;
        position: relative;*/
        overflow: hidden;
        border-radius: 14px;
        /*background-color: #eaeaea;*/
    }

        div.ImmaginiAllegateWrapper div.ImageItem > div {
            width: 100%;
            height: 100%;
            /* position: relative;
            top: auto;
            left: auto;*/
            overflow: hidden;
        }

            div.ImmaginiAllegateWrapper div.ImageItem > div > a {
                display: block;
                width: 100%;
                height: 100%;
                /*position: relative;
                top: auto;
                left: auto;*/
                overflow: hidden;
                border-radius: 14px;
            }

                div.ImmaginiAllegateWrapper div.ImageItem > div > a > img {
                    width: 100%;
                    height: 100%;
                    aspect-ratio: 4 / 3;
                    object-fit: cover;
                    display: block;
                    transition: transform 0.6s ease;
                }

                div.ImmaginiAllegateWrapper div.ImageItem > div > a:hover > img {
                    transform: scale(1.05);
                }

div.DettaglioInternoAllegati img.FileIco {
    width: 30px
}

div.DettaglioInternoAllegati a {
    display: block;
    color: #C50E2D;
    text-decoration: none
}

.LabelNomeProdotto {
    font-size: 40px;
    font-weight: 300
}

.ImmaginePrincipaleNews {
    float: left;
    width: 28%;
    margin: 0 2% 15px 0
}

    .ImmaginePrincipaleNews img {
        width: 100%;
        display: block;
        margin: 0 auto
    }

.PaginaDettaglioNews {
    float: left;
    width: 69%
}



div.TrattamentoDatiPersonaliWrapper {
    color: #000;
    font-size: 15px
}

div.HomeNovita {
    position: relative;
    height: 400px
}

div.SnippetBreadCrumbs {
    width: 100%;
    margin: 50px 0px;
    text-align: center;
}

    div.SnippetBreadCrumbs ol {
        list-style: none;
        margin: 0;
        padding: 0;
        display: inline-block
    }

        div.SnippetBreadCrumbs ol li {
            display: inline-block
        }

    div.SnippetBreadCrumbs a {
        text-decoration: none;
        color: var(--nero);
        font-size: 14px;
    }

div.ErroreWrapper {
    text-align: center;
    width: 86%;
    height: 450px;
    margin: 0 auto;
    box-sizing: border-box;
    padding-top: 200px
}

.GalleriaDestra, .GalleriaSinistra {
    background-color: #F1F1F1;
    padding: 12px 10px 8px;
    color: silver;
    width: 20px;
    height: 20px;
    text-align: center;
    display: block;
    cursor: pointer;
    border-radius: 90px
}

.TabellaUltimiProgettiIcone {
    position: relative;
    margin: 0 auto
}

.GalleriaSinistra {
    margin-right: 20px
}

.GalleriaDestra {
    margin-left: 20px
}

div.FeedbackSinistro {
    width: 59%;
    float: left
}

div.FeedbackDestro {
    width: 39%;
    float: left
}

.FeedbackImmagineProdotto {
    width: 270px
}

div.FeedbackWrapper {
    margin: 0 2%;
    font-size: 14px
}

input[type=text].Voto {
    display: none
}

div.FeedbackItemsWrapper {
    cursor: pointer;
    display: inline-block;
    box-sizing: border-box;
    padding: 7px
}

div.FeedbackItems {
    border-radius: 90px;
    width: 9px;
    height: 9px;
    background-color: #CFCFCF;
    border: 1px solid silver;
    margin: 3.5px;
    display: inline-block
}

textarea.TB_CommentoFeedback {
    display: block;
    position: relative;
    width: 100%;
    height: 120px;
    resize: none
}

input[type=submit].BottoneInviaFeedback {
    display: block;
    margin: 0 auto;
    border: 1px solid gray;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    font-family: Arial;
    background-color: #348cbb;
    padding: 9px
}

span.LabelLogFeedback {
    display: block;
    margin: 0 auto;
    padding: 9px;
    box-sizing: border-box
}

div.RecensioniSuPaginaDettaglioWrapper {
    width: 100%;
    padding: 0 55px;
    box-sizing: border-box
}

div.RecensioniVotiWrapper {
    width: 25%;
    float: left;
    padding-top: 20px
}

div.RecensioneVotoItem {
    padding: 6px 6px 6px 0;
    box-sizing: border-box;
    border-bottom: solid 1px silver
}

div.RecensioneTitolo {
    float: left;
    font-style: italic;
    font-size: 10px
}

div.RecensioneVoto {
    float: right;
    margin-right: 10px
}

div.RecensioniTestoDestra {
    float: right;
    width: 75%
}

    div.RecensioniTestoDestra h3 {
        margin-bottom: 5px;
        margin-top: 0;
        display: inline-block
    }

    div.RecensioniTestoDestra div.GiudizioComplessivo {
        float: right;
        width: 85px
    }

        div.RecensioniTestoDestra div.GiudizioComplessivo img {
            width: 16px
        }

div.RecensioniComuneCommento {
    border-left: solid 1px #ffb800;
    border-top: solid 1px #ffb800;
    height: 145px;
    padding-top: 19px;
    padding-left: 19px;
    box-sizing: border-box
}

div.RecensioneCommento {
    background-color: #E5E5E5;
    width: 100%;
    height: 89px;
    padding: 8px;
    box-sizing: border-box;
    color: #000;
    font-style: italic;
    font-size: 11px
}

span.SpanComuneOra {
    font-size: 11px
}

div.FeedbackSeparator {
    border-bottom: solid 1px #CCC;
    margin-top: 30px;
    margin-bottom: 30px
}

@media screen and (min-width:0px) and (max-width:1830px)
{

    .blocco1, .blocco4, .blocco0 {
        margin-top: 0;
    }

    .contenitoreFlex0, .contenitoreFlex1, .contenitoreFlex2, .contenitoreFlex3, .contenitoreFlex4 {
        max-height: 500px;
        width: 100%;
    }

    .contenitoreFlex1, .contenitoreFlex4, .contenitoreFlex0 {
        width: 100%;
        flex: 1;
    }

}

/* ----------------------------------------------------------
   ≤ 1444px  –  menu hamburger e layout generale
   ---------------------------------------------------------- */
@media screen and (max-width: 1444px) {

    .containerIntElencoImmagine {
        height: 50vh;
    }

    .containerIntElenco {
        width: 100%;
    }

        .containerIntElenco.dx {
            padding: 0px;
        }

    .containerDett {
        padding: 0;
    }

    .menuacomparsa {
        display: flex;
        position: absolute;
        right: 20px;
    }

    .container2 {
        width: 100%;
        position: relative;
        margin: auto;
        text-align: center;
    }

    .immaginemodello {
        height: 61px;
    }

    .spazioInternoStatico {
        height: 110px;
    }

    img.venticinqueanniAssieme {
        width: 30px;
        padding-top: 3px;
    }

    .MenuPrincipale {
        display: block;
        position: absolute;
        margin-top: 10px;
        top: 0;
        right: 10px;
        float: none;
        background-color: var(--marrone);
        padding: 10px;
        box-sizing: border-box;
        color: #fff;
        width: 44px;
        height: 44px;
        font-size: 13px;
        z-index: 10;
    }

    .LabelMenuPrincipale {
        display: flex;
        right: 11px;
        font-size: 20px;
    }

    /* tenda — chiusa */
    .menu > input + div {
        position: fixed;
        width: 100%;
        height: calc(100% - 80px);
        background-color: var(--grigio-light);
        display: flex;
        flex-flow: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 0;
        top: 80px;
        left: 0;
        z-index: 2000;
        overflow-y: auto;
        clip-path: inset(0 0 100% 0);
        pointer-events: none;
        transition: clip-path 520ms cubic-bezier(0.22, 1, 0.36, 1), pointer-events 0ms 520ms;
    }

    /* tenda — aperta */
    .menu > input:checked + div {
        clip-path: inset(0 0 0% 0);
        pointer-events: auto;
        transition: clip-path 520ms cubic-bezier(0.22, 1, 0.36, 1), pointer-events 0ms 0ms;
    }

    .menu > div > a:hover::before,
    .menu > div > a.MenuSelezionato::before,
    .menu > div > .menu-item-dropdown:hover > a::before,
    .menu > div > .menu-item-dropdown > a.MenuSelezionato::before {
        transform: scaleX(0);
    }

    .menu a {
        display: flex;
        align-items: center;
        width: 100%;
        text-align: left;
        justify-content: start;
        padding: 18px 20px;
        margin: 0;
        background-color: transparent;
        border-bottom: 1px solid rgba(0, 0, 0, 0.07);
        color: var(--nero);
        font-family: "Open Sans", sans-serif;
        font-size: 1rem;
        font-weight: 600;
        line-height: 1.4;
        text-transform: uppercase;
        letter-spacing: 0.2px;
        min-height: 56px;
        box-sizing: border-box;
        transition: background-color 0.2s ease, color 0.2s ease;
    }

        .menu a:hover {
            background-color: rgba(0, 0, 0, 0.04);
            color: var(--marrone);
        }

        .menu a.MenuSelezionato {
            color: var(--marrone);
            background-color: rgba(0, 0, 0, 0.04);
            border-left: 3px solid var(--marrone);
        }

    .menu-item-dropdown {
        width: 100%;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
    }

    .menu-dropdown-toggle::after {
        display: none;
    }

    .menu-dropdown-panel {
        position: relative;
        top: auto;
        left: auto;
        opacity: 1;
        visibility: visible;
        transform: none;
        transition: none;
        width: 100%;
        background-color: rgba(0, 0, 0, 0.03);
        border: none;
        border-radius: 0;
        box-shadow: none;
        backdrop-filter: none;
        padding: 4px 0;
        display: flex;
        flex-direction: column;
        gap: 0;
        align-items: flex-start;
    }

        .menu-dropdown-panel a {
            width: 100%;
            padding: 14px 30px;
            font-size: 0.9rem;
            font-weight: 500;
            text-transform: none;
            letter-spacing: 0.1px;
            line-height: 1.4;
            color: var(--grigio);
            border-bottom: 1px solid rgba(0, 0, 0, 0.05);
            border-left: 3px solid transparent;
            border-radius: 0;
            min-height: 48px;
            background-color: transparent;
            transition: background-color 0.2s ease, border-left-color 0.2s ease;
        }

            .menu-dropdown-panel a:hover,
            .menu-dropdown-panel a.MenuSelezionato {
                background-color: rgba(0, 0, 0, 0.05);
                border-left-color: var(--marrone);
                transform: none;
            }
}

/* ----------------------------------------------------------
   ≤ 1340px  –  flex container, elenchi, news, home
   ---------------------------------------------------------- */
@media screen and (max-width: 1340px) {

    .contenitoreFlex1, .contenitoreFlex2, .contenitoreFlex3,
    .contenitoreFlex4, .contenitoreFlex0 {
        width: 100%;
        height: 400px;
        float: none;
        padding: 0;
        flex: none;
    }

    .PanelMarchiWrapper {
        padding-left: 0px;
    }

    .tabella {
        gap: 30px;
    }

    .containerIntDettaglio {
        width: 100%;
    }

        .containerIntDettaglio.dx {
            padding: 0px;
        }

    .ElencoItem {
        flex-basis: calc(100% / 2 - 20px);
    }

    .containerIntDescElenco > .tabella > div {
        flex: 1 1 100%;
    }

    .contenitoreNews {
        padding: 20px 0px;
        margin: auto;
    }

    .blocco0 img {
        margin: 0;
    }

    .BottoneDettaglioNewsPubblicaHome,
    .HomeSeparator {
        display: none;
    }

    .HomeLeft, .HomeRight, .HomeRightInverso {
        padding: 8px;
        min-height: inherit;
        width: 100%;
        float: none;
    }

    .HomeContentWrapper {
        display: block;
        border-bottom: none;
        height: auto;
        max-height: none;
    }

    .HomeLeft {
        display: block;
        border: none;
        border-top: solid 15px #fff;
        border-bottom: solid 15px #fff;
    }

    .HomeRight {
        display: block;
        border: none;
        border-top: solid 15px #fff;
    }

    .HomeRightInverso {
        display: block;
        border: none;
        border-top: solid 15px #fff;
        position: relative;
    }

    .ContainerPlaceHomeLink {
        min-height: inherit;
        border-top: solid 15px #fff;
        border-bottom: solid 15px #fff;
    }

    .ContainerPlaceHomeConBordoBianco {
        height: 55vw;
    }

    .DetrazioniFiscaliHome {
        width: 100%;
        height: auto;
    }

    .DetrazioniFiscaliHomeTesto {
        height: auto;
        padding-bottom: 0;
    }

    .ContainerPlaceHomeLink a h1 {
        font-size: 25px;
        width: 100%;
    }

    .HomeLeftTesto, .HomeRightTesto, .HomeTestoWrapper {
        height: auto;
    }

    .LabelIntestazioneMenuCategorie {
        display: block;
        margin: 0 auto;
        width: 95%;
        padding: 10px;
        background-image: url(/design/menu-ad-espansione.png);
        background-repeat: no-repeat;
        background-position: 98% 50%;
        text-align: center;
    }

    .MenuCategorieWrapper {
        width: 95%;
        margin: 0 auto;
        padding: 0;
        overflow-y: hidden;
        background-color: rgba(126, 120, 108, 0.8);
    }

    .CB_MenuCategorie + .MenuCategorieWrapper {
        height: auto;
        max-height: 0;
        transition: max-height 0.9s;
    }

    .CB_MenuCategorie:checked + .MenuCategorieWrapper {
        max-height: 1000px;
    }

    .MenuCategorieWrapper a {
        width: 100%;
        float: none;
        background-color: transparent;
        color: #fff;
        text-align: left;
        padding: 7px;
        box-sizing: border-box;
        border: none;
        height: auto;
    }

        .MenuCategorieWrapper a > span {
            width: 100%;
            max-width: 100%;
            text-align: center;
        }

        .MenuCategorieWrapper a:nth-child(8n-1),
        .MenuCategorieWrapper a:nth-child(8n-1):hover {
            border: none;
        }

        .MenuCategorieWrapper a.Selezionato {
            background-color: var(--marrone);
            color: #fff;
        }

    div.RecensioniSuPaginaDettaglioWrapper {
        width: 100%;
        padding: 0 2.5%;
        box-sizing: border-box;
    }

    div.RecensioniVotiWrapper {
        float: none;
        width: 100%;
    }

    div.RecensioneVotoItem {
        padding: 6px 6px 6px 0;
        box-sizing: border-box;
        border-bottom: solid 1px silver;
    }

    div.RecensioniTestoDestra {
        float: none;
        width: 100%;
    }

        div.RecensioniTestoDestra h3 {
            margin-bottom: 5px;
        }

        div.RecensioniTestoDestra div.GiudizioComplessivo {
            width: 98%;
            margin: 6px 0;
        }

            div.RecensioniTestoDestra div.GiudizioComplessivo img {
                width: 16px;
            }

    span.SpanComuneOra {
        font-size: 11px;
    }

    div.RecensioneCommento {
        background-color: #e5e5e5;
        width: 100%;
        height: 78.5px;
        padding: 8px;
        box-sizing: border-box;
        color: #000;
        font-style: italic;
        font-size: 11px;
    }

    .ElencoItem {
        max-width: 400px;
    }

    a.Link1 span {
        background-color: rgba(70, 70, 70, 0.7);
        padding: 10px;
        box-sizing: border-box;
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
    }

    a.Link1:hover span {
        display: none;
    }

    .containerBreadCrumbs {
        padding-right: 2.5%;
        min-height: 25px;
    }
}

/* ----------------------------------------------------------
   768px – 1050px  –  tablet orizzontale
   ---------------------------------------------------------- */
@media screen and (min-width: 768px) and (max-width: 1050px) {

    .blocchiuniformi .blocco {
        flex-basis: 100%;
    }

    .contenitoreNews > div,
    .contenitoreNews.elenco > div {
        flex-basis: calc(100% / 2 - 20px);
    }

    .ElencoItem {
        flex-basis: 100%;
    }

    .videoWrapper {
        flex-basis: 100%;
    }

    .sectionVideo {
        margin-top: 50px;
        gap: 15px;
    }

    /* Tabella UV */
    .TabellaUV {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        border: none;
        background: transparent;
        display: block;
    }

        .TabellaUV thead,
        .TabellaUV tfoot {
            display: block;
        }

            .TabellaUV thead tr,
            .TabellaUV tbody,
            .TabellaUV tbody tr,
            .TabellaUV tfoot tr {
                display: block;
                width: 100%;
            }

        .TabellaUV thead {
            display: none;
        }

        .TabellaUV tbody tr {
            background: #fff;
            border: 1px solid #dbe8d2;
            border-radius: 12px;
            margin-bottom: 5px;
            overflow: hidden;
            padding: 6px 0;
        }

        .TabellaUV tbody td {
            display: block;
            width: 100%;
            border: none;
            border-bottom: 1px solid #e7efe1;
            text-align: center;
            padding: 10px 14px;
            box-sizing: border-box;
        }

        .TabellaUV tbody tr td:last-child {
            border-bottom: none;
        }

        .TabellaUV tfoot td {
            display: block;
            width: 100%;
            box-sizing: border-box;
            margin-top: 8px;
            border: 1px solid #dbe8d2;
            border-radius: 12px;
            background: #f5f8f2;
            padding: 10px 12px;
            text-align: center;
        }

    .upf-formula {
        flex-direction: column;
        gap: 6px;
    }

    .formula-box,
    .formula-eq {
        display: inline-block;
    }

    .time-num {
        font-size: 18px;
    }

    .badge {
        white-space: normal;
    }

    .menu-item-dropdown {
        width: 100%;
        justify-content: center;
        flex-direction: column;
    }
}


/* ----------------------------------------------------------
   768px – 950px  –  tablet verticale / news layout
   ---------------------------------------------------------- */
@media screen and (min-width: 768px) and (max-width: 950px) {

    .LinkNews {
        width: 100%;
    }

    .LinkNewsPubblicaHome {
        padding: 30px 4px;
    }

    .LinkNewsConBordo {
        border: none;
    }

    .NewsContainer {
        border-bottom: solid 1px silver;
        padding-bottom: 35px;
        width: 100%;
        margin: 0 auto;
        transition: all 0.9s;
    }

    .ImmagineNewsItem,
    .ImmagineNewsItemPubblicaHome {
        display: block;
        margin: 10px auto;
        float: none;
    }

    .ImmagineNewsItem {
        width: auto;
        max-width: 100%;
        max-height: initial;
    }

    .ImmagineNewsItemPubblicaHome {
        width: auto;
        max-width: 100%;
        min-width: initial;
        margin-top: 0;
    }

    .NewsDescription,
    .NewsDescriptionPubblicaHome {
        padding: 0;
        text-align: justify;
        margin-bottom: 10px;
    }
}

/* ----------------------------------------------------------
   ≤ 1050px  –  footer e tabella UV condivisi (tablet + mobile)
   ---------------------------------------------------------- */
@media screen and (max-width: 1050px) {

    /* Footer */
    .containerFooter.padding100 {
        flex-direction: column;
        padding: 48px 20px;
        gap: 30px;
    }

    .containerFooter > .footeritem1 {
        width: 100%;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        padding-right: 0;
        gap: 20px;
        padding-bottom: 25px;
        border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    }

    .footeritem1 > div > .imgLogo {
        max-width: 200px;
    }

    .footeritem1 > div.sponsor {
        text-align: left;
        font-size: 0.85rem;
        line-height: 1.8;
    }

    .containerFooter > .footeritem2 {
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
        gap: 25px;
    }

    .footeritem2 > div {
        width: 100%;
        flex: 1 1 100%;
        min-width: 0;
        padding-bottom: 20px;
        border-bottom: 1px solid rgba(0, 0, 0, 0.07);
    }

        .footeritem2 > div:last-child {
            border-bottom: none;
            padding-bottom: 0;
        }

    .containerFooter h3 {
        font-size: 1rem;
        margin-bottom: 14px;
    }

    .footeritem2 a,
    .footertext {
        font-size: 1rem;
        line-height: 1.7rem;
        margin: 6px 0;
    }

    .containerFooter.flex {
        flex-direction: column;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        padding: 20px;
        gap: 10px;
        text-align: center;
    }

    .footer2link {
        gap: 0;
        justify-content: center;
    }

        .footer2link > a {
            margin-left: 0;
            margin: 0 12px;
            font-size: 0.85rem;
        }
}

/* ----------------------------------------------------------
   ≤ 767px  –  mobile
   ---------------------------------------------------------- */
@media screen and (max-width: 767px) {

    .spazio {
        height: 80px;
    }

    .referenzeGrid {
        display: flex;
        flex-wrap: wrap;
        gap: 30px;
        width: 100%;
    }

    .titoloNews {
        margin-bottom: 20px;
    }

    /* Tabella UV */
    .TabellaUV {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        border: none;
        background: transparent;
        display: block;
    }

        .TabellaUV thead,
        .TabellaUV tfoot {
            display: block;
        }

            .TabellaUV thead tr,
            .TabellaUV tbody,
            .TabellaUV tbody tr,
            .TabellaUV tfoot tr {
                display: block;
                width: 100%;
            }

        .TabellaUV thead {
            display: none;
        }

        .TabellaUV tbody tr {
            background: #fff;
            border: 1px solid #dbe8d2;
            border-radius: 12px;
            margin-bottom: 5px;
            overflow: hidden;
            padding: 6px 0;
        }

        .TabellaUV tbody td {
            display: block;
            width: 100%;
            border: none;
            border-bottom: 1px solid #e7efe1;
            text-align: center;
            padding: 10px 14px;
            box-sizing: border-box;
        }

        .TabellaUV tbody tr td:last-child {
            border-bottom: none;
        }

        .TabellaUV tfoot td {
            display: block;
            width: 100%;
            box-sizing: border-box;
            margin-top: 8px;
            border: 1px solid #dbe8d2;
            border-radius: 12px;
            background: #f5f8f2;
            padding: 10px 12px;
            text-align: center;
        }

    .upf-formula {
        flex-direction: column;
        gap: 6px;
    }

    .formula-box,
    .formula-eq {
        display: inline-block;
    }

    .time-num {
        font-size: 18px;
    }

    .badge {
        white-space: normal;
    }

    /* Varie */
    .margintop50 {
        margin-top: 25px;
    }

    .news-featured-card {
        flex-flow: column;
        gap: 0;
    }

    .news-featured-image {
        flex: 0 0 100%;
        min-height: auto;
    }

    .news-featured-description {
        margin-bottom: 15px;
    }

    .news-featured-content {
        padding: 35px 0px;
    }

    .containerIntDescElenco > .tabella {
        gap: 10px;
    }

    .containerIntElencoImmagine {
        height: 50vh;
    }

    div.ImmaginiAllegateWrapper {
        grid-template-columns: repeat(2, 1fr);
    }

    .claimHome h1 {
        margin-top: 5px;
    }

    .margintop30 {
        margin-top: 0;
    }

    .sectionVideo {
        margin-top: 30px;
        gap: 15px;
    }

    .videoWrapper {
        flex-basis: 100%;
    }

    .section {
        margin: 70px 0px;
    }

    .sectiongrigio, .sectionblu, .sectiongiallo, .sectionverde {
        padding: 70px 0px;
    }

    h1.titolo, h2.titolo {
        margin-bottom: 0px;
    }

    .blocchiuniformi .blocco {
        flex-basis: 100%;
    }

    .tabella {
        gap: 30px;
    }

    .containerIntElenco {
        width: 100%;
    }

        .containerIntElenco.dx {
            padding: 0px;
        }

    .containerIntDettaglio {
        width: 100%;
    }

        .containerIntDettaglio.dx {
            padding: 0px;
        }

    .containerIntElenco.sx.padding200 {
        margin: 25px 0px;
        padding: 0px;
    }

        .containerIntElenco.sx.padding200.topbottom200 {
            padding-top: 50px;
            padding-bottom: 50px;
        }

    .contenitoreNews > div,
    .contenitoreNews.elenco > div {
        flex-basis: 100%;
    }

    .sfondocontatti .overlay {
        width: 100%;
        background: linear-gradient( to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.95) 50%, rgba(255, 255, 255, 0.80) 70%, rgba(255, 255, 255, 0.55) 85%, rgba(255, 255, 255, 0.45) 100% );
    }

    .pulsanteTutteNews a {
        min-width: auto;
        padding: 20px;
        box-sizing: border-box;
    }

    .HRGenerico {
        margin: 0px auto 20px;
    }

    .contenitoreNews {
        grid-template-columns: 1fr;
        max-width: 500px;
    }

    .contenitoreFlex1, .contenitoreFlex2, .contenitoreFlex3,
    .contenitoreFlex4, .contenitoreFlex0 {
        height: 300px;
    }

    .blocco1, .blocco4, .blocco0 {
        margin-top: 0;
    }

        .blocco1 img, .blocco2 img, .blocco3 img,
        .blocco4 img, .blocco0 img {
            max-width: 100%;
            height: 100%;
        }

    .container2, .header {
        width: 100%;
    }

    .LabelMarchi:first-child, .LabelProgettazione {
        background-image: url(/design/menu-ad-espansione.png);
        background-repeat: no-repeat;
    }

    .container {
        padding: 0 20px;
    }

    .container2 {
        padding: 0 20px;
        margin: auto;
        text-align: center;
    }

    .visualizzaslide {
        height: 50px;
        display: block;
    }

    img.venticinqueanniAssieme {
        width: 30px;
    }

    img.ImageLogo {
        width: 220px;
    }

    .menuhorizontalseparator,
    .spazioInternoStatico {
        display: none;
    }

    .menuCategorie > input + div {
        position: absolute;
        left: -60%;
        width: 60%;
        z-index: 2000;
        background-color: #167599;
        transition: left 0.5s;
        min-height: 105px;
    }

    .menuCategorie > input:checked + div {
        left: 0;
    }

    .MenuCategorieResponsivo {
        display: block;
        position: absolute;
        margin-top: 60px;
        right: 0;
        float: none;
        background-color: #167599;
        padding: 10px;
        box-sizing: border-box;
        color: #fff;
        width: 120px;
        height: 40px;
        font-size: 13px;
        z-index: 10;
        text-align: left;
    }

    .contenitorelogo, .headerlingue,
    div.HomeNovita {
        position: relative;
    }

    .campimenu {
        float: none;
        text-align: center;
        font-weight: 600;
        border-bottom: 1px solid #fff;
        padding: 5px 0;
    }

        .campimenu a,
        .campimenu a:hover {
            text-decoration: none;
            color: #fff;
        }

    .headerresponsivo {
        display: block;
        height: auto;
    }

    .contenitorelogo {
        padding-top: 20px;
        padding-left: 7px;
        float: left;
    }

    .titolo {
        font-size: 20px;
        font-family: Lato, sans-serif;
        font-weight: 400;
        letter-spacing: 3px;
    }

    .headerlingue {
        margin-top: 21px;
        text-align: right;
    }

    .ImageLogoFooter, .TendeDaSolePara, .TendeDaSoleSomify,
    .TendeDaSoleCorradi {
        margin: 0 auto;
        display: block;
    }

    .ImageLogoFooter {
        padding-top: 10px;
    }

    .footerleft {
        width: 100%;
        height: auto;
        float: none;
    }

    .footerleftitem {
        width: 100%;
        height: auto;
        float: none;
        padding: 9px;
    }

    .testocontatti, .titolocontatti {
        font-family: Roboto, sans-serif;
        padding-bottom: 20px;
        padding-left: 20px;
    }

    .venticinqueanniAssiemeFooterWrapper {
        width: 100%;
    }

    .venticinqueanniAssiemeFooter {
        float: none;
        width: 60px;
        display: block;
        margin: 0 auto;
    }

    .FooterDiCosaCiOccupiamo {
        width: 100%;
        text-align: center;
        padding-top: 10px;
    }

    .footerright {
        width: 100%;
        height: auto;
        float: none;
    }

    .ContattiSinistra {
        width: 100%;
        margin-top: 20px;
        margin-bottom: 20px;
    }

        .ContattiSinistra img {
            width: 100%;
        }

    .ContattiDestra {
        width: 100%;
        font-size: 13px;
        color: #000;
        margin-top: 0;
    }

    .titolocontatti {
        font-weight: 200;
        margin-top: 0;
        padding-top: 0;
        font-size: 30px;
        line-height: 28px;
    }

    .testocontatti {
        color: #000;
        font-size: 14px;
        font-weight: 300;
    }

    .informazioniDestra, .informazioniSinistra {
        float: none;
        width: 100%;
    }

    .ContattiForm {
        width: 100%;
        color: #000;
    }

    .containerBreadCrumbs {
        padding-right: 2.5%;
        min-height: 25px;
    }

    .AziendaLeft {
        text-align: justify;
        margin-bottom: 20px;
    }

    .AziendaRight {
        float: none;
        width: 100%;
        margin: 15px 0 20px;
    }

    .AziendaArcosolImg {
        width: 100%;
        display: block;
        margin-bottom: 1%;
    }

    .AutomezziArcosolImg {
        width: 49%;
        display: block;
        float: left;
        margin-bottom: 0.8%;
    }

    .AziendaArcosolImg2 {
        width: 50%;
        display: block;
        float: right;
    }

    .MenuMarchiWrapper, .MenuWrapper, .PanelMarchiWrapper {
        margin: 0;
        width: 100%;
    }

    .LabelProgettazione {
        background-position: 93.5% 50%;
    }

    .MenuProgettazione > input[type=checkbox] + div {
        height: auto;
        max-height: 0;
        transition: max-height 0.9s;
        overflow: hidden;
    }

    .MenuProgettazione > input[type=checkbox]:checked + div {
        max-height: 800px;
    }

    .PanelProgettazioneWrapper {
        width: 100%;
        float: none;
        padding-left: 0;
    }

    .LabelMarchi:first-child {
        background-position: 95% 50%;
    }

    .MenuMarchi > input[type=checkbox] + div {
        height: auto;
        max-height: 0;
        transition: max-height 0.9s;
        overflow: hidden;
    }

    .MenuMarchi > input[type=checkbox]:checked + div {
        max-height: 800px;
    }

    .PanelMarchiWrapper {
        padding-left: 0;
        margin-bottom: 30px;
    }

    div.TrattamentoDatiPersonaliWrapper {
        padding: 20px;
        position: relative;
        color: #000;
        font-size: 17px;
    }

    .PaginaElencoWrapper {
        margin-left: 0;
        margin-right: 0;
    }

    .immaginemodello {
        display: none;
    }

    .ElencoItem {
        width: 100%;
        flex-basis: 100%;
        margin: 0;
    }

    .NewsWrapper {
        text-align: left;
        margin-bottom: 20px;
    }

    .LinkNews {
        text-decoration: none;
        display: block;
        vertical-align: top;
        width: 99%;
        height: auto;
        padding-bottom: 30px;
        color: #000;
    }

    .LinkNewsPubblicaHome {
        padding: 30px 4px;
    }

    .LinkNewsConBordo {
        border: none;
    }

    .NewsContainer {
        border-bottom: solid 1px silver;
        padding-bottom: 35px;
        width: 100%;
        margin: 0 auto;
        height: 100%;
        transition: all 0.9s;
    }

    .NewsContainerPubblicaHome {
        margin-bottom: 10px;
    }

    .ImmagineNewsItem,
    .ImmagineNewsItemPubblicaHome {
        display: block;
        width: auto;
        max-width: 100%;
        max-height: initial;
        height: auto;
        margin: 10px auto;
        float: none;
    }

    div.ImmaginePrincipale, div.PaginaDettaglio {
        width: 100%;
        float: none;
    }

    .NewsDescription,
    .NewsDescriptionPubblicaHome {
        padding: 0;
        text-align: justify;
        margin-bottom: 10px;
    }

    .HRElencoNews {
        display: none;
    }

    div.PaginaDettaglio {
        padding: 7px;
        box-sizing: border-box;
    }

    .testodettaglio {
        font-size: 13px;
    }

    div.ImmaginiAllegateWrapper div.ImageItem {
        height: 110px;
    }

        div.ImmaginiAllegateWrapper div.ImageItem > div {
            height: 100%;
        }

    .NewsDettaglioWrapper {
        margin-bottom: 10px;
    }

    .ImmaginePrincipaleNews {
        float: none;
        width: 100%;
        margin: 0 1%;
    }

        .ImmaginePrincipaleNews img {
            width: auto;
            max-width: 100%;
            display: block;
            margin: 0 auto;
        }

    .PaginaDettaglioNews {
        float: none;
        width: 100%;
    }

    div.ErroreWrapper {
        padding-top: 0;
    }

    div.FeedbackDestro, div.FeedbackSinistro {
        width: 100%;
        float: none;
    }

    .FeedbackImmagineProdotto {
        display: block;
        margin: 8px 0;
    }

    div.freccianone, div.frecciavisible {
        display: none;
    }
}

/* ----------------------------------------------------------
   ≤ 497px  –  smartphone piccoli
   ---------------------------------------------------------- */
@media screen and (max-width: 497px) {

    html {
        font-size: 14px;
    }

    div.SnippetBreadCrumbs {
        margin: 25px 0px;
    }

    .PanelMarchiWrapper > h1 {
        margin-bottom: 20px;
    }

    .claimHome {
        margin-left: 30px;
        margin-right: 30px;
    }

    .blocco .mascheraScura {
        padding: 20px;
    }

    img.ImageLogo {
        width: 190px;
    }

    .claimHome img {
        max-width: 100%;
    }

    .material-icons-outlined.circle {
        width: 35px;
        height: 35px;
        font-size: 17px;
    }
}
