/*!
 * bs3-compat.css - compatibilita' Bootstrap 3 -> Bootstrap 5.3 per il sito pubblico Microrep.
 * Va caricato DOPO bootstrap 5 e PRIMA di template2.css / sege.css.
 * Serve per i contenuti HTML salvati nel database (frm_templatemapping.page_content, frm_news, ...)
 * che usano ancora classi Bootstrap 3 (col-xs-*, col-*-offset-*, panel, img-responsive,
 * hidden-xs/visible-xs, embed-responsive, pull-*, btn-default, label, well, ...).
 * Ricostruisce inoltre le metriche tipografiche e la griglia (gutter 30px) del vecchio tema.
 */

/* ---------- base tipografica del tema BS3 (template2) ---------- */
:root {
    --bs-body-font-family: Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif;
    --bs-body-font-size: 14px;
    --bs-body-line-height: 1.428571429;
    --bs-body-color: #555;
    --bs-link-color: #337ab7;
    --bs-link-color-rgb: 51, 122, 183;
    --bs-link-hover-color: #0d0d0d;
    --bs-link-hover-color-rgb: 13, 13, 13;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-weight: 500; line-height: 1.2; color: inherit; }
h1, .h1, h2, .h2, h3, .h3 { margin-top: 20px; margin-bottom: 10px; }
h4, .h4, h5, .h5, h6, .h6 { margin-top: 10px; margin-bottom: 10px; }
h1, .h1 { font-size: 36px; }
h2, .h2 { font-size: 30px; }
h3, .h3 { font-size: 24px; }
h4, .h4 { font-size: 18px; }
h5, .h5 { font-size: 14px; }
h6, .h6 { font-size: 12px; }
h1 small, h2 small, h3 small, h1 .small, h2 .small, h3 .small,
.h1 small, .h2 small, .h3 small { font-size: 65%; font-weight: 400; line-height: 1; color: #999; }
h4 small, h5 small, h6 small, h4 .small, h5 .small, h6 .small { font-size: 75%; font-weight: 400; line-height: 1; color: #999; }
p { margin: 0 0 10px; }
hr { margin-top: 20px; margin-bottom: 20px; border: 0; border-top: 1px solid #eee; opacity: 1; }
.lead { margin-bottom: 20px; font-size: 16px; font-weight: 200; line-height: 1.4; }
@media (min-width: 768px) { .lead { font-size: 21px; } }
label { margin-bottom: 5px; font-weight: 700; }
img { vertical-align: middle; }

/* container/griglia con le misure BS3 (gutter 30px, container max 1170px) */
.container, .container-fluid, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl, .row { --bs-gutter-x: 30px; }
@media (min-width: 1200px) { .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl { max-width: 1170px; } }

/* tabelle: il tema non usava bordi tra le righe */
.table { margin-bottom: 20px; }
.table > :not(caption) > * > * { padding: 8px; border-bottom-width: 0; }
.table-striped > tbody > tr:nth-of-type(odd) > * { --bs-table-bg-type: #f9f9f9; }

/* colori del tema per i bottoni (BS3 personalizzato: primary arancio, default antracite) */
.btn-primary {
    --bs-btn-color: #fff; --bs-btn-bg: #f15f4c; --bs-btn-border-color: #ef4a34;
    --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #ee3d26; --bs-btn-hover-border-color: #d62711;
    --bs-btn-active-color: #fff; --bs-btn-active-bg: #ee3d26; --bs-btn-active-border-color: #d62711;
    --bs-btn-disabled-color: #fff; --bs-btn-disabled-bg: #f15f4c; --bs-btn-disabled-border-color: #ef4a34;
    --bs-btn-focus-shadow-rgb: 241, 95, 76;
}
.btn-default, .btn-secondary {
    --bs-btn-color: #fff; --bs-btn-bg: #4b494f; --bs-btn-border-color: #ccc;
    --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #37353a; --bs-btn-hover-border-color: #adadad;
    --bs-btn-active-color: #fff; --bs-btn-active-bg: #37353a; --bs-btn-active-border-color: #adadad;
    --bs-btn-disabled-color: #fff; --bs-btn-disabled-bg: #4b494f; --bs-btn-disabled-border-color: #ccc;
}
.btn-xs { padding: 1px 5px; font-size: 12px; line-height: 1.5; border-radius: 3px; }
.btn-block { display: block; width: 100%; }
.text-primary { color: #f15f4c !important; }
.bg-primary { color: #fff; background-color: #f15f4c !important; }

/* ---------- griglia BS3: col-xs-*, offset/push/pull ---------- */

.col-xs-1 { flex: 0 0 auto; width: 8.33333333%; }
.col-xs-2 { flex: 0 0 auto; width: 16.66666667%; }
.col-xs-3 { flex: 0 0 auto; width: 25%; }
.col-xs-4 { flex: 0 0 auto; width: 33.33333333%; }
.col-xs-5 { flex: 0 0 auto; width: 41.66666667%; }
.col-xs-6 { flex: 0 0 auto; width: 50%; }
.col-xs-7 { flex: 0 0 auto; width: 58.33333333%; }
.col-xs-8 { flex: 0 0 auto; width: 66.66666667%; }
.col-xs-9 { flex: 0 0 auto; width: 75%; }
.col-xs-10 { flex: 0 0 auto; width: 83.33333333%; }
.col-xs-11 { flex: 0 0 auto; width: 91.66666667%; }
.col-xs-12 { flex: 0 0 auto; width: 100%; }
.col-xs-offset-0 { margin-left: 0; }
.col-xs-offset-1 { margin-left: 8.33333333%; }
.col-xs-offset-2 { margin-left: 16.66666667%; }
.col-xs-offset-3 { margin-left: 25%; }
.col-xs-offset-4 { margin-left: 33.33333333%; }
.col-xs-offset-5 { margin-left: 41.66666667%; }
.col-xs-offset-6 { margin-left: 50%; }
.col-xs-offset-7 { margin-left: 58.33333333%; }
.col-xs-offset-8 { margin-left: 66.66666667%; }
.col-xs-offset-9 { margin-left: 75%; }
.col-xs-offset-10 { margin-left: 83.33333333%; }
.col-xs-offset-11 { margin-left: 91.66666667%; }

/* le classi responsive BS5 vengono ridichiarate DOPO col-xs-* per rispettare la cascata (es. col-xs-12 col-md-4) */
@media (min-width: 576px) {
  .col-sm-1 { flex: 0 0 auto; width: 8.33333333%; }
  .col-sm-2 { flex: 0 0 auto; width: 16.66666667%; }
  .col-sm-3 { flex: 0 0 auto; width: 25%; }
  .col-sm-4 { flex: 0 0 auto; width: 33.33333333%; }
  .col-sm-5 { flex: 0 0 auto; width: 41.66666667%; }
  .col-sm-6 { flex: 0 0 auto; width: 50%; }
  .col-sm-7 { flex: 0 0 auto; width: 58.33333333%; }
  .col-sm-8 { flex: 0 0 auto; width: 66.66666667%; }
  .col-sm-9 { flex: 0 0 auto; width: 75%; }
  .col-sm-10 { flex: 0 0 auto; width: 83.33333333%; }
  .col-sm-11 { flex: 0 0 auto; width: 91.66666667%; }
  .col-sm-12 { flex: 0 0 auto; width: 100%; }
  .col-sm-offset-0, .offset-sm-0 { margin-left: 0; }
  .col-sm-offset-1, .offset-sm-1 { margin-left: 8.33333333%; }
  .col-sm-offset-2, .offset-sm-2 { margin-left: 16.66666667%; }
  .col-sm-offset-3, .offset-sm-3 { margin-left: 25%; }
  .col-sm-offset-4, .offset-sm-4 { margin-left: 33.33333333%; }
  .col-sm-offset-5, .offset-sm-5 { margin-left: 41.66666667%; }
  .col-sm-offset-6, .offset-sm-6 { margin-left: 50%; }
  .col-sm-offset-7, .offset-sm-7 { margin-left: 58.33333333%; }
  .col-sm-offset-8, .offset-sm-8 { margin-left: 66.66666667%; }
  .col-sm-offset-9, .offset-sm-9 { margin-left: 75%; }
  .col-sm-offset-10, .offset-sm-10 { margin-left: 83.33333333%; }
  .col-sm-offset-11, .offset-sm-11 { margin-left: 91.66666667%; }
  .col-sm-push-0 { position: relative; left: auto; }
  .col-sm-pull-0 { position: relative; right: auto; }
  .col-sm-push-1 { position: relative; left: 8.33333333%; }
  .col-sm-pull-1 { position: relative; right: 8.33333333%; }
  .col-sm-push-2 { position: relative; left: 16.66666667%; }
  .col-sm-pull-2 { position: relative; right: 16.66666667%; }
  .col-sm-push-3 { position: relative; left: 25%; }
  .col-sm-pull-3 { position: relative; right: 25%; }
  .col-sm-push-4 { position: relative; left: 33.33333333%; }
  .col-sm-pull-4 { position: relative; right: 33.33333333%; }
  .col-sm-push-5 { position: relative; left: 41.66666667%; }
  .col-sm-pull-5 { position: relative; right: 41.66666667%; }
  .col-sm-push-6 { position: relative; left: 50%; }
  .col-sm-pull-6 { position: relative; right: 50%; }
  .col-sm-push-7 { position: relative; left: 58.33333333%; }
  .col-sm-pull-7 { position: relative; right: 58.33333333%; }
  .col-sm-push-8 { position: relative; left: 66.66666667%; }
  .col-sm-pull-8 { position: relative; right: 66.66666667%; }
  .col-sm-push-9 { position: relative; left: 75%; }
  .col-sm-pull-9 { position: relative; right: 75%; }
  .col-sm-push-10 { position: relative; left: 83.33333333%; }
  .col-sm-pull-10 { position: relative; right: 83.33333333%; }
  .col-sm-push-11 { position: relative; left: 91.66666667%; }
  .col-sm-pull-11 { position: relative; right: 91.66666667%; }
  .col-sm-push-12 { position: relative; left: 100%; }
  .col-sm-pull-12 { position: relative; right: 100%; }
}
@media (min-width: 768px) {
  .col-md-1 { flex: 0 0 auto; width: 8.33333333%; }
  .col-md-2 { flex: 0 0 auto; width: 16.66666667%; }
  .col-md-3 { flex: 0 0 auto; width: 25%; }
  .col-md-4 { flex: 0 0 auto; width: 33.33333333%; }
  .col-md-5 { flex: 0 0 auto; width: 41.66666667%; }
  .col-md-6 { flex: 0 0 auto; width: 50%; }
  .col-md-7 { flex: 0 0 auto; width: 58.33333333%; }
  .col-md-8 { flex: 0 0 auto; width: 66.66666667%; }
  .col-md-9 { flex: 0 0 auto; width: 75%; }
  .col-md-10 { flex: 0 0 auto; width: 83.33333333%; }
  .col-md-11 { flex: 0 0 auto; width: 91.66666667%; }
  .col-md-12 { flex: 0 0 auto; width: 100%; }
  .col-md-offset-0, .offset-md-0 { margin-left: 0; }
  .col-md-offset-1, .offset-md-1 { margin-left: 8.33333333%; }
  .col-md-offset-2, .offset-md-2 { margin-left: 16.66666667%; }
  .col-md-offset-3, .offset-md-3 { margin-left: 25%; }
  .col-md-offset-4, .offset-md-4 { margin-left: 33.33333333%; }
  .col-md-offset-5, .offset-md-5 { margin-left: 41.66666667%; }
  .col-md-offset-6, .offset-md-6 { margin-left: 50%; }
  .col-md-offset-7, .offset-md-7 { margin-left: 58.33333333%; }
  .col-md-offset-8, .offset-md-8 { margin-left: 66.66666667%; }
  .col-md-offset-9, .offset-md-9 { margin-left: 75%; }
  .col-md-offset-10, .offset-md-10 { margin-left: 83.33333333%; }
  .col-md-offset-11, .offset-md-11 { margin-left: 91.66666667%; }
  .col-md-push-0 { position: relative; left: auto; }
  .col-md-pull-0 { position: relative; right: auto; }
  .col-md-push-1 { position: relative; left: 8.33333333%; }
  .col-md-pull-1 { position: relative; right: 8.33333333%; }
  .col-md-push-2 { position: relative; left: 16.66666667%; }
  .col-md-pull-2 { position: relative; right: 16.66666667%; }
  .col-md-push-3 { position: relative; left: 25%; }
  .col-md-pull-3 { position: relative; right: 25%; }
  .col-md-push-4 { position: relative; left: 33.33333333%; }
  .col-md-pull-4 { position: relative; right: 33.33333333%; }
  .col-md-push-5 { position: relative; left: 41.66666667%; }
  .col-md-pull-5 { position: relative; right: 41.66666667%; }
  .col-md-push-6 { position: relative; left: 50%; }
  .col-md-pull-6 { position: relative; right: 50%; }
  .col-md-push-7 { position: relative; left: 58.33333333%; }
  .col-md-pull-7 { position: relative; right: 58.33333333%; }
  .col-md-push-8 { position: relative; left: 66.66666667%; }
  .col-md-pull-8 { position: relative; right: 66.66666667%; }
  .col-md-push-9 { position: relative; left: 75%; }
  .col-md-pull-9 { position: relative; right: 75%; }
  .col-md-push-10 { position: relative; left: 83.33333333%; }
  .col-md-pull-10 { position: relative; right: 83.33333333%; }
  .col-md-push-11 { position: relative; left: 91.66666667%; }
  .col-md-pull-11 { position: relative; right: 91.66666667%; }
  .col-md-push-12 { position: relative; left: 100%; }
  .col-md-pull-12 { position: relative; right: 100%; }
}
@media (min-width: 992px) {
  .col-lg-1 { flex: 0 0 auto; width: 8.33333333%; }
  .col-lg-2 { flex: 0 0 auto; width: 16.66666667%; }
  .col-lg-3 { flex: 0 0 auto; width: 25%; }
  .col-lg-4 { flex: 0 0 auto; width: 33.33333333%; }
  .col-lg-5 { flex: 0 0 auto; width: 41.66666667%; }
  .col-lg-6 { flex: 0 0 auto; width: 50%; }
  .col-lg-7 { flex: 0 0 auto; width: 58.33333333%; }
  .col-lg-8 { flex: 0 0 auto; width: 66.66666667%; }
  .col-lg-9 { flex: 0 0 auto; width: 75%; }
  .col-lg-10 { flex: 0 0 auto; width: 83.33333333%; }
  .col-lg-11 { flex: 0 0 auto; width: 91.66666667%; }
  .col-lg-12 { flex: 0 0 auto; width: 100%; }
  .col-lg-offset-0, .offset-lg-0 { margin-left: 0; }
  .col-lg-offset-1, .offset-lg-1 { margin-left: 8.33333333%; }
  .col-lg-offset-2, .offset-lg-2 { margin-left: 16.66666667%; }
  .col-lg-offset-3, .offset-lg-3 { margin-left: 25%; }
  .col-lg-offset-4, .offset-lg-4 { margin-left: 33.33333333%; }
  .col-lg-offset-5, .offset-lg-5 { margin-left: 41.66666667%; }
  .col-lg-offset-6, .offset-lg-6 { margin-left: 50%; }
  .col-lg-offset-7, .offset-lg-7 { margin-left: 58.33333333%; }
  .col-lg-offset-8, .offset-lg-8 { margin-left: 66.66666667%; }
  .col-lg-offset-9, .offset-lg-9 { margin-left: 75%; }
  .col-lg-offset-10, .offset-lg-10 { margin-left: 83.33333333%; }
  .col-lg-offset-11, .offset-lg-11 { margin-left: 91.66666667%; }
  .col-lg-push-0 { position: relative; left: auto; }
  .col-lg-pull-0 { position: relative; right: auto; }
  .col-lg-push-1 { position: relative; left: 8.33333333%; }
  .col-lg-pull-1 { position: relative; right: 8.33333333%; }
  .col-lg-push-2 { position: relative; left: 16.66666667%; }
  .col-lg-pull-2 { position: relative; right: 16.66666667%; }
  .col-lg-push-3 { position: relative; left: 25%; }
  .col-lg-pull-3 { position: relative; right: 25%; }
  .col-lg-push-4 { position: relative; left: 33.33333333%; }
  .col-lg-pull-4 { position: relative; right: 33.33333333%; }
  .col-lg-push-5 { position: relative; left: 41.66666667%; }
  .col-lg-pull-5 { position: relative; right: 41.66666667%; }
  .col-lg-push-6 { position: relative; left: 50%; }
  .col-lg-pull-6 { position: relative; right: 50%; }
  .col-lg-push-7 { position: relative; left: 58.33333333%; }
  .col-lg-pull-7 { position: relative; right: 58.33333333%; }
  .col-lg-push-8 { position: relative; left: 66.66666667%; }
  .col-lg-pull-8 { position: relative; right: 66.66666667%; }
  .col-lg-push-9 { position: relative; left: 75%; }
  .col-lg-pull-9 { position: relative; right: 75%; }
  .col-lg-push-10 { position: relative; left: 83.33333333%; }
  .col-lg-pull-10 { position: relative; right: 83.33333333%; }
  .col-lg-push-11 { position: relative; left: 91.66666667%; }
  .col-lg-pull-11 { position: relative; right: 91.66666667%; }
  .col-lg-push-12 { position: relative; left: 100%; }
  .col-lg-pull-12 { position: relative; right: 100%; }
}
@media (min-width: 1200px) {
  .col-xl-1 { flex: 0 0 auto; width: 8.33333333%; }
  .col-xl-2 { flex: 0 0 auto; width: 16.66666667%; }
  .col-xl-3 { flex: 0 0 auto; width: 25%; }
  .col-xl-4 { flex: 0 0 auto; width: 33.33333333%; }
  .col-xl-5 { flex: 0 0 auto; width: 41.66666667%; }
  .col-xl-6 { flex: 0 0 auto; width: 50%; }
  .col-xl-7 { flex: 0 0 auto; width: 58.33333333%; }
  .col-xl-8 { flex: 0 0 auto; width: 66.66666667%; }
  .col-xl-9 { flex: 0 0 auto; width: 75%; }
  .col-xl-10 { flex: 0 0 auto; width: 83.33333333%; }
  .col-xl-11 { flex: 0 0 auto; width: 91.66666667%; }
  .col-xl-12 { flex: 0 0 auto; width: 100%; }
  .col-xl-offset-0, .offset-xl-0 { margin-left: 0; }
  .col-xl-offset-1, .offset-xl-1 { margin-left: 8.33333333%; }
  .col-xl-offset-2, .offset-xl-2 { margin-left: 16.66666667%; }
  .col-xl-offset-3, .offset-xl-3 { margin-left: 25%; }
  .col-xl-offset-4, .offset-xl-4 { margin-left: 33.33333333%; }
  .col-xl-offset-5, .offset-xl-5 { margin-left: 41.66666667%; }
  .col-xl-offset-6, .offset-xl-6 { margin-left: 50%; }
  .col-xl-offset-7, .offset-xl-7 { margin-left: 58.33333333%; }
  .col-xl-offset-8, .offset-xl-8 { margin-left: 66.66666667%; }
  .col-xl-offset-9, .offset-xl-9 { margin-left: 75%; }
  .col-xl-offset-10, .offset-xl-10 { margin-left: 83.33333333%; }
  .col-xl-offset-11, .offset-xl-11 { margin-left: 91.66666667%; }
  .col-xl-push-0 { position: relative; left: auto; }
  .col-xl-pull-0 { position: relative; right: auto; }
  .col-xl-push-1 { position: relative; left: 8.33333333%; }
  .col-xl-pull-1 { position: relative; right: 8.33333333%; }
  .col-xl-push-2 { position: relative; left: 16.66666667%; }
  .col-xl-pull-2 { position: relative; right: 16.66666667%; }
  .col-xl-push-3 { position: relative; left: 25%; }
  .col-xl-pull-3 { position: relative; right: 25%; }
  .col-xl-push-4 { position: relative; left: 33.33333333%; }
  .col-xl-pull-4 { position: relative; right: 33.33333333%; }
  .col-xl-push-5 { position: relative; left: 41.66666667%; }
  .col-xl-pull-5 { position: relative; right: 41.66666667%; }
  .col-xl-push-6 { position: relative; left: 50%; }
  .col-xl-pull-6 { position: relative; right: 50%; }
  .col-xl-push-7 { position: relative; left: 58.33333333%; }
  .col-xl-pull-7 { position: relative; right: 58.33333333%; }
  .col-xl-push-8 { position: relative; left: 66.66666667%; }
  .col-xl-pull-8 { position: relative; right: 66.66666667%; }
  .col-xl-push-9 { position: relative; left: 75%; }
  .col-xl-pull-9 { position: relative; right: 75%; }
  .col-xl-push-10 { position: relative; left: 83.33333333%; }
  .col-xl-pull-10 { position: relative; right: 83.33333333%; }
  .col-xl-push-11 { position: relative; left: 91.66666667%; }
  .col-xl-pull-11 { position: relative; right: 91.66666667%; }
  .col-xl-push-12 { position: relative; left: 100%; }
  .col-xl-pull-12 { position: relative; right: 100%; }
}

/* "col-sm" senza numero: in BS3 non esisteva (nessun effetto), in BS5 crea colonne affiancate.
   Nei contenuti CMS compare insieme a col-md-* ("col-md-6 col-sm 12"): lo neutralizzo nella fascia sm. */
@media (min-width: 576px) and (max-width: 767.98px) {
    .row > .col-sm:not([class*="col-sm-"]) { flex: 0 0 auto; width: 100%; }
}

/* ---------- visibilita' responsive BS3 (breakpoint originali 768/992/1200) ---------- */
.visible-xs, .visible-sm, .visible-md, .visible-lg,
.visible-xs-block, .visible-sm-block, .visible-md-block, .visible-lg-block,
.visible-xs-inline, .visible-sm-inline, .visible-md-inline, .visible-lg-inline,
.visible-xs-inline-block, .visible-sm-inline-block, .visible-md-inline-block, .visible-lg-inline-block { display: none !important; }
@media (max-width: 767.98px) {
    .visible-xs, .visible-xs-block { display: block !important; }
    .visible-xs-inline { display: inline !important; }
    .visible-xs-inline-block { display: inline-block !important; }
    .hidden-xs { display: none !important; }
}
@media (min-width: 768px) and (max-width: 991.98px) {
    .visible-sm, .visible-sm-block { display: block !important; }
    .visible-sm-inline { display: inline !important; }
    .visible-sm-inline-block { display: inline-block !important; }
    .hidden-sm { display: none !important; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .visible-md, .visible-md-block { display: block !important; }
    .visible-md-inline { display: inline !important; }
    .visible-md-inline-block { display: inline-block !important; }
    .hidden-md { display: none !important; }
}
@media (min-width: 1200px) {
    .visible-lg, .visible-lg-block { display: block !important; }
    .visible-lg-inline { display: inline !important; }
    .visible-lg-inline-block { display: inline-block !important; }
    .hidden-lg { display: none !important; }
}
.hidden { display: none !important; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }

/* ---------- utility BS3 ---------- */
.pull-right { float: right !important; }
.pull-left { float: left !important; }
.center-block { display: block; margin-left: auto; margin-right: auto; }
.img-responsive, .carousel-inner > .item > img, .carousel-inner > .item > a > img { display: block; max-width: 100%; height: auto; }
.img-rounded { border-radius: 6px; }
.img-circle { border-radius: 50%; }

/* ---------- embed-responsive (BS3.2+) -> equivalente di .ratio ---------- */
.embed-responsive { position: relative; display: block; height: 0; padding: 0; overflow: hidden; }
.embed-responsive .embed-responsive-item, .embed-responsive iframe, .embed-responsive embed,
.embed-responsive object, .embed-responsive video { position: absolute; top: 0; bottom: 0; left: 0; width: 100%; height: 100%; border: 0; }
.embed-responsive-16by9 { padding-bottom: 56.25%; }
.embed-responsive-4by3 { padding-bottom: 75%; }

/* ---------- panel / well (-> card) ---------- */
.panel { margin-bottom: 20px; background-color: #fff; border: 0 solid transparent; border-radius: 4px; box-shadow: 0 1px 1px rgba(0, 0, 0, .05); }
.panel-body { padding: 15px; }
.panel-body::after { display: block; clear: both; content: ""; }
.panel-heading { padding: 10px 15px; border-bottom: 1px solid transparent; border-top-left-radius: 3px; border-top-right-radius: 3px; }
.panel-title { margin-top: 0; margin-bottom: 0; font-size: 16px; color: inherit; }
.panel-footer { padding: 10px 15px; background-color: #f5f5f5; border-top: 1px solid #ddd; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; }
.panel-default { border-color: #ddd; }
.panel-default > .panel-heading { color: #333; background-color: #f5f5f5; border-color: #ddd; }
.panel-primary { border-color: #f15f4c; }
.panel-primary > .panel-heading { color: #fff; background-color: #f15f4c; border-color: #f15f4c; }
.panel-success > .panel-heading { color: #3c763d; background-color: #dff0d8; border-color: #d6e9c6; }
.panel-info > .panel-heading { color: #31708f; background-color: #d9edf7; border-color: #bce8f1; }
.panel-warning > .panel-heading { color: #8a6d3b; background-color: #fcf8e3; border-color: #faebcc; }
.panel-danger > .panel-heading { color: #a94442; background-color: #f2dede; border-color: #ebccd1; }
.well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; border: 1px solid #e3e3e3; border-radius: 4px; box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); }

/* ---------- label (-> badge) ---------- */
.label { display: inline; padding: .2em .6em .3em; font-size: 75%; font-weight: 700; line-height: 1; color: #fff; text-align: center; white-space: nowrap; vertical-align: baseline; border-radius: .25em; }
.label-default { background-color: #777; }
.label-primary { background-color: #f15f4c; }
.label-success { background-color: #5cb85c; }
.label-info { background-color: #5bc0de; }
.label-warning { background-color: #f0ad4e; }
.label-danger { background-color: #f15f4c; }

/* ---------- carousel BS3 nei contenuti (banner statici con .item) ---------- */
.carousel-inner > .item { position: relative; }
.carousel-inner > .item:not(.active) { display: none; }

/* ---------- pager BS3 ---------- */
.pager { padding-left: 0; margin: 20px 0; list-style: none; text-align: center; }
.pager li { display: inline; }
.pager li > a, .pager li > span { display: inline-block; padding: 5px 14px; background-color: #fff; border: 1px solid #ddd; border-radius: 15px; }
.pager .next > a { float: right; }
.pager .previous > a { float: left; }


/* ---------- colonne BS3 fuori da un .row ----------
 * In BS3 le colonne erano float e si affiancavano anche senza un .row intorno (es. dentro una
 * <section> o dentro un'altra colonna, come nei contenuti del CMS). In BS5 si affiancano solo
 * dentro .row (flex): fuori si incolonnano. Qui si ripristina il float BS3 solo per quel caso;
 * dentro .row il float e' ignorato perche' le colonne sono elementi flex. */
:not(.row) > [class*="col-xs-"],
:not(.row) > [class*="col-sm-"]:not(.col-form-label),
:not(.row) > [class*="col-md-"],
:not(.row) > [class*="col-lg-"] {
  float: left;
  position: relative;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}
:not(.row):has(> [class*="col-xs-"], > [class*="col-sm-"], > [class*="col-md-"], > [class*="col-lg-"])::after {
  content: "";
  display: table;
  clear: both;
}
