@font-face{
  font-family: "Inter 18pt";
  src:
    url("../fonts/Inter_18pt-Regular.woff2") format("woff2"),
    url("../fonts/Inter_18pt-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face{
  font-family: "Inter 18pt";
  src:
    url("../fonts/Inter_18pt-SemiBold.woff2") format("woff2"),
    url("../fonts/Inter_18pt-SemiBold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face{
  font-family: "Inter 18pt";
  src:
    url("../fonts/Inter_18pt-Bold.woff2") format("woff2"),
    url("../fonts/Inter_18pt-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}


:root{
  /* font */
  --bs-font-sans-serif: "Inter 18pt", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  --bs-body-font-family: var(--bs-font-sans-serif);

  /* Colori dal layout */
  --sf-primary: #990000;         /* rosso istituzionale */
  --sf-primary-hover: #7a0000;   /* hover */
  --sf-primary-active: #5c0000;  /* active */
  --sf-primary-soft: #eeeeee;    /* background soft (tinte leggere) */

  --sf-ink: #3f3f3f;             /* testo principale */
  --sf-muted: #555555;           /* testo secondario */
  --sf-border: #e3e3e3;          /* bordi */
  --sf-surface: #ffffff;         /* superfici */
  --sf-surface-2: #f6f6f6;       /* superfici alternate */

  --sf-footer-bg: #1f1f1f;       /* footer scuro */
  --sf-footer-bg-2: #101010;     /* fascia inferiore footer */
  --sf-footer-text: #f2f2f2;
  --sf-footer-muted: #cfcfcf;

  /* Raggi e ombre (sobrie) */
  --sf-radius-sm: .5rem;
  --sf-radius-md: .75rem;
  --sf-radius-lg: 1rem;
  --sf-shadow-1: 0 6px 18px rgba(0,0,0,.08);
  --sf-shadow-2: 0 10px 28px rgba(0,0,0,.12);
}

/* Mappa su variabili Bootstrap 5 (Bootstrap Italia le espone in gran parte) */
:root{
  --bs-primary: var(--sf-primary);
  --bs-link-color: var(--sf-primary);
  --bs-link-hover-color: var(--sf-primary-hover);

  --bs-body-color: var(--sf-ink);
  --bs-body-bg: var(--sf-surface);

  --bs-border-color: var(--sf-border);

  /* Focus ring: coerente col rosso, ma ben percepibile */
  --bs-focus-ring-color: rgba(152, 0, 0, .28);
}

/* -----------------------------
   2) Base typography & accessibilità
   ----------------------------- */
html { scroll-behavior: smooth; }

body{
  font-family: var(--bs-body-font-family);
  font-weight: 400;
  color: var(--sf-ink);
  background: var(--sf-surface);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a{
  text-decoration-thickness: .08em;
  text-underline-offset: .18em;
}
a:hover{ text-decoration-thickness: .12em; }
.it-header-center-wrapper .it-header-center-content-wrapper .it-right-zone .it-socials ul a:hover svg
{fill:var(--sf-primary-hover);}


.text-sf-primary {color: var(--sf-primary);}
.bg-primary-soft {background-color: var(--sf-primary-soft);}
.icon-primary {fill:var(--sf-primary) !important;}
/* colori link / accordion / pagination */
a.category,
a.read-more,
.modulo_news a .text-primary,
.modulo a .text-primary,
.dropdown .btn-dropdown,
.link-list-wrapper ul li a span,
#navbarTOC .link-list-wrapper ul li a span,
.navbar.it-navscroll-wrapper .link-list-wrapper ul li a span,
.accordion-header .accordion-button,
.accordion-header .accordion-button::after,
.card .card-body h5.card-title, .card .card-body .card-title.h5,
.pagination .page-item .page-link[aria-current]{
  color: var(--sf-primary) !important;
}
.modulo_menu ul li.TabSelected,
.navbar.it-navscroll-wrapper .link-list-wrapper ul li a.active{
  border-left: 2px solid var(--sf-primary);
}
.accordion-header .accordion-button::after {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 24 24'%3E%3Cg%3E%3Cpath fill='%23990000' d='M12,10.3l4.8,4.8c0.3,0.3,0.8,0.3,1.1,0c0.3-0.3,0.3-0.8,0-1c0,0,0,0,0,0l-4.8-4.8c-0.6-0.6-1.5-0.6-2.1,0L6.2,14c-0.3,0.3-0.3,0.8,0,1c0,0,0,0,0,0c0.3,0.3,0.8,0.3,1.1,0L12,10.3z'/%3E%3C/g%3E%3C/svg%3E");
}
.pagination .page-item .page-link[aria-current] {border-color: var(--sf-primary) ;}

h1,h2,h3,h4,h5,h6{
  font-family: var(--bs-body-font-family);
  letter-spacing: -0.01em;
  font-weight: 700;
}

.it-footer-main :is(p, ul, ol, dl){
  font-size: 1rem;
}
.it-footer-main :is(ul, ol, dl) {line-height: 2.3rem;}

.lead{ color: var(--sf-muted); }

@media (min-width: 1200px) {
/* Negative margin ~ -70px (responsive) */
.mt-n70 { margin-top: -70px !important; }
}



/* -----------------------------
   3) Header 
   ----------------------------- */

/* Slim header (barra rossa in alto) */
.it-header-slim-wrapper,
.it-header-slim-wrapper .it-header-slim-wrapper-content{
  background: var(--sf-primary) !important;
}
.it-header-slim-wrapper,
.it-header-slim-wrapper a,
.it-header-slim-wrapper .navbar-nav .nav-link{
  color: #fff !important;
}
.it-header-slim-wrapper a:hover{
  color: #fff !important;
  text-decoration: underline;
}

/* Area principale header */
.it-header-center-wrapper{
  background: var(--sf-surface) !important;
  border-bottom: 1px solid var(--sf-border);
}
.it-header-center-wrapper .it-header-center-content-wrapper .it-brand-wrapper .it-brand-text,
.it-header-center-wrapper .it-header-center-content-wrapper .it-right-zone 
{ color: var(--sf-ink);}

.it-header-center-wrapper .it-header-center-content-wrapper .it-right-zone .it-socials ul .icon, .custom-navbar-toggler svg, .navbar .close-div .close-menu svg,
a.read-more .icon
{fill:var(--bs-primary) !important;}

.it-header-center-wrapper .it-header-center-content-wrapper .it-search-wrapper a.rounded-icon svg,
.it-header-wrapper.it-header-sticky.is-sticky .it-header-navbar-wrapper .menu-wrapper .it-search-wrapper a.rounded-icon svg
{fill:var(--sf-primary);}
@media (min-width: 992px) {
.it-header-center-wrapper .it-header-center-content-wrapper .it-search-wrapper a.rounded-icon, .it-search-wrapper .bg-white{
  background-color: var(--sf-primary) !important;
}
.it-header-center-wrapper .it-header-center-content-wrapper .it-search-wrapper a.rounded-icon, .it-search-wrapper svg {fill: var(--sf-surface);}
.it-header-center-wrapper .it-header-center-content-wrapper .it-search-wrapper a.rounded-icon svg {fill:var(--sf-surface);}
.it-header-center-wrapper .it-header-center-content-wrapper .it-search-wrapper a.rounded-icon:hover {background-color: var(--sf-primary-hover);}

  /* zoom hover desktop */
  .zoom-hover > *{ overflow: hidden; }
  .zoom-hover img,
  .zoom-hover picture img,
  .zoom-hover video{
    display:block;
    max-width:100%;
    height:auto;
    transform: scale(1);
    transition: transform .45s ease;
    will-change: transform;
  }
  .zoom-hover:hover img,
  .zoom-hover:focus-visible img,
  .zoom-hover:hover picture img,
  .zoom-hover:focus-visible picture img,
  .zoom-hover:hover video,
  .zoom-hover:focus-visible video{
    transform: scale(1.08);
  }
.hero-splide__content .item-image {border-radius: 10px 0px 0px 10px;}
.hero-splide__content .item-text {border-radius: 0px 10px 10px 0px;}
.hero-mini-card:hover .item-text {
    background-color: var(--sf-primary-hover);
  }
.it-header-navbar-wrapper {  
  border-bottom: 1px solid var(--sf-border);
}
}

.bg-accent {
  background-color: var(--sf-primary) !important;
}
.bg-fx-title-1, .bg-fx-title{
  background-image:url(../../assets/images/bg-title.webp);
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center center;
}


/* Navbar */
.it-header-navbar-wrapper{
  background: var(--sf-surface) !important;
 
}
.it-header-navbar-wrapper .navbar .nav-link{
  color: #2b2b2b;
  font-weight: 600;
}
.it-header-navbar-wrapper .navbar .nav-link:hover,
.it-header-navbar-wrapper .navbar .nav-link:focus-visible{
  color: var(--sf-primary);
}
.it-header-navbar-wrapper .navbar .nav-link.active,
.it-header-navbar-wrapper .navbar .nav-item.show > .nav-link{
  color: var(--sf-primary);
}

/* Dropdown (più “solido”) */
.dropdown-menu{
  border: 1px solid var(--sf-border);
  border-radius: var(--sf-radius-md);
  box-shadow: var(--sf-shadow-1);
}

/* Search button / icone in header (se usano .btn-*) */
.it-header-center-wrapper .btn,
.it-header-navbar-wrapper .btn{
  border-radius: var(--sf-radius-sm);
}

@media (min-width: 992px) {
  .navbar .navbar-collapsable .navbar-nav li a.nav-link {   
    color: var(--bs-body-color);
  }
  .it-header-center-wrapper .it-header-center-content-wrapper .it-brand-wrapper a h2 {font-size: 1.5rem;}
  .it-header-center-wrapper .it-header-center-content-wrapper .it-brand-wrapper a .icon {width: 100px;}
}
  .navbar .navbar-collapsable .navbar-nav li a.nav-link.dropdown-toggle svg {
    fill: var(--bs-body-color);
  }
.navbar .navbar-collapsable .navbar-nav li a.nav-link {color: var(--bs-body-color);}


/* ##################################
   Hero Section (Splide)
   ################################## */
.hero-splide-wrap{
  height: 90vh;
  min-height: 520px;
  overflow: hidden;
  position: relative;
}

.hero-splide-wrap .splide,
.hero-splide-wrap .splide__track,
.hero-splide-wrap .splide__list,
.hero-splide-wrap .splide__slide{
  height: 100%;
}

.hero-splide__img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* overlay scuro per immagini */
.hero-splide-wrap::after{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.45);
  pointer-events:none;
}

/* arrows + pagination */
.hero-splide-wrap .splide__arrows{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
}
.hero-splide-wrap .splide__arrow{
  pointer-events:auto;
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(0,0,0,.08);
}
.hero-splide-wrap .splide__arrow--prev{ left: 1rem; }
.hero-splide-wrap .splide__arrow--next{ right: 1rem; }

.hero-splide-wrap .splide__pagination{
  z-index:3;
  bottom: 1rem;
}

/* overlay contenuti */
.hero-splide__overlay{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
}
.hero-splide__content{ pointer-events:auto; }

/* mini-card hero */
.item-image{
  min-width: 170px;
  min-height: 100px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.item-text{
  background-color: var(--sf-primary);
  width: 100%;
  padding-top: 12px;
}

/* Zoom hover */
.zoom-hover{ position: relative; }


/* -----------------------------
   4) Bottoni (Bootstrap Italia)
   ----------------------------- */
.btn{
  border-radius: var(--sf-radius-sm);
  font-weight: 700;
}

/* Primary */
.btn-primary{
  background: var(--sf-primary) !important;
  border-color: var(--sf-primary) !important;
  color: #fff !important;
}
.btn-primary:hover{
  background: var(--sf-primary-hover) !important;
  border-color: var(--sf-primary-hover) !important;
}
.btn-primary:active,
.btn-primary.active{
  background: var(--sf-primary-active) !important;
  border-color: var(--sf-primary-active) !important;
}

/* Outline primary */
.btn-outline-primary{
  color: var(--sf-primary) !important;
  border-color: var(--sf-primary) !important;
}
.btn-outline-primary:hover{
  background: var(--sf-primary) !important;
  color: #fff !important;
}
.btn-outline-primary:active{
  background: var(--sf-primary-active) !important;
  border-color: var(--sf-primary-active) !important;
}

/* Link button (se presente) */
.btn-link{
  color: var(--sf-primary);
  font-weight: 700;
}
.btn-link:hover{ color: var(--sf-primary-hover); }

/* Bottoni “dropdown” Bootstrap Italia */
.btn-dropdown{
  border-radius: var(--sf-radius-sm);
}
.btn-dropdown:hover{
  border-color: var(--sf-primary);
}

/* -----------------------------
   5) Card, box, sezioni
   ----------------------------- */
.card{
  border: 1px solid var(--sf-border);
  border-radius: var(--sf-radius-lg);
  background: var(--sf-surface);
  box-shadow: none;
}

.card .card-title{
  font-weight: 800;
}
.card .card-text{
  color: var(--sf-muted);
}

/* Immagini nelle card (look pulito come screenshot) */
.card img,
.card .img-fluid{
  border-radius: calc(var(--sf-radius-lg) - .15rem);
}

/* Sezioni alternate (se usate) */
.bg-light,
.bg-white,
.section.bg-light{
  background: var(--sf-surface-2) !important;
}

/* Titoli sezione con accento rosso discreto */
hr, .divider{
  border-color: var(--sf-border);
}
.section-title,
h2.section-title{
  position: relative;
}
.section-title::after{
  content: "";
  display: block;
  width: 64px;
  height: 4px;
  margin-top: .5rem;
  background: var(--sf-primary);
  border-radius: 999px;
}

/* -----------------------------
   6) Breadcrumb e componenti “istituzionali”
   ----------------------------- */
.breadcrumb {
  --bs-breadcrumb-divider-color: #8a8a8a;
}
.breadcrumb a{
  color: var(--sf-primary);
}
.breadcrumb a:hover{
  color: var(--sf-primary-hover);
}

/* Tabelle (se presenti in trasparenza, regolamenti, ecc.) */
.table{
  --bs-table-border-color: var(--sf-border);
}
.table thead th{
  font-weight: 800;
}

/* Form (campi più “netti”) */
.form-control,
.form-select{
  border-radius: var(--sf-radius-sm);
  border-color: var(--sf-border);
}
.form-control:focus,
.form-select:focus{
  border-color: rgba(152,0,0,.45);
  box-shadow: 0 0 0 .25rem rgba(152,0,0,.18);
}

/* -----------------------------
   7) Carousel / slider (generic)
   ----------------------------- */

/* Indicatori (puntini) coerenti col rosso */
.carousel-indicators [data-bs-target]{
  background-color: rgba(152,0,0,.35);
}
.carousel-indicators .active{
  background-color: var(--sf-primary);
}

/* Controlli (freccette) */
.carousel-control-prev-icon,
.carousel-control-next-icon{
  filter: none;
}

/* Se usate Splide/Owl (extra, non invasivo) */
.splide__pagination__page.is-active,
.owl-dots .owl-dot.active span{
  background: var(--sf-primary) !important;
}
.splide__arrow,
.owl-nav button{
  border-radius: 999px;
}

#splide02.it-carousel-wrapper.it-carousel-landscape-abstract-three-cols-arrow-visible .splide__arrows .splide__arrow.splide__arrow--prev {transform: none;}
.it-carousel-wrapper.it-carousel-landscape-abstract-three-cols-arrow-visible .splide__arrows .splide__arrow {background-color: #ccc;}
.it-carousel-wrapper.it-carousel-landscape-abstract-three-cols-arrow-visible .splide__arrows .splide__arrow svg {fill:#000;}

/* -----------------------------
   8) Footer 
   ----------------------------- */
.it-footer-main{
  background: var(--sf-footer-bg) !important;  
}
.it-footer-main a{
  color: var(--sf-footer-muted) !important;
  text-decoration: none;
}
.it-footer-main a:hover{
  color: #fff !important;
  text-decoration: underline;
}
.it-footer-main h3,
.it-footer-main h4{
  color: #fff !important;
}

/* Fascia “small prints” (se presente) */
.it-footer-small-prints,
.it-footer-small-prints-wrapper{
  background: var(--sf-footer-bg-2) !important;
  color: var(--sf-footer-muted) !important;
  border-top: 1px solid rgba(255,255,255,.10);
}
.it-footer-small-prints a{
  color: #fff !important;
}

/* -----------------------------
   9) Piccole rifiniture 
   ----------------------------- */

/* Badge (se usati) */
.badge.bg-primary,
.badge.text-bg-primary{
  background: var(--sf-primary) !important;
}

/* Ombre “istituzionali” per elementi in evidenza */
.shadow,
.shadow-sm,
.shadow-lg{
  box-shadow: var(--sf-shadow-1) !important;
}

/* Riduci e uniforma arrotondamenti in componenti comuni */
.rounded{ border-radius: var(--sf-radius-md) !important; }
.rounded-3{ border-radius: var(--sf-radius-lg) !important; }

/* Evita testo troppo chiaro su rosso */
.bg-primary,
.text-bg-primary{
  background: var(--sf-primary) !important;
  
}
.it-header-wrapper .it-nav-wrapper .it-header-navbar-wrapper nav.has-megamenu {padding:0px;}
.navbar .close-div {top:4px;padding: 0px;}

@media (max-width: 399.98px) {
  .it-header-center-wrapper .it-header-center-content-wrapper .it-brand-wrapper a h2 {font-size: 0.65rem;}
}

.container.py-5 {
    display: none !important;
}

.row.topmenu-items {
    display: none !important;
}

.nav-link.active {
    color: #990000 !important;
}

#loginContainer .tabshow-link {
    display: none !important;
}

#loginContainer .divider{
	border-color:none !important;
	display:none !important;
}

#practices-filterBtn span:last-child {
    color: #990000 !important;
}

.btn-dropdown span:last-child {
    color: #990000 !important; /* colore rosso per il testo */
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
    border-bottom-color: #7d1010 !important;
}

.it-list-wrapper .it-list a.list-item:hover {
    color: #7d1010 !important;
}



/* 3 elementi per riga nel dropdown */
.dropdown-menu .row > div {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
}

/* Tablet */
@media (max-width: 991px) {
    .dropdown-menu .row > div {
        flex: 0 0 50%;
        max-width: 50%;
    }
}

/* Mobile */
@media (max-width: 576px) {
    .dropdown-menu .row > div {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

.modulo_news h2.text-secondary {
    display: none;
}

#Corsisti_terms {
    display: flex;
    gap: 15px; /* spazio tra Si e No */
    list-style: none; /* rimuove pallini */
    padding: 0;
    margin: 0;
}

#Corsisti_terms li {
    display: inline-block;
}

