@charset "UTF-8";
@charset "UTF-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Fira+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Taviraj:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');


.wsmenu-list > li > a {
    color: white !important;
}
.top-header{
	border-top:5px solid #0073e6 ;	
}
@media only screen and (max-width: 991px) {
	.top-header{
		display:none !important;
}

#myDiv{
	margin-top:54px !important;	
}
	}
	
	@media only screen and (max-width: 991px) {
  .wsmenu > .wsmenu-list > li > a {
	 color:  #0066cc !important;
  }
	}
body {
  margin: 0;
  padding: 0;
}

p {
font-family: "Taviraj", serif;
  font-weight: 400;
  font-style: normal;
	font-size: 16px;
	color: #333;
	line-height: 22px;
	text-align: justify;
}

h1 {
font-family: "Taviraj", serif;
  font-weight: 800;
  font-style: normal;
	font-size: 34px;
	color: #0066cc;
	line-height: 36px;
	margin-bottom: 25px;
}

h2 {
font-family: "Taviraj", serif;
  font-weight: 500;
  font-style: normal;
	font-size: 28px;
	color: #333;
	line-height: 30px;
	margin-bottom: 25px;
}

h3 {
font-family: "Taviraj", serif;
  font-weight: 400;
  font-style: normal;
	font-size: 24px;
	color: #333;
	line-height: 26px;
	margin-bottom: 25px;
}

h4 {
font-family: "Taviraj", serif;
  font-weight: 300;
  font-style: normal;
	font-size: 20px;
	color: #333;
	line-height: 20px;
	margin-bottom: 25px;
}


h5 {
font-family: "Taviraj", serif;
  font-weight: 600;
  font-style: normal;
	font-size: 17px !important;
	color: #333;
	line-height: 20px;
	margin-bottom: 25px;
}

a{
	color: #0066cc !important;
	text-decoration: none;
}





/* ------------------------------------------ */
/*	----------------------------------------- */

/* PUNTI ELENCO */

ul.a {
  list-style-type: circle;
  margin-left: 25px;
  margin-top: 0px;
  margin-bottom: 0px;
}

ul.b {
  list-style-type: square;
  margin-left: 25px;
  margin-top: 0px;
  margin-bottom: 0px;
}
	
ul.c {
  list-style-type: disc;
  margin-left: 25px;
  margin-top: 0px;
  margin-bottom: 0px;
}	

ul.d {
  list-style-type: decimal;
  margin-left: 25px;
  margin-top: 0px;
  margin-bottom: 0px;
}

ul.e {
  list-style-type: lower-alpha;
  margin-left: 25px;
  margin-top: 0px;
  margin-bottom: 0px;
}
	
ul.f {
  list-style-type: lower-roman;
  margin-left: 25px;
  margin-top: 0px;
  margin-bottom: 0px;
}	

li {
	padding-bottom: 8px;
}

/* ------------------------------------------ */
/*	----------------------------------------- */





/* ------------------------------------------ */
/*	----------------------------------------- */

/* TABELLE */

/* Tabella custom */
    .table-custom {
      width: 100%;
      margin-bottom: 0;
      border-collapse: separate;
      border-spacing: 0;
      font-family: "Taviraj", serif;
      font-size: 16px;
      line-height: 22px;
      color: #333; /* colore testo */
    }

    /* Intestazioni */
    .table-custom thead th {
      background: #0066cc; /* colore testata */
      color: #fff;
      font-weight: 600;
      font-style: normal;
      vertical-align: middle;
      text-align: center; /* default centro */
      border: 0;
      padding: .75rem .75rem;
    }

    /* Celle corpo */
    .table-custom tbody td {
      font-weight: 400;
      font-style: normal;
      vertical-align: middle;
      text-align: center; /* default centro */
      border-top: 1px solid rgba(0,0,0,.05);
      padding: .75rem .75rem;
    }

    /* Righe alternate */
    .table-custom tbody tr:nth-of-type(even) {
      background-color: #e9f3ff; /* colore zebra */
    }
    .table-custom tbody tr:nth-of-type(odd) {
      background-color: #ffffff;
    }

    /* Bordo arrotondato piacevole (opzionale) */
    .table-wrapper {
      border: 1px solid rgba(0,0,0,.08);
      border-radius: .75rem;
      overflow: hidden;
    }

    /* Utility per allineamenti (thead + tbody) */
    .td-left   { text-align: left !important; }
    .td-center { text-align: center !important; }

/* ------------------------------------------ */
/*	----------------------------------------- */






/* ------------------------------------------ */
/*  TABELLE solo bianche */
/* ------------------------------------------ */

.table-custom-white {
  width: 100%;
  margin-bottom: 0;
  border-collapse: separate;
  border-spacing: 0;
  font-family: "Taviraj", serif;
  font-size: 14px;
  line-height: 22px;
  color: #333; /* colore testo */
}

/* Intestazioni */
.table-custom-white thead th {
  background: #0066cc; /* colore testata */
  color: #fff;
  font-weight: 600;
  font-style: normal;
  vertical-align: middle;
  text-align: center;
  border: 0;
  padding: .75rem .75rem;
}

/* Celle corpo */
.table-custom-white tbody td {
  font-weight: 400;
  font-style: normal;
  vertical-align: middle;
  text-align: center;
  border-top: 1px solid rgba(0,0,0,.05);
  padding: .75rem .75rem;
  background-color: #ffffff; /* Tutte bianche */
}

/* Nessun effetto zebra */
.table-custom-white tbody tr {
  background-color: #ffffff;
}

/* Bordo arrotondato piacevole */
.table-wrapper-white {
  border: 1px solid #0066cc;
  border-radius: .75rem;
  overflow: hidden;
}

/* Utility allineamenti */
.td-left   { text-align: left !important; }
.td-center { text-align: center !important; }

/* ------------------------------------------ */
/*	----------------------------------------- */








/* ------------------------------------------ */
/*	----------------------------------------- */

/* CONTAINER */
.custom-container {
      max-width: 1400px;
      margin: 0 auto;
    }

    @media (max-width: 1400px) {
      .custom-container {
        padding: 0 15px;
		  margin-left: 5px;
      }
    }

.custom-container-breadcrumb {
      max-width: 1400px;
      margin: 0 auto;
    }

    @media (max-width: 1400px) {
      .custom-container-breadcrumb {
        padding: 0 15px;
		  margin-top: 60px;
      }
    }


/* ------------------------------------------ */
/*	----------------------------------------- */



.bg-primary {
	background-color: #028ab6 !important;
}


/* ------------------------------------------ */
/*	----------------------------------------- */





/* ------------------------------------------ */
/*	----------------------------------------- */


/* SPAZIATURE */
.pt-20 {
	padding-top: 20px;
}

.pt-80 {
	padding-top: 80px;
}

.pb-80 {
	padding-bottom: 80px;
}

.mt-20 {
	margin-top: 20px;
}

.mt-40 {
	margin-top: 40px;
}

.mt-80 {
	margin-top: 80px;
}

.mb-40 {
	margin-bottom: 40px;
}

.mb-80 {
	margin-bottom: 80px;
}



/* ------------------------------------------ */
/*	----------------------------------------- */



/* ------------------------------------------ */
/*	----------------------------------------- */


/* SEPARATORI */
hr.separatore-uno-pt30 {
	 border: 2px solid #0066cc;
  	border-radius: 25px 6px 25px 6px;
	margin-top: 30px;
	margin-bottom: 30px;
	opacity: 100%;
}

.bar {
 position: relative;
  z-index: 1;
  background: #0066cc;
  width: 95px;
  height: 3px;
  margin-top: 10px;
  transition: .5s;
}

.bar::after, .bar::before {
content: "";
  position: absolute;
  height: 100%;
  width: 3px;
  top: 0;
  background: #fff;
  transition: .5s;
 right: 10px;
}

.bar::after {
	right: 10px;
}

.bar::before {
	right: 20px;
}

.separatore-home-contenuti {
	border-bottom: 2px solid rgba(0, 0, 0, 0.05);
	margin-top: 5px;
	margin-bottom: 20px;
	width: 100%;
}

.separatore-categoria-uno {
	border-bottom: 2px solid rgba(0, 0, 0, 0.05);
	margin-top: 25px;
	margin-bottom: 20px;
	width: 100%;
}


/* ------------------------------------------ */
/*	----------------------------------------- */







/* ------------------------------------------ */
/*	----------------------------------------- */


/* BOTTONI */
.bottone-uno-pt-14 {
	background-color: #0066cc;
	padding: 14px;
	color: #fff;
	text-transform: uppercase;
	font-size: 12px;
	border-radius: 6px 6px 6px 6px;
	border: 1px solid #0066cc;
	margin-top: 20px;
}

.bottone-uno-pt-14:hover {
	background-color: transparent;
	color: #0066cc;
	border: 1px solid #0066cc;
	border-radius: 12px;
}


.bottone-due-pt-25 {
	background-color: transparent;
	padding: 25px;
	color: #0066cc;
	text-transform: uppercase;
	font-size: 20px;
	line-height: 32px;
	border: 1px solid #0066cc;
	border-radius: 12px 6px 12px 6px;
	text-align: center;
	margin: 30px 0 30px 0;
}

.bottone-due-pt-25:hover {
	background-color: #0066cc;
	color: #fff;
	border-radius: 12px;
}





/* ------------------------------------------ */
/*	----------------------------------------- */











/* ------------------------------------------ */
/*	----------------------------------------- */

/* HOME SETTORI*/

.fullscreen-module {
  display: flex;
  flex-direction: row;
  height: 600px;
  width: 100vw;
  flex-wrap: nowrap;
}

.fullscreen-col {
  flex: 1;
  position: relative;
  overflow: hidden;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
}

.fullscreen-col::before {
  content: '';
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  z-index: 1;
}

.fullscreen-col::after {
  content: '';
  position: absolute;
  inset: 0;
 /*  background: rgba(0, 0, 0, 0.5); /* overlay nero */ 
  z-index: 2;
}

.fullscreen-content {
  position: relative;
  z-index: 3;
  text-align: left;
  padding: 2rem;
}

.fullscreen-content.right {
  text-align: right;
}

.fullscreen-title {
  font-size: 3rem;
  font-weight: bold;
  margin-bottom: 1.5rem;
}

.fullscreen-menu a {
  display: block;
  color: white;
  text-decoration: none;
  margin: 0.3rem 0;
  transition: transform 0.3s ease, color 0.3s ease;
}

.fullscreen-menu a:hover {
  transform: translateY(-4px);
  color: #f0f0f0;
}

/* Responsive per schermi piccoli */
@media (max-width: 768px) {
  .fullscreen-module {
    flex-direction: column;
  }

  .fullscreen-col {
    width: 100%;
    height: 50vh; /* metà schermo ciascuna */
  }

  .fullscreen-content {
    text-align: center;
  }

  .fullscreen-content.right {
    text-align: center;
  }
}
	
 .fullscreen-col:nth-child(1)::before {
        background-image: var(--img);
      }	
	
.fullscreen-col:nth-child(2)::before {
        background-image: var(--img);
      }	
	
.home-settori-titolo {
font-family: "Taviraj", serif;
  font-weight: 800;
  font-style: normal;
	font-size: 54px;
	color: #fff;
	line-height: 36px;
	margin-bottom: 25px;
}	
	
.home-settori-pulsnti {
font-family: "Taviraj", serif;
  font-weight: 600;
  font-style: normal;
	font-size: 24px;
	color: #fff !important;
	line-height: 36px;
	margin-bottom: 25px;
	text-transform: none;
}		

/* ------------------------------------------ */
/*	----------------------------------------- */





/* ------------------------------------------ */
/*	----------------------------------------- */

/* HOME ULTIME NOTIZIE*/

  .home-ultime-notizie-titolo {
    font-family: "Taviraj", serif;
    font-weight: 700;
    font-style: normal;
    font-size: 20px;
    color: #333;
    line-height: 26px;
    margin-bottom: 10px;
  }


  .home-ultime-notizie-categoria {
    font-family: "Taviraj", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 12px;
    color: #999;
    margin-bottom: 10px;
	text-transform: uppercase;  
  }


  .home-ultime-notizie-testo {
    font-family: "Taviraj", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    color: #333;
    margin-bottom: 20px;
	text-align: left;
  }


  .home-ultime-notizie-img {
    height: 300px;
    object-fit: cover;
    border-radius: 10px;
    width: 100%;
  }

.carousel-full {
  overflow: hidden;
  width: 86vw;
  /* width: 100vw; */	
  margin-left: calc((100vw - min(100vw, 1400px)) / 2);
}


  .carousel-full:before {
    content: '';
    position: absolute;
    width: 100vw;
    height: 100%;
    background-color: #fff;
    top: 0;
    left: 0;
    transform: translateX(-100%);
    z-index: 100000;
  }

  .carousel-track {
    display: flex;
    transition: transform 0.5s ease;
    will-change: transform;
  }

  .carousel-track .card {
    width: 300px;
    flex-shrink: 0;
    margin-right: 16px;
    margin-bottom: 50px;
  }

  .carousel-btn-prev,
  .carousel-btn-next {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 16px;
  }


/* ------------------------------------------ */
/*	----------------------------------------- */















/* ------------------------------------------ */
/*	----------------------------------------- */

/* HOME SERVIZI*/

.home-servizi-section {
 /* background: url('/<?=TEMPLATESELEZIONATO?>/images/home-servizi-backgroud.jpg') center center / cover no-repeat; */
  min-height: 500px;
  display: flex;
  align-items: center;
  padding: 60px 0;
}

.home-servizi-container {
  width: 100%;
}

.home-servizi-box {
  background: rgba(255, 255, 255, 0.1);
  height: 300px;
  margin: 20px 0;
  padding: 20px;
  color: white;
  text-align: center;
  position: relative;
  overflow: visible;
  transition: all 0.4s ease;
}

/* Sfondo blu completo al passaggio del mouse */
.home-servizi-box:hover {
  background-color: #0066cc;
}

/* Icona circolare - posizione iniziale più in alto */
.home-servizi-box .icon {
  background: #fff;
  color: #000;
  font-size: 30px;
  width: 60px;
  height: 60px;
  line-height: 60px;
  border-radius: 50%;
  position: absolute;
  top: calc(30% - 30px);
  left: 50%;
  transform: translateX(-50%);
  transition: all 0.4s ease;
  z-index: 3;
}

/* Al hover l'icona sale sopra il box */
.home-servizi-box:hover .icon {
  top: -30px;
}

/* Titolo posizionato assolutamente */
.home-servizi-box h4 {
  font-family: "Taviraj", serif;
  font-weight: 700;
  font-style: normal;
	font-size: 24px;
	color: #fff;
	line-height: 26px;
	margin-bottom: 25px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%);
  transition: all 0.4s ease;
  z-index: 2;
  margin: 0;
  width: 70%;	
}

/* Al hover il titolo si alza */
.home-servizi-box:hover h4 {
  top: 20%;
}

/* Testo descrizione (nascosto inizialmente) */
.home-servizi-box p {
  font-family: "Taviraj", serif;
  font-weight: 300;
  font-style: normal;
	/* font-size: 16px; */
	color: #fff;
	line-height: 22px;
  padding: 10px;
  margin: 0;
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.4s ease;
  position: relative;
  z-index: 1;
  margin-top: 45px;
  text-align: center;
}

/* Al hover appare la descrizione */
.home-servizi-box:hover p {
  opacity: 1;
  transform: translateY(0);
	top: 30%;
}

.home-servizi-box-testo {
	font-size: 18px !important;
}

/* ------------------------------------------ */
/*	----------------------------------------- */









/* ------------------------------------------ */
/*	----------------------------------------- */

/* HOME BOX SERVIZI*/

.home-box-servizi-titolo {
  font-family: "Taviraj", serif;
  font-weight: 400;
  font-size: 24px;
  color: #333;
  line-height: 30px;
  text-align: center;
}

  /* Trattino sotto il titolo */
  .home-box-servizi-underline {
    max-width: 60px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 8px;
    border-top: 3px solid #0066cc;
  }

.home-box-servizi-testo {
  font-family: "Taviraj", serif;
  font-weight: 400;
  font-size: 16px;
  color: #333;
  line-height: 22px;
  text-align: center;
}

.home-box-servizi-bottone {
	background-color: #0066cc;
	padding: 8px 18px;
	color: #fff !important;
	text-transform: uppercase;
	font-size: 14px;
	border-radius: 6px 6px 6px 6px;
	border: 1px solid #0066cc;
	margin-top: 20px;
	display: inline-block;
}

.home-box-servizi-bottone:hover {
	background-color: transparent;
	color: #0066cc !important;
	border: 1px solid #0066cc;
	border-radius: 12px;
}

/* Wrapper: abilita la prospettiva per l'effetto flip */
  .animated-box-wrap {
    perspective: 1000px;
    -webkit-perspective: 1000px;
  }

  /* Contenitore interno che ruota verticalmente (asse X) */
  .animated-box {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1; /* mantiene il box quadrato */
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    transition: transform .6s ease;
    will-change: transform;
    overflow: visible; /* lascia visibili le facce durante il flip */
  }

  /* Hover: flip verticale (rotateX) */
  .animated-box-wrap.animated-box-wrap-vertical:hover .animated-box {
    transform: rotateX(180deg);
  }

  /* Facce del box */
  .animated-box-face {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding-left: 15px;
    padding-right: 15px;

    /* stile del riquadro (uguale su fronte e retro) */
    border-radius: 15px;
    border: 1px solid #0066cc;
    box-shadow: 1px 1px 7px 0 rgba(0, 0, 0, 0.09);
    -webkit-backface-visibility: hidden; /* Safari/iOS fix */
    backface-visibility: hidden;        /* Nasconde il lato posteriore */
  }

  /* Assicura che anche i figli non mostrino il retro durante il flip */
  
  /* Nuovo contenitore per il contenuto, per evitare che il front "passi" dietro */
  .animated-box-content {
    width: 100%;
    backface-visibility: hidden;
  }

  /* Fronte */
  .animated-box-front {
    background: #ffffff;
    -webkit-transform: rotateX(0deg);
    transform: rotateX(0deg);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }

  /* Retro */
  .animated-box-back {
    background: #f2f2f2; /* grigio chiaro */
    -webkit-transform: rotateX(180deg);
    transform: rotateX(180deg);
    display: flex;
    flex-direction: column;
    gap: 12px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }

  /* Accessibilità: riduce le animazioni se l'utente preferisce movimento ridotto */
  @media (prefers-reduced-motion: reduce) {
    .animated-box { transition: none; }
    .animated-box-wrap.animated-box-wrap-vertical:hover .animated-box { transform: none; }
  }
  /* FIX: non nascondere i figli delle facce (testo/pulsanti) */
  .animated-box-face * {
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
  }

/* ------------------------------------------ */
/*	----------------------------------------- */








/* ------------------------------------------ */
/*	----------------------------------------- */

/* HOME SERVIZI SECONDARI*/

/* INFO BOX */
.info-box {
  position: relative;
  border: 1px solid #333;
  padding: 20px;
  color: #333;
  background-color: #fff;
  overflow: hidden;
  transition: color 0.3s ease, background-color 0.3s ease;
}

.info-box::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 100%;
  background-color: #0066cc;
  transition: width 0.4s ease;
  z-index: 1;
}

.info-box:hover::before {
  width: 100%;
}

.info-box h5,
.info-box p,
.home-servizi-secondari-titolo,
.home-servizi-secondari-testo {
  position: relative;
  text-align: center;
  margin: 0;
  z-index: 2;
  transition: color 0.3s ease;
 padding: 10px;
}

/* Cambia colore del testo all'hover del box */
.info-box:hover .home-servizi-secondari-titolo,
.info-box:hover .home-servizi-secondari-testo,
.info-box:hover .home-servizi-secondari-titolo a {
  color: #fff !important;
}

/* Stili originali */
.home-servizi-secondari-titolo {
  font-family: "Taviraj", serif;
  font-weight: 600;
  font-size: 22px;
  color: #333;
  line-height: 30px;
  text-align: center;
}

.home-servizi-secondari-titolo a {
  color: #333;
  text-decoration: none !important;
  transition: color 0.3s ease;
}

.home-servizi-secondari-testo {
  font-family: "Taviraj", serif;
  font-weight: 400;
  font-size: 14px;
  color: #333;
  line-height: 22px;
  text-align: center;
}


/* ------------------------------------------ */
/*	----------------------------------------- */









/* ------------------------------------------ */
/*	----------------------------------------- */

/* HOME AVVISI*/

.home-avvisi-titolo-section {
	font-family: "Taviraj", serif;
  font-weight: 800;
  font-style: normal;
	font-size: 28px;
	color: #333;
	line-height: 30px;
	margin-bottom: 25px;
	text-align: center;
}

.home-avvisi-titolo {
	font-family: "Taviraj", serif;
  font-weight: 400;
  font-style: normal;
	font-size: 22px;
	color: #333;
	line-height: 30px;
	margin-bottom: 25px;
	text-align: center;
}


.home-avvisi-testo {
font-family: "Taviraj", serif;
  font-weight: 300;
  font-style: normal;
	font-size: 16px;
	color: #333;
	line-height: 22px;
}

.home-avvisi-frecce {
	font-size: 35px;
	text-align: center;
	margin-left: 20px;
	margin-right: 20px;
	margin-top: 30px;
}

  .news-slider {
    position: relative;
    width: 100%;
    overflow: hidden;
  }

  .news-track {
    display: flex;
    transition: transform 0.5s ease-in-out;
    width: 100%;
  }

  .news-item {
    min-width: 100%;
    padding: 20px;
    box-sizing: border-box;
    text-align: justify;
  }

  .home-avvisi-categoria-data {
    font-family: "Taviraj", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 14px !important;
	line-height: 26px;  
    color: #999;
    margin-bottom: 8px;
	margin-top: -5px;  
	text-align: center;
  }


/* ------------------------------------------ */
/*	----------------------------------------- */








/* ------------------------------------------ */
/*	----------------------------------------- */

/* FOOTER*/
.footer-txt {
font-family: "Taviraj", serif;
  font-weight: 300;
  font-style: normal;
	font-size: 12px;
	color: #333;
	line-height: 20px;
	text-align: center;
}

.footer-txt-bianco {
font-family: "Taviraj", serif;
  font-weight: 300;
  font-style: normal;
	font-size: 12px;
	color: #fff;
	line-height: 20px;
	text-align: center;
}

.footer-titolo-menu {
font-family: "Taviraj", serif;
  font-weight: 500;
  font-style: normal;
	font-size: 22px;
	color: #fff;
	line-height: 20px;
	text-align: left;
}

.footer-titolo-menu-due {
font-family: "Taviraj", serif;
  font-weight: 400;
  font-style: normal;
	font-size: 20px;
	color: #fff;
	line-height: 20px;
	text-align: left;
}


.footer-link-menu {
  list-style: none;
  padding: 0;
  margin: 0;
  font-family: "Taviraj", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  color: #fff;
  line-height: 20px;
  text-align: left;
}

.footer-link-menu li {
  margin-bottom: 6px;
	margin-top: 16px;
}

.footer-link-menu li a {
  color: #fff !important;
  text-decoration: none !important;
  transition: color 0.3s ease;
}

.footer-link-menu li a:hover {
  color: #65acf3; /* oppure altro colore per hover */
  text-decoration: underline;
	margin-left: 10px;
}


.footer-border-bottom-menu {
	width: 60%;
	height: 1px;
	background-color: #fff;
	margin-top: 20px;
}


/* ------------------------------------------ */
/*	----------------------------------------- */





/* ------------------------------------------ */
/*	----------------------------------------- */

/* PAGINAZIONE */

.pagination {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
}

.pagination li {
  margin: 0 5px; /* Distanza tra i numeri */
}

.pagination a {
  text-decoration: none;
  color: #0066cc; /* Colore del numero */
  font-size: 16px;
  font-weight: bold;
  padding: 5px;
  transition: color 0.3s ease;
}

.pagination a:hover {
  color: #003366; /* Colore al passaggio del mouse */
}

.pagination a.active {
  font-size: 25px; /* Dimensione maggiore per la pagina attiva */
  color: #003366 !important; /* Colore più scuro per evidenziare la pagina attiva */
  font-weight: bolder; /* Maggiore peso per la pagina attiva */
}

.pagination a:first-child, .pagination a:last-child {
  font-weight: bold; /* Più evidenza per i simboli << e >> */
}

.pagination a:first-child:hover, 
.pagination a:last-child:hover {
  color: #003366; /* Colore diverso al passaggio del mouse su << e >> */
}




/* ------------------------------------------ */
/*	----------------------------------------- */







/* ------------------------------------------ */
/*	----------------------------------------- */

/* BREADCRUMB */

.background-breadcrumb-uno {
	/* background: linear-gradient(to right, #66b3ff, #0066cc); */
	background-color: #fff;
	border-bottom: 3px solid #0066cc;
	padding: 30px;
}

.breadcrumb-uno-testo {
	font-family: "Taviraj", serif;
  font-weight: 800;
  font-style: normal;
  font-size: 32px;
  line-height: 30px;
  margin-bottom: 25px;
  color: #0066cc;
  text-transform: uppercase;
  text-align: right;
}

/* Mobile verticale */
@media (max-width: 575.98px) {
  .breadcrumb-uno-testo {
    text-align: left;
    margin-top: 30px;
	font-size: 22px !important;
  }
}

.breadcrumb-uno-home {
  font-family: "Taviraj", serif;
  font-weight: 800;
  font-style: normal;
  font-size: 32px;
  line-height: 30px;
  margin-bottom: 25px;
   color: #0066cc;
   text-align: right;
}

/* Mobile verticale */
@media (max-width: 575.98px) {
  .breadcrumb-uno-home {

	  display: none;
  }
}


/* ------------------------------------------ */
/*	----------------------------------------- */





/* ------------------------------------------ */
/*	----------------------------------------- */

/* CATEGORIE */

.divisore-categoria-uno hr {
  border: none;              /* elimina il bordo predefinito */
  height: 2px;                /* spessore linea */
  background-color: #0066cc;  /* colore pieno */
  margin: -5px 0 72px 0;             /* spazi sopra e sotto */
	opacity: inherit !important;
}


.divisore-categoria-cinque hr {
  border: none;              /* elimina il bordo predefinito */
  height: 2px;                /* spessore linea */
  background-color: #0066cc;  /* colore pieno */
  margin: 5px 0 25px 0;             /* spazi sopra e sotto */
	opacity: inherit !important;
}

  .categoria-uno-titolo {
    font-family: "Taviraj", serif;
    font-weight: 700;
    font-style: normal;
    font-size: 23px;
    color: #333;
    line-height: 26px;
    margin-bottom: 10px;
	 margin-top: 10px;
  }

  .categoria-uno-testo {
    font-family: "Taviraj", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 14px;
    color: #333;
    margin-bottom: 20px;
  }

.padding-categoria-tre {
	padding: 10px;
}

  .categoria-tre-titolo {
    font-family: "Taviraj", serif;
    font-weight: 700;
    font-style: normal;
    font-size: 23px;
    color: #333;
    line-height: 26px;
    margin-bottom: 20px;
	 margin-top: 20px;
  }

  .categoria-tre-testo {
    font-family: "Taviraj", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 14px;
    color: #333;
    margin-bottom: 20px;
	line-height: 22px;   
  }

.divisore-categoria-tre hr {
  border: none;              /* elimina il bordo predefinito */
  height: 2px;                /* spessore linea */
  background-color: #0066cc;  /* colore pieno */
  margin: 50px 0 50px 0;             /* spazi sopra e sotto */
	opacity: inherit !important;
}

  .categoria-data {
    font-family: "Taviraj", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 14px !important;
	line-height: 26px;  
    color: #999;
    margin-bottom: 8px;
	  text-align: justify;
  }



/* ------------------------------------------ */
/*	----------------------------------------- */








/* ------------------------------------------ */
/*	----------------------------------------- */

/* ARTICOLO */

.articolo-uno-titolo {
    font-family: "Taviraj", serif;
    font-weight: 700;
    font-style: normal;
    font-size: 30px !important;
    color: #0066cc;
    line-height: 40px;
    margin-bottom: 30px;
	 margin-top: 20px;
	text-align: left;
  }

  .articolo-uno-testo {
    font-family: "Taviraj", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 14px;
	line-height: 26px;  
    color: #333;
    margin-bottom: 10px;
	  text-align: justify;
  }

  .articolo-uno-data {
    font-family: "Taviraj", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 14px !important;
	line-height: 26px;  
    color: #999;
    margin-bottom: 15px;
	  text-align: justify;
  }


/* ------------------------------------------ */
/*	----------------------------------------- */










/* ------------------------------------------ */
/*	----------------------------------------- */

/* HEADER */

.background-header {
  background: #0066cc; /* fallback blu */
  background: -webkit-linear-gradient(
    135deg,
    white 0%,
    white 45%,
    #0066cc 55%,
    #0066cc 100%
  );
  background: -moz-linear-gradient(
    135deg,
    white 0%,
    white 45%,
    #0066cc 55%,
    #0066cc 100%
  );
  background: linear-gradient(
    135deg,
    white 0%,
    white 45%,
    #0066cc 55%,
    #0066cc 100%
  );
}


/* ------------------------------------------ */
/*	----------------------------------------- */







/* ------------------------------------------ */
/*	----------------------------------------- */

/* SIDEBAR MENU */

	/* Contenitore sidebar */
.sidebar-menu {
  padding: 0px 20px 20px 20px;
  border-left: 1px solid #ddd;
}

/* Titolo del menu */
.menu-title {
  font-family: "Taviraj", serif;	
  font-size: 18px !important;
  font-weight: 600;
  margin-bottom: 15px;
  color: #0066cc;
  text-transform: uppercase;
  padding-bottom: 2px;
}

/* Lista voci menu */
.menu-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Singola voce */
.menu-list li {
  margin: 8px 0;
}

/* Link del menu */
.menu-list a {
  font-family: "Taviraj", serif;	
  text-decoration: none;
  color: #333 !important;
  font-size: 16px;
  font-weight: 400;
  line-height: 22px;	
  display: flex;
  align-items: center;
  padding: 3px 8px 3px 0px;
  border-radius: 6px;
  transition: background 0.3s, color 0.3s;
}

/* Iconcina prima del testo */
.menu-icon {
  margin-right: 8px;
  color: #333;
}

/* Hover */
.menu-list a:hover {
  color: #0066cc !important;
  margin-left: 5px;	
}

.menu-list a:hover .menu-icon {
  color: #0066cc;
}

/* Riga divisoria */
.menu-divider {
  margin-top: 20px;
  margin-bottom: 45px;	
  border: none;
  border-top: 1px solid #0066cc;
}


/* ------------------------------------------ */
/*	----------------------------------------- */











/* ------------------------------------------ */
/*	----------------------------------------- */

/* ASCOLTIAMO IL CLIENTE */


	/* ----- Namespace: box-form-clienti ----- */
.box-form-clienti {
  --bfc-bg: #ffffff;
  --bfc-border: #e5e7eb;     /* grigio chiaro */
  --bfc-accent: #0d6efd;     /* blu Bootstrap */
  --bfc-radius: 1rem;        /* 16px */
  --bfc-shadow: 0 8px 24px rgba(16, 24, 40, 0.08);
  --bfc-spacing: 1.25rem;    /* 20px */
}

.box-form-clienti__wrapper {
  background: var(--bfc-bg);
  border: 1px solid var(--bfc-border);
  border-radius: var(--bfc-radius);
  padding: calc(var(--bfc-spacing) * 1.2);
  box-shadow: var(--bfc-shadow);
}

.box-form-clienti__title {
  position: relative;
  padding-left: 0.75rem;
}

.box-form-clienti__title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.2em;
  bottom: 0.2em;
  width: 4px;
  border-radius: 4px;
  background: linear-gradient(180deg, var(--bfc-accent), #6ea8fe);
}

.box-form-clienti .form-label {
  font-weight: 600;
  margin-bottom: 0.35rem;
}

.box-form-clienti .form-control {
  border-radius: 0.75rem;
  border-color: var(--bfc-border);
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.box-form-clienti .form-control:focus {
  border-color: var(--bfc-accent);
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.15);
}

/* Spaziatura coerente solo dentro al namespace */
.box-form-clienti .mb-3 {
  margin-bottom: 1rem !important;
}

.box-form-clienti__btn {
  border-radius: 999px;
  padding: 0.6rem 1.25rem;
  font-weight: 600;
}

/* Honeypot nascosto agli utenti ma visibile agli screen reader OFF */
.box-form-clienti__hp {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

/* Modalità scura opzionale (se il body ha .dark o data-bs-theme="dark") */
body.dark .box-form-clienti,
[data-bs-theme="dark"] .box-form-clienti {
  --bfc-bg: #0b0f17;
  --bfc-border: #1e293b;
  --bfc-accent: #6ea8fe;
  --bfc-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}

@media (min-width: 992px) {
  .box-form-clienti__wrapper {
    padding: calc(var(--bfc-spacing) * 1.6);
  }
}


/* ------------------------------------------ */
/*	----------------------------------------- */
