:root {
    --colore1:#cf1e13;
	--colore1_chiaro: #f2dada;
    --colore2: #164b94;
	--colore2_chiaro: #bacce8;
	--testo: #232323;
	--grigio: #a5a8ad;
	--grigio_chiaro: #dfdfdf;
	
	/*rest bootstrrap*/
	--bs-primary-rgb: 22,75,148 !important;
	--bs-primary: #164b94 !important;
	--bs-danger-rgb: 207,30,19 !important;
	--bs-danger:#cf1e13 !important; 

	
	
}

/* google fonts */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800&display=swap');

.poppins-extralight {
  font-family: "Poppins", sans-serif;
  font-weight: 200;
  font-style: normal;
}

.poppins-light {
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.poppins-regular {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.poppins-medium {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.poppins-semibold {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-style: normal;
}

.poppins-bold {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.poppins-extrabold {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  font-style: normal;
}



/* menu laterale */

  .sidebar {
      min-width: 250px;
      background-color: #f8f9fa;
      height: 100vh;
      overflow-y: auto; /* Gestione contenuto scrollabile */
	  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
    }


    .megamenu {
      display: none;
      position: fixed;
      top: 0; /* Calcolato dinamicamente con jQuery */
      left: 245px; /* Accanto alla sidebar */
      width: auto;
      max-width: calc(90% - 250px);/*800px*/;
      background-color: #fffffff9;
      box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
      z-index: 1050;
      padding: 20px;
	  /*border-top:3px solid var(--colore1);*/
	  border-left: 4px solid var(--colore1);
	  border-top: 1px solid var(--colore1_chiaro);
	  border-right: 1px solid var(--colore1_chiaro);
	  border-bottom: 1px solid var(--colore1_chiaro);	  	  
    }
	
	.megamenu.show{display: block;}
	
    .megamenu > .row {
      display: flex;
      flex-wrap: wrap; /* Permette l'adattamento */
    }
    .megamenu > .row > .col {
      flex: 1 1 20%; /* Distribuisce 5 colonne per riga */
      max-width: 20%;
      min-width: 250px;
      box-sizing: border-box;
    }
	
	.megamenu h6 {
		font-family: "Poppins", sans-serif;
		font-weight: 600;
		font-style: normal;
		color: var(--testo);
		border-bottom: 2px solid var(--colore1);
		padding-bottom: 5px;
		padding-right: 20px;
		margin-right: 30px;
	}

	.sidebar .logo { max-width: 150px}

	.megamenu a.sub-link {
		color: var(--testo);
		margin-left: 0;
		transition: all 0.5s ease-in-out;
		font-family: "Poppins", sans-serif;
		font-weight: 300;
		font-style: normal;
		text-decoration: none;
		border-bottom: 1px solid #E9E9E9;
		margin-bottom: 5px;
		padding-bottom: 5px;
		
		display: flex; /* Allinea immagine e testo orizzontalmente */
	  	align-items: center; /* Centra verticalmente immagine e testo */
	}
	
	.megamenu a.sub-link small{
		display: block;
		font-size:0.6em; color:#999
	}

	.megamenu a.sub-link:hover,
	.megamenu a.sub-link:active {
		color:var(--colore1);
		transition: all 0.25s ease-in-out;
	}

	.sidebar .nav-item a.nav-link{
		color:var(--testo);
		margin-left:0;	
		transition: all 0.25s ease-in-out;	
}

.sidebar .nav-item a.nav-link:hover,
.sidebar .nav-item.active a.nav-link  {
	color:var(--colore1);
	margin-left:45px;
}

.megamenu .menu-icon {
  width: 50px; /* Larghezza della miniatura */
  height: 50px; /* Altezza della miniatura */
  margin-right: 8px; /* Spazio tra l'immagine e il testo */
  vertical-align: middle; /* Allinea l'immagine al testo */
  border-radius: 4px; /* Bordo arrotondato opzionale */
}
/*
.megamenu ul {
  list-style-type: none;
  padding-left: 0;
}

.hover-active > .nav-link {
  color: #007bff; 
  background-color: #f0f0f0;
}*/
/*effetto menu*/

.sidebar .nav-item a.nav-link::after{
	transition: all 0.25s ease-in-out;
	width: 12px;
	height: 30px;
	position: absolute;
	left: 0px;
	background-color: var(--colore1);
	z-index: 3;
	content: "";
	margin-top: -4px;
}

/*
.megamenu::after {
	transition: all 0.5s ease-in-out;
	width: 24px;
	height: 30px;
	position: absolute;
	left: -12px;
	background-color: var(--colore1);
	z-index: 3;
	content: "";
	margin-top: -4px;
	top: 7px;
}
*/
/*.megamenu::after {
	transition: all 0.5s ease-in-out;
	content: "";
	position: absolute;
	top: 3px;
	left: -22px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 15px 20px 15px 0;
	border-color: transparent var(--colore1) transparent transparent;
	z-index: 3;
}
*/

.megamenu::after {
	transition: all 0.5s ease-in-out;
	content: "";
	position: absolute;
	top: 6px;
	left: -25px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 12px 18px 12px 0;
	border-color: transparent var(--colore1) transparent transparent;
	z-index: 3;
}



.sidebar .nav-item a.nav-link::before {
	width: 100%;
	height: 30px;
	position: absolute;
	margin-top: -1.5px;
	left: 0px;
	border-bottom:1px solid #ccc;
	z-index: 2;
	content: "";
	margin-top: 2px;
}

.sidebar .nav-item a:hover.nav-link::after, .sidebar .nav-item.active a.nav-link::after {
	width: 52px;
}


/* ---- offcanvas ---- */

#offcanvasMenu{
	max-width: calc(100% - 25px);
}
#offcanvasMenu .nav-item a.nav-link::after {
	width: 12px;
	height: 30px;
	position: absolute;
	left: 0px;
	background-color: var(--colore1);
	z-index: 3;
	content: "";
	margin-top: -4px;
}


#offcanvasMenu .nav-item{ padding-left:5px;}

#offcanvasMenu .nav-item a.nav-link {
	color: var(--testo);
}

#offcanvasMenu .nav-item a.nav-link{
		border-bottom:1px solid #ccc;
}

#offcanvasMenu .offcanvas-body{ padding-left:0 !important}

#offcanvasMenu .nav-item.active a.nav-link{
		color:var(--testo);
		margin-left:0;	
		transition: all 0.25s ease-in-out;	
}

#offcanvasMenu li.menu-parent a.nav-link::before {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	margin-left: 8px;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 5px solid var(--colore1);
	transition: transform 0.25s ease-in-out;
	position: absolute;
	right: 25px;
	margin-top: 10px;
}


#offcanvasMenu .menu-parent.active a.nav-link::before {
    transform: rotate(180deg); /* La freccia si capovolge */
}

ul.submenu{
	list-style-type: none;
	padding-left:0;
	position:relative;
	padding-top: 5px;
}

ul.submenu li a.sub-link{
	padding-left:18px;
}

ul.submenu::after {
	width: 12px;
	position: absolute;
	left: 0px;
	background-color: #ccc;
	z-index: 3;
	content: "";
	margin-top: -4px;
	top: 3px;
	bottom: 0;	
}


ul.submenu .menu-icon{
	height:50px;
	margin-right: 8px;
}

.submenu a.sub-link {
		color: var(--testo);
		margin-left: 0;
		transition: all 0.5s ease-in-out;
		font-family: "Poppins", sans-serif;
		font-weight: 300;
		font-style: normal;
		text-decoration: none;
		border-bottom: 1px solid #E9E9E9;
		margin-bottom: 5px;
		padding-bottom: 5px;
		
		display: flex; /* Allinea immagine e testo orizzontalmente */
	  	align-items: center; /* Centra verticalmente immagine e testo */
	}

/*--------------------------*/

.img-fluid{ width:100%;}

/* Contenitore del testo */
.menu-text {
  display: flex;
  flex-direction: column; /* Dispone il testo in due righe */
  justify-content: center; /* Centra verticalmente il blocco testo */
   font-family: "Poppins", sans-serif;
  font-weight: 300;
  font-style: normal;
}

/* Prima riga: stile specifico */
.menu-text .line-1 {
  font-size: 0.7em; /* Dimensioni piccole */
  text-transform: uppercase; /* Testo tutto maiuscolo */
  color: grey; /* Colore grigio */
  margin-bottom: 2px; /* Spazio tra la prima e la seconda riga */
}

/* Seconda riga: stile normale */
.menu-text .line-2 {
  font-size: 0.95em; /* Dimensioni normali */
  color: inherit; /* Mantiene il colore del tema */
}


.carousel-control-next, .carousel-control-prev {
	width: auto !important;
}


.carousel-control-prev{ left:-42px;}
.carousel-control-next{ right:-42px;}

.testo-rosso{ color: var(--colore1);}
.testo-blu{ color: var(--colore2);}

.bg-blu{ background: var(--colore2);}
.bg-blu_chiaro{ background: var(--colore2_chiaro);}
.bg-grigio{ background: var(--grigio);}
.bg-grigio_chiaro{ background: var(--grigio_chiaro);}


/*a.bannerBT:hover .itm{
	width:80%;
	transition: all 0.25s ease-in-out;
}*/

.bannerWRP{ /* min-height: 100vh; /* Il genitore ha altezza completa */
    display: flex;
    flex-direction: column; /* Allinea verticalmente i figli */
}
.bannerWRP .bg-white {
	height: calc(100% - 69px);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

a.bannerBT:hover .row {
	transition: all 0.15s ease-in-out;
	transform: translateX(20px);
}

a.bannerBT:hover .row > .col-md-2 {
	transition: all 0.15s ease-in-out;
	transform: translateX(-20px);
}

footer  {  /* inizialmente non è visibile... viene visualizzato solo quando è posizionato da jquery*/
	visibility: hidden;
}


footer a {
	color:var(--bs-secondary-color);
	text-decoration:none;
}

footer a:hover {
	color:var(--colore1);
	transition: all 0.25s ease-in-out;
}

/*correzione mobile*/
.headerMobile {
    position: fixed;
    top: 0; 
    left: 0;
    z-index: 1060; 
    width: 100%;
}


	.submenu {display:none;}
	.submenu.show{display: block;}




@media (max-width: 580px) {
    .carousel-control-next-icon, .carousel-control-prev-icon{ width: auto !important;}
	
	 .headerMobile {
        width: 100%;
        margin: 0;
        padding: 0;
    }
	
	html, body {
    	margin: 0;
    	padding: 0;
	  /*  overflow-x: hidden;*/
	}
}


@media (min-width: 768px) {
  .border-md-start {
    border-left: 1px solid var(--colore1); /* Imposta il bordo */
  }
}




/*
.headerMobile {
    position: fixed;
    top: 0; 
    left: 0;
    z-index: 1060; 
    width: 100%;
}
html, body {
    margin: 0;
    padding: 0;
	    overflow-x: hidden;
}
*/
* {
 /*   outline: 1px solid red; /* Evidenzia ogni elemento */
}