.logoprint {display: none;}
.hidden {display: none;}
/* Tavolozza per il redattore: sono classi che si scelgono a mano nei contenuti.
   Le tre che leggono come "il colore del sito" seguono il primario, ognuna su un gradino
   diverso, cosi' restano tre tinte distinguibili invece di collassare sullo stesso valore:
   .bg-blu il primario, .bg-bluscuro la sua variante scura, .bg-verde/.bg-oro l'accento.
   Le altre (.bg-rosa, .bg-rosso, .bg-azzurro, .bg-petrolio, .bg-grigiomedio) restano fisse:
   li' il redattore sta scegliendo un colore, non "il colore dell'ente".
   Il testo non e' piu' il #fff fisso, che spariva quando il primario era chiaro. */
.bg-blu {background-color:var(--iwp-primario, #003882) !important; color:var(--iwp-su-primario, #fff) !important;}
.bg-bluscuro {background-color:var(--iwp-primario-hover, #003274) !important; color:var(--iwp-su-primario-hover, #fff) !important;}
.bg-grigio {background-color: #ECEFF1 !important;}
.bg-oro {background-color: var(--iwp-accento, #857635) !important;}	/* era #9C8C3E: con testo bianco dava 3,0:1 */
.bg-verde {background-color: var(--iwp-accento, #51825F) !important;}
.verde {color: var(--iwp-accento-testo, #4E7E5B) !important;}
.oro {color: var(--iwp-accento-testo, #796C31) !important;}

/* Al passaggio cambiava il fondo e non il testo, che restava il #fff della regola base:
   con un primario chiaro la coppia si rompeva proprio nello stato hover. */
.btn-verde:hover {background-color: var(--iwp-primario-hover, #395C42)!important; color: var(--iwp-su-primario-hover, #fff)!important;}

.bg-azzurro {background-color: #0968B4 !important;}
.bg-grigiomedio {background-color: rgb(117,117,117) !important;}
.bg-rosa {background-color: #E5007B !important;}
.bg-rosso {background-color: #DB001B !important;}
.bg-petrolio {background-color: #455A64 !important;}

.mt0 {margin-top: 0px !important;}
.mb0 {margin-bottom: 0px !important;}
.ml0 {margin-left: 0px !important;}
.mr0 {margin-right: 0px !important;}
.mt8 {margin-top: 8px !important;}
.mb8 {margin-bottom: 8px !important;}
.ml8 {margin-left: 8px !important;}
.mr8 {margin-right: 8px !important;}
.mt16 {margin-top: 16px !important;}
.mb16 {margin-bottom: 16px !important;}
.ml16 {margin-left: 16px !important;}
.mr16 {margin-right: 16px !important;}
.mt24 {margin-top: 24px !important;}
.mb24 {margin-bottom: 24px !important;}
.ml24 {margin-left: 24px !important;}
.mr24 {margin-right: 24px !important;}
.mt32 {margin-top: 32px !important;}
.mb32 {margin-bottom: 32px !important;}
.ml32 {margin-left: 32px !important;}
.mr32 {margin-right: 32px !important;}
.mt40 {margin-top: 40px !important;}
.mb40 {margin-bottom: 40px !important;}
.ml40 {margin-left: 40px !important;}
.mr40 {margin-right: 40px !important;}
.mt64 {margin-top: 64px !important;}
.mb64 {margin-bottom: 64px !important;}
.ml64 {margin-left: 64px !important;}
.mr64 {margin-right: 64px !important;}
.pt8 {padding-top: 8px !important;}
.pb8 {padding-bottom: 8px !important;}
.pl8 {padding-left: 8px !important;}
.pr8 {padding-right: 8px !important;}
.pt12 {padding-top: 12px !important;}
.pb12 {padding-bottom: 12px !important;}
.pl12 {padding-left: 12px !important;}
.pr12 {padding-right: 12px !important;}
.pt16 {padding-top: 16px !important;}
.pb16 {padding-bottom: 16px !important;}
.pl16 {padding-left: 16px !important;}
.pr16 {padding-right: 16px !important;}
.pt32 {padding-top: 32px !important;}
.pb32 {padding-bottom: 32px !important;}
.pl32 {padding-left: 32px !important;}
.pr32 {padding-right: 32px !important;}
.pt64 {padding-top: 64px !important;}
.pb64 {padding-bottom: 64px !important;}
.pl64 {padding-left: 64px !important;}
.pr64 {padding-right: 64px !important;}

.row-eq-height {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 24px;
}

a {color: var(--iwp-primario-testo, #003882);}

.container li a:focus {
    outline: var(--iwp-focus-spessore) solid var(--iwp-focus-colore) !important;
}

.row.clearfix a:focus {
    outline: var(--iwp-focus-spessore) solid var(--iwp-focus-colore) !important;
}

.nav.navbar-nav > li > a {
    font-weight: 700 !important;
}

@media (min-width: 1200px) {.container {max-width: 1184px !important; padding:0;}}
@media (min-width: 992px) and (max-width: 1999px) {.container {max-width: 960px; padding: 0;}}
@media (min-width: 768px) and (max-width: 991px) {.container {max-width: 720px; padding: 0;}}

@media (min-width: 767px) {
    .col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto, .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto, .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto {
        padding-right: 14px !important;
        padding-left: 14px !important;
    }
    
    #home-novita .row-eq-height > div,
    #sezione-circolari .row-eq-height > div {
        padding-bottom: 28px !important;
    }

    .row {
        margin-right: -14px;
        margin-left: -14px;
    }
}

body {
    color: #555;
    background-color: #fff;
    -webkit-transition: all .3s ease 0s;
    -o-transition: all .3s ease 0s;
    transition: all .3s ease 0s;
    position: relative;
    height: auto !important;
}

body .menu-underlayer {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2000;
    width: 100%;
    height: 100%;
    visibility: hidden;
    background-color: var(--iwp-primario, rgba(0, 56, 130, 1));
    opacity: 1;
    -webkit-transition: all .3s ease 0s;
    -o-transition: all .3s ease 0s;
    transition: all .3s ease 0s;
}

body.menu-opened,
body.menu-opened2 {
    position: fixed;
    width: 100%;
}

body.menu-opened .menu-underlayer,
body.menu-opened2 .menu-underlayer {
    display: block;
    visibility: visible;
}

body.ridotto {
    padding-top: 100px !important;
}

.card .card-calendar {
    color: #555;
}

/* ---------- HEADER ---------- */

#mainheader { 
    height: 224px;
    color: #fff;
    position: relative;
    -webkit-transition: all .3s ease 0s;
    -o-transition: all .3s ease 0s;
    transition: all .3s ease 0s;
}

#mainheader .preheader {
    height: 50px;
    padding: 5px 0;
    margin: 0;
    font-weight: bold;
    line-height: 40px;
    -webkit-transition: all .3s ease 0s;
    -o-transition: all .3s ease 0s;
    transition: all .3s ease 0s;
}

#mainheader.ridotto .preheader {
    display: none;
}

#mainheader .logoimg {
    display:inline-block;
}

#mainheader .preheader .entesup {
    font-size: 16px;
    color: #fff;
}

#mainheader .preheader .entesup a {
    color: #fff;
}

#mainheader .preheader .entesup .logotxt a {
    color: #fff;
}

#mainheader .preheader .sitiverticali {
    margin: 0;
    border:0;
    text-align: center;
    height: 40px;
    padding: 0;
    line-height: 38px;
}

#mainheader .preheader .sitiverticali a {
    height: 40px;
    font-weight: 600;
    display: inline-block;
    vertical-align: middle;
    border-right: 2px solid var(--iwp-primario-icona, #003882);
    padding: 0 24px;
}

#mainheader .preheader .sitiverticali a:hover {
    color: var(--iwp-hover-su-primario, #6FA67E);
    text-decoration: underline;
}

#mainheader .preheader .accedi {
    margin: 0 0 0 15px;
    border:0;
    text-align: center;
    height: 40px;
    padding: 0;
    line-height: 38px;
}

#mainheader .preheader .accedi .btn-accedi {
    padding: 0;
    background: none;
    color: #fff;
    margin: 0;
    font-weight: 600;
    line-height: 0;
}

#mainheader .preheader .accedi .btn-accedi:hover span {
    color: var(--iwp-hover-su-primario, #6FA67E);
    text-decoration: underline;
}

#mainheader .preheader .accedi .btn-accedi svg.icon {
    vertical-align: middle;
    margin: 0;
    fill: #fff;
    width: 24px;
    height: 24px;
}

#mainheader .preheader .accedi .btn-accedi:hover svg.icon {
    fill: var(--iwp-hover-su-primario, #6FA67E);
}

#mainheader .preheader .accedi span {
    margin: 0 0 0 8px;
}

#mainheader .preheader .accedi .btn-accedi#dropdownAP .avatar {
    vertical-align: middle;
}

#mainheader .preheader .accedi.show .btn-accedi svg.icon {
    -webkit-transform: scaleY(-1);
    transform: scaleY(-1);
}

#mainheader .preheader .accedi .dropdown-menu {
    border-radius: 4px;
    -webkit-box-shadow: 0 5px 12px 0 rgba(0,0,0,0.5);
    box-shadow: 0 5px 12px 0 rgba(0,0,0,0.5);
    margin-top: 4px;
}

#mainheader .preheader .accedi .dropdown-menu:before {
    content: '';
    position: absolute;
    top: -6px;
    left: 40px;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 10px solid #fff;
    background: none;
    -webkit-transform: none;
    transform: none;
}

#mainheader .preheader .accedi .dropdown-menu .link-list-wrapper ul li:hover {
    background-color: #EFEFEF;
}

#mainheader .preheader .accedi .dropdown-menu .link-list-wrapper ul li a {
    color: var(--iwp-primario-testo, #003882);
    font-size: 0.778em;
    font-weight: 300;
}

#mainheader .preheader .accedi .dropdown-menu .link-list-wrapper ul li a svg.icon {
    fill: var(--iwp-primario-icona, #003882);
    width: 24px;
    height: 24px;
}

#mainheader .comune .logoimg {
    margin-top: 40px;
    width: 50px;
}

#mainheader .comune .logoimg img {
    height: auto;
    max-height: 50px;
    max-width: 50px;
}

/* Qui c'era outline:0px transparent !important, senza alcun sostituto: il link del
   logo era l'unico elemento del tema completamente privo di indicatore di focus
   (WCAG 2.4.7). L'anello standard vale anche per lui. */
#mainheader .comune .logoimg a:focus-visible {
    outline: var(--iwp-focus-spessore) solid var(--iwp-focus-colore) !important;
    outline-offset: 1px !important;
    box-shadow: 0 0 0 6px var(--iwp-focus-alone) !important;
}

#mainheader .comune .logotxt {
    vertical-align: middle;
    height: 48px;
    text-align: left;
    margin-left: 15px;
    display: inline-block;
    width: calc(100% - 80px);
}

/* Il nome dell'ente era un <h1> ed e' diventato un <p> (un solo h1 per pagina, ed e' il
   titolo del contenuto): il peso arrivava dalla regola titoli di bi1-compat.css, mentre
   un <p> eredita --bs-body-font-weight, cioe' 300. Va dichiarato qui. */
#mainheader .comune .logotxt .logo-titolo {
    display: table-cell;
    height: 48px;
    vertical-align: bottom;
    margin: 0;
    font-size: 1.778em;
    font-weight: 700;
    letter-spacing: 0;
}

#mainheader .comune .logotxt .logo-titolo a,
#mainheader .comune .logotxt .logo-titolo a:hover {
    color: #fff;
    text-decoration: none;
}

#mainheader .comune .logotxt .logo-titolo a:focus,
#mainheader .comune .logotxt .logo-titolo a:hover:focus {
    text-decoration: underline;
    outline: var(--iwp-focus-spessore) solid var(--iwp-focus-colore) !important;
}

#mainheader .social {
    padding-top: 12px;
    margin-bottom: 0;
    display: inline-block;
    height: 48px;
    margin-top: 40px;
}

#mainheader .social .small {
    font-size: 14px;
    font-weight: 300;
}

#mainheader .social a {
    display: inline-block;
    width: 24px;
    height: 24px;
    margin: 0;
    font-size: 1.111em;
    line-height: 24px;
    color: #fff !important;
    text-align: center;
}

#mainheader .social a:hover {
    color: var(--iwp-hover-su-primario, #6FA67E) !important;
    text-decoration: none;
}

#mainheader .social a svg.icon {
    fill: #fff;
    width: 26px;
    height: 26px;
}

#mainheader .social a:hover svg.icon {
    fill: var(--iwp-hover-su-primario, #6FA67E);
}

#mainheader .social li {
    padding: 0;
    vertical-align: middle;
    margin-right: 8px;
}

#mainheader .social li:last-child {
    margin-right: 0;
}

@media (min-width: 768px) and (max-width: 991px) {
    #mainheader .cerca {
        margin-top: 20px;
        padding-top: 5px;
    }
}

@media (min-width: 992px) {
    #mainheader .cerca {
        margin-top: 40px;
        padding-top: 5px;
    }
}

@media (max-width: 767px) {
   #mainheader .cerca {
        margin-top: 18px;
    } 
}

#mainheader .cerca span {
    color: #fff;
    font-size: 14px;
}

/* NUOVE */

#mainheader .cerca input,
.italiawp3-sidebar .cerca input,
#mainheader .p_cercaMobile .cerca input {
    width: calc(100% - 49px);
    float: left;
    background: transparent;
    color: #fff;
    font-size: 16px;
    margin-right: 5px;
}

#mainheader .cerca input {
    border-color: #fff !important;
    text-align: center;
    padding-left: 0;
    padding-right: 0;
}

#mainheader .p_cercaMobile .cerca input {
    text-align: left;
}

#mainheader .cerca input::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #fff;
    opacity: 1; /* Firefox */
}

#mainheader .cerca input:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: #fff;
}

#mainheader .cerca input::-ms-input-placeholder { /* Microsoft Edge */
    color: #fff;
}

#mainheader .cerca {
    float: right;
}

.italiawp3-sidebar .cerca {
    margin: 20px 0 20px 20px;
}

#mainheader .p_cercaMobile input {
    width: calc(100% - 34px);
}

#mainheader .btn-cerca,
.italiawp3-sidebar .btn-cerca,
.italiawp3-sidebar .wp-block-search__button {
    height: 44px;
    width: 44px;
    border: 0;
    border-radius: 50%;
    color: var(--iwp-primario-testo, #003882);
    padding: 0;
    background: #fff;
}

.italiawp3-sidebar .btn-cerca,
.italiawp3-sidebar .wp-block-search__button {
    color: #fff;
}

.italiawp3-sidebar .btn-cerca .icon,
.italiawp3-sidebar .wp-block-search__button .icon {
    fill: #fff !important;
}

#mainheader .btn-cerca svg.icon {
    width: 28px;
    height: 28px;
    vertical-align: middle;
    fill: var(--iwp-primario-icona, #003882);
}

#mainheader .btn-cerca:hover {
    background: var(--iwp-hover-su-primario, #6FA67E);
    color: #fff;
} 

@media (max-width: 991px) {
    #mainheader .btn-cerca {
        height: 24px;
        width: 24px;
        border: 0;
        color: #fff;
        padding: 0;
        margin-top: 12px;
        margin-left: 10px;
        background: transparent;
    }

    #mainheader .btn-cerca svg.icon {
        width: 28px;
        height: 28px;
        vertical-align: middle;
        fill: #fff !important;
    }

    #mainheader .btn-cerca:hover svg.icon {
        fill: var(--iwp-hover-su-primario, #6FA67E);
    }
    
    #mainheader .cerca input {
        width: calc(100% - 36px);
    }
}

#mainheader .p_cercaMobile { 
    display: none;
}

#mainheader #sub_nav {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    color: #fff;
}

#mainheader .menu-btn {
    display: none;
}

#mainheader .menu-btn:focus,
#mainheader .menu-btn:hover:focus {
    outline: 3px solid #777 !important;
    outline-offset: 6px;
}

#mainheader.ridotto {
    height: 60px;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1071;
    margin-top: -120px;
    margin-bottom: 120px;
}

#mainheader.ridotto .social {
    padding: 0;
    margin: 10px 0 0 0;
}

#mainheader.ridotto .comune .logoimg {
    margin-top: 10px;
}

#mainheader.ridotto .comune .logoimg img {
    height: 40px;
    max-height: 40px;
}

#mainheader.ridotto .comune .logotxt {
    vertical-align: middle;
    margin-top: 0;
    height: 48px;
    max-height: 48px;
}

@media (min-width: 992px) {
    #mainheader.ridotto .comune .logotxt {
        display: none !important;
    }
}

#mainheader.ridotto .comune .logotxt .logo-titolo {
    height: 45px;
    max-height: 40px;
    vertical-align: middle;
    font-size: 1.2em;
}

#mainheader.ridotto .header-social {
    visibility: hidden;
}

@media (max-width: 576px) {
    #mainheader .header-cerca {
        visibility: hidden;
    }
}

#mainheader.ridotto .nav.navbar-nav > li > a {
    padding: 15px 24px 15px;
}

#mainheader.ridotto .cerca {
    display: none;
}

#mainheader.ridotto .p_cercaMobile .cerca {
    display: inline;
}

#mainheader.ridotto .navbar {
    margin-left: 60px;
}

.sub_nav, .list_link-utili {
    display: block;
    padding: 0;
    margin: 0;
}

.sub_nav:after, .list_link-utili:after {
    content: '';
    display: inline-block;
    width: 100%;
}
.sub_nav:before, .list_link-utili:before {
    content: '';
    display: block;
}

.sub_nav li, .list_link-utili li  {
    display: inline-block;
    padding: 0;
    margin: 0;
    font-size: 1em;
    font-weight: 700;
    line-height: 20px;
    position: relative;
}

.list_link-utili .bar-content-edit {
    display: none;
}

.sub_nav li.active {

}

.sub_nav li a, .list_link-utili li a {
    padding: 12px 29px 12px 29px;
    color: #fff;
    display: block;
}

.sub_nav li:first-child a {
    padding-left: 0;
}

.sub_nav li:last-child a {
}

.sub_nav li a:focus, .sub_nav li a:hover,
.list_link-utili li a:focus, .list_link-utili li a:hover {
    color: var(--iwp-hover-su-footer, #BADEC3);
    text-decoration: underline;
}

.sub_nav li.active a, .list_link-utili li.active a {
    border-bottom: 4px solid #fff !important;
}

.list_link-utili li:first-child a {
}

.list_link-utili li {
    font-weight: 300;
    font-size: 0.889em;
}
.list_link-utili li a {
    padding: 12px 25px;
}

.list_link-utili li:last-child a {
    font-weight: 700;
    padding-right: 0;
}

/* ---------- MEGAMENU ---------- */

.sub_nav li.megamenu a {
    padding: 12px 22px 12px 22px;
}

.sub_nav li.megamenu:first-child a {
    padding-left: 0;
}

#sub_nav .sub_nav .megamenu a[data-bs-toggle=dropdown] svg.icon {
    float: right;
    fill: #fff;
    width: 22px;
    height: 22px;
}

#sub_nav .sub_nav .megamenu a[data-bs-toggle=dropdown][aria-expanded=true] svg.icon {
    -webkit-transform: scaleY(-1);
    transform: scaleY(-1);
}


#sub_nav .sub_nav .dropdown-menu {
    margin: 0;
    padding: 48px;
    width: 1184px;
    transform: translate3d(14px, 32px, 0px) !important;
    -webkit-box-shadow: 0 3px 15px 0 rgba(0,0,0,0.1);
    box-shadow: 0 3px 15px 0 rgba(0,0,0,0.1);
}

#sub_nav .sub_nav .dropdown-menu:before {
    display: none;
}

#sub_nav .sub_nav .nav-item.megamenu>a.dropdown-toggle:before {
    opacity: 0;
    bottom: -16px;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
    content: '';
    position: absolute;
    top: auto;
    width: 18px;
    height: 18px;
    border-radius: 4px;
    background-color: #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    display: block;
    -webkit-transition: opacity .8s cubic-bezier(.1,.57,.36,.99);
    transition: opacity .8s cubic-bezier(.1,.57,.36,.99);
}

#sub_nav .sub_nav .nav-item.megamenu:first-child>a.dropdown-toggle:before {
    left: -29px;
}

#sub_nav .sub_nav .nav-item.megamenu.show>a.dropdown-toggle:before {
    opacity: 1;
}

#sub_nav .navmegamenu {
    border-top: 1px solid #D8D8D8;
    padding: 0;
}

#sub_nav .navmegamenu li {
    border-bottom: 1px solid #D8D8D8;
    display: block;
}

#sub_nav .navmegamenu li a {
    font-size: 1em;
    color: var(--iwp-primario-testo, #003882);
    font-weight: normal;
    padding: 12px 24px;
}

#sub_nav .navmegamenu li a:hover {
    background-color: rgba(116,166,129,0.1);
    background-color: color-mix(in srgb, var(--iwp-primario, #4E7E5B) 10%, transparent);
}

#sub_nav .scheda-megamenu .scheda-foto {
    position: relative;
    height: 192px;
    overflow: hidden;
    border-radius: 4px;
}

#sub_nav .scheda-megamenu .scheda-foto figure {
    margin: 0;
}

#sub_nav .scheda-megamenu .scheda-foto a {
    padding: 0;
}

#sub_nav .scheda-megamenu .scheda-foto img {
    width: 100%;
    height: 192px;
    object-fit: cover;
}

#sub_nav .scheda-megamenu .scheda-icona-small {
    color: var(--iwp-primario-testo, #003882);
    letter-spacing: 1px;
    font-size: 0.778em;
    text-transform: uppercase;
    font-weight: 600;
    padding: 0;
    margin-bottom: 16px;
}

#sub_nav .scheda-megamenu .scheda-icona-small svg.icon {
    width: 22px;
    height: 22px;
    margin-right: 4px;
    vertical-align: bottom;
    fill: var(--iwp-primario-icona, #003882);
}

@media (max-width: 767px) {
    .scheda-news .scheda-testo {
        padding-top: 24px;
        padding-bottom: 0;
    }
}

@media (min-width: 768px) {
    .scheda-news .scheda-testo :is(h2,h3,h4) {
        margin-bottom: 24px;
    }
}

#sub_nav .scheda-megamenu .scheda-testo :is(h2,h3,h4) {
    font-size: 1.111em;
    font-weight: 700;
    color: var(--iwp-primario-testo, #003882);
}

#sub_nav .scheda-megamenu .scheda-testo :is(h2,h3,h4) a {
    color: var(--iwp-primario-testo, #003882);
    padding:0;
}

#sub_nav .scheda-megamenu .scheda-testo p {
    color: #555;
    font-size: 0.889em;
    font-weight: normal;
}

#sub_nav .scheda-megamenu .scheda-footer {
    margin-top: 16px;
}

#sub_nav .linksezione .tutte {
    color: var(--iwp-primario-testo, #4E7E5B);
    font-size: .778em;
    text-transform: uppercase;
    vertical-align: middle;
    display: inline-block;
    font-weight: bold;
    letter-spacing: 1px;
    padding: 0;
}

#sub_nav .linksezione .tutte svg.icon {
    vertical-align: middle;
    width: 24px;
    height: 24px;
    fill: var(--iwp-primario-icona, #4E7E5B);
}

#sub_nav .linksezione .tutte:hover {
    color: var(--iwp-primario-testo, #003882);
    text-decoration: underline;
}

#sub_nav .linksezione .tutte:hover svg.icon {
    fill: var(--iwp-primario-icona, #003882);
}

#sub_nav .owl-megamenu {
    max-height: 300px;
    margin-bottom: 40px;
}

#sub_nav #owl-megamenu-ser .owl-stage,
#sub_nav #owl-megamenu-doc .owl-stage {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}

#sub_nav #owl-megamenu-ser .owl-item .item,
#sub_nav #owl-megamenu-doc .owl-item .item {
    height: 100%;
} 

#sub_nav #owl-megamenu-ser .owl-item .scheda-megamenu,
#sub_nav #owl-megamenu-doc .owl-item .scheda-megamenu {
    padding-right: 24px;
    padding-left: 24px;
    height: 100%;
}

#sub_nav #owl-megamenu-ser .owl-item.active .scheda-megamenu,
#sub_nav #owl-megamenu-doc .owl-item.active .scheda-megamenu {
    border-left: 1px solid #D8D8D8;
}

#sub_nav #owl-megamenu-ser .owl-item:first-child .scheda-megamenu,
#sub_nav #owl-megamenu-doc .owl-item:first-child .scheda-megamenu {
    padding-left: 0;
}

#sub_nav #owl-megamenu-ser .owl-item:first-child .scheda-megamenu,
#sub_nav #owl-megamenu-doc .owl-item:first-child .scheda-megamenu {
    padding-left: 0;
    border: 0 !important;
}

#sub_nav .owl-megamenu .owl-dots .owl-dot span {
    background: var(--iwp-primario, #4E7E5B);
    opacity: 0.1;
    width: 8px;
    height: 8px;
    margin: 5px;
}

#sub_nav .owl-megamenu .owl-dots .owl-dot.active span {
    opacity: 1;
}

/* ---------- JPUSH MENU ---------- */

.cbp-spmenu {
    position: fixed;
    background: #ffffff;
}

.cbp-spmenu-vertical {
    width: 300px;
    height: 100%;
    top: 0;
    z-index: 99999;
    overflow-y: auto;
    position: fixed;
}

.cbp-spmenu-left {
    left: -300px;
}

.cbp-spmenu-right {
    right: -300px; 
}

.cbp-spmenu-left.menu-open {
    left: 0px;
}

.cbp-spmenu-right.menu-open {
    right: 0px;
}

.push-body {
    overflow-x: hidden;
    position: relative;
    left: 0;
    padding: 0 !important;
}

.push-body.navbar-toggle {
    overflow-y: hidden;
    overflow: hidden !important;
}

.push_container {
    position: relative;
    left: 0;
}

.push-body-toright .push_container {
    left: 300px; 
}

.cbp-spmenu, .push-body, .push_container {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.push-body-toright #mainheader .entesup,
.push-body-toright #mainheader .areariservata,
.push-body-toright #mainheader .comune,
.push-body-toright #mainheader .header-social,
.push-body-toright #mainheader .header-cerca,
.push-body-toright .sub_nav,
.push-body-toright .scrollto_top,
.push-body-toright footer,
.push-body-toright #main_container {
    -moz-opacity: 0;
    -khtml-opacity: 0;
    opacity: 0;
}

.push-body-toright .body_wrapper {
    background: var(--iwp-primario, #003882) !important;
}

.push-body-toright .body_wrapper .preheader {
    background: var(--iwp-primario, #003882) !important;
}

.push-body-toright .body_wrapper #mainheader {
    -webkit-box-shadow: none;
    box-shadow: none;
}


.navbar-toggle.menu-active .icon-bar {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$ms)";
    filter: alpha(opacity=0);
    -moz-opacity: 0;
    -khtml-opacity: 0;
    opacity: 0;
    position: absolute;
    height: 4px;
    background: #fff;
    -webkit-transition: all 0.3s cubic-bezier(0.35, 0.085, 0.305, 1.005);
    -moz-transition: all 0.3s cubic-bezier(0.35, 0.085, 0.305, 1.005);
    -o-transition: all 0.3s cubic-bezier(0.35, 0.085, 0.305, 1.005);
    transition: all 0.3s cubic-bezier(0.35, 0.085, 0.305, 1.005);
}

.navbar-toggle.menu-active .icon-bar1 {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$ms)";
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    -khtml-opacity: 1;
    opacity: 1;
    background: #fff;
    top: 8px;
}

.navbar-toggle.menu-active .icon-bar3 {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=$ms)";
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    -khtml-opacity: 1;
    opacity: 1;
    background: #fff;
    top: -8px;
}

.cbp-spmenu .user-burger {
    height: 136px;
    padding: 25px 25px;
}

.cbp-spmenu .user-burger .usertitle-burger {
    position: relative;
}

.cbp-spmenu .user-burger .usertitle-burger .avatar-wrapper {
    width: 48px;
    height: 48px;
    margin-right: 12px;
    vertical-align: middle;
    display: inline-block;
}

.cbp-spmenu .user-burger .usertitle-burger .avatar.size-lg {
    width: 48px;
    height: 48px;
}

.cbp-spmenu .user-burger .usertitle-burger .avatar.size-lg .avatar-notifiche {
    position: absolute;
    color: #fff;
    font-size: 0.500em;
    font-weight: 600;
    background: #D71820;
    width: 12px;
    height: 12px;
    display: block;
    border-radius: 50%;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    top: 4px;
    right: -6px;
}

.cbp-spmenu .user-burger .usertitle-burger span {
    font-weight: 600;
    font-size: 1.125em;
    display: inline-block;
    vertical-align: middle;
}

.cbp-spmenu .user-burger .usertitle-burger svg.icon {
    fill: #fff;
    position: absolute;
    width: 22px;
    height: 22px;
    top: 0;
    right: 0;
}

.cbp-spmenu .usermail-burger {
    margin-top: 24px;
}

.cbp-spmenu .usermail-burger a {
    font-size: 0.750em;
    color: #FFF;
}

.cbp-spmenu .logo-burger {
    margin: 60px 0 25px 25px;
}

.cbp-spmenu .logo-burger-user {
    margin: 25px 0 25px 25px;
}

.cbp-spmenu .logoimg-burger {
    display: inline-block;
}

.cbp-spmenu .logoimg-burger img {
    height: 48px;
    max-height: 48px;
}

.cbp-spmenu .logotxt-burger {
    vertical-align: middle;
    text-align: left;
    margin: 0 0 0 5px;
    display: inline-block;
}

.cbp-spmenu .logotxt-burger a {
    font-size: 1.375em;
    vertical-align: bottom;
    display: table-cell;
    height: 48px;
    font-weight: bold;
    color: var(--iwp-primario-testo, #003882);
}

.cbp-spmenu .logotxt-burger a:hover {
    text-decoration: none;
}

/* ---------- MENU NAVBAR ---------- */

.navmenu a,.navmenu li>a:hover>span {
    color:var(--iwp-primario-testo, #225599);
}

.navmenu li a.current {
    font-weight:700;
}

.navmenu li a.current span {
    color: #fff !important;
}

.navmenu,.navmenu li,.navmenu ul {
    padding:0;
    list-style:none;
}

.navmenu ul, .navmenu li.active ul li ul {
    display:none;
    padding:0;
}

.navmenu a,.navmenu li.active ul, .navmenu li.active ul li.active ul {
    display:block;
}

ul.navmenu {
    padding: 0px 0px 25px 0;
}

.navmenu {
    margin:0;
}

.navmenu>li {
    border:0;
    width: 100%;
}

.navmenu>li li {
    border: 0;
}

.navmenu a {
    outline:0;
    text-decoration:none;
}

.navmenu [tabindex="0"]:focus,.navmenu li a:focus {
    outline:3px solid #777 !important;
}

.navmenu li>a>span {
    float:right;
    font-size:0.6em;
    text-align:center;
    display:inline-block;
    margin:0;
}

.navmenu li>a>span:after {
    display: inline-block;
    font-size: 24px;
    margin-left: 0;
    vertical-align: 0;
    content: "";
    border-top: 0.4em solid;
    border-right: 0.4em solid transparent;
    border-bottom: 0;
    border-left: 0.4em solid transparent;
}

.navmenu li a.current span:after {
    color:var(--iwp-primario-testo, #003882);
}

.navmenu li.open>a>span:after {
    border-top: 0;
    border-right: 0.4em solid transparent;
    border-bottom: 0.4em solid;
    border-left: 0.5em solid transparent;
}

.navmenu>li.open ul {
    background:transparent;
}

.navmenu>li.open ul li a {
    color:var(--iwp-primario-testo, #003882);
}

.navmenu li li a {
    font-size: 1em;
}

.navmenu>li.open ul li a:hover,.navmenu>li.open ul>li.open>a {
    background:transparent;
    color:var(--iwp-hover-su-primario, #6FA67E);
}

.navmenu li a {
    font-size: 1.333em;
    font-weight: 700;
    color: var(--iwp-primario-testo, #003882);
    line-height: 26px;
    padding: 13px 25px;
    border-left: 4px solid transparent;
}

.navmenu>li>a:hover, .navmenu>li>a:focus {
    background-color: rgba(116,166,129,0.1);
    background-color: color-mix(in srgb, var(--iwp-primario, #4E7E5B) 10%, transparent);
    border-left: 4px solid var(--iwp-primario-icona, #4E7E5B);
}

.navmenu>li.open>a {
    background-color: rgba(116,166,129,0.1);
    background-color: color-mix(in srgb, var(--iwp-primario, #4E7E5B) 10%, transparent);
    border-left: 4px solid var(--iwp-primario-icona, #4E7E5B);
}

.utilitymobile {
    margin: 10px 25px;
    padding: 0;
}

.utilitymobile li {
    padding: 7px 0;
}

.utilitymobile li a {
    color: var(--iwp-primario-testo, #003882);
}

.utilitymobile li a:hover {
    color: var(--iwp-hover-su-primario, #6FA67E);
    text-decoration: none;
}

.utilitymobile li:last-child a {
    font-weight: bold;
}

.socialmobile {
    margin: 40px 25px 25px 25px;
}

.socialmobile .small {
    padding-right: 8px;
    font-size: 14px;
    color: var(--iwp-primario-testo, #003882);
}

.socialmobile a {
    display: inline-block;
    width: 24px;
    height: 24px;
    margin: 0;
    font-size: 1.111em;
    line-height: 24px;
    color: var(--iwp-primario-testo, #003882) !important;
    text-align: center;
}

.socialmobile a:hover {
    color: var(--iwp-hover-su-primario, #6FA67E) !important;
    text-decoration: none;
}

.socialmobile a svg.icon {
    fill: var(--iwp-primario-icona, #003882);
    width: 22px;
    height: 22px;
}

.socialmobile a:hover svg.icon {
    fill: var(--iwp-hover-su-primario, #6FA67E);
}

.socialmobile li {
    padding: 0;
    vertical-align: middle;
    margin-right: 4px;
    display: inline-block;
}

.socialmobile li:first-child {
    width: 100%;
    margin-bottom: 15px;
}

/* ----------- ACCEDI SPID ------------ */

#spidModal {
    z-index: 1200;
    padding: 0 !important;
}

#spidModal .modal-header-fullsrc .back {
    margin-top: 8px;
}

#spidModal .modal-header-fullsrc .close {
    position: absolute;
    top: 8px;
    right: 0;
    margin: 0;
}

#spidModal .modal-header-fullsrc .back svg.icon,
#spidModal .modal-header-fullsrc .close svg.icon {
    width: 44px;
    height: 44px;
    fill: #0066CC;
}

#spidModal .header-buttons {
    position: relative;
}

#spid-step1 h3, 
#spid-step2 h3, 
#spid-step3 h3,
#spid-step4 h3,
#spid-step5 h3 {
    color: #17324D;
    font-size: 1.778em;
    margin: 24px 0 8px 0;
}

#spidModal :is(h2,h3,h4) {
    font-size: 0.889em;
    margin: 0 0 24px 0;
    font-weight: 300;
    line-height: 1.5;
}

#spid-step2 :is(h2,h3,h4) strong {
    font-weight: 600;
}

#spidModal p {
    margin: 16px 0 32px 0;
    font-size: 0.778em;
    width: 100%;
    line-height: 1.5;
}

#spidModal p.desc {
    font-size: 0.889em;
}

#spidModal p a {
    color: #0066CC;
    font-weight: 600;
}

#spidModal .spid-inputgroup label {
    font-weight: 600;
    color: #555555;
    font-size: 0.778em;
    width: auto !important;
}

#spidModal .btn-bianco,
#spidModal .btn-blu,
#spidModal .btn-trasparente {
    font-size: 0.889em;
    border-radius: 4px;
    width: 100%;
    margin: 0 auto;
    min-height: 48px;
    margin-bottom: 16px;
}

#spidModal .btn-bianco {
    color: #5C6F82;
    background-color: #fff;
    border: 1px solid #E6E9F2;
}

#spidModal .btn-bianco:hover {
    color: #38444F !important;
    background-color: #fff !important;
    border: 1px solid #E6E9F2 !important;
}

#spidModal .btn-blu {
    color: #fff;
    background-color: #0073E6;
    border: 1px solid #0073E6;
}

#spidModal .btn-blu:hover {
    color: #fff !important;
    background-color: #004D99 !important;
    border: 1px solid #004D99 !important;
}

#spidModal .btn-trasparente {
    color: #0073E6;
    background-color: #FFF;
    border: 1px solid #0073E6;
}

#spidModal .btn-trasparente:hover {
    color: #07529C !important;
    background-color: #FFF  !important;
    border: 1px solid #0073E6 !important;
}

img.spidback {
    height: 40px;
}

.spid-banners {
    margin-top: 56px;
}

.spid-banner {
    width: 48%;
    float: left;
    background-color: #FBFBFC;
    border-radius: 4px;
    height: 56px;
    text-align: center;
    vertical-align: middle;
    margin-bottom: 12px;
    display: table;
}

.spid-banner a {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    cursor: pointer;
}

.spid-banner:nth-child(even) {
    float: right;
}

.spid-banner img {
    width: 100%;
    height: auto;
    max-height: 28px;
    max-width: 100px;
}

.spid-logo-sel {
    width: 110px;
    height: 30px;
}

#spidModal .spid-inputgroup {
    margin-top: 16px;
    margin-bottom: 24px;
}

#spidModal .spid-inputgroup input {
    font-size: 1.250em;
    font-weight: bold;
    color: #555;
    border-bottom: 1px solid #D8D8D8;
}

/* ---------- FOOTER ---------- */

#footer {
    padding-top:48px;
    word-break: break-word;    
}

#footer a {
    color:#fff;
}

#footer a:hover {
    color:#fff;
}

#footer section {
    margin-bottom: 28px;
}

#footer section .intestazione {
    margin-bottom: 28px;
}

#footer .logoimg {
    display:inline-block;
}

#footer .logotxt {
    vertical-align: middle;
    height: 48px;
    text-align: left;
    margin-left:15px;
    display:inline-block;
}

#footer .logotxt h3 {
    display: table-cell;
    vertical-align: bottom;
    margin: 0;
    font-weight: 700;
    color:#FFF;
    font-size: 1.778em;
    height: 48px;
}

#footer .logotxt h3 a {
    color:#FFF; 
}

#footer .logotxt h3 a:hover {
    color:#FFF; 
    text-decoration: none;
}

#footer .logoimg img {
    height: 48px;
    max-height: 48px;
}

#footer :is(h2,h3,h4) {
    color:#FFF;
    font-size: 0.778em;
    font-weight: 700;
    margin:0;
    padding: 0 0 16px 0;
    border-bottom: 1px solid #777;
    line-height: 24px;
    text-transform: uppercase;
    vertical-align: middle;
}

#footer :is(h2,h3,h4) a {
    vertical-align: middle;
}

#footer :is(h2,h3,h4) svg.icon {
    width: 22px;
    height: 22px;
    opacity: 0.5;
    margin-right: 16px;
    fill: #fff;
}

#footer p {
    margin: 16px 0;
    color: #fff;
    font-size: 0.889em;
}

#footer p a {
    color: #fff;
}

#footer p a:hover {
    color: var(--iwp-hover-su-footer, #BADEC3);
}

#footer .footer-list {
    list-style-type:none;
    margin: 15px 0;
    padding: 0;
}

#footer .footer-list li {
    margin: 0;
    padding: 6px 0;
}

#footer .footer-list li a,
#footer .footer-list li span {
    margin: 2px 0 6px;
    display: inline-block;
}

#footer .footer-list li a {
    color: #fff;
}

#footer .footer-list li a:hover {
    color: var(--iwp-hover-su-footer, #BADEC3);
}

#footer .lista-linkutili .footer-list {
    font-size: 0.889em;
}

#footer form {
    margin: 16px 0;
    font-size: 0.889em;
}

#footer form label {
    color: #FFFFFF;
}

#footer form input {
    border-radius: 4px;
    margin-bottom: 16px;
}

#footer form input::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #555555;
    opacity: 1; /* Firefox */
    font-weight: normal;
}

#footer form input:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: #555555;
    font-weight: normal;
}

#footer form input::-ms-input-placeholder { /* Microsoft Edge */
    color: #555555;
    font-weight: normal;
}

.btn-iscriviti {
    color: var(--iwp-su-primario, #fff) !important;
    padding: 12px 60px;
    background: var(--iwp-primario, #4E7E5B);
    font-family: "Titillium Web",Geneva,Tahoma,sans-serif;
}

.btn-iscriviti:hover {
    background: var(--iwp-primario-hover, #395C42);
    color: var(--iwp-su-primario-hover, #fff);
}

/* Nel footer il bottone non sta su bianco ma su .u-background-80, cioe' la sua stessa
   tinta piu' scura: col fondo primario si confonderebbe nella colonna. Si inverte la
   coppia, come per il bottone della cookiebar e per la ricerca in testata. */
#footer form .btn-iscriviti,
#footer form .btn-iscriviti:hover {
    color: var(--iwp-primario-80, #395C42) !important;
    background: var(--iwp-su-primario-80, #fff);
}

.btn-spid {
    color: #fff;
    padding: 10px 0;
    background-color: #0064D3;
    font-family: "Titillium Web",Geneva,Tahoma,sans-serif;
    border-radius: 4px;
    font-size: 1.500em;
    width: 100%;
    margin-bottom: 40px;
}

.btn-spid .ico-prefix {
    left: 0;
    border-right: 1px solid #fff;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 56px;
    padding: 3px;
}

.btn-spid .btn-spid-text-center {
    display: inline-block;
    margin-left: 54px;
}

.linkbold {
    font-weight: bold;
    font-size: 1em;
    color: var(--iwp-primario-testo, #003882) !important;
}

#footer .social {
    margin: 16px 0;
}

#footer .social li {
    margin-right: 8px;
}

#footer .social a {
    color: #fff;
}

#footer .social a:hover {
    color: var(--iwp-hover-su-footer, #BADEC3);
}

#footer .social a svg.icon {
    fill: #fff;
    width: 24px;
    height: 24px;
}

#footer .social a:hover svg.icon {
    fill: var(--iwp-hover-su-footer, #BADEC3);
}

#footer .postFooter {
    font-size: .85em;
    line-height: 2em;
    border-top: 1px solid var(--iwp-accento-icona-su-footer, #9C8C3E);
    padding: 15px 0;
}

#footer .postFooter {
    color: var(--iwp-accento-su-footer, #9C8C3E);
}

#footer .postFooter a {
    color: #fff;
    margin: 0 5px;
}

#footer .postFooter a:hover {
    color: var(--iwp-hover-su-footer, #BADEC3);
}

#footer .postFooter a:first-of-type {
    margin-left: 0;
}

#footer a:focus {
    outline: var(--iwp-focus-spessore) solid var(--iwp-focus-colore) !important;
}

#footer section:last-of-type {
    margin-bottom: 0;
}

#topcontrol {
    position: fixed;
    right: 30px;
    bottom: 30px;
    width: 40px;
    height: 40px;
    cursor: pointer;
    /* Da <div> a <button> (footer.php): azzera bordo e resa nativa del controllo.
       Lo sfondo continua ad arrivare da .u-background-80 (inc/style.php), che e'
       !important e quindi vince sul buttonface predefinito. */
    border: 0;
    -webkit-appearance: none;
    appearance: none;
    visibility: hidden;
    opacity: 1;
    text-align: center;
    padding: 0;
    -webkit-transition: visibility 0s 1s,opacity 1s linear;
    -o-transition: visibility 0s 1s,opacity 1s linear;
    transition: visibility 0s 1s,opacity 1s linear;
}

#topcontrol.visualizza {
    visibility: visible;
    opacity: 1;
    -webkit-transition: opacity 1s linear;
    -o-transition: opacity 1s linear;
    transition: opacity 1s linear;
}

#topcontrol svg.icon {
    width: 40px;
    height: 40px;
    fill: #fff;
}

/* PARTI COMUNI HOME E PAGINE INTERNE */

/* Il peso e' dichiarato qui e non lasciato alla regola titoli di bi1-compat.css: cosi'
   resta lo stesso se un titolo cambia ancora livello.
   Nota: h2 e h4 sono deliberatamente fuori dall'elenco. I titoli di .titolosezione degli
   archivi gallerie e circolari sono <h2> e non sono mai passati di qui — hanno sempre
   avuto la misura generica dei titoli (40px); includerli li rimpicciolirebbe. */
section .titolosezione :is(h1,h3) {
    font-size: 1.778em;
    font-weight: 700;
    margin: 0 0 36px 0;
}

/* La sezione galleria della home riusa id="articolo-dettaglio-testo", pensato per le
   pagine interne: da <h3> il titolo cade sotto #articolo-dettaglio-testo :is(h2,h3,h4)
   (interne.css), che ha specificita' di id e gli da' la misura di un titolo di
   paragrafo. Da <h1> non lo intercettava. */
#articolo-dettaglio-testo .titolosezione :is(h1,h2,h3,h4) {
    font-size: 1.778em;
    font-weight: 700;
}

section .titolosezione.filtrisezione {
    border-bottom: 2px solid #f1f2f4;
    padding-bottom: 16px;
}

section.bg-grigio .titolosezione.filtrisezione {
    border-bottom: 2px solid #dfe3e7;
}

section h3.titolettosezione {
    color: var(--iwp-primario-testo, #003882);
    font-size: 1.556em;
    font-weight: 600;
    margin: 0 0 36px 0;
    border-bottom: 2px solid #f1f2f4;
    padding-bottom: 16px;
}

section .titolettosezione {
    margin: 0 0 36px 0;
    border-bottom: 2px solid #f1f2f4;
    padding-bottom: 16px;
}

section .titolettosezione h3 {
    color: var(--iwp-primario-testo, #003882);
    font-size: 1.556em;
    font-weight: 600;
}

.btn-trasparente {
    background: transparent;
    border: 1px solid var(--iwp-primario-icona, #003882);
    border-radius: 4px;
    box-shadow: inset 0 -1px 0 0 rgba(255,255,255,0.33);
    -webkit-box-shadow: inset 0 -1px 0 0 rgba(255,255,255,0.33);
    color: var(--iwp-primario-testo, #003882) !important;
    font-weight: 600;
    font-size: 0.889em;
    padding: 4px 12px;
    vertical-align: middle;
    margin: 0 8px;
}

.btn-trasparente:last-child {
    margin-right: 0;
}

.btn-trasparente svg.icon {
    vertical-align: middle;
    fill: var(--iwp-primario-icona, #003882);
    width: 20px;
    height: 20px;
}

.btn-trasparente:hover svg.icon {
    fill: var(--iwp-su-primario-hover, #fff);
}

.btn-trasparente.active {
    background: var(--iwp-primario, #4E7E5B);
    color: var(--iwp-su-primario, #fff) !important;
    border: 1px solid var(--iwp-primario-hover, #395C42);
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}

/* Stato 'in parte attivo': lo stesso fondo dello stato attivo, mezzo trasparente.
   color-mix lo ricava dal primario invece di ripetere a mano una rgba() di quel verde;
   la dichiarazione rgba() sopra resta come fallback per chi non supporta color-mix. */
.btn-trasparente.activepart {
    background: rgba(116,166,129,0.5);
    background: color-mix(in srgb, var(--iwp-primario, #4E7E5B) 50%, transparent);
    color: var(--iwp-su-primario, #fff) !important;
    border: 1px solid var(--iwp-primario-hover, #395C42);
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}

.btn-trasparente.active svg.icon,
.btn-trasparente.activepart svg.icon{
    fill: var(--iwp-su-primario, #fff) !important;
}

.btn-trasparente:hover {
    background: var(--iwp-primario-hover, #395C42);
    color: var(--iwp-su-primario-hover, #fff) !important;
}

/* Il nome resta 'verde' perche' e' nei template, ma il colore non lo e' piu': segue il
   primario scelto nel customizer. Il testo non e' piu' il #fff fisso — su un primario
   chiaro spariva — ma quello che inc/style.php misura sul fondo effettivo. */
.btn-verde, #intro .btn-verde, #home-servizi .btn-verde {
    font-size: 0.778em;
    color: var(--iwp-su-primario, #fff) !important;
    padding: 8px 24px;
    background: var(--iwp-primario, #4E7E5B);
    margin: 0 16px 24px 0;
}

/* Usato solo nella cookiebar, che e' .u-background-80: il testo va misurato su
   $color_80, non dato per bianco. */
.btn-trasp {
    font-size: 0.778em;
    color: var(--iwp-su-primario-80, #fff) !important;
    padding: 8px 24px;
    background: transparent;
    margin: 0 16px 24px 0;
    border: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
}

/* Il testo va misurato sul fondo tenue su cui poggia, non sul bianco: con un primario
   scuro --iwp-primario-tenue resta chiaro, ma la coppia va comunque decisa insieme. */
.btn-badge {
    background-color: var(--iwp-primario-tenue, #E6EFE8);
    border: 1px solid var(--iwp-primario-tenue, #E6EFE8);
    border-radius: 4px;
    color: var(--iwp-su-primario-tenue, #003882) !important;
    font-weight: 600;
    font-size: 0.889em;
    padding: 4px 12px;
    vertical-align: middle;
    margin: 0 8px 8px 0;
    display: inline-block;
    line-height: 1.5;
}

.btn-badge-close {
    cursor: pointer;
    margin-left: 8px;
    padding: 0;
    display: inline-block;
}

.btn-badge-close svg.icon {
    width: 18px;
    height: 18px;
    fill: var(--iwp-su-primario-tenue, #003882);
    margin: 0;
    padding: 0;
}

/* Il fondo #FCFDFF resta bianco: e' un neutro, non una tinta di brand. Cambiano il
   bordo e il testo, che erano il blu istituzionale. */
.btn-celeste {
    background: #FCFDFF;
    border: 2px solid var(--iwp-primario-tenue, #E6E9F2);
    border-radius: 4px;
    box-shadow: inset 0 -1px 0 0 rgba(255,255,255,0.33);
    -webkit-box-shadow: inset 0 -1px 0 0 rgba(255,255,255,0.33);
    color: var(--iwp-primario-testo, #003882) !important;
    font-weight: 700;
    font-size: 0.889em;
    padding: 4px 12px;
    vertical-align: middle;
    text-align: center;
}

.btn-celeste svg.icon {
    fill: var(--iwp-primario-icona, #003882);
}

.btn-celeste:hover {
    background: var(--iwp-primario, #003882);
    color: var(--iwp-su-primario, #fff) !important;
}

.btn-celeste:hover svg.icon {
    fill: var(--iwp-su-primario, #fff);
}

.argomenti {
    margin-bottom: 20px;
}

.argomenti .badge-argomenti { 
    color: var(--iwp-primario-testo, #003882);
    border: 1px solid var(--iwp-primario-icona, #003882);
    margin-right: 8px;
    margin-bottom: 12px;
    font-size: 0.889em;
    font-weight: 600;
}

.argomenti a.badge-argomenti:hover { 
    background-color: var(--iwp-primario, #003882);
    color: var(--iwp-su-primario, #fff);
    text-decoration: none;
}

.altri-argomenti {
    margin-top: 48px;
}

.altri-argomenti .altri-argomenti-titolo {
    float: left;
}

.altri-argomenti .altri-argomenti-titolo :is(h2,h3,h4) {
    display: inline-block;
    color: #555;
    letter-spacing: 1px;
    font-size: 0.778em;
    text-transform: uppercase;
    font-weight: 700;
}

.altri-argomenti .altri-argomenti-elenco {
    margin-left: 144px;
}

.altri-argomenti .altri-argomenti-elenco a.badge-argomenti {
    font-weight: 700;
}

.altri-argomenti .altri-argomenti-tutti {
    text-align: center;
}

/* ---------- SLIDE ---------- */

#main_container .owl-theme .owl-dots .owl-dot span {
    width: 8px;
    height: 8px;
    margin: 5px 5px;
}

/* ---------- PAGINAZIONE ---------- */

section .pagination .page-item .page-link,
section .pagination .page-item .page-numbers {
    font-size: 0.778em;
    color: var(--iwp-primario-testo, #003882);
}

section .pagination .page-item .page-link svg.icon,
section .pagination .page-item .page-numbers svg.icon {
    fill: var(--iwp-primario-icona, #003882);
    width: 26px;
    height: 26px;
}

section .pagination .page-item .page-link[aria-current],
section .pagination .page-item .page-numbers.current {
    border: 1.5px solid var(--iwp-primario-icona, #51825F);
    color: #555;
}

section .pagination .page-item .page-link:hover,
section .pagination .page-item .page-numbers:hover {
    background: var(--iwp-primario, #51825F) !important;
    text-decoration: underline !important;
    color: #fff;
}

section .pagination .page-item .page-link:hover svg.icon,
section .pagination .page-item .page-numbers:hover svg.icon {
    fill: #fff;
}

/* Ultimo residuo del vecchio focus arancione: un alone rgba(255,140,0,.25), cioe' 2,3:1
   su bianco anche a piena opacita', e per giunta reso col solo box-shadow — invisibile in
   Forced Colors Mode e in stampa. Il commento in fondo al file dichiarava di averlo gia'
   sostituito ovunque; qui era rimasto. Allineato ai token --iwp-focus-*, come tutti gli
   altri indicatori del tema. Non segue il primario: l'anello deve restare visibile
   qualunque colore scelga l'utente, quindi non puo' dipenderne. */
.page-link:focus-visible,
.page-numbers:focus-visible {
    outline: var(--iwp-focus-spessore) solid var(--iwp-focus-colore) !important;
    outline-offset: 1px !important;
    -webkit-box-shadow: 0 0 0 6px var(--iwp-focus-alone) !important;
    box-shadow: 0 0 0 6px var(--iwp-focus-alone) !important;
}

/* ---------- COOKIEBAR ---------- */

.cookiebar {
    min-height: 120px;
    vertical-align: baseline;
    text-align: center;
    padding-top: 36px;
    font-size: 0.889em;
    width: 100%;
    max-width: none!important;
}

.cookiebar p {
    margin: 0 auto;
}

.cookiebar .btn-verde {
    font-size: 0.875em;
    margin: 8px 0 8px 16px;
    vertical-align: baseline;    
}

.cookiebar .btn-trasp {
    font-size: 0.875em;
    margin: 8px 0;
    padding-left: 0;
    padding-right: 0;
    text-decoration: underline;
    vertical-align: baseline;
}

/* .sr-only-focusable in bi1-compat.css reagisce solo a :focus sull'elemento stesso.
   Quando la classe sta su un contenitore e il focus finisce su un discendente — il caso
   di .close-div in menu.php, che avvolge il bottone "chiudi menu" — serve :focus-within,
   altrimenti il bottone resta tabbabile ma invisibile (WCAG 2.4.7). */
.sr-only-focusable:focus-within {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    white-space: normal;
}

/* ---------- SKIPLINK ---------- */

/* Prima gli skiplink erano dentro un contenitore .sr-only, che e' la variante
   permanente: restavano clip:rect(0,0,0,0) anche al focus, quindi raggiungibili col Tab
   ma invisibili. WCAG 2.4.1 di fatto non soddisfatto. Qui sono fuori schermo per
   default e rientrano al focus. */

.skiplink ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.skiplink a {
    position: fixed;
    top: -100vh;
    left: 8px;
    z-index: 2000;
    padding: 12px 20px;
    background: #ffffff;
    color: #1c2024;              /* 15.9:1 su bianco */
    border: 2px solid #1c2024;
    border-radius: 4px;
    font-weight: 600;
    text-decoration: underline;
    white-space: nowrap;
}

.skiplink a:focus {
    top: 8px;
    outline: 3px solid #1c2024;
    outline-offset: 2px;
}

/* Le due varianti del link al menu: sotto i 992px esiste solo l'off-canvas #menup,
   sopra solo la barra desktop #main-navigation (#sub_nav e' .hidden-xs). La variante
   non pertinente e' display:none, quindi fuori dall'ordine di tabulazione. */
@media (max-width: 991px) {
    .skiplink-desktop {
        display: none;
    }
}

@media (min-width: 992px) {
    .skiplink-mobile {
        display: none;
    }
}

/* main e le due nav ricevono tabindex="-1" per poter essere messi a fuoco dallo
   skiplink: l'outline che ne deriva sarebbe rumore visivo, non un focus da tastiera. */
#main_container:focus,
#menup:focus,
#main-navigation:focus {
    outline: none;
}

/* ---------- FOCUS ---------- */

/*
 * L'indicatore di focus del tema era arancione (#FF8C00), che su bianco da' 2,3:1:
 * sotto il minimo di 3:1 richiesto da WCAG 1.4.11 per gli indicatori. Era inoltre
 * spesso 1px e, per i .btn, realizzato con box-shadow al posto di outline — quindi
 * invisibile in Forced Colors Mode e in stampa.
 *
 * Ora e' un doppio contorno: 3px scuri con un alone bianco esterno. Il doppio
 * contorno e' l'unico modo per restare visibile sia sui fondi chiari sia su quelli
 * scuri, che qui dipendono dal colore scelto dall'utente e non sono prevedibili.
 *
 * Le regole usano :focus-visible con ricaduta su :focus, cosi' l'anello compare per
 * chi naviga da tastiera e non a ogni click del mouse.
 */
:root {
    --iwp-focus-colore: #0b0c0c;   /* 19,4:1 su bianco */
    --iwp-focus-alone: #ffffff;
    --iwp-focus-spessore: 3px;
}

.btn:focus,
.btn.focus,
input[type="checkbox"]:focus, input[type="radio"]:focus,
h2:focus, h2 a:focus, h3:focus, h3 a:focus, :is(h2,h3,h4):focus, :is(h2,h3,h4) a:focus,
.argomenti a.badge-argomenti:focus,
a.tutte:focus,
#topcontrol:focus,
button.owl-dot:focus,
input[type="text"]:focus,
button.btn.btn-info.mr-2.btn-verde:focus,
button.btn.btn-default.btn-trasparente.active:focus,
a:focus, button:focus, select:focus, textarea:focus,
input:focus, summary:focus, [tabindex]:focus {
    outline: var(--iwp-focus-spessore) solid var(--iwp-focus-colore) !important;
    outline-offset: 1px !important;
    box-shadow: 0 0 0 6px var(--iwp-focus-alone) !important;
}

/* Dove il browser distingue il focus da tastiera, l'anello compare solo li'. */
.btn:focus:not(:focus-visible),
a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
select:focus:not(:focus-visible),
textarea:focus:not(:focus-visible),
input:focus:not(:focus-visible),
summary:focus:not(:focus-visible),
[tabindex]:focus:not(:focus-visible) {
    outline: none !important;
    box-shadow: none !important;
}

.btn:focus-visible,
a:focus-visible, button:focus-visible, select:focus-visible, textarea:focus-visible,
input:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
    outline: var(--iwp-focus-spessore) solid var(--iwp-focus-colore) !important;
    outline-offset: 1px !important;
    box-shadow: 0 0 0 6px var(--iwp-focus-alone) !important;
}

/* In Forced Colors Mode i colori dell'autore vengono ignorati: si delega al sistema. */
@media (forced-colors: active) {
    a:focus-visible, button:focus-visible, input:focus-visible,
    select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
        outline: 3px solid CanvasText !important;
        box-shadow: none !important;
    }
}


@media (min-width: 1200px) {
    .hidden-lg, .hidden-md {
        display: none !important;
    }
}

@media (min-width: 992px) and (max-width: 1200px) {
    .sub_nav li a {
        padding: 13px 16px;
    }

    .sub_nav li.megamenu a {
        padding: 13px 6px;
    }

    #sub_nav .sub_nav .dropdown-menu {
        width: 960px;
    }

    .list_link-utili li a {
        padding: 13px 8px;
    }

    #mainheader .social li {
        margin: 0;
    }
}


@media (min-width: 992px) {
    .hidden-md {
        display: none !important;
    }

    .socialmobile {
        display: none !important;
    }

    .modal-backdrop.show {
        opacity: 0 !important;
    }
}


@media (max-width: 991px) {
    #mainheader .entesup a {
        line-height: 1;
        display: inline-block;
        vertical-align: middle;
    }
    
    #mainheader .entesup a.image {
        display: inline;
    }

    .sub_nav {
        display: block;
        padding: 0;
        margin: 0;
    }

    .sub_nav li {
        font-size: 1em;
        line-height: 20px;
    }

    .sub_nav li a {
        padding: 13px 16px;
    }

    .sub_nav li.megamenu a {
        padding: 13px 6px;
    }

    .list_link-utili li {
        display: none;
    }

    .list_link-utili li:last-child {
        display: inline-block;
    }

    .cbp-spmenu-vertical {
        width: 300px;
    }

    .cbp-spmenu-left {
        left: -300px;
    }

    .cbp-spmenu-right {
        right: -300px;
    }

    .push-body-toright .push_container {
        left: 300px;
    }
}


@media (min-width: 767px) and (max-width: 991px) {
    .nav-item.megamenu {
        position: static;
    }

    .nav-item.megamenu>a.dropdown-toggle {
        position: relative;
    }

    #sub_nav .sub_nav .dropdown-menu {
        width: 720px;
        transform: translate3d(14px,32px,0px)!important;
        padding: 24px;
    }

    #footer :is(h2,h3,h4) svg.icon {
        margin-right: 2px;
    }

    .modal-backdrop.show {
        opacity: 0 !important;
    }
}


@media (max-width: 991px) {
    #mainheader.ridotto {
        margin: 0;
    }

    body.ridotto {
        padding-top: 0px;
    }

    .container {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    .hidden-xs {
        display: none!important;
    }

    html {
        overflow-x: hidden;
    }

    body {
        font-size: 16px;
        line-height: 1.2;
    }

    body.home #mainheader {
        height: 136px;
    }

    #mainheader {
        height: 136px;
    }

    #mainheader.ridotto {
        position: fixed;
        left: 0;
        right: 0;
    }

    #mainheader .preheader .entesup {
        font-size: 0.875em;
        font-weight: bold;
        text-align: left;
        text-indent: 0 !important;
    }

    #mainheader .preheader .accedi {
        border-left: 2px solid var(--iwp-primario-icona, #003882);
        margin: 0;
        padding: 0;
    }

    #mainheader .preheader .accedi .btn-accedi {
        padding: 0 8px;
    }

    #mainheader .preheader .accedi span,
    #mainheader .preheader .accedi svg.icon-expand {
        display: none;
    }

    #mainheader .preheader .accedi .dropdown-menu:before {
        display: none;
    }

    #mainheader .comune .logoimg {
        margin-top: 20px;
    }

    #mainheader .cerca {
        display: inline;
    }

    #mainheader .cerca .form-control {
        display: none;
    }
    
    /* NUOVE */
    
    #mainheader .comune .logotxt .logo-titolo {
        font-size: 1.250em;
        vertical-align: middle;
    }
    
    #mainheader .p_cercaMobile { 
        display: inline-block;
        float: none;
        width: 100%;
        padding: 0 20px 0 30px;
        text-align: left;
    }
    
    #mainheader .p_cercaMobile .cerca { 
        margin-top: 0 !important;
        float: none;
    }
    
    #mainheader .p_cercaMobile input[type=text] {
        padding-left: 0;
        padding-right: 0;
    }

    #mainheader .p_cercaMobile .btn-cerca {
        height: 24px;
        width: 24px;
        border: 0;
        color: #fff;
        padding: 0;
        margin-top: 12px;
        margin-left: 10px;
        background: transparent;
    }

    #mainheader .p_cercaMobile .btn-cerca svg.icon {
        width: 28px;
        height: 28px;
        vertical-align: middle;
        fill: #fff;
    }

    #mainheader .p_cercaMobile .btn-cerca:hover svg.icon {
        fill: var(--iwp-hover-su-primario, #6FA67E);
    }

    #mainheader .social {
        display: none;
    }

    #mainheader .menu-btn {
        display: block !important;
        float: left;
        width: 24px;
        height: 24px;
        padding: 0 0 0px;
        margin: 35px 4px 16px 24px;
        border: 0 none;
        background: transparent;
    }

    #mainheader.ridotto .menu-btn {
        margin-top: 20px;
    }

    #mainheader .menu-btn .icon-bar {
        position: relative;
        z-index: 171;
        width: 24px;
        height: 4px;
        background-color: #fff;
        display: block;
        border-radius: 0;
    }

    #mainheader .menu-btn .icon-bar + .icon-bar {
        margin-top: 4px;
    }

    #mainheader .menu-btn .icon-bar1 ,#mainheader .menu-btn .icon-bar3 {
        width: 16px;
    }

    #mainheader .navbar-toggle.menu-active .icon-bar1, #mainheader .navbar-toggle.menu-active .icon-bar3 {
        width: 24px;
    }
    
    #mainheader .navbar-toggle.menu-active {
        right: 30px;
        top: 75px;
        left: auto;
        position: fixed;
        z-index: 999999;
        margin: 0;
    }

    #cercaMobile {
        position: absolute;
        right: 0;
        left: 0;
        padding: 15px 8px;		
        background-color: var(--iwp-primario, #003274);
        -webkit-transition: all .3s ease;
        -o-transition: all .3s ease;
        transition: all .3s ease;
        z-index: 90;
    }

    #mainheader.ridotto #cercaMobile {
        top:120px;
    }

    .navbar-toggler-icon {
        background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiP�I+PC9wYXRoPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=);
    }

    .cbp-spmenu-vertical {
        width: 300px;
    }

    .cbp-spmenu-left {
        left: -300px;
    }

    .cbp-spmenu-right {
        right: -300px; 
    }

    .push-body-toright .push_container {
        left: 300px;
    }

    .modal-header-fullsrc {
        padding-top: 14px;
        padding-bottom: 14px;
        -webkit-box-shadow: 0 12px 40px 0 rgba(0,0,0,0.06);
        box-shadow: 0 12px 40px 0 rgba(0,0,0,0.06);
        margin: 0 0 24px 0;
    }

    .modal-header-fullsrc h1 {
        font-size: 1.125em;
        text-align: center;
        display: inline-block;
    }

    .modal-header-fullsrc .confirm {
        top: 0px;
        right: 0;
        left: auto;
        min-width: 0;
    }

    #spidModal .modal-header-fullsrc {
        -webkit-box-shadow: none;
        box-shadow: none;
    }

    #spidModal .modal-header-fullsrc .close {
        left: auto;
    }

    #spidModal .modal-header-fullsrc .back svg.icon, 
    #spidModal .modal-header-fullsrc .close svg.icon {
        width: 32px;
        height: 32px;
    }

    img.spidback {
        height: 32px;
    }

    #spid-step1 h3, #spid-step2 h3, #spid-step3 h3, #spid-step4 h3, #spid-step5 h3 {
        margin: 48px 0 8px 0;
        font-size: 2.000em;
    }

    #spid-step1 p, #spid-step2 p, #spid-step3 p, #spid-step4 p, #spid-step5 p {
        font-size: 0.875em;
    }

    #spidModal .btn-bianco, #spidModal .btn-blu, #spidModal .btn-trasparente {
        font-size: 1em;
    }

    #spidModal :is(h2,h3,h4) {
        font-size: 1em;
    }

    #spidModal .spid-inputgroup label {
        font-size: 0.875em;
    }

    #spidModal .spid-inputgroup input {
        font-size: 1.500em;
    }

    #spidModal p.desc {
        font-size: 1em;
    }

    .modal-header-fullsrc .close, 
    .modal-header-fullsrc .back {
        margin-top: 0;
        position: absolute;
        left: 0;
    }

    .modal-header-fullsrc .close svg.icon,
    .modal-header-fullsrc .back svg.icon {
        width: 28px;
        height: 28px;
    }

    #searchModal #cerca-txt,
    #searchModal .search-filter-dategroup .form-group input {
        height: 40px;
        font-size: 1em;
    }

    #searchModal .modal-body-search .form-filtro {
        margin-top: 24px;
        margin-bottom: 48px;
    }

    #searchModal .form-group .ico-sufix {
        width: 40px;
    }

    #searchModal .modal-body-search .form-group,
    #searchModal md-autocomplete, 
    #searchModal md-autocomplete md-autocomplete-wrap {
        height: 40px;
    }

    #searchModal .modal-body-search .form-group .ico-prefix {
        width: 24px;
        height: 24px;
    }

    .md-virtual-repeat-container .md-autocomplete-suggestions li {
        font-size: 1em;
    }

    .md-virtual-repeat-container .md-autocomplete-suggestions li .autocomplete-list-text em {
        display: none;
    }
    
    #searchModal .modal-body-search .search-start {
        margin-top: 32px;
    }

    #searchModal #cerca-txt {
        padding-left: 40px;
    }

    md-autocomplete .md-show-clear-button button md-icon {
        width: 26px;
        height: 26px;
    }
    
    #searchModal .modal-body-search .form-blockopz ul li a {
        font-size: 1em;
    }

    #footer .logotxt {
        vertical-align: sub;
    }

    #footer .logotxt h3 {
        font-size: 1.375em;
        vertical-align: bottom;
    }

    #footer section {
        margin-bottom: 0;
    }

    #footer section .intestazione {
        margin-bottom: 8px;
    }

    #footer :is(h2,h3,h4) {
        font-size: 0.875em;
        padding: 24px 0 0 0;
    }

    #footer :is(h2,h3,h4) svg.icon {
        margin-right: 8px;
    }

    #footer .lista-linkutili :is(h2,h3,h4) {
        border-top: 1px solid #777;
    }

    #footer .lista-linkutili div[class^='col']:first-of-type :is(h2,h3,h4), #footer .lista-linkutili div[class*=' col-']:first-of-type :is(h2,h3,h4) {
        border: 0;
    }

    #footer .lista-sezioni .footer-list {
        border-bottom: 1px solid #777;
        padding: 0 0 24px 34px;
        margin: 0;
        font-size: 1em;
    }

    #footer .lista-linkutili .footer-list {
        font-size: 1em;
    }

    #footer p {
        font-size: 1em;
        margin-bottom: 24px;
    }

    #footer form {
        margin: 16px 0 24px 0;
        font-size: 1em;
    }

    #footer .postFooter {
        font-size: 1em;
    }

    #footer .postFooter a {
        line-height: 1.5;
    }

    .altri-argomenti {
        margin-top: 24px;
    }

    .altri-argomenti .altri-argomenti-titolo {
        float: none;
        margin-bottom: 8px;
    }

    .altri-argomenti .altri-argomenti-titolo :is(h2,h3,h4) {
        font-size: 0.875em;
    }

    .altri-argomenti .altri-argomenti-elenco {
        margin-left: 0; 
    }

    .altri-argomenti .altri-argomenti-elenco a.badge-argomenti {
        font-size: 1em;
    }

    section .titolosezione :is(h1,h3) {
        margin: 0 0 24px 0;
    }

    section .pagination {
        margin-top: 16px;
    }

    section .pagination .page-item .page-link {
        font-size: 0.875em;
        height: 32px;
        min-width: 32px;
        padding: 0;
    }

    section .pagination .page-item .page-link i[class^=it-] {
        font-size: 0.875em;
    }

    .cookiebar p {
        font-size: 1em;
    }

    .bricklayer-column {
        padding-left: 6px !important;
        padding-right: 6px !important;
    }
}

@media (max-width: 576px) {
    #mainheader .preheader .entesup {
        margin: 0;
    }

    #mainheader .preheader .accedi .btn-accedi {
        padding: 0 4px;
    }

    #mainheader .logotxt {
        margin-left: 16px !important;
    }

    #mainheader.ridotto .btn-cerca {
        margin-left: 0;
    }
    
    #mainheader.ridotto .p_cercaMobile .btn-cerca {
        margin-left: 10px;
    }

    #mainheader.ridotto .comune .logoimg {
        margin-top: 10px;
    }

    #mainheader.ridotto .comune .logoimg img {
        height: 40px;
    }

    #mainheader .menu-btn {
        position: absolute;
    }

    #mainheader .comune {
        padding-left: 50px;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }

    #mainheader .comune .logotxt .logo-titolo {
        font-size: 1.250em;
        vertical-align: middle;
    }

    #mainheader .navbar-toggle.menu-active .icon-bar1 {
        top: 8px;
    }

    #mainheader .navbar-toggle.menu-active .icon-bar3 {
        top: -8px;
    }

    .modal-header-fullsrc .pb12 {
        padding: 0!important;
    }

    .modal-header-fullsrc h1 {
        margin-left: 40px;
    }

    #searchModal .modal-body-search .search-start {
        margin-top: 24px;
    }

    #searchModal #cerca-txt {
        padding-left: 32px;
    }

    md-autocomplete .md-show-clear-button button md-icon {
        width: 24px;
        height: 24px;
    }
}

.dropdown-toggle::after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: .3em solid;
    border-right: .3em solid transparent;
    border-bottom: 0;
    border-left: .3em solid transparent;
}

.galleria-dettaglio .galleriasfondo {
    width: 200vw !important;
    margin: 0 -50vw !important;
}

.footer-colonne label {
    margin-top: 20px;
}

/* ---------- MOVIMENTO RIDOTTO ---------- */

/*
 * WCAG 2.3.3 (Animation from Interactions) e la buona pratica per 2.2.2: chi ha
 * impostato la preferenza di sistema "riduci il movimento" non deve subire
 * animazioni e transizioni. Il tema non aveva una sola occorrenza di
 * prefers-reduced-motion: la media query esisteva solo dentro bootstrap-italia.
 *
 * Nota: gli scorrimenti animati via jQuery non passano dal CSS. Sono neutralizzati
 * in static/js/tema.js e inc/scripts.js, che azzerano $.fx.off leggendo la stessa
 * preferenza.
 */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
