﻿body {
    font-family: Montserrat, sans-serif;
    padding: 0;
    margin: 0;
    font-size: 18px;
    color: #0a5285;
}

@font-face {
    font-family: 'Prata';
    src: url('/fonts/Prata-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}


.CursorPointer {
    cursor: pointer;
}

.TestoOpenSans {
    font-family: 'Open Sans', sans-serif;
}

.FontPrata {
    font-family: 'Prata', serif;
}

.FontPoppins {
    font-family: Poppins, sans-serif;
}

.CorpoDivFollow {
    background-color: #bfbfbf;
    width: 50%;
    float: left;
    margin: 5px 0;
    padding: 20px;
    text-align: left;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}


#DivFollow{
    display:normal;
}


#DivFollow.fixed {
    background-color: #ffffff;
    box-shadow: 0 10px 12px -12px rgba(0,0,0,0.5);
    position: fixed;
    top: 0px;
    width: 100%;
    text-align: center;
    padding: 0px;
    z-index: 999999999999999;
}

#DivFollow.fixed a {
    color: #ffffff;
}

#DivFollowMobile {
    display: normal;
}

    #DivFollowMobile.fixed {
        background-color: #ffffff;
        box-shadow: 0 10px 12px -12px rgba(0,0,0,0.5);
        position: fixed;
        top: 0px;
        width: 100%;
        text-align: center;
        padding: 0px;
        z-index: 99999;
        border-bottom: 1px solid #f4f4f4;
    }

        #DivFollowMobile.fixed a {
            color: #ffffff;
        }

h1{
    font-size:1em;
    margin:0px;
    padding:0px;
    line-height:normal;
    font-weight:normal;
}

h2, h3 {
    margin: 0;
    line-height: normal;
}


.Altezza{
    height:1vh;
    clear:both;
}

.Altezza44 {
    height: 44px;
}

.Altezza80 {
    height: 100px;
}

.Altezza100 {
    height: 100px;
}

.Altezza250 {
    height: 250px;
}

.Altezza350 {
    height: 350px;
}

.AltezzaPaginaVuota{
    min-height:400px;
}

.MaxImage{
    max-width: 100%;
    max-height:100%;
}

.Image{
    width: 100%;
    max-height:100%;
}

.Lighter{
    font-weight:lighter;
}

.LineHeight22 {
    line-height: 22px;
}

.LineHeight30 {
    line-height:30px;
}

.LineHeight40 {
    line-height:50px;
}
.LineHeight60 {
    line-height:60px;
}
.Uppercase{
    text-transform:uppercase;
}

.NoUppercase {
    text-transform:none;
}

.PositionRelative{
    position:relative;
}

.PositionAbsolute {
    position:absolute;
}

.FloatSx{
    float:left !important;
}

.FloatDx{
    float:right !important;
}

.FloatNo{
    float:none !important;
}

/***********************
EFFETTO HOVER
***********************/
.DivEffettoHover  {
    position: relative;
    width: 100%;
    float:left;
    cursor:pointer;
}

.ImgEffettoHover {
  opacity: 1;
  display: block;
  width: 100%;
  height: auto;
  transition: .5s ease;
  backface-visibility: hidden;
}

.EffettoHoverVerde {
  transition:.5s ease;
  opacity: 0;
  position: absolute;
  transform: translate(-0%, -100%);
  -ms-transform: translate(-0%, -100%);
  width:100%;
  height:100%;
    background:url(/images/sfondo_verde.png);
    background-position:top center;
    background-repeat:repeat;
}

.EffettoNomeArticolo {
    width:100%;
}

.DivEffettoHover:hover .EffettoHoverVerde {
    opacity: 1;
}

.DivEffettoHover:hover .EffettoNomeArticolo {
  opacity: 0;
}

/***********************
 TOOGLE
***********************/
#ElencoMenuMobile {
    display:none;
}

.MenuToogle {
    width:100%;
    display:block;
    padding:8px 0 0 0;
    cursor:pointer;
    margin:0px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}


#ElencoMenuMobile{
    width:100%;
    z-index:201;
    position:absolute;
    float:left;
    display:none;
    top:35px;
    list-style:none;
    margin-left:-40px;
}


/***********************
 FINE TOOGLE
***********************/

/***********************
    LINK
***********************/

a:link, a:visited {
    text-decoration: none;
    color: #1f95ec !important;
}

a:hover{
    text-decoration:none;
    color:#333333;
}
.LinkBianco:link, .LinkBianco:visited{
    color:#ffffff !important;
    text-decoration:none;
}
.LinkBianco:hover{
    text-decoration:none;
}

.LinkNero:link, .LinkNero:visited {
    color: #000000 !important;
    text-decoration: none;
}
.LinkNero:hover {
    text-decoration: none;
}

.LinkGrigio:link, .LinkGrigio:visited{
    color:#333333 !important;
    text-decoration:none;
}
.LinkGrigio:hover{
    text-decoration:none;
}

.LinkAzzurro:link, .LinkAzzurro:visited{
    color:#19a3b5 !important;
    text-decoration:none;
}
.LinkAzzurro:hover{
    text-decoration:none;
}

.LinkSmeraldo:link, .LinkSmeraldo:visited{
    color:#35a0ab !important;
    text-decoration:none;
}
.LinkSmeraldo:hover{
    text-decoration:none;
}

.LinkBlu:link, .LinkBlu:visited{
    color:#034764 !important;
    text-decoration:none;
}
.LinkBlu:hover{
    text-decoration:none;
}



/***********************
    CORPO
***********************/


.Corpo5 {
    width:5%;
    float:left;
}

.Corpo7e5 {
    width:7.5%;
    float:left;
}

.Corpo10 {
    width:10%;
    float:left;
}

.Corpo12e5 {
    width:12.5%;
    float:left;
}


.Corpo15 {
    width:15%;
    float:left;
}

.Corpo20 {
    width:20%;
    float:left;
}

.Corpo25 {
    width:25%;
    float:left;
}

.Corpo30 {
    width:30%;
    float:left;
}

.Corpo33 {
    width: 33.33333333%;
    float: left;
}

.Corpo35 {
    width:35%;
    float:left;
}

.Corpo40 {
    width:40%;
    float:left;
}

.Corpo45 {
    width:45%;
    float:left;
}

.Corpo50 {
    width:50%;
    float:left;
}

.Corpo55 {
    width:55%;
    float:left;
}

.Corpo60 {
    width:60%;
    float:left;
}

.Corpo65 {
    width:65%;
    float:left;
}

.Corpo70 {
    width:70%;
    float:left;
}

.Corpo75 {
    width:75%;
    float:left;
}

.Corpo80 {
    width:80%;
    float:left;
}

.Corpo85 {
    width:85%;
    float:left;
}

.Corpo90 {
    width:90%;
    float:left;
}

.Corpo100 {
    width:100%;
    float:left;
}

/***********************
    ALLINEAMENTI
***********************/

.AllineaTestoSx {
    text-align:left;
}

.AllineaTestoCentro {
    text-align:center !important;
}

.AllineaTestoDx {
    text-align:right;
}

.AllineaTestoGiustifica {
    text-align:justify;
}


/***********************
   BORDI
***********************/

.BordoNo{
    border:0!important;
}

.BordoSinistro {
    border-left: solid 1px #33cea5;
}

.BordoDestro {
    border-right: solid 1px #cccccc;
}

.BordoBottom {
    border-bottom: solid 1px #33cea5;
}

.BordoTop {
    border-top: solid 1px #33cea5;
}

.Bordo {
    border: solid 1px #33cea5;
}

.BordoSinistroGrigio {
    border-left: solid 1px #e1dede;
}

.BordoDestroGrigio {
    border-right: solid 1px #e1dede;
}

.BordoBottomGrigio {
    border-bottom: solid 1px #e1dede;
}

.BordoBottomVerde5 {
    border-bottom: solid 5px #3aa002;
}



.BordoTopGrigio {
    border-top: solid 1px #e1dede;
}

.BordoGrigio {
    border: solid 1px #999999;
}

.BordoVerde5 {
    border: solid 5px #3aa002;
}


.BordoArrotondato10 {
    border-radius: 10px;
}

.BordoArrotondato20 {
    border-radius: 20px;
}

.BordoArrotondato30 {
    border-radius: 30px;
}

.BordoArrotondato50 {
    border-radius: 50px;
}

/***********************
   PADDING e MARGINI
***********************/

.IncludiPadding{
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.Padding6x10{
    padding:6px 10px;
}

.Padding6x6{
    padding:6px 6px;
}

.Padding0x5{
    padding:0px 5px;
}

.Padding5x0{
    padding:5px 0px;
}
.Padding5x5{
    padding:5px 5px;
}

.Padding8x10{
    padding:8px 10px;
}

.Padding10x5 {
    padding: 10px 5px;
}

.Padding10x50 {
    padding: 10px 50px;
}

.Padding5x10 {
    padding: 5px 10px;
}

.Padding0x10 {
    padding: 0px 10px;
}

.Padding0x30 {
    padding: 0px 30px;
}

.Padding0x10x0x0{
    padding:0px 10px 0px 0px;
}

.Padding0x5x0x0{
    padding:0px 5px 0px 0px;
}

.Padding0x5x5x0{
    padding:0px 5px 5px 0px;
}

.Padding0x0x5x0{
    padding:0px 0px 5px 0px;
}

.Padding0x0x0x5{
    padding:0px 0px 0px 5px;
}

.Padding10x0x0x5{
    padding:10px 0px 0px 5px;
}

.Padding10x0x0x0{
    padding:10px 0px 0px;
}

.Padding5x0x0x0{
    padding:5px 0px 0px 0px;
}

.Padding0x30{
    padding:0px 30px;
}

.Padding0x80{
    padding:0px 80px;
}

.Padding10x0{
    padding:10px 0px;
}

.Padding10x10{
    padding:10px 10px;
}

.Padding10x30{
    padding:10px 30px;
}

.Padding20x0{
    padding:20px 0px;
}
.Padding20x0x0x0 {
    padding: 20px 0px 0px 0px;
}
.Padding13x10 {
    padding: 13px 10px;
}

.Padding15x0x0x0{
    padding:15px 0px 0px 0px;
}


.Padding15x10{
    padding:15px 10px !important;
}

.Padding16x10{
    padding:16px 10px;
}

.Padding16x10x15x10{
    padding:16px 10px 15px 10px;
}

.Padding20x10{
    padding:20px 10px;
}

.Padding25x10{
    padding:25px 10px;
}

.Padding20x20{
    padding:20px 20px;
}

.Padding30x0{
    padding:30px 0px;
}

.Padding30x10{
    padding:30px 10px;
}

.Padding30x20 {
    padding:30px 20px;
}

.Padding30x30{
    padding:30px 30px;
}

.Padding30x60{
    padding:30px 60px;
}

.Padding55x0x0x0{
    padding:55px 0 0 0;
}

.Padding40x20x10x20{
    padding:40px 20px 0px 20px;
}

.Padding40x10{
    padding:40px 10px;
}
.Padding40x40{
    padding:40px 40px;
}

.Padding50x10{
    padding:50px 10px;
}


.Padding60x0{
    padding:60px 0;
}

.Padding60x60{
    padding:60px 60px;
}

.Padding60x50{
    padding:60px 50px;
}
.Padding60x20{
    padding:60px 20px;
}

.Padding20x10x0x10{
    padding:20px 10px 0 10px;
}

.Padding100x0 {
    padding: 100px 0;
}


.MarginPercent0x10{
    margin:0 10%;
}

.MarginPercent50x50{
    margin:50% 50%;
}

.MarginPercent0x20 {
    margin: 0 20%;
}

.MarginPercent0x30 {
    margin: 0 30%;
}

.MarginPercent0x40 {
    margin: 0 40%;
}


.Margin10x50 {
    margin: 10px 50px;
}

.Margin10x0x0x0{
    margin:10px 0 0 0;
}


.Margin0x10x0x0{
    margin:0 10px 0 0;
}

.Margin0x0x30x0{
    margin:0 0 30px 0;
}

.Margin10x0 {
    margin:10px 0;
}

.Margin10x0x0x0{
    margin:10px 0 0 0;
}

.Margin50x0x0x0{
    margin:50px 0 0 0;
}

.Margin5x0x0x0{
    margin:5px 0 0 0;
}

/***********************
    SFONDI
***********************/

.SfondoMenu {
    background-image: url('/images/sfondo-menu.jpg'); /* percorso corretto */
    background-size: cover; /* copre tutto il div senza ripetizioni */
    background-position: center; /* centrato */
    background-repeat: no-repeat; /* non ripete */
    position: relative; /* per contenere elementi assoluti sopra */
    width: 100%;
    height: 734px; /* o quello che ti serve */
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.SfondoExpertise {
    background-image: url('/images/sfondo-expertise.jpg'); /* percorso corretto */
    background-size: cover; /* copre tutto il div senza ripetizioni */
    background-position: center; /* centrato */
    background-repeat: no-repeat; /* non ripete */
    position: relative; /* per contenere elementi assoluti sopra */
    width: 100%;
    /*height: 734px;*/ /* o quello che ti serve */
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.SfondoMission {
    background-image: url('/images/sfondo-mission.jpg'); /* percorso corretto */
    background-size: cover; /* copre tutto il div senza ripetizioni */
    background-position: center; /* centrato */
    background-repeat: no-repeat; /* non ripete */
    position: relative; /* per contenere elementi assoluti sopra */
    width: 100%;
    /*height: 734px;*/ /* o quello che ti serve */
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.TestoInSovrimpressione, .ImmagineInSovrimpressione {
    position: relative; /* importante per sovrapporre senza scavalcare lo sfondo */
    z-index: 2; /* sopra lo sfondo */
    color: white; /* visibilità su sfondo scuro */
}

.SfondoPunterellato {
    background-image:url(/images/sfondo.jpg);
    background-repeat:repeat;
}

.SfondoSpacer{
    background-image:url(/images/spacer_scuro.png);
    background-repeat:repeat;
}

.SfondoNero {
    background-color: #222223;
}

.SfondoBianco {
    background-color:#ffffff;
}

.SfondoBlu {
    background-color: #0a5285;
}

.SfondoDotted {
    background:url("/images/icone/spacer_dotted.png");
    background-repeat:repeat;
    width:100%;
    height:100%;
    top:0px;
    left:0px;
    float:left;
    position:absolute;
    z-index:7;
}

.SfondoApproccio {
    background: url("/images/sfondo_approccio.jpg");
    background-repeat:no-repeat;
    background-position:top center;
}


.SfondoAzzurro {
    background-color: #3180e1;
}
.SfondoAzzurroLanding {
    background-color: #1f95ec;
}


.SfondoAzzurroChiaro {
    background-color: #deefff;
}

.SfondoGrigio {
    background-color: #eeeeee;
}

.SfondoGrigioChiaro {
    background-color:#f1f5f6;
}

.SfondoGrigioScuro {
    background-color:#1a1a1a;
}

.SfondoVerde {
    background-color: #91a459;
}

.SfondoVerdeChiaro {
    background-color: #e1e3da;
}


.HoverRosso:hover {
    background-color: #ba170f;
}

.SfondoSmeraldo {
     background-color: #35a0ab;
}

.SfondoAmaranto {
    background-color: #760130;
}

.SfondoRosso {
    background-color: #fe0000;
}

.SfondoGiallo {
    background-color: #d8bd00;
}




/***********************
    COLORI
***********************/
.ColoreBianco{
    color:#ffffff;
}

.ColoreGiallo {
    color: #d8bd00;
}

.ColoreGrigio {
    color: #333333;
}

.ColoreGrigioChiaro {
    color:#666666;
}

.ColoreGrigioScuro {
    color:#2e2e2e;
}

.ColoreNero{
    color:#1a1a1a;
}

.ColoreRosso {
    color:#ff0000;
}

.ColoreAzzurro {
    color: #1f95ec;
}

.ColoreSmeraldo {
    color: #35a0ab;
}

.ColoreBlu {
    color: #0a5285;
}

.ColoreAmaranto {
    color: #760130;
}

.ColoreVerde {
    color: #91a459;
}

/***********************
    TESTI
***********************/
.Testox0e5 {
    font-size: .5em;
}

.Testox0e7 {
    font-size: .7em;
}

.Testox0e8 {
    font-size: .8em;
}

.Testox0e9 {
    font-size: .9em;
}

.Testox1 {
    font-size: 1em;
}


.Testox1e1 {
    font-size: 1.1em;
}

.Testox1e3 {
    font-size: 1.3em;
}

.Testox1e5 {
    font-size: 1.5em;
}

.Testox2 {
    font-size: 2em;
}

.Testox2e3 {
    font-size: 2.3em;
}

.Testox2e5 {
    font-size: 2.5em;
}

.Testox3 {
    font-size: 3em;
}

.Testox4 {
    font-size: 4em;
}

.Testox5 {
    font-size: 5em;
}

.Testox7 {
    font-size: 7em;
}

.Font100 {
    font-weight: 100;
}

.Font300 {
    font-weight: 300;
}
.Font400 {
    font-weight: 400;
}
.Font500 {
    font-weight: 500;
}

.Font600 {
    font-weight: 600;
}

.Font700 {
    font-weight: 700;
}

.LetterSpacing-1 {
    letter-spacing: -1px;
}

.LetterSpacing-2 {
    letter-spacing: -2px;
}

.LetterSpacing-3 {
    letter-spacing: -3px;
}

.LetterSpacing-5 {
    letter-spacing: -5px;
}

.Justify {
    text-align:justify;
}

.FontDancingScript {
    font-family: 'Dancing Script', cursive;
}

.FontCourgette {
    font-family: 'Courgette', cursive;
}

.FontGreatVibes {
    font-family: 'Great Vibes', cursive;
}

/***********************
   FORM
***********************/

.DDLRespo{
    width:100%;
    border:solid 1px #cccccc;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.DDLRespo:focus { 
    outline: none; 
    border: 1px solid #cccccc; 
    box-shadow: 0px 0px 8px #cccccc; 
    -moz-box-shadow: 0px 0px 8px #cccccc; 
    -webkit-box-shadow: 0px 0px 8px #cccccc; 
}


.TxtRespo {
    width: 100%;
    border: solid 1px #cccccc;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
} 
 
.TxtRespo:focus { 
    outline: none; 
    border: 1px solid #cccccc; 
    box-shadow: 0px 0px 8px #cccccc; 
    -moz-box-shadow: 0px 0px 8px #cccccc; 
    -webkit-box-shadow: 0px 0px 8px #cccccc; 
}



.PulsanteVerde {
    display: inline-block;
    width: auto;
    background-color: #91a459;
    border: 1px solid #91a459;
    color: #ffffff !important;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s ease-in-out;
}

    .PulsanteVerde:hover {
        background-color: #81924f;
        color: #ffffff !important;
    }

.PulsanteBiancoAzzuro {
    display: inline-block;
    width: auto;
    background-color: #ffffff;
    border: 1px solid #1f95ec;
    color: #ffffff !important;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s ease-in-out;
}

    .PulsanteBiancoAzzuro:hover {
        background-color: #1f95ec;
        color: #ffffff !important;
    }

.PulsanteTrasparenteAzzuro {
    display: inline-block;
    width: auto;
    background-color: transparent;
    border: 1px solid #1f95ec;
    color: #1f95ec !important;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s ease-in-out;
}

    .PulsanteTrasparenteAzzuro:hover {
        background-color: #1f95ec;
        color: #ffffff !important;
    }

a.PulsanteBlu, .PulsanteBlu {
    display: inline-block;
    background-color: #0f4c81;
    color: #fff !important;
    border-radius: 30px;
    font-weight: 700;
    text-decoration: none;
    padding: 12px 30px;
    transition: background-color 0.3s ease;
}

    .PulsanteBlu:hover {
        background-color: #0c3d6a;
        color: #fff !important;
    }

/*********************************
POPUP
********************************/

.PopupSfondo
{
    background-image:url(/images/icone/spacer_scuro.png);
    background-repeat:repeat;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding:0px;
    z-index:1000;
    overflow:auto;
    }

.PopupContainer
{
    width:100%;
    z-index:201;
    position:absolute;
    padding:0px;
    top:50px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    }

.PopupCorpo {
    width:80%;
    float:left;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

/*********************************
COOKIE
********************************/

.BarraCookie{
    position:fixed;
    bottom:0;
    z-index:100000000;
    width:100%;
    background-image:url(/images/icone/spacer_scuro.png);
    background-repeat:repeat;
    color:#ffffff;
}

/*********************************
GRIGLIA
********************************/

.GridStyle td {
    border: solid 1px #ebebeb
}

.GridStyle th {
    height: 40px;
    background: #e8e8e8;
    border: solid 1px #fff;
    padding: 5px;
    font-size: .9em;
    font-weight: 400;
    text-transform: uppercase
}

    .GridStyle th a {
        color: #000;
        font-size: .9em;
        font-weight: lighter;
        text-transform: uppercase;
        text-decoration: none
    }

.GridStyle .Row a {
    color: #000
}

    .GridStyle .Row a:hover {
        color: #fff;
        text-decoration: none
    }

.GridStyle .Row:hover {
    background: #aedb63
}

.GridStyle .Alt {
    background: #f1f1f1
}

    .GridStyle .Alt:hover {
        background: #dbeffb
    }

    .GridStyle .Alt a {
        color: #000
    }

        .GridStyle .Alt a:hover {
            color: #fff;
            text-decoration: none
        }

.GridStyle .Edit {
    background-color: #f7ffb3
}

    .GridStyle .Edit a {
        color: #b00000
    }

        .GridStyle .Edit a:hover {
            color: #11447d
        }

.GridStyle .Pgr {
    background: #ebebeb
}

    .GridStyle .Pgr table {
        border-left: solid 1px #666
    }

    .GridStyle .Pgr td {
        color: #666
    }

    .GridStyle .Pgr a {
        color: #b00000;
        text-decoration: none
    }

        .GridStyle .Pgr a:hover {
            color: #12496b;
            text-decoration: none
        }

.page {
    display: inline-block;
    padding: 10px 10px;
    margin-right: 4px;
    border-radius: 3px;
    border: solid 1px silver;
    background: #e9e9e9;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8),0 1px 3px rgba(0,0,0,.1);
    font-size: .875em;
    font-weight: 700;
    text-decoration: none;
    color: #717171;
    text-shadow: 0 1px 0 rgba(255,255,255,1)
}

    .page:hover {
        background: #fefefe;
        background: -webkit-gradient(linear,0 0,0 100%,from(#fefefe),to(#f0f0f0));
        background: -moz-linear-gradient(0 0 270deg,#fefefe,#f0f0f0)
    }

    .page.active {
        border: none;
        background: #dd9b06;
        box-shadow: inset 0 0 8px rgba(0,0,0,.5),0 1px 0 rgba(255,255,255,.8);
        color: #f0f0f0;
        text-shadow: 0 0 3px rgba(0,0,0,.5)
    }

.nextPreviousButtonCSS {
    display: none
}

/******************************************
PROGRESS TEMPLATE
*******************************************/

.Zindex10{
    z-index:10;
}

.Zindex20{
    z-index:20;
}

.Progress
{
    position:fixed !important;
    top:0;
    right:0;
    bottom:0;
    left:0;
    background-image:url(/images/spacer_scuro.png);
    background-repeat:repeat;
    text-align:center;
}

      
.CentraDivOrizzontale{
    position: absolute;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}  
      
#ContenutoProgress
{
    position:absolute; 
    top:40%;
    background-color:#ffffff;
    margin:0 auto;
    border:solid 7px #eea424;
    text-align:center;
    font-size:20px;
    color:#000000;
    padding:20px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.ProgressAjax{
    width:100%;
    height:auto !important;
    display:none;
    background-color:#ffffff;
    position:absolute;
    color:#000000;
}


/***********************
EFFETTO HOVER
***********************/
.DivEffettoHover {
    position: relative;
    width: 100%;
    float: left;
    cursor: pointer;
}

.ImgEffettoHover {
    opacity: 1;
    display: block;
    width: 100%;
    height: auto;
    transition: .5s ease;
    backface-visibility: hidden;
}

.EffettoHoverArancio {
    transition: .5s ease;
    opacity: 0;
    position: absolute;
    transform: translate(-0%, -100%);
    -ms-transform: translate(-0%, -100%);
    width: 100%;
    height: 100%;
    background: url(/images/sfondo-giallo.png);
    background-position: top center;
    background-repeat: repeat;
}


.DivEffettoHover:hover .EffettoHoverArancio {
    opacity: 1;
}

.DivEffettoHover:hover .EffettoNomeArticolo {
    opacity: 0;
}

#TitoloServizio:hover {
    color: #ffffff;
    background-color: #ebc60b;
}


/******************************************
RISPOSTA SOPRA
*******************************************/

.RispostaSopra {
    background-image: url(/images/spacer.png);
    background-repeat: repeat;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 10px;
    z-index: 7000;
    overflow: auto;
}

.RiquadroRispostaSopra {
    width: 600px;
    min-height: 240px;
    left: 50%;
    margin-left: -325px;
    background-color: #ffffff;
    z-index: 201;
    position: absolute;
    top: 160px;
    border-radius: 5px;
    -moz-border-radius: 5px; /* Per Firefox*/
    -webkit-border-radius: 5px; /* Per Chrome*/
}

.SfondoLungo {
    background-color: #001623;
    width: 100%;
    margin: 0 0 20px 0;
    padding: 10px 20px;
    float: left;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
}


.RiquadroRispostaSotto {
    width: 100%;
    float: left;
    margin: 0 0 10px 0;
    padding: 0px 20px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}


.Chiudi {
    background-color: #001623;
    width: 100%;
    float: left;
    margin: 0;
    padding: 10px 20px;
    text-align: right;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}


.RiquadroRispostaSottoSx {
    width: 50%;
    float: left;
    padding: 20px 10px;
    text-align: center;
    border-right: 1px solid #f1f1f1;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.RiquadroRispostaSottoDx {
    width: 50%;
    float: left;
    padding: 20px 10px;
    text-align: center;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.Interlinea30 {
    line-height: 30px;
}

.Interlinea40 {
    line-height: 40px;
}

.DivFlex {
    display: flex;
}

.FlexEnd {
    justify-content: flex-end;
}

.Gap10{
    gap:10px;
}

.Altezza100PerCento {
    height: 100%;
}

.FlexCentro {
    display: flex;
    justify-content: center;
    align-items: center;
}

.DivFlexCol {
    display: flex;
    flex-direction: column;
}

.AllineaVerticale {
    display: flex;
    align-items: center; /* centra verticalmente */
    justify-content: center; /* opzionale */
    flex-wrap: wrap; /* ✅ abilita la modalità responsive */
}

.ColonnaDestraAllungabile {
    display: flex;
    flex-direction: column;
}

.SpazioFlessibile {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.FrecciaAllineata {
    position: relative;
    top: 2px;
    vertical-align: middle;
}
#menuProva {
    visibility: visible !important;
    opacity: 1 !important;
    display: block !important;
    position: relative !important;
    height: auto !important;
}


.owl-one {
    overflow: hidden;
}

    .owl-one .item img {
        display: block;
        width: 100%;
        height: auto;
        object-fit: cover;
    }

.OverlayFrase {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    width: 100%;
    pointer-events: none;
    text-align: center;
}

.FraseHeader {
    padding: 0 10px;
    width: 100%;
}

.SfondoPatternPizzeria {
    background-color: #e1e3da;
    background-image: url('/images/pizza-pattern.png');
    background-repeat: repeat;
    background-size: 320px 320px;
}

.ScrollOrizzontale {
    overflow-x: scroll;
    overflow-y: hidden;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    width: 100%;
    display: flex;
}

    .ScrollOrizzontale::-webkit-scrollbar {
        width: 0.5rem; /* Imposta la larghezza desiderata per la scrollbar */
        height: 0.6rem;
        background-color: #f1f1f1; /* Imposta il colore di sfondo della scrollbar */
    }

    .ScrollOrizzontale::-webkit-scrollbar-thumb {
        background-color: #fdbe01; /* Imposta il colore del pollice della scrollbar */
    }

        .ScrollOrizzontale::-webkit-scrollbar-thumb:hover {
            background-color: #fdbe01; /* Imposta il colore del pollice al passaggio del mouse */
        }

    .ScrollOrizzontale::-webkit-scrollbar-track {
        background-color: #f1f1f1; /* Imposta il colore di sfondo della track della scrollbar */
    }


/* Layout minimale */
.stats {
    width:100%;
}

.riga {
    margin: 18px 0;
}

.etichetta {
    display: flex;
    align-items: baseline;
    gap: .5rem;
    font-size: 12px;
    color: #6b6f74;
    position: relative;
}

    .etichetta .titolo {
        font-weight: 700;
        color: #1a1d20;
        font-size: 12px;
        letter-spacing: .2px;
    }

    .etichetta .sottotitolo {
        font-size: 11px;
        color: #9aa0a6;
    }

    .etichetta .valore {
        margin-left: auto;
        color: #1a1d20;
        font-weight: 600;
    }

/* Barra “track” */
.barra {
    position: relative;
    height: 50px;
    border-radius: 8px;
    background: #e9ecef;
    overflow: hidden;
}

/* Barra animata */
/* di default niente animazione */
.riempimento {
    position: absolute;
    inset: 0 auto 2px 0;
    width: 0;
    background: #1f95ec;
    border-radius: 8px;
}

    /* quando entra in viewport parte */
    .riempimento.animate {
        animation: grow 1.2s ease-in-out forwards;
    }

/* (opzionale) rispetto riduzione motion */
@media (prefers-reduced-motion: reduce) {
    .riempimento.animate {
        animation: none;
        width: var(--w);
    }
}

/* Linea sottile decorativa (grigio chiaro) come nello screenshot */
.barra::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 2px;
    background: #f4f5f6;
}

/* Larghezza finale presa dalla CSS var --w */
@keyframes grow {
    from {
        width: 0;
    }

    to {
        width: var(--w);
    }
}

/* Variante “mini” per secondarie: basta aggiungere .mini alla riga se la vuoi */
.riga.mini .riempimento {
    height: 7px;
}

/* MENU PRINCIPALE A DISCESA */

/* wrapper voci menu */
.NavbarMenu {
    gap: 0.75rem; /* opzionale: spaziatura coerente oltre a me-5 */
}

/* ogni voce top-level */
.nav-item {
    position: relative;
    display: inline-flex;
    align-items: center;
}

    .nav-item a:hover {
        color: #20a7f0 !important;
    }

        /* box del submenu - nascosto di default */
    .nav-item .submenu {
        position: absolute;
        top: 100%;
        left: 0;
        display: none; /* <— importante */
        min-width: 240px;
        background: #20a7f0;
        border-radius: 8px;
        box-shadow: 0 6px 24px rgba(0,0,0,.12);
        padding: 8px 0;
        z-index: 1000;
        overflow: hidden; /* assicura che esca fuori dall'header se serve */
    }

        /* link del submenu */
        .nav-item .submenu a {
            display: block;
            padding: 10px 14px;
            color: #ffffff !important; /* testo scuro su fondo bianco */
            text-transform: none; /* niente uppercase nelle voci interne */
            text-decoration: none;
            white-space: nowrap;
            border-bottom: solid 1px #1d96d7;
        }

            .nav-item .submenu a:hover {
                background: rgba(0,0,0,.06);
            }

    /* mostra i submenu "normali" (es. Expertise) */
    .nav-item:hover > .submenu:not(.two-cols) {
        display: block;
    }

    /* mostra il submenu a due colonne (Forniture) */
    .nav-item:hover > .submenu.two-cols {
        display: grid; /* <— SOLO su hover */
        grid-template-columns: 1fr 1fr;
        gap: 12px;
        padding: 12px; /* un po' più di respiro rispetto al default */
    }

/* se l'header ha overflow nascosto, permetti sovrapposizione */
header, .Header, .TopBar {
    overflow: visible;
}

/* colonne e titoli interni del submenu a due colonne */
.submenu-col {
    min-width: 300px;
}

.submenu-title {
    font-weight: 700;
    font-size: 0.95rem;
    padding: 6px 10px;
    margin-bottom: 6px;
    color: #0b2239; /* coerente con testo scuro */
    border-bottom: 1px solid rgba(0,0,0,.08);
}

/* ====== EFFETTO STICKY ====== */
/* Stato normale */
#TopNav {
    transition: all .25s ease; /* transizione morbida */
    will-change: transform, padding, background, box-shadow;
}

    /* Link menu (stato normale: bianchi) */
    #TopNav .NavbarMenu a {
        color: #fff; /* o la tua classe LinkBianco */
        text-decoration: none;
        transition: color .2s ease;
    }

        #TopNav .NavbarMenu a:hover {
            color: #20a7f0;
        }

    /* Logo (stato normale) */
    #TopNav img {
        transition: max-width .25s ease, filter .25s ease;
    }

    /* Submenu baseline (se serve) */
    #TopNav .submenu {
        top: 100%;
    }

    /* ====== STICKY ====== */
    #TopNav.is-sticky {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        background: #fff; /* barra bianca */
        box-shadow: 0 6px 16px rgba(0,0,0,.08);
        padding-top: 8px; /* riduciamo padding verticale */
        padding-bottom: 8px;
        z-index: 9999; /* sopra tutto */
    }

        /* Logo più piccolo in sticky */
        #TopNav.is-sticky img {
            max-width: 140px; /* da 200px a ~140px */
            filter: none; /* niente effetti */
        }

        /* Link azzurri in sticky */
        #TopNav.is-sticky .NavbarMenu a {
            color: #0a5285 !important;
        }

            #TopNav.is-sticky .NavbarMenu a:hover {
                color: #168dcf;
            }

            /* Se hai spunte/icone dentro i link, colorale anche loro */
            #TopNav.is-sticky .NavbarMenu a i,
            #TopNav.is-sticky .NavbarMenu a span {
                color: #20a7f0;
            }

        /* Submenu in sticky: leggero distacco */
        #TopNav.is-sticky .submenu {
            top: calc(100% );
        }

        #TopNav.is-sticky .submenu a {
            color:#ffffff !important;
        }
        
        /* Evita sovrascritture Bootstrap: aumenta specificità se serve */
            .navbar #TopNav.is-sticky .NavbarMenu a {
    color: #20a7f0;
}
/* Lingue in versione sticky */
#TopNav.is-sticky .MenuStickiLingua {
    color: #0a5285 !important;
}

    #TopNav.is-sticky .MenuStickiLingua:hover {
        color: #168dcf !important;
    }

/* Colora anche il separatore "|" che eredita dal contenitore */
#TopNav.is-sticky .Corpo15.AllineaTestoDx {
    color: #0a5285;
}


.IconaSocial {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%; /* rende il cerchio */
    background-color: transparent; /* sfondo trasparente */
    border: 2px solid #fff; /* opzionale: contorno bianco */
    color: #fff !important; /* colore dell’icona */
    transition: all 0.3s ease;
}

    .IconaSocial:hover {
        background-color: #fff;
        color: #20a7f0 !important; /* colore icona al passaggio del mouse */
    }

input.BordoBianco::placeholder {
    color: rgba(255, 255, 255, 0.7) !important;
}

/* BORDO GRIGIO CHIARO */
.BordoGrigioChiaro {
    border: 1px solid #e5e5e5;
}

    .BordoGrigioChiaro.Spaziato {
        border: 1px solid #d0d7e1;
        background-color: #fff;
        margin: 0 10px 20px 10px;
    }

/* OMBRA CHIARA */
.OmbraChiara {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* DISPLAY FLEX A COLONNA */
.DisplayFlexColumn {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* Contenitore flessibile per righe di box con altezza uniforme */
.RigaBoxUniforme {
    display: flex;
    flex-wrap: wrap;
}

/* Colonna che si adatta in altezza */
.ColonnaStessaAltezza {
    display: flex;
}

/* Contenuto del box che cresce e distribuisce bene gli elementi interni */
.ContenutoEstendibile {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex: 1;
}

.TestoClamp2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.TagCategoria {
    position: absolute;
    top: 12px;
    left: 12px;
    background-color: #0a5285; /* blu coerente col tuo ColoreBlu */
    color: #fff;
    font-size: 0.8rem;
    border-radius: 5px;
    padding: 5px 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
