﻿:root {
    --verde: #009902;
    --verdeTra: #00990247;
    --ciano: #00acf4;
    --cianoTra: #00acf44a;
    --grigio: #EAEAEA;
}

.mappacontenuti {
    margin: 50px 0px;
    display: flex;
    flex-flow: column;
    align-items: center;
    font-size: 18px;
}
.mappacontenuti a {
    color:inherit;
}

/* NEWS */

div.SnippetBreadCrumbs {
    position: relative;
    bottom: 0px;
    left: 0px;
    width: 100%;
    text-align: center;
    padding: 10px 0;
}

    div.SnippetBreadCrumbs ol {
        list-style: none;
        margin: 0px;
        padding: 0px;
        display: inline-block;
    }

        div.SnippetBreadCrumbs ol li {
            display: inline-block;
            padding-right: 5px;
            padding-left: 5px;
        }

    div.SnippetBreadCrumbs a {
        text-decoration: none;
        color: inherit;
        font-size: 12px;
    }

.containerIntElencoNews {
    display: flex;
    width: 100%;
    box-sizing: border-box;
    position: relative;
    z-index: 1;
}


.containerIntElencoNews > a {
    text-decoration: none;
}

.NewsContainer {
    display: flex;
    flex-direction: row;
    width: 100%;
    /*height: 100%;*/
    margin: 0 auto;
    gap: 50px;
}

    .NewsContainer .immagine {
        flex-basis: 25%;
        height: 40vh;
        margin: 0 auto;
    }

        .NewsContainer .immagine > img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

    .NewsContainer .testo {
        flex-basis: 75%;
        display: flex;
        flex-direction: column;
        height: 100%;
    }

        .NewsContainer .testo > h2 {
            font: normal normal 400 36px / 46px Montserrat;
            letter-spacing: 0px;
            color: #000000;
            margin: 10px 0;
            text-transform: uppercase;
        }

.sezioneDettaglioNews .containerNews {
    margin: auto;
    width: 85%;
    display: flex;
    padding: 60px 250px;
    box-sizing: border-box;
    flex-direction: column;
    justify-content: center;
    background-color: white;
    position: relative;
    z-index: 2;
    margin-top: -100px;
}

    .sezioneDettaglioNews .containerNews .immagine {
        flex-basis: 35%;
        transition: transform .4s;
    }

        .sezioneDettaglioNews .containerNews .immagine img {
            max-width: 100%;
            /*height: 100%;*/
            display: block;
            margin: 0 auto;
        }

    .sezioneDettaglioNews .containerNews .testo {
        flex-basis: 70%;
    }

    .sezioneDettaglioNews .containerNews h1 {
        font: normal normal bold 44px/64px Poppins;
        letter-spacing: 0px;
        color: #315364;
        margin: 20px 0;
    }
    
    .sezioneDettaglioNews .containerNews .videoWrapper {
        display:flex;
        margin: 30px 0;
    }

.NewsDettaglioPulsanteRitornaIndietro {
    width: 100%;
    text-align: center;
}

.pulsanteRitornaNews {
    text-align: center;
    margin: auto;
    width: fit-content;
    display: flex;
    gap: 10px;
    padding: 20px 30px;
    background: #05B1DE 0% 0% no-repeat padding-box;
    color: white;
    align-items: center;
}


.NewsDescription a {
    color:inherit;
}

.NewsDescription h2 {
    font: normal normal 400 36px / 46px Montserrat;
    letter-spacing: 0px;
    color: #000000;
    margin: 20px 0;
    text-transform: uppercase;
}

.NewsDescription h3 {
    font: normal normal 450 27px / 32px Montserrat;
    letter-spacing: 0px;
    color: #000;
    margin: 10px 0;
}

.NewsDescription p {
    font: normal normal 400 16px / 26px Montserrat;
    letter-spacing: 0px;
    color: #000000;
}

div.DettaglioInternoAllegati {
    display: flex;
    gap: 10px;
    align-items: center;
    margin: 30px 0;
}

div.DettaglioInternoAllegati img.FileIco {
    width: 30px;
}

div.DettaglioInternoAllegati a {
    display: block;
    color: inherit;
    text-decoration: none;
}

/* FINE */

.svgIcon {
    width: 60px;
    height: 60px;
}

form[action*="/contatti.aspx"] #logobianco {
    display: none;
}

form[action*="/contatti.aspx"] #logonormale {
    display: block;
}


form[action*="/contatti.aspx"] .header .menu a {
    color: #000;
}

    form[action*="/contatti.aspx"] .header .menu a::before {
        background-color: var(--ciano);
    }

form[action*="/contatti.aspx"] .LabelMenuPrincipale .material-icons-outlined {
    color: black;
}

form[action*="/contatti.aspx"] .header {
    background: white;
    border-bottom: 1px solid hsl(0deg 0% 0% / 32%);
}

    form[action*="/contatti.aspx"] .header .menucontatti {
        border-left: 1px solid hsl(0deg 0% 0% / 32%);
    }

form[action*="/trattamento-dati-personali.aspx"] #logobianco {
    display: none;
}

form[action*="/trattamento-dati-personali.aspx"] #logonormale {
    display: block;
}


form[action*="/trattamento-dati-personali.aspx"] .header .menu a {
    color: #000;
}

    form[action*="/trattamento-dati-personali.aspx"] .header .menu a::before {
        background-color: var(--ciano);
    }

form[action*="/trattamento-dati-personali.aspx"] .header {
    background: white;
    border-bottom: 1px solid hsl(0deg 0% 0% / 32%);
}

    form[action*="/trattamento-dati-personali.aspx"] .header .menucontatti {
        border-left: 1px solid hsl(0deg 0% 0% / 32%);
    }


.headerWhite .LabelMenuPrincipale .material-icons-outlined {
    color: black;
}

html {
    scroll-behavior: smooth;
}

.smooth {
    transition-duration: 500ms;
}

*, *::before, *::after {
    box-sizing: border-box;
}

b {
    font-weight: 600;
    clear: both;
}

a {
    text-decoration: none;
}

.spazio {
    height: 91px;
}


body {
    margin: 0px;
    font-size: 14px;
    font-family: 'Inter', sans-serif;
    animation: fadeIn 2s both;
    overflow-x: hidden;
}

h1, h2, h3, h4, h5 {
    margin: 0px;
}
li {
    font: normal normal 400 16px/26px Montserrat;
}
h2.gallery {
    font: normal normal 400 36px/46px Montserrat;
    margin-left:300px;
}
.container2.maxwidth1200 {
    max-width: 1200px;
}

.margintop {
    margin-top: 20px;
}

.none {
    display: none;
}

.container {
    margin: auto;
    padding: 0px 30px;
    box-sizing: border-box;
    width: 100%;
}

    .container.padding100 {
        padding: 0px 100px;
    }

    .container.padding0 {
        padding: 0px;
    }

.logo img.none {
    display: none;
}

.logo img {
    display: block;
    height: 80px;
    margin: 20px 0px;
}

.container2 {
    margin: auto;
    padding: 0px;
    box-sizing: border-box;
    width: 100%;
    max-width: 1600px;
}

.padding30 {
    padding: 0px 30px;
}

.margintop50 {
    margin-top: 50px;
}


.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_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: var(--verde);
        animation: scrollIndicator 1.4s cubic-bezier(.645,.045,.355,1) infinite;
    }

.c-scroll-indicator_label {
    /* margin-left: 20px; */
    color: white;
    text-align: center;
    margin-bottom: 20px;
}

@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)
    }
}




.header {
    /*padding: 15px 50px;*/
    position: fixed;
    z-index: 44;
    display: block;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    justify-content: flex-end;
}

    .header.headerInvisible {
        background: transparent;
        border-bottom: 1px solid hsla(0,0%,100%,.32);
    }

        .header.headerInvisible .menucontatti {
            border-left: 1px solid hsla(0,0%,100%,.32);
        }

        .header.headerInvisible .menu a {
            color: #fff;
        }

    .header.headerWhite {
        background: white;
        border-bottom: 1px solid hsl(0deg 0% 0% / 32%);
    }

        .header.headerWhite .menucontatti {
            border-left: 1px solid hsl(0deg 0% 0% / 32%);
        }

        .header.headerWhite .menu a {
            color: #000;
        }

#MenuPrincipaleResponsivo {
    display: none;
}

.flexmenu {
    /*display: flex;
    align-items: center;
    justify-content: space-between;
    margin: auto;*/
    position: absolute;
    left: 50px;
}

.menu a {
    font: normal normal 450 16px/20px Montserrat;
    letter-spacing: 0px;
    color: #000;
    text-transform: uppercase;
    display: block;
    margin: 30px 15px;
    text-decoration: none;
    position: relative;
    transition: all ease-in-out 300ms;
}

.header.headerWhite a:hover {
    color: var(--ciano);
}

.header.headerWhite .menu a.MenuSelezionato {
    color: var(--ciano);
}

/*.header.headerInvisible .menu a::before {
    background-color: var(--verde);
}*/

.header.headerInvisible .dropdown-content a {
    color: black;
}

.dropdown-content {
    display: none;
    position: absolute;
    width: 100%;
    min-width: 250px;
    top: 120px;
    left: 0;
    background-color: white;
    box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.2);
    z-index: 666;
    cursor: pointer;
}

    .dropdown-content a {
        width: fit-content;
        margin: 25px 15px;
        text-align: left;
        /*color: white;
        padding: 12px 16px;
        text-decoration: none;
        display: block;
        transition: background-color 200ms ease-in-out;*/
    }

        /*.dropdown-content a:hover {
            color: white;
            background-color: rgba(44,120,170,0.7);*/
            /*background-color: var(--grigioFranto);*/
        /*}*/

.voceServizi {
    position: relative;
    height: 100%;
    align-content: center;
}

.voceServizi:hover .dropdown-content {
    display: block;
}

/*.menu a::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 100%;
    height: 2px;
    background-color: var(--ciano);
    scale: 0 1;
    transform-origin: left;
    transition: scale 0.35s;
}*/

/*.menu a:hover::before {
    scale: 1;
}

.menu a.MenuSelezionato::before {
    scale: 1;
}
*/

.menu > div {
    display: flex;
}

.menulink {
    display: flex;
    align-items: center;
}

.menucontatti {
    position: absolute;
    right: 0px;
    padding: 0px 30px;
}

.logoezona {
    display: flex;
}

.menu {
    margin-right: 50px;
}

.MenuPrincipale {
    display: none;
}

.LabelMenuPrincipale {
    display: block;
    cursor: pointer;
}

    .LabelMenuPrincipale .material-icons-outlined {
        font-size: 40px;
        line-height: inherit;
        color: white;
    }


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 {
        width: 80vw;
        max-width: 1200px;
    }

    .claimHome h1 {
        font: normal normal 600 55px/65px Montserrat;
        letter-spacing: -3.6px;
        color: #FFFFFF;
        text-transform: uppercase;
    }

    .claimHome h3 {
        font: normal normal 400 20px/25px Montserrat;
        letter-spacing: 0px;
        color: #FFFFFF;
    }

.sfondonero {
    position: absolute;
    background-color: rgb(0 0 0 / 30%);
    width: 100%;
    height: 100%;
    z-index: 1;
}

.mySlidesHomeVideo {
    position: absolute;
    height: 100%;
    width: 100%;
    transition: all 1500ms;
    object-fit: cover;
}

.section {
    margin: 100px 0px;
}

    .section.nomargin {
        margin: 0px;
    }

    .section.shadow {
        box-shadow: inset 0px 0px 6px #00000029;
        background: #F8F8F8 0% 0% no-repeat padding-box;
    }

.sectiongrey {
    padding: 100px 0px;
    background-color: var(--grigio);
}

    .sectiongrey.shadow {
        box-shadow: inset 0px 0px 6px #00000029;
    }

.sectionciano {
    padding: 100px 0px;
    background-color: var(--cianoTra);
}

    .sectionciano.borderbottom {
        box-shadow: inset 0px 0px 6px #00000029;
    }

.sectionsnow {
    padding: 100px 0px;
    background-color: snow;
}

.sectionblack {
    padding: 150px 0px;
    background-color: #000;
}

    .sectionblack.paddingbottom5 {
        padding-bottom: 5px;
    }

.sectionCentrale {
    margin: auto;
    max-width: 1400px;
    text-align: center;
    align-items: center;
    /*  display: flex;
    flex-flow: column;*/
}

    .sectionCentrale .pulsante {
        margin: auto;
    }

        .sectionCentrale .pulsante.margintop50 {
            margin-top: 50px;
        }



    .sectionCentrale.full {
        max-width: initial;
    }

  /*  .sectionCentrale h2 {
        font: normal normal 400 53px/63px Montserrat;
        letter-spacing: 0px;
        color: #000000;
        text-transform: uppercase;
    }
*/
    .sectionCentrale h3 {
        font: normal normal 700 20px/25px Montserrat;
        letter-spacing: 0px;
        color: #000000;
        text-transform: uppercase;
    }

    .sectionCentrale h2 {
        font: normal normal 600 34px/44px Montserrat;
        letter-spacing: 0px;
        color: #000000;
        text-transform: inherit;
    }

    .sectionCentrale p {
        font: normal normal 400 20px/30px Montserrat;
        letter-spacing: 0px;
    }

.maxwidth900 {
    max-width: 900px;
}
/*.sectionCentrale p.black {
            color: #000000;
        }*/
.lineaorizzontale {
    height: 1px;
    background-color: black;
    width: 100%;
}


.sectionCentrale.white h3 {
    color: #fff;
}

.sectionCentrale.white p {
    color: #fff;
}

.sezioneblocchimisti {
    display: flex;
    justify-content: center;
    flex-flow: wrap;
}

    .sezioneblocchimisti > div {
        width: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 10% 10%;
        box-sizing: border-box;
    }

    .sezioneblocchimisti .black {
        background-color: black;
    }


    .sezioneblocchimisti .grey {
        background-color: var(--grigio);
    }

    .sezioneblocchimisti img {
        display: block;
        width: 100%;
        max-height: 600px;
        height: 100%;
        object-fit: contain;
    }

.tabella {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: wrap;
}

    .tabella.reverse {
        flex-direction: row-reverse;
    }

.containerIntElenco {
    width: 50%;
    box-sizing: border-box;
    z-index: 1;
    position: relative;
    display: flex;
}

.containerIntDescElenco {
    box-sizing: border-box;
    font-weight: 300;
    font-size: 15px;
    line-height: 1.73em;
    position: relative;
    text-align: left;
    width: 100%;
}

  
.containerIntDescElenco.news {
    display: flex;
    flex-direction: column;
    gap: 50px;
}

.containerIntDescElenco.news a {
    color: inherit;
}

  

.containerIntElencoImmagine {
    width: 100%;
    display: block;
    height: 100%;
    object-fit: cover;
}

    .containerIntElencoImmagine.contain {
        object-fit: contain;
    }

.containerIntElencoImmagineContatti {
    width: 100%;
    border: none;
    height: 50vh;
}

.containerIntElenco.dx {
    padding: 100px;
    box-sizing: border-box;
}

    .containerIntElenco.dx.nopaddingleft {
        padding-left: 0px;
    }
    .containerIntElenco.dx.nopaddingright {
        padding-right: 0px;
    }

.containerIntElenco.sx {
    /*padding: 100px;*/
    padding: 70px;
    padding-left: 0px;
    box-sizing: border-box;
}

.tabella.reverse .containerIntElenco.sx {
    /*padding: 100px;*/
    padding: 70px;
    padding-right: 0px;
    box-sizing: border-box;
}

.maxwidth1200 .containerIntElenco.dx {
    padding: 100px 30px;
}

.maxwidth1200 .containerIntElenco.sx {
    padding: 100px 30px;
}

.containerIntDescElenco a {
    /*color:inherit;*/
    /*text-decoration:underline;*/
}

a.pulsante {
    text-decoration:none;
}

.containerIntDescElenco .img-documento {
    width: 500px;
    border: 2px solid hsl(0deg 0% 0% / 32%);
    display: block;
    justify-self: center;
}

.containerIntDescElenco h2 {
    font: normal normal 400 36px/46px Montserrat;
    letter-spacing: 0px;
    color: #000000;
    margin: 10px 0;
    text-transform: uppercase;
}

.containerIntDescElenco h3 {
    font: normal normal 450 27px/32px Montserrat;
    letter-spacing: 0px;
    color: #000;
    margin: 10px 0;
}

.containerIntDescElenco p {
    font: normal normal 400 16px/26px Montserrat;
    letter-spacing: 0px;
    color: #000000;
}

    .containerIntDescElenco p a {
        color: #000000;
    }

.pulsante {
    font: normal normal 500 14px/24px Montserrat;
    letter-spacing: 0px;
    color: #FFFFFF;
    text-transform: uppercase;
    background-color: var(--ciano);
    padding: 20px 25px;
    display: flex;
    text-decoration: none;
    transition: all 0.3s linear;
    width: fit-content;
    cursor: pointer;
    align-items: center;
    justify-content: space-between;
}

    .pulsante.white {
        color: #000;
        background-color: #fff;
    }

    .pulsante > span {
        margin-left: 30px;
    }

.immaginirealizzazioni {
    display: flex;
    flex-flow: wrap;
    margin-top: 100px;
    transition: all .5s linear;
}

    .immaginirealizzazioni img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        padding: 8px;
    }

.immaginirealizzazioninero {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% - 8px);
    height: calc(100% - 8px);
    opacity: 0;
    background: linear-gradient(0deg,rgba(0,0,0,.63) 0,rgba(0,0,0,.24));
    z-index: -1;
    transition: all .5s linear;
}

.linkrealizzaione h3 {
    position: absolute;
    display: flex;
    z-index: 2;
    top: 0;
    left: 0;
    width: calc(100% - 8px);
    height: calc(100% - 8px);
    align-items: center;
    justify-content: center;
    opacity: 0;
    font: normal normal 500 24px/34px Montserrat;
    color: #FFFFFF;
    padding: 0px 30px;
    transition: all .5s linear;
}

.linkrealizzaione:hover h3 {
    opacity: 1;
    z-index: 3;
}

.linkrealizzaione:hover .immaginirealizzazioninero {
    opacity: 1;
    z-index: 2;
}

.width50 {
    width: 50%;
    position: relative;
}

    .width50.full {
        width: 100%;
        position: relative;
    }

.blocchiservizi {
    display: flex;
    justify-content: space-evenly;
    max-width: 1400px;
    margin: auto;
    margin-top: 30px;
    flex-flow: wrap;
    gap: 20px;
}

    .blocchiservizi.contract {
        align-items: initial;
        color: white;
        padding: 0px 30px;
    }

    .blocchiservizi > div {
        max-width: 220px;
        width: 100%;
    }

    .blocchiservizi.contract > div {
        width: 25%;
        max-width: initial;
    }


    .blocchiservizi h5 {
        font: normal normal 700 16px/34px Montserrat;
    }

    .blocchiservizi p {
        font: normal normal 400 16px/26px Montserrat;
        color: #000000;
    }

    .blocchiservizi.contract p {
        color: white;
    }

.fasciaservizi {
    height: 350px;
    position: relative;
    display: block;
    margin: 10px 0px;
    display: flex;
    align-items: center;
    transition: all 0.5s linear;
    overflow: hidden;
    cursor: pointer;
}

    .fasciaservizi.paddingperc {
        padding-right: 20%;
    }

    .fasciaservizi img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: all 0.5s linear;
    }

    .fasciaservizi h2 {
        position: absolute;
        font: normal normal 500 24px/34px Montserrat;
        letter-spacing: 0px;
        color: #FFFFFF;
        text-transform: uppercase;
        margin: 0px 150px;
        z-index: 2;
    }

    .fasciaservizi:hover img {
        transform: scale(1.1) rotate(1deg);
    }



.panelservizi {
    z-index: 1;
    position: absolute;
    background: rgb(0,0,0);
    background: linear-gradient(90deg, rgba(0,0,0,0.8099614845938375) 0%, rgba(255,255,255,0) 63%);
    width: 100%;
    height: 100%;
}


    .panelservizi.paddingperc {
        width: calc(100% - 20%);
    }

.footer {
    background-color: var(--verdeTra);
}

.footer2 {
    background-color: var(--verdeTra);
    padding-bottom: 100px;
}

.containerFooter {
    padding: 15px 50px;
    display: flex;
    color: black;
    max-width: 1600px;
    margin: auto;
}

    .containerFooter.padding100 {
        padding: 100px 50px;
    }

    .containerFooter > .footeritem1 {
        width: 33.333%;
        flex: inherit;
    }

    .containerFooter > .footeritem2 {
        flex: 1;
        display: flex;
        flex-flow: wrap;
    }

.footeritem2 > div {
    width: 33.3333%;
}

.footeritem1 img {
    width: 100%;
    display: block;
    /* padding-right: 50px; */
    max-width: 300px;
    padding-right: 20px;
}

.containerFooter h3 {
    font: normal normal 700 18px/21px Montserrat;
    letter-spacing: 0.45px;
    color: black;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.footeritem2 a, .footertext {
    text-decoration: none;
    color: white;
    font: normal normal 300 17px/20px Montserrat;
    letter-spacing: 0.45px;
    color: black;
    margin: 10px 0px;
    display: block;
}

.containerFooter.flex {
    justify-content: space-between;
}

.footer2link {
    display: flex;
}

    .footer2link > a {
        display: block;
        margin-left: 50px;
        color: black;
    }

.upper {
    text-transform: uppercase;
}

.containerprogettazione {
    display: flex;
    flex-flow: wrap;
}

.bloccoProgSx {
    width: 35%;
    min-width: 450px;
}

.bloccoProgDx {
    flex: 1;
}

.bloccoProgSxSticky {
    position: sticky;
    top: 0px;
    text-align: left;
    box-sizing: border-box;
    color: white;
    display: flex;
    flex-flow: column;
    padding: 100px;
}

    .bloccoProgSxSticky a {
        display: block;
        font: normal normal 300 20px/55px Montserrat;
        letter-spacing: 0px;
        color: #FFFFFF;
        text-transform: uppercase;
        margin: 10px 0px;
        text-decoration: none;
    }


.bloccoProgImgfull {
    display: block;
    width: 100%;
}

.bloccoProgDx h2 {
    font: normal normal 300 45px/55px Montserrat;
    letter-spacing: 0px;
    color: #FFFFFF;
    text-transform: uppercase;
}

.bloccoProgDx > div {
    position: relative;
}

    .bloccoProgDx > div > a {
        position: absolute;
        top: 0;
        margin-top: -100px;
    }

.bloccoProgDxText {
    display: flex;
    flex-flow: wrap;
}

    .bloccoProgDxText p {
        width: 50%;
        color: white;
        font: normal normal 300 18px/28px Montserrat;
        letter-spacing: 0px;
        color: #FFFFFF;
        margin: 50px 0px;
        padding-right: 100px;
    }

.bloccoProgImg {
    display: flex;
    flex-flow: wrap;
    margin-left: -5px;
    margin-right: -5px;
}

    .bloccoProgImg img {
        width: 50%;
        padding: 5px;
    }

.titoloSlide{
    margin-bottom: 40px;
}

.splide__slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#cantieri-carousel .splide__slide img, #prodotti-carousel .splide__slide img {
    height: 20vh;
    object-fit: contain;
    display: block;
    transition: .4s ease-out;
}

.splide__slide p {
    text-align: center;
    font-size: 18px;
    line-height: 27px;
}

/*
.splide__slide_link > div{
    overflow:hidden;
}

.splide__list {
    transition: all .4s linear;
}

.splide__slide_link:hover img {
    transform: scale(1.1) rotate(1deg);
    opacity: 1;
}

.splide__list:hover > img {
    transform: scale(1.1) rotate(1deg);
    opacity: 1;
}

.splide__list:hover > :not(:hover) {
    opacity: 0.4;
}


.splide__list .splide__slide {
    padding-right: 15px;
}

.splide__track {
    margin-left: 30px;
    margin-right: -30px;
}

.splide__slide_link h2 {
    font: normal normal 500 20px/30px Montserrat;
    text-align: center;
    margin-top: 30px;
}*/

.contatti-icon {
    position: fixed;
    z-index: 100;
    bottom: 30px;
    right: 30px;
    background-color: #000;
    color: white;
    padding: 15px 15px;
    box-sizing: border-box;
    display: block;
    transition: all 0.7s linear;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    flex-flow: row-reverse;
}

    .contatti-icon:hover .icontext {
        margin-right: 0.625rem;
        height: auto;
        width: auto;
        opacity: 1;
    }

.icontext {
    height: 0;
    width: 0;
    overflow: hidden;
    --tw-text-opacity: 1;
    opacity: 0;
    -webkit-transition: opacity .6s ease-in-out;
    transition: opacity .6s ease-in-out;
}


.sezioneManuali {
    display: flex;
    flex-direction: row;
    width: 100%;
    gap: 20px;
    justify-content: center;
}

.sezioneManuali a {
    display: block;
    width: 200px;
    height: 100%;
}

.sezioneManuali a:hover img {
    transform:scale(1.04);
}

.sezioneManuali img {
    display: block;
    max-width: 100%;
    border: 0.5px solid black;
}




.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;
    }

.traslaterigth {
    transition: transform 1000ms ease-in-out,opacity 1000ms ease-out;
    opacity: 0;
    transform: translateX(100%);
}

    .traslaterigth.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;
    }


.hero-headline {
    animation: fade-in-hero 1s ease-out 0.3s 1 forwards;
    transform: translateY(50px);
    opacity: 0;
}

@keyframes fade-in-hero {
    100% {
        transform: translateY(0);
        opacity: 1
    }
}



@media screen and (max-width: 1390px) {

    .flexmenu {
        position: relative;
        left: 0px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        padding: 0px 30px;
        z-index: 1;
    }

    .menu > input + div.widthVar {
        width: 100%;
    }

    .menu > input + div.widthVar {
        display: block;
    }

    .menu > input + div {
        position: fixed;
        width: 100%;
        height: 100%;
        background-color: #fff;
        left: 0;
        top: 0px;
        transition-duration: 320ms;
        overflow-y: auto;
        display: none;
    }

    .MenuPrincipale {
        padding: 0px;
        box-sizing: border-box;
        font-size: 13px;
        cursor: pointer;
        display: flex;
        align-items: center;
        margin-right: 0px;
    }

    .menulink {
        display: flex;
        flex-flow: column;
        margin-top: 100px;
    }

    .menu a {
        font: normal normal 400 16px/20px Montserrat;
        letter-spacing: 0px;
        color: #000;
        text-transform: uppercase;
        display: block;
        margin: 0 0;
        padding: 35px 8px;
        text-decoration: none;
        position: relative;
        width: 100%;
        /*padding-bottom: 3px;*/
        /*width: fit-content;*/
        text-align: center;
        border-top: 1px solid #d9d5d5;
    }

    .menucontatti {
        position: relative;
        right: 0px;
        padding: 0px;
    }

    .logo img {
        height: 60px;
    }

    .voceServizi {
        width: 100%;
    }

    .menuinterno.voceServizi .dropdown-content a {
        width: 100%;
        margin: 0;
        padding: 20px 25px;
    }

    .dropdown-content {
        position: static;
        width: 100%;
        min-width: auto;
        box-shadow: none;
        top: 0;
        left: 0;
        background: #f4f4f4;
    }

}


@media screen and (min-width: 901px) and (max-width: 1200px) {

    .flexmenu {
        left: 20px;
    }

    .menucontatti {
        padding: 0px 20px;
    }


    element.style {
    }

    .containerIntElenco.sx {
        padding: 30px;
    }

    .containerIntElenco.dx {
        padding: 30px;
    }

    .footeritem2 > div {
        width: calc(50% - 30px);
    }

    .containerFooter > .footeritem2 {
        gap: 30px;
    }

    .bloccoProgSx {
        width: 23%;
        min-width: 250px;
    }

    .bloccoProgSxSticky {
        padding: 30px;
    }

    .bloccoProgDxText p {
        width: 100%;
        margin: 30px 0px;
        padding-right: 0px;
    }
}


@media screen and (max-width: 900px) {

    .logo img {
        display: block;
        height: 45px;
        margin: 15px 0px;
    }

    .sezioneDettaglioNews .containerNews {
        width: 100%;
        padding: 20px 25px;
    }

    .NewsContainer .testo > h2 {
        font: normal normal 400 30px / 40px Montserrat;
        letter-spacing: -1.4px;
    }

    .NewsContainer .testo > h3 {
        font: normal normal 400 24px/30px Montserrat;
    }

    .NewsDescription h2 {
        font: normal normal 400 30px / 40px Montserrat;
        letter-spacing: -1.4px;
    }

    .NewsDescription h3 {
        font: normal normal 400 24px/30px Montserrat;
    }

    .NewsContainer {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    h2.gallery {
        font: normal normal 400 36px / 46px Montserrat;
        margin-left: 0;
        padding: 0px 30px;
        box-sizing: border-box;
    }

    .containerIntDescElenco .img-documento {
        width: 100%;
    }

    .footer2 {
        padding-bottom: 30px;
    }

    .sectionciano {
        padding: 50px 0px;
    }

    #cantieri-carousel .splide__slide img, #prodotti-carousel .splide__slide img {
        height: 10vh;
    }

    .margintop50 {
        margin-top: 20px;
    }

    .header.headerInvisible .menu a {
        color: black;
    }

    .menu {
        margin-right: 0;
    }

    .bloccoProgSx {
        width: 100%;
        min-width: inherit;
    }

    .blocchiservizi.contract > div {
        width: 100%;
    }

    .bloccoProgSxSticky {
        padding: 0px;
    }

    .bloccoProgDx {
        padding-top: 50px;
    }

    .bloccoProgDxText p {
        width: 100%;
        margin: 30px 0px;
        padding-right: 0px;
    }

    .bloccoProgDx h2 {
        font: normal normal 300 30px/40px Montserrat;
    }

    form[action*="/azienda-coperture-treviso.aspx"] .LabelMenuPrincipale .material-icons-outlined {
        color: black;
    }

    .tabella.revert {
        flex-flow: column-reverse;
    }


    
    .claimHome h1 {
        font: normal normal 400 36px/46px Montserrat;
        letter-spacing: -1.6px;
        color: #FFFFFF;
        text-transform: uppercase;
        word-break: break-word;
    }

    .sectionCentrale h2 {
        font: normal normal 400 30px/40px Montserrat;
        letter-spacing: -1.6px;
    }

    .container.padding100 {
        padding: 0px 30px;
    }

    .section {
        margin: 70px 0px;
    }

    .sectiongrey {
        padding: 70px 0px;
        background-color: var(--grigio);
    }

    .splide__track {
        margin-left: 0px;
        margin-right: 0px;
    }

    .splide__list .splide__slide {
        padding-right: 0px;
    }

    .containerIntElenco.sx {
        padding: 0px;
    }

    .containerIntElenco.dx {
        padding: 0px;
    }

    .tabella {
        flex-flow: column;
        gap: 20px;
    }

    .containerIntElenco {
        width: 100%;
    }

    .containerIntDescElenco h2 {
        font: normal normal 400 30px/40px Montserrat;
        letter-spacing: -1.4px;
    }

    .containerIntDescElenco h3 {
        font: normal normal 400 24px/30px Montserrat;
    }

    .sectionblack {
        padding: 70px 0px;
        background-color: #000;
    }

    .immaginirealizzazioni {
        margin-top: 70px;
    }

    .width50 {
        width: 100%;
    }

    .sectionCentrale h4 {
        font: normal normal 400 25px/35px Montserrat;
        letter-spacing: -1.4px;
        color: #000000;
        text-align: left;
    }

    .maxwidth1200 .containerIntElenco.sx {
        padding: 0px 30px;
    }

    .maxwidth1200 .containerIntElenco.dx {
        padding: 0px 30px;
    }

    .blocchiservizi {
        width: 100%;
        flex-flow: column;
        align-items: center;
    }

        .blocchiservizi.contract {
            align-items: center;
        }

    .fasciaservizi h2 {
        font: normal normal 500 20px/30px Montserrat;
        letter-spacing: -1.4px;
        margin: 0px 30px;
    }

    .sectionCentrale p {
        font: normal normal 400 16px/26px Montserrat;
        letter-spacing: 0px;
    }

    .cenetermobile.sectionCentrale h4 {
        text-align: center;
    }

    .containerFooter.padding100 {
        padding: 40px 30px;
        gap: 50px;
    }

    .containerFooter {
        padding: 15px 30px;
        flex-flow: column;
    }

        .containerFooter > .footeritem1 {
            width: 100%;
        }

        .containerFooter > .footeritem2 {
            flex-flow: column;
            gap: 20px;
        }

    .footeritem2 > div {
        width: 100%;
    }

    .containerFooter {
        padding: 15px 30px;
        flex-flow: column;
        gap: 20px;
    }

    .footer2link {
        justify-content: space-between;
    }

        .footer2link > a {
            margin-left: 0px;
        }

    .fasciaservizi {
        height: 250px;
    }
}





    /*###################  AREA RISERVATA #######################*/
    .contenitoreArea {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        /* display: -webkit-flex; */
        display: flex;
        -webkit-flex-direction: column;
        flex-direction: column;
        min-height: 80vh;
        position: relative;
        background-color: rgb(245,245,245);
    }

        .contenitoreArea:before, .contenitoreArea:after {
            -webkit-box-flex: 1;
            box-flex: 1;
            -webkit-flex-grow: 1;
            flex-grow: 1;
            content: '';
            display: block;
            height: 24px;
        }

    .internoArea {
        -webkit-flex-shrink: 0;
        flex-shrink: 0;
        background: #fff;
        -webkit-box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14), 0 3px 1px -2px rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.2);
        box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14), 0 3px 1px -2px rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.2);
        display: block;
        margin: 0 auto;
        min-height: 0;
        width: 400px;
        min-height: 428px;
        padding: 48px 40px 36px;
        box-sizing: border-box;
    }

        .internoArea img {
            height: 30px;
            display: block;
        }

    .accedi {
        font-size: 24px;
        font-weight: 400;
        line-height: 32px;
        margin: 0;
        padding-top: 16px;
    }

    .utilizza {
        padding-bottom: 3px;
        padding-top: 1px;
    }

    .accesso {
        padding: 30px 0px 0px 0px;
    }

    .inputBot {
        width: 100%;
        box-sizing: border-box;
        border: 0;
        border-bottom: 1px solid lightgrey;
        padding: 3px;
        font-size: 14px;
        font-weight: 300;
        margin-bottom: 20px;
        outline: none;
    }

    .accessonegato {
        font-size: 12px;
    }

    .contenitoreNega {
        height: 20px;
    }

    .contenitoreaccedi {
        margin-top: 30px;
    }

    .accessoform {
        -webkit-user-select: none;
        -webkit-transition: background .2s .1s;
        transition: background .2s .1s;
        border: 0;
        -webkit-border-radius: 3px;
        border-radius: 3px;
        cursor: pointer;
        display: inline-block;
        font-size: 14px;
        font-weight: 500;
        min-width: 4em;
        outline: none;
        overflow: hidden;
        position: relative;
        text-align: center;
        text-transform: uppercase;
        -webkit-tap-highlight-color: transparent;
        z-index: 0;
        background: #4285f4;
        color: #fff;
        padding: 10px 30px;
        float: right;
        width: 150px;
    }
