﻿:root {
  --primary-color:#0066cc;
  --secondary-color:#004C99 !important;
  /* --secondary-color:#3F73B8; / #4a83d0; */ 
  --terziary-color:#719b2c;
  --quaternary-color:#bd8c06;
  --quinternary-color:#9e4141;
  --bs-tertiary: #dceaf7;
  --blu: #093880;
  --hover-menu:#4a83d0;
  /* REG4IA: 0066cc – 5b5a57 */

  /*  COLORI BASE  */
  --salute-turismo: #4398B5; 
  --ambiente-mobilita: #719B2C;
  --territorio: #BD8C06;
  --pubblica-amministrazione: #9E4141;
  /*  COLORI CHIARI  */
  --salute-turismo-light: #4CA0BD; 
  --ambiente-mobilita-light: #77A32E;
  --territorio-light: #BF8D06;
  --pubblica-amministrazione-light: #CC8383;
  /*  COLORI SCURI  */
  --salute-turismo-dark: #2A5E70; 
  --ambiente-mobilita-dark: #46601B;
  --territorio-dark: #715404;
  --pubblica-amministrazione-dark: #933C3C;

  /* btn-primary bootstrap */
  --bs-btn-bg: #0066cc !important;
  --bs-btn-border-color: #0066cc !important;
  --bs-btn-disabled-bg: #0066cc !important;
  --bs-btn-disabled-border-color: #0066cc !important;
  --bs-btn-hover-bg: #1b5188 !important;
  --bs-btn-hover-border-color: #1b5188 !important;
  --bs-btn-active-bg: #184a7c !important;
  --bs-btn-active-border-color: #184a7c !important;
}
/*
body::before {
  content: "";
  position: fixed;
  inset: 0;
  background: url("/images/reg4ia/sfondo-trasparenza.webp") center / cover no-repeat;
  z-index: -1;
}
  */


/*COLORI*/

.bg-primary {
  background-color: var(--primary-color) !important;
  border-color: var(--primary-color);
} 
.border-primary {
  border-color: var(--primary-color);
}
.bg-secondary {
  background-color: var(--secondary-color) !important;
  border-color: var(--secondary-color) !important;
  color: white;
  text-align: left;
}


/*FONT*/
@font-face {
  font-family: "TitilliumWeb";
  src: url("../fonts/TitilliumWeb/TitilliumWeb-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "Roboto";
  src: url("../fonts/Roboto/Roboto-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "SegoeUI";
  src: url("../fonts/Segoe/SegoeUI.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "SegoeUI";
  src: url("../fonts/Segoe/SegoeUIbold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "SegoeUI";
  src: url("../fonts/Segoe/SegoeUIitalic.ttf") format("truetype");
  font-weight: normal;
  font-style: italic;
}
@font-face {
  font-family: "SegoeUI";
  src: url("../fonts/Segoe/SegoeUIboldItalic.ttf") format("truetype");
  font-weight: bold;
  font-style: italic;
}


/*GENERALE*/
body {
  font-family: "SegoeUI", sans-serif;
   overflow-x: hidden;
}

.full-width{
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

a {
  text-decoration: none;
  color: var(--primary-color)!important;
}

a:hover,
a:focus {
  text-decoration: underline;
}

h2, h3 {
  font-weight: bold;
}

/* per il blu sotto i titoli */
.page-header {
    position: relative;  
    padding-bottom: 3rem !important;
    padding-top: 1rem !important;
    color: white !important;
    background: var(--primary-color);
}
.page-header.bg-salute {
  background:  var(--salute-turismo-dark);
}
.page-header.bg-ambiente {
  background:  var(--ambiente-mobilita-dark);
}
.page-header.bg-territorio {
  background:  var(--territorio-dark);
}
.page-header.bg-pa {
  background:  var(--pubblica-amministrazione-dark);
}

.page-header::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;

    /* chiave */
    left: -100vw;
    right: -100vw;

    background: var(--primary-color);
    z-index: -1;
     overflow-x: hidden !important;
}
.page-header.bg-salute::before {
  background:  var(--salute-turismo-dark);
}
.page-header.bg-ambiente::before {
  background:  var(--ambiente-mobilita-dark);
}
.page-header.bg-territorio::before {
  background:  var(--territorio-dark);
}
.page-header.bg-pa::before {
  background:  var(--pubblica-amministrazione-dark);
}


/* colore del testo parternariati*/
.parternariato-salute {
  color: var(--salute-turismo-dark);
  font-weight: bold;
  text-align: left;
}
.parternariato-ambiente {
  color: var(--ambiente-mobilita-dark);
  font-weight: bold;
  text-align: left;
}
.parternariato-territorio {
  color: var(--territorio-dark);  
  font-weight: bold;
  text-align: left;
}
.parternariato-pubblica-amministrazione {
  color: var(--pubblica-amministrazione-dark);
  font-weight: bold;
  text-align: left;
}
/* link tag parternariati */
a.parternariato-salute {
  color: var(--salute-turismo-dark)!important;
  font-weight: bold;
}
a.parternariato-ambiente {
  color: var(--ambiente-mobilita-dark)!important;
  font-weight: bold;
}
a.parternariato-territorio {
  color: var(--territorio-dark)!important;   
  font-weight: bold;
}
a.parternariato-pubblica-amministrazione {
  color: var(--pubblica-amministrazione-dark)!important;
  font-weight: bold;
}
a[class^="parternariato-"]:hover {
    color: var(--primary-color);          /* colore al hover */
    text-decoration: underline !important; /* opzionale */
}
/* card parternariati homepage */
.parternariato-ambiente-box {
  background-color: var(--ambiente-mobilita-dark);
  color: white;
  /*clip-path: polygon(0 0, 100% 0, 100% 85%, 85% 100%, 0 100%);*/
  padding: 2px; /* simula spessore bordo */
  margin: -2px;
}
.parternariato-territorio-box {
  background-color: var(--territorio-dark);
  color: white;
  /*clip-path: polygon(0 0, 100% 0, 100% 85%, 85% 100%, 0 100%);*/
  padding: 2px; /* simula spessore bordo */
  margin: -2px;
}
.parternariato-salute-box {
  background-color: var(--salute-turismo-dark);
  color: white;
  /*clip-path: polygon(0 0, 100% 0, 100% 85%, 85% 100%, 0 100%);*/
  padding: 2px; /* simula spessore bordo */
  margin: -2px;
}
.parternariato-pubblica-amministrazione-box {
  background-color: var(--pubblica-amministrazione-dark);
  color: white;
  /*clip-path: polygon(0 0, 100% 0, 100% 85%, 85% 100%, 0 100%);*/
  padding: 2px; /* simula spessore bordo */
  margin: -2px;
}
div[class$="-box"] a.h3, 
a.a-card,
a.link-white,
footer a,
div[class$="-box"] a>span {
  color: white!important;
}
div[class$="-box"] a.h3:hover,
a.a-card:hover,
footer a:hover,
a.link-white:hover,
div[class$="-box"] a.h3:hover span  {
  color: white !important;
  text-decoration: underline;
}
a.a-card {
 line-height: 0.5 !important;
}


/* banner */
.img-banner {
    width: 100%;
    max-height: 20vh; /* O 20vh per altezza viewport-relative */
    height: auto;
    object-position: center center; 
    object-fit: cover; /* Adatta e copre lo spazio, preservando aspect ratio */
    display: block; /* Rimuove spazi extra sotto l'immagine */
}


.main {
    min-height: 85vh; /* occupa sempre tutta l’altezza dello schermo */
    display: flex;
    flex-direction: column;
}
.footer {
    margin-top: auto;   /* spinge il footer in fondo allo schermo */
    background-color: var(--secondary-color);
    color: white;
}
.img-footer {
  width: 3rem;
}
.partner-footer img{
    height: 150px;
    width: auto;
    margin: auto;
    display: block;
}
.taglio-bd {
    clip-path: polygon(0 0, 100% 0, 100% 90%, 90% 100%, 0 100%);
}

/*NAVBAR*/

.navbar .menu-toggle {
  cursor: pointer;
}
.navbar-toggler-icon {
  filter: invert(1);
}

.navbar-brand img {
  width: 100%;
  max-height: 80px;
}

li.nav-item {
  padding: 0; 
  color: white;
}

/* link occupa tutto il li */
li.nav-item > a.nav-link {
  display: block;
  width: 100%;
  color: white;
}

/* --- DROPDOWN SU HOVER (desktop) --- DISABILITATO*/
@media (min-width: 992px) {
  /* apri il menu al passaggio del mouse sul li.dropdown */
  /*
  .navbar-nav .nav-item.dropdown:hover > .dropdown-menu {
    display: block;
  }
*/
  /*.navbar-nav .dropdown-menu {
    margin-top: 0 !important;   elimina il gap di Bootstrap 
    top: 100%;                 sotto il bordo del li genitore 
    left: 0;                   allineato al bordo sinistro del li 
    width: max-content;        larghezza naturale, non 100% del navbar 
  } */
}
 /* base */
#modMenuNavbar > ul > li {
  position: relative;
  overflow: visible; /* importante per dropdown */
}

/* layer visivo tagliato */
#modMenuNavbar > ul > li::before {
  content: "";
  position: absolute;
  inset: 0;
  background: transparent;
  clip-path: polygon(0 0, 100% 0, 100% 85%, 85% 100%, 0 100%);
  z-index: 0;
  transition: background 0.3s ease;
}

/* hover resta sul LI (come vuoi tu) */
.navbar-nav > li.nav-item:not(:has(> a.btn)):hover::before {
  background-color: var(--primary-color);
}
a.text-white.nav-link.dropdown-toggle:hover {
  text-decoration: underline !important;
}
.nav-item.active > .nav-link {
  text-decoration: underline;
}

/* testo sopra lo sfondo */
#modMenuNavbar > ul > li > a.nav-link {
  position: relative;
  z-index: 1;
}

/* menu offcanvas */
.offcanvas-body .navbar-nav > li.nav-item:not(:has(> a.btn)):hover::before {
  background-color: var(--secondary-color) !important;
  color: black !important;
}
/* sottolinea la voce di menu quando il sottomenu è aperto nel mobile */
.offcanvas-body .nav-item:has(.sub-menu[style*="display: block"]) > .nav-link {
  text-decoration: underline;
}
.offcanvas {
  background-color: var(--primary-color);
  color: white;
}

/* --- PRIMO LIVELLO --- */
/* colore sul LI al hover (solo se non contiene una btn) */
.navbar-nav > li.nav-item:not(:has(> a.btn)):hover {
  background-color: var(--primary-color);
  color: white !important;
}
/* colore del testo del link normale */
.navbar-nav > li.nav-item:hover > a.nav-link:not(.btn),
.navbar-nav > li.nav-item:hover > span {
  color: white !important;
  text-decoration: none;
}
/* elimino la freccia in basso */
#modMenuNavbar .dropdown-toggle::after {
  /* content:none; */
}

/* freccia che si gira */
.navbar .dropdown-toggle::after {
  transition: transform 0.2s ease;
}
.navbar .dropdown-toggle.show::after {
  transform: rotate(180deg);
}

/* --- LINK CON BTN --- */
li.nav-item > a.nav-link.btn.btn-primary,
a.btn.btn-primary {
  background-color: var(--primary-color)!important;
  color: white !important;
}
/* hover su btn */
li.nav-item:hover > a.nav-link.btn.btn-primary,
a.btn.btn-primary:hover {
  background-color: var(--secondary-color);
}

/* --- SECONDO LIVELLO --- */
.navbar .dropdown-menu .dropdown-item:hover {
  background-color: var(--secondary-color);
  color: white !important;
}

/* --- CAROSELLO --- */
#wt_bootstrap_image_slider-114 {
  width: 100vw;
  margin-left: calc(50% - 50vw); /* centra esattamente */
  height: 60vh; /* altezza fissa/responsive */
}
.carousel-inner, .carousel-item {
  height: 100%;
}
.carousel-inner img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* immagini responsive senza distorsione */
}
#wt_bootstrap_image_slider-114 span.sr-only {
  background-color: white;
  color: black;
}
.carousel-caption {
  text-align: left;
  bottom: 4rem;
}

@media (min-width: 992px) {
  .carousel-caption {
    /*
    right: 25%;
    left: 25%;
    */
    right: 40%;
    left: 10%;
  }
}
/* data card */
.mod-articles-date {
 font-size: 0.875rem;
}


/* SPLIDE */
.splide__arrow--prev{
  margin-left: -5rem;
}
.splide__arrow--next{
  margin-right: -5rem;
}
.splide__arrow svg {
  fill: #fff;
}
.splide__arrow {
  border-radius: 0%;
  background-color: var(--primary-color);
}
.splide__track {
  padding-bottom: 1.5rem;
} /* altrimenti mi taglia l'ombra delle card*/

/* singolo articolo */

/* contrasto sezione in evidenza */
/*
.full-width.in-evidenza {
  position: relative;
}

.full-width.in-evidenza::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.2);
}
.full-width.in-evidenza > * {
  position: relative;
  z-index: 2;
} */
/*
  .in-evidenza h2, .in-evidenza p { 
  text-shadow: 0 0 4px rgba(0,0,0,0.9), 2px 2px 0 rgba(0,0,0,0.7)!important; 
}*/

.in-evidenza a {
  font-weight: bold!important;
}
.in-evidenza .card-body {
    background-color: #ffffff !important;
    color: #000000!important;
}
.in-evidenza .card-body .card-title,
.in-evidenza .card-body .card-text {
    background-color: #ffffff !important;
    color: #000000 !important;
}

div.com-content-article.item-page figure>img {
  width: 100%;
  height: auto;
}
li.gallery,
li.video-locali,
li.video-locali ul>li,
li.youtube-gallery,
li.youtube-gallery ul>li {
  list-style: none;
} 
li.video-locali ul {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 1rem;
  padding-top: 1rem;
}
li.video-locali ul>li,
li.youtube-gallery ul>li {
  padding-top: 1rem;
}
div.tf-gallery-wrapper,
div.tf-youtube-gallery-wrapper {
 padding-top: 1.5rem;
 padding-bottom: 1.5rem;
}
ul:has(> li.field-entry.youtube-gallery),
ul:has(> li.field-entry.youtube-gallery) + ul.fields-container { 
  padding-left: 0;
}

.d-tags {
  border-bottom-style: solid;
  display: block;
  margin-left: 0.5rem;
  border-width: medium;
  color: var(--primary-color);
  font-weight: bold;
  font-size: 1.25rem;
  line-height: 1.4;
}
span.d-tags + ul li a {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    margin: 0.125rem;
    background-color: var(--secondary-color); 
    color: white !important;
    border-radius: 1rem;
    text-decoration: none;
    transition: background-color 0.2s ease;
    font-weight: bold;
}
span.d-tags + ul li a:hover {
    background-color: var(--primary-color); 
    color: white !important;
}
span.d-tags + ul {
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}
.article-side-box {
  float: right;          
  margin: 0 0 1rem 1.5rem; /* spazio tra box e testo */
}
.com-content-article__body::after {
  content: "";
  display: block;
  clear: both; /* evita problemi di layout */
}

/* seleziona in azzurro l'elemento attivo nel menu hamburger */
@media (max-width: 991.98px) {
  .navbar-nav .sub-menu .nav-item.active > a.nav-link {
    background: var(--primary-color);
    color: #fff !important;
  }
  .navbar-nav > li.nav-item:not(:has(> a.btn)):hover::before {
  background-color: none;
}
}
.a-card.h3.text-primary {
  color: var(--primary-color) !important;
}

/* pagination */
.page-link.active, .active > .page-link {
  color: white!important;
}

@media (min-width: 992px) {
  .row-cols-lg-8 > * {
    flex: 0 0 auto;
    width: 12.5%;
  }
}

@media (min-width: 992px) {
  .row-cols-lg-7 > * {
    flex: 0 0 auto;
    width: 14.2857142857%;
  }
}