html{ 
    height: 100%; 
    position: relative;
    font-size: 20px;
}
   
body{
    height: 100%;
    line-height: 1.5;
    padding: 1px 0 0 0;
    margin: -1px 0 0 0;
    position: relative;
    text-align: left;
    font-family: 'Source Sans Pro', Arial, Helvetica, sans-serif;
    color: #3C3C3B;
    background: #FFFFFF;
    -webkit-text-size-adjust: none;
       -moz-text-size-adjust: none;
        -ms-text-size-adjust: none;
         -o-text-size-adjust: none;
            text-size-adjust: none; 
}

table{
    line-height: 1.5;
    margin: 0px;
    padding: 0px;
    font-family: 'Source Sans Pro', Arial, Helvetica, sans-serif;
    font-size: 16px; 
    text-align: left;
    border-collapse: collapse;
}

a { 
    text-decoration: none; 
    color: inherit;
}
.no-touch a:hover {opacity: 0.6;}
.no-touch .hover_und:hover {text-decoration: underline;}

a span  { cursor: pointer; }

img { border: 0px; }

abbr { border: none; text-decoration: none; cursor: help; }
address { font-style: normal; }

article, header, hgroup, section, aside, nav, footer, figure, main, button 
{ display: block; }

.center         { text-align: center;}
.left           { text-align: left;}
.right          { text-align: right;}
.giustificato   { text-align: justify;}

.maiuscolo { text-transform: uppercase;}
.weight_normal { font-weight: normal;}
.weight_bold { font-weight: bold;}
.weight_black { font-weight: 900;}
.weight_semibold { font-weight: 600;}
.italic { font-style: italic;}
.underline {text-decoration: underline;}

.reset          { margin: 0; padding: 0; list-style: none; font-weight: normal; font-size: inherit; }
    button.reset { border: none; border-spacing: 0; background: none; }
.hidden         { visibility: hidden; }
.visibile       { display: block; }
.invisibile     { display: none; }
.clear          { clear: both; }
    .clear_left { clear: left; }
    .clear_right{ clear: right; }
.clearfix:after { content: ''; height: 0; display: block; visibility: hidden; clear: both; }

.float_right    { float: right; }
.float_left     { float: left; }
.relative       { position: relative;}

.desk_hidden { display: none; }

.center_width { padding-left: 20px; padding-right: 20px; margin-left: auto; margin-right: auto; box-sizing: border-box; }
.center_width.xs { max-width: 600px; }
.center_width.s  { max-width: 860px; }
.center_width.m  { max-width: 1024px; }
.center_width.w  { max-width: 1150px; }

strong {font-weight: 700;}
.semibold {font-weight: 600;}

.c_color_1 {color: #009FE3;}

#alert_noscript{
    padding: 10px;
    position: relative;
    z-index: 10;
    font-weight: bold;
    text-align: center;
    letter-spacing: .1em;
    background: #ED7B7B;
}
    .js #alert_noscript { display: none; }



#alert_cookies {
    width: 100%;
    padding: 15px 0;
    background: #000;
}
    .js #alert_cookies {
        position: fixed;
        top: 0;
        left: 0;        
        z-index: 100000;
    }

    #alert_cookies > div {
        max-width: 920px;
        padding: 0 60px 0 10px;
        margin: 0 auto;
        position: relative;
        color: #ffffff;
        font-size: 12px;
    }

        #alert_cookies a { color: #FFFFFF;}
        #alert_cookies #cookies_ok {
            padding: 8px;
            border: 1px solid #FFFFFF;
            position: absolute;
            top: 0;
            right: 10px;
            font-size: 15px;
        }


#contenitore {
    min-height: 100%;
    padding: 0;
    margin: 0 auto;
    box-sizing: border-box; 
    position: relative;
    z-index: 2;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    -webkit-font-smoothing: antialiased;
}
    
    #intestazione {
        padding-top: 2rem;
        padding-bottom: 2rem;
        margin-bottom: 1rem;
       }
        #main_logo {margin: 0; padding: 0;}


    #contenuto [class^="title_"] {
        margin: 0;
        font-weight: 600;
        line-height: 1.1;
    }

        #contenuto .title_1 {
            font-size: 1.5rem;
            position: relative;
        }


#footer {
    padding-top: 1.2rem;
    padding-bottom: 1.2rem;
    margin-top: 2.5rem;
    color: #FFF;
    background: #3C3C3B;
}
    #footer .footer_logo { margin: 0 0 10px 0; }
    #footer .legal { 
        margin: 0; 
        font-size: 12px;
        font-weight: 300;
        color: #9D9D9C;
    }
        #footer .legal a { color: #9D9D9C; }
        .no-touch #footer .legal a:hover { text-decoration: underline; }

@media (min-width: 769px) {

    html {font-size: 24px;}

}