@charset "utf-8";
/* CSS Document */
/* ==========================================================================
    MEDIA QUERIES
   ========================================================================== */

@media only screen and (min-width: 1240px) {
    .show_pc{
		display:block;
	}
	.hide_pc{
		display:none;
	}


	.flexbox{
		display:flex;
		justify-content:space-between;
		flex-direction:row;
	}
	.flexbox>div{
		flex: 1 0 auto;
		margin:0 10px;
	}



    

    /* ==========================================================================
    STILI SITO
    ========================================================================== */
    /* body {
        font-size: 18px;
        line-height: 30px;
        font-size: 20px;
        line-height: 36px;
        font-family: 'Poppins', sans-serif;
        background:#ffffff;
    } */
    h1 {
        font-size: 36px;
        line-height: 46px;
    }
    h2 {
        font-size: 28px;
        line-height: 36px;
        margin-bottom:20px;
    }
    .titolo_2{
        font-size: 34px;
        line-height: 40px;
        margin-bottom:20px;
    }
    h3 {
        font-size: 20px;
        margin-bottom:20px;
    }
    .titolo_3{
        font-size: 20px;
        margin-bottom:20px;
        font-weight:700;
    }
    p{
        font-size:20px;
        line-height:36px;
        font-size:18px;
        line-height:30px;
        margin-bottom:20px;
    }

    /* =================== ANCORE =================== */
    html {
        scroll-padding-top: 160px;
    }

    li.mobile_only{
        display:none!important;
    }


    /* =================== PULSANTI =================== */
    .btn_light{
        padding:10px 30px;
        font-size:18px;
    }
    .btn_light_red{
        padding:10px 30px;
        font-size:18px;
    }
    .btn_small{
        padding:0px 10px;
        font-size:13px;
    }


    /* ==========================================================================
   HEADER
   ========================================================================== */
    header{
        width: 100%;
        height: auto;
        padding-top:10px;
        padding-right:0;
    }
    #logo{
        width:auto;
        margin-top:0px;
        margin-left:0;
        margin-bottom:0;
        flex:0 0 25%;
        flex:0 0 411px;
    }
    #logo img{
      
    }
    #logo span{
        display:block;
        font-size:20px;
        line-height:28px;
        font-weight:bold;
        color:#b3b5b6; 
    }
    .header_dx{
        margin-top: 0px;
        justify-content:space-between;
        flex:1 0 60%;
        margin-bottom:20px;
    }
    .cont_network{
        display:flex!important;
    }
    .cont_network span{
        margin-top:10px;
    }



    /* ==========================  HEADER.TOPFISSO  ========================== */
    
    header.topfisso{
        padding-top:10px;
    }
    header.topfisso #logo{
        margin-top:10px;
    }
    header.topfisso #logo img{
        width:150px;
    }
    header.topfisso #logo span{
        font-size:16px;
        line-height:20px;
    }
    header.topfisso .cont_network{
        display:none!important;
    }
    header.topfisso .header_dx{
        flex-direction:row;
        justify-content:flex-end;
        align-items:flex-start;
        padding-top:10px;
    }
    header.topfisso .header_dx .cont_menu_e_network{
        margin-right:100px;
    }
    header.topfisso .cont_cerca_nel_sito{
        display:none;
    }
    header.topfisso .cont_main_menu{
        margin-top:10px;
        margin-top:0;
    }
    header.topfisso nav.menu-container ul li > a{
        font-size:12px;
        line-height:20px;
        padding:5px 20px 5px 20px;
        white-space:nowrap;
    }
    header.topfisso nav.menu-container ul li ul li a{
        font-size:14px;
        padding:5px 0 0 5px;
        white-space:normal;
    }
    header.topfisso nav.menu_istituzionale ul{
        margin-top:0;
    }

    header.topfisso .header_ar a strong{
        display:inline-block;
        padding-top:0px;
    }
    .cont_cerca_e_ar{
        display:flex;
        flex-direction:row;
    }
    
  /* versione form cerca nel sito dentro la pagina */
    .form_cerca_nel_sito.cerca_in_pagina input[type="text"]{
        min-width:300px;
     }
 

   
    /* padding per header fisso*/
    .cont_section{
        padding-top:200px;
    }
    .cont_home.cont_section{
        padding-top:180px;
    }



    /* in generale per tutte le form*/
    form.cmsForm .campo label{
        flex:0 0 30%;
    }
    form#form_login .campo label{
        flex:0 0 30%;
    }
    form#form_registrazione .campo label{
        flex:0 0 30%;
    }
    .space_label{
        flex:0 0 30%;
    }


    /* ==========================================================================
   CONTENUTI
   ========================================================================== */
    section#contenuti{
        display:flex;
        flex-direction:row;
        flex-wrap:nowrap;
        padding-bottom:100px;
    }
    .contenuto{
        flex:0 0 69%;
        margin-right:6%;
    }
    .contenuto_full{
        flex:0 0 100%;
        margin-right:0;
    }


    aside{
        flex:0 0 25%;
        margin-top:0;
    }

    
    .contenutoAr{
        flex:1 0 72%;
        margin-right:6%;
    }
    .dimensioni_colonna_sx{
        flex:1 0 72%;
        margin-right:6%;
    }

    /* ==========================================================================
    ASIDE
    ========================================================================== */

    aside{
        padding:20px;
    }
    .titolo_aside{
        font-size:20px;
        margin-bottom:30px;
    }
    nav.lista_temi_aside ul{
        display:block;
        margin-bottom:50px;
    }
    nav.lista_temi_aside ul li{
        display:block;
        flex-direction:row;
        padding:0px;
        text-align:right;
        margin-bottom:30px;
        height:120px;
    }
    nav.lista_temi_aside ul li a{
        display:flex;
        flex-direction:column;
        justify-content:flex-end;
        align-items:flex-end;
        color:#ffffff;
        font-weight:700;
        font-size:20px;
        padding:20px 20px 10px 35px;
        text-decoration:none;
        background:url("../images/banner-temi/bg_sx_tema.jpg") no-repeat left bottom;
        min-height:120px;
        }
    nav.lista_temi_aside ul li:hover{
        -webkit-filter: brightness(90%);
        filter: brightness(90%);
    }

    nav.lista_temi_aside ul li.banner_cantieri{
        background:url("../images/banner-temi/cantieri.jpg") no-repeat center center;
        background-size:100% 100%;
    }
    nav.lista_temi_aside ul li.banner_benessere{
        background:url("../images/banner-temi/benessere.jpg") no-repeat center center;
        background-size:100% 100%;
    }
    nav.lista_temi_aside ul li.banner_sicurezza_trasporto_ferroviario{
        background:url("../images/banner-temi/sicurezza_del_trasporto_ferroviario.jpg") no-repeat center center;
        background-size:100% 100%;
    }



    


    a.box_decalogo_aside{
        display:block;
        max-width:500px;
    }


  /* ==========================================================================
   ASIDE TEMI FISSI
   ========================================================================== */
    .decalogoFisso{
        position:fixed;
        top:180px;
    }


    /* ==========================================================================
   PAGINA ARGOMENTO
   ========================================================================== */
   .cont_lista_tipologie{
    width:100%;
    overflow-y:auto;
    overflow-x:auto;
}
   ul.lista_tipologie{
    flex-wrap:wrap;
}
ul.lista_tipologie li {
    flex: 0 0 24%;
}


    /* ==========================================================================
   CONTENUTO
   ========================================================================== */
    .header_contenuto{
        flex-direction:row;
    }
    .header_contenuto_testo h2{
        font-size:22px;
        line-height:36px;
    }
    .origine{
        font-size:18px;
        line-height:28px;
    }
    div.testo_contenuto p,
    div.testo_contenuto ul{
        font-size:20px;
        line-height:36px;
    }
    div.testo_contenuto ul{
        margin:20px 0 20px 40px;
    }
    ul.lista_allegati li{
        font-size:20px;
    }




    /* ==========================================================================
   PAGINA LOGIN
   ========================================================================== */
   .cont_login{
        max-width:800px;
        margin:0 auto;
   } 
   #form_login input[name="username"],
    #form_login input[name="password"]{
        max-width:auto;
    }

    /* ==========================================================================
    CTA
    ========================================================================== */
    .fascia_cta{
        padding:100px 0 120px 0;
        background:url("../images/bg_fascia_cta.jpg") no-repeat;
        background-size:100% 100%;
    }
    .fascia_cta p{
        font-size:30px;
        line-height:46px;
        margin-bottom:50px;
    }
  

    /* ==========================================================================
    FOOTER
    ========================================================================== */
    footer .wrapper{
        flex-direction:row;
    }
    .footer_frase{
        border-right:3px solid #ffffff;
        margin-right:70px;
        padding-right:100px;
        display:block;
    }
    

}

@media only screen and (min-width: 1400px) {
	.wrapper {
        width: 1400px;
        margin: 0 auto;
    }

    header nav.menu-container ul li > a{
        font-size:18px;
        line-height: 30px;
        padding: 0px 20px 0px 20px;
        white-space: normal;
    }
    header nav.menu-container ul li ul li a{
        white-space: normal;
    }
    header.topfisso nav.menu-container ul li > a{
        font-size:14px;
    }

        /* padding per header fisso*/
        .cont_section{
            padding-top:230px;
        }
        .cont_home.cont_section{
            padding-top:200px;
        }



     /* ==========================================================================
   ELENCO SOCI
   ========================================================================== */
   .cont_ricerca_soci{
        padding:20px;
   } 
   .cont_ricerca_soci .campo label{
        font-size:15px;
        line-height:18px;
        flex:0 0 150px;
        padding:10px 0;
    }
    .cont_ricerca_soci .campo select{
        padding:10px 0;
    }
    .cont_ricerca_soci .campo.ricerca_cognome input[type="text"]{
        max-width:300px;
        padding:10px 0;
    }
    .cont_ricerca_soci .campo.ricerca_attestati select,
    .cont_ricerca_soci .campo.ricerca_certificazioni select,
    .cont_ricerca_soci .campo.ricerca_competenze select,
    .cont_ricerca_soci .campo.ricerca_provincia select{
        max-width:300px;
        padding-left:10px;
    }
    .cont_ricerca_soci .campo.ricerca_cognome{
        flex:0 0 48%;
    }
   .cont_ricerca_soci .campo.ricerca_provincia{
        flex:0 0 48%;
    }
    .cont_ricerca_soci .campo.ricerca_btn input[type="submit"]{
        color:var(--blu);
        border:1px solid var(--blu);
        padding:7px 20px;
        margin-top:10px;
        font-size:20px;
    }


}