@media (min-width: 576px) {
        dl, ol, p, ul {
            font-size: 1rem !important;
            line-height: 1.75rem;
        }
    }

.camposchedanuovo {
        font-weight:600;
    }

.maxh400 {
    max-height: 400px !important;
}

.card-teaser .card-body {
    display: flex;
    align-items: center;   /* allinea verticalmente al centro */
    justify-content: center; /* opzionale: centra anche orizzontalmente */
    height: 100%;          /* fa sì che occupi tutta l’altezza del contenitore */
}
.card-teaser .card-image {
    display: flex;
    align-items: center !important;     /* centro verticale */
    justify-content: center; /* centro orizzontale */
    height: 100%; /* prende l'altezza del contenitore */
}

/* Ridimensiona e mantiene proporzioni */
.card-teaser .card-image img {
    width: 40%;              /* dimensione immagine */
    height: auto;
    object-fit: contain;     /* mantiene le proporzioni */
    display: block;
    margin-top: 25%;

}

.homegray {
    background: #f5f5f5 !important;
    background-color: #f5f5f5 !important;
}

.it-header-slim-wrapper{
    background: #000000 !important;
}

.overlay-black {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.55); /* nero con trasparenza */
    pointer-events: none; /* non blocca click sull’immagine */
    border-radius: inherit; /* se l'immagine ha angoli arrotondati */
}

/* Applica stile uniforme alle voci del megamenù */
.navbar .nav-link.dropdown-toggle {
  font-weight: 400 !important;
  font-size: 1rem !important;
}

.navbar .navbar-collapsable .navbar-nav li.nav-item a.nav-link{
  font-weight: 400 !important;
  font-size: 1rem !important;
}


@media (max-width: 992px) {

.imgscheda {
  padding:30px !important;
}

.marginetabellatablet{

    padding: 1.5rem !important;
}

.titologrotta{
text-align:center;
}
}


@media (max-width: 575px) {

.imgheroo {
 display:none;
}
}


/* Forza il layout verticale dei controlli Leaflet */
.leaflet-bar a,
.leaflet-bar a:hover {
  display: block !important;
  float: none !important;
}

/* Evita che flex o btn-group esterni influenzino il blocco */
.leaflet-control-zoom.leaflet-bar {
  display: inline-block !important;
}

/* (opzionale) dimensioni coerenti su touch */
.leaflet-touch .leaflet-bar a {
  width: 30px;
  height: 30px;
  line-height: 30px;
}

/* Ripristina radio/checkbox nel controllo layer di Leaflet */
.leaflet-control-layers input[type="radio"],
.leaflet-control-layers input[type="checkbox"] {
  appearance: auto !important;
  -webkit-appearance: auto !important;
  -moz-appearance: auto !important;
  position: static !important;
  opacity: 1 !important;
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 0.4rem 0 0 !important;
  vertical-align: middle !important;
}

/* Etichette in colonna, peso normale */
.leaflet-control-layers label {
  display: block;
  font-weight: 400;
}

/* (opzionale) Migliora contrasto e click area */
.leaflet-control-layers span {
  cursor: pointer;
}

/* (opzionale) Colora i radio/checkbox con il tema del sito */
.leaflet-control-layers input[type="radio"],
.leaflet-control-layers input[type="checkbox"] {
  accent-color: #21479A; /* colore istituzionale */
}

.search-bar {
    width: 100%;
}

.search-bar .icon {
    width: 1.2em;
    height: 1.2em;
    pointer-events: none;
}

/* Mantieni proporzioni e altezza coerente */
.search-bar .form-control-lg {
    height: calc(3rem + 2px);
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

/* Migliora l’allineamento verticale */
.search-bar input {
    font-size: 1.1rem;
}

/* Ombra leggera per separare la barra dallo sfondo */
.search-bar input.form-control {
    box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.2s ease-in-out;
}

.search-bar input.form-control:focus {
    box-shadow: 0 0 0.4rem rgba(0, 123, 255, 0.25);
}

/* Bottone integrato a destra */
.search-bar button.btn {
    font-weight: 500;
    white-space: nowrap;
}

/* Versione mobile — bottone sotto */
@media (max-width: 576px) {
    .search-bar {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    .search-bar svg {
        position: absolute;
        top: 50%;
        left: 1.25rem;
        transform: translateY(-50%);
    }

    .search-bar button {
        position: static !important;
        transform: none !important;
        margin-top: 0.5rem;
        border-radius: 50rem !important;
    }
}


.img-square {
    width: 100%;
    aspect-ratio: 1 / 1;       /* imposta forma quadrata */
    object-fit: cover;         /* ritaglia il contenuto mantenendo proporzioni */
    object-position: center;   /* centra il ritaglio */
    border-radius: 0.5rem;     /* opzionale, mantiene il bordo arrotondato */
    display: block;
}

/* Se vuoi limitare l’altezza massima */
.maxh400 {
    max-height: 400px;
}

.navbar .navbar-collapsable
 {
 z-index:10000 !important;
 }


.col-contatti {
    padding-bottom: 10px;
}


.allinea {
    height: 6.9em;
    display: table-cell;
    vertical-align: middle;
}

.normative-container h5 {
    margin-top: 0;
}

.links-container h5 {
    margin-top: 10px;
}

.info-field a {
    color: #000;
}

/*********** breadcrumb *************************/

.breadcrumb-container .breadcrumb {
    text-transform: uppercase;
    width: 768px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.breadcrumb-container .breadcrumb li {
    display: inline;
    font-size: 13px;
    color: #777;
}

.breadcrumb-container .breadcrumb {
    padding-left: 10px;
}

/*********** bootstrap no gutter ***************/

/* no-gutters Class Rules */
.row.no-gutters {
    margin-right: 0;
    margin-left: 0;
}
.row.no-gutters > [class^="col-"],
.row.no-gutters > [class*=" col-"] {
    padding-right: 0;
    padding-left: 0;
}



@media (max-width: 990px) {
    .breadcrumb-container .breadcrumb {
        width: 600px;
    }
    .btn-labeled {padding-top: 10px;padding-bottom: 10px;margin-top: 10px;margin-bottom: 10px;}
}



.immagine {
    max-width: 200px;
}




.valign{
    display: inline-block;
    vertical-align: middle;
    float: none;
}

.immagine{
    max-height:160px;
}

.media-list {
    margin-top: 8px;
    margin-right:15px;
}

.media-list .glyphicon {
    top: 2px;
}

.box-link .box-titolo {
    margin-top: 4px;
}

.main-box .list-group .list-group-item:hover {
    border-bottom: 1px solid #ccc;
    background-color: #eee;
}



.nomegrotta{
    padding:0;
    font-size: 50px;
}
.camposcheda{
    margin-bottom: 2px;
    color:#6b6b6b;
}


@media (max-width: 767px){
    .risultatiricerca {
        text-align: center;
    }

    .btn-labeled {padding-top: 10px;padding-bottom: 10px;margin-top: 10px;margin-bottom: 10px;}

}

.hide {
    display: none !important;
}

.progress {

    font-size: .52rem !important;

}

.nav-pills .nav-link.active, .nav-pills .show>.nav-link { background-color: #21479A !important; }

/*
.btn-primary { background-color: #21479A !important; }
*/
.dropdown-item{
    padding-top: 5px !important;
}

[type=search] {
    outline-offset: -2px;
    -webkit-appearance: textfield;
}

.icons-list-tabella{
    list-style-type: none;
    padding-left: 1px;

}
.icons-list-tabella2{
    list-style-type: none;
    padding: 1px;
    width:24px;
    margin-bottom:2px;
    color:#7c69ef;
}

.icons-list-tabella2 p {
font-size:10px !important;
}

.testohome a{

    color:#21479A;
    font-weight: bold;

}

.daticatasto{
    color:#000000;
    margin-left: 5px;
}

.avvisiurgenti{
    background-color:#ffca6b;
}

.verificagreen{
    color:green;
}

.verificared{
    color:red;
}

.ekko-lightbox{
    z-index: 1200;
}

.bibliotitolo{
    font-size: 1.3625rem;

}

.biblioaut{
    font-style: italic;

}

.biblio{
    color:#000000;

}

.biblioriassunto{
    color:#161b1d;
    margin-top: 10px !important;
}

.bibliodiv{
    margin-top:12px;
}


/* bordo del campo inserimento del form */

.borderform{
    border: 1px solid #ccc;
}



.btn-label {position: relative;right: -8px;display: inline-block;padding: 9px 1px;border-radius: 3px 0 0 3px;}
.btn-labeled {padding-top: 0;padding-bottom: 0;}


.custom-select{
    border: 1px solid #000 !important;


}



#intestazione {
    position: fixed;
    right: 0px;
    top: 0px;
    z-index: 1110;
    margin: 0px;
    width: 100%;
    height: 40px;
    background: #21479A;
    border-bottom:1px solid #C0C0C0;
}
#intestazione img {
    border: 0px;
}
.intestazioneSX {
    float: left;
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 0px 0px;

}
.intestazioneCenter {
    float: left;
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
    border-right: solid 1px white;
}

.icoapp{
    width: 100px;
    padding: 10px;
}

.obbligatorio{
    color:red;
}

@media (min-width: 768px){
    .col-md-3-ricercabutt {
        flex: 0 0 25%;
        max-width: 24% !important;
         min-height: 18% !important;
    }
}

@media (min-width: 769px) and (max-width: 1199px){
    .col-md-3-ricercabutt {

         min-height: 28% !important;
    }
}

@media (max-width: 768px){
    .logoreg {

        height: 28px;
    }
    .barralogoreg{
        margin-top: 28px;
    }
    #intestazione{
        height: 28px !important;
    }

}

@media (min-width: 768px){
    .logoreg {

        height: 40px;
    }
    .barralogoreg{
        margin-top: 40px;
    }

    .nullo{
        height: 0;
        width: 0;

    }
}


.form_obbligatorio {
   background-color: #fdffa1 !important;
}


.card-body, .card-footer, .card-header, .card-meta, [class*=card-img] {

    width: 100% !important;

}

.marginegalleria{
margin-top: 20px !important;
}

.altezzafotocard
{
  height: 100px;
object-fit: cover;
}

.colorebianco{
  color: #fff !important;
}

.fe-trash-2{
    cursor: pointer;

}

.select2obbligatori{
    background-color: #fdffa1 !important;
}

.titoli-bolle-home{
    font-size: 1.1875rem;
        color: #000;
        line-height: 1.45;
        letter-spacing: -.01em;
        margin-bottom: .5rem;
        margin-top: 0;

}

.titolo-home-testo{
    font-family: decima_rgbold,Arial,Helvetica,sans-serif;
    font-size: 1.3125rem;
        color: #000;
        line-height: 1.4;
        letter-spacing: -.01em;
        margin-bottom: .5rem;
        margin-top: 0;


}


.select2-container--default .select2-selection--single{
     background-color: transparent !important;
}

.select2nonobbligatori{
    background-color: #fff !important;
}

.select2nonobbligatoridisabled{

        background-color: #f1f4f8 !important;
    opacity: 1;
}

.bottonemodifica {
    color:#42ba96;
}

.bottonecestino {
    color:#df4759 !important;
}

.nuovatabaggiornacav {
    background-color: #df4759;
    color:white;
}

@media (max-width: 1199px){
.menunascosto {visibility: hidden; display: none;}
}

@media (min-width: 1200px){
.menunascosto {visibility: visible; display: inline;}
}

@media (min-width: 990px){
.nuovasegnstato {visibility: visible; display: inline;}
}
@media (max-width: 989px){
.nuovasegnstato {visibility: hidden; display: none;}
}


.daticatastocrigatop{
    color:#ffffff;

}

.h3criga{
    font-family: decimaregular,Arial,Helvetica,sans-serif;
    color:white !important;
}

/* container select2 sempre largo quanto la colonna bootstrap */
.select2-container {
    width: 100% !important;
}

/* box uniforme (evita differenze tra righe) */
.select2-container--default .select2-selection--single {
    height: 44px;           /* usa la tua altezza standard */
    display: flex;
    align-items: center;
}



/* 1) Spazio a destra per testo: deve lasciare posto a X + freccia */
.select2-container--default .select2-selection--single .select2-selection__rendered {
    padding-right: 4.2rem !important; /* testo non va sotto le icone */
}

/* 2) Spazio totale del box (non obbligatorio ma spesso utile) */
.select2-container--default .select2-selection--single {
    padding-right: 0.25rem !important;
}

/* 3) Freccia più a destra */
.select2-container--default .select2-selection--single .select2-selection__arrow {
    right: 0.8rem !important;
}

/* 4) X tra testo e freccia, centrata verticalmente */
.select2-container--default .select2-selection--single .select2-selection__clear {
    position: absolute !important;
    right: 1rem !important; /* lascia la corsia alla freccia */
    top: 50% !important;
    transform: translateY(-50%) !important;

    margin: 0 !important;
    padding: 0 .15rem !important;

    z-index: 2;
    cursor: pointer;
    line-height: 1;
}

/* 5) Assicura che l'area cliccabile della select non copra la X */
.select2-container--default .select2-selection--single {
    position: relative;
}

.selezionavalnos + .select2-container .select2-selection__rendered { padding-right: 4.2rem !important; }
.selezionavalnos + .select2-container .select2-selection__clear { right: 2.4rem !important; }
.selezionavalnos + .select2-container .select2-selection__arrow { right: 0.8rem !important; }

.btn-secondary {

    background-color: #506690 !important;

}

.btn:hover{
    color:white !important;
    background-color: #004d99 !important;

}