/* cyrillic-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(fonts/JTUQjIg1_i6t8kCHKm459WxRxC7mw9c.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(fonts/JTUQjIg1_i6t8kCHKm459WxRzS7mw9c.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(fonts/JTUQjIg1_i6t8kCHKm459WxRxi7mw9c.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(fonts/JTUQjIg1_i6t8kCHKm459WxRxy7mw9c.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v30/JTUQjIg1_i6t8kCHKm459WxRyS7m.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(fonts/JTUSjIg1_i6t8kCHKm459WRhyzbi.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(fonts/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(fonts/JTUSjIg1_i6t8kCHKm459WZhyzbi.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(fonts/JTUSjIg1_i6t8kCHKm459Wdhyzbi.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(fonts/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}



html {	height: 100%; 	}
* {	margin: 0px;	padding: 0px;}
body {	background-color: #fff; width: 100%;		margin-top:0px;   font-family: "Montserrat", sans-serif;
	}
body, input, textarea, select {    	font-size: 17px;	color:#333;}
h1 {	font-weight: bold;        font-size:28px;	padding: 5px;}
hr {	border: 1px dotted #CCC;}
li {	margin-bottom: 3px;	margin-top: 0px;}
blockquote, ul {	margin-left: 3em;}
blockquote {		margin: 0px 0px 0px 0px;}
a {	color: #900;}
a:hover {	color: #333;}
ol {    padding-left: 20px; }

/*table { overflow-x: auto; }

tr { border-bottom: 1px dotted #aaa; margin-top: 1px; margin-bottom: 1px;                                     }     

td { padding: 2px; }

tr:nth-child(odd) { background: #ffffff; }    
tr:nth-child(even) { background: #eee; }                 

th { border-bottom: 2px solid #333; }      
*/


  /* Stile base tabella */
  table {
    width: 100%;
    border-collapse: separate; 
    border-spacing: 0 20px; /* spazio verticale tra le righe */
  }

  th {
    text-align: left;
    padding: 12px;
    background: #333;
    color: #fff;
  }

  td {
    background: #fff;
    padding: 15px;
    border-radius: 10px;       /* angoli arrotondati */
    box-shadow: 0 2px 5px rgba(0,0,0,0.1); /* effetto card */
  }

  tr:hover td {
    background: #f9f9f9;       /* leggero hover */
  }


  /* Responsive per mobile */
  @media (max-width: 768px) {
    table, thead, tbody, th, td, tr {
      display: block; /* tutto diventa blocco */
      width: 100%;
    }

    thead tr {
      display: none; /* nasconde intestazioni */
    }

    tr {
      margin-bottom: 15px;
      border: 5px solid #ddd;
    }

    td {
      position: relative;
      padding: 8px 8px 8px 8px;
    }

    /* Titolo sopra il contenuto */
    td::before {
      content: attr(data-label);
      display: block;
      font-weight: bold;
      margin-bottom: 5px;
    }
  }


 .btninfo {
    display: inline-block;
    padding: 10px 20px;
    background-color: #333; /* sfondo rosso scuro */
    color: #fff;            /* testo bianco */
    text-decoration: none;  /* rimuove la sottolineatura */
    border-radius: 15px;     /* angoli arrotondati */
    font-weight: bold;
    transition: background 0.3s;
    width:200px;
    text-align: center;
  }

  .btninfo:hover {
    background-color: #555; /* colore più chiaro al passaggio */
      color: #fff;
  }

 .btniscrivi {
    display: inline-block;
    padding: 10px 20px;
    background-color: #ab2c25; /* sfondo rosso scuro */
    color: #fff;            /* testo bianco */
    text-decoration: none;  /* rimuove la sottolineatura */
    border-radius: 15px;     /* angoli arrotondati */
    font-weight: bold;
    transition: background 0.3s;
        width:200px;
    text-align: center;

  }

  .btniscrivi:hover {
    background-color: #ff0000; /* colore più chiaro al passaggio */
      color: #fff;
  }



.table-responsive { margin-top:30px; }

        .floating-button {
            position: fixed;
            bottom: 10px;
            right: 10px;
            width: 140px;  /* Regola la dimensione dell'immagine */
            height: 54px;
            z-index: 1000; /* Assicura che sia sopra gli altri elementi */
        }

/* Wrapper */

#wrapperpag {	width: 100%;	margin: 0px auto; background: ;	}

/* TESTATA */
#header {/*	position: relative; */	width: 100%; background:;	margin: 0px auto;  color:#000; margin-top: 0px; margin-bottom: 0px;}

#header h2 { color: #ffc900; font-size:20px; padding-top:15px; font-weight: bold; }

#header a {	text-decoration: none;	color: #009;	font-weight: bold;font-size: 12px;}

@media screen and (max-width:1024px) {

.sottotitolo { visibility:hidden; }
}

.navbar { background-color: rgba(255, 255, 255, 0.8); }

@media screen and (max-width:680px) { 
    
#navbarSupportedContent { 
    
    margin-bottom: 150px; }
    
    .navbar { background-color: rgba(255, 255, 255); }


}


#accesso {	font-size: 13px;}

#accesso input {	font-size: 13px;}

#header img {	display:inherit;}

#lingue {
	position: relative;	
margin-top: 0px;        
padding-top:0px;	
margin-bottom: 0px;	
width: 100%;
}

button {
  margin: 2px;
  padding: 5px 10px;
  font-size: 14px;
  cursor: pointer;
}

/* MENU ORIZZONTALE */

.navbar-toggler  { color: #333; border-color: #333; padding:0.15rem; }

.navbar-toggler-icon { background-image: url("tema/download.png"); }

.nav-link { font-size:20px; color: #333; font-weight:bold; }
.nav-link:hover { font-size:20px; color: #900;}

.dropdown-item { font-size:18px; color: #333;  	}

@media screen and (max-width:680px) { 
	.dropdown-item { font-size:16px; color: #333;  	}
	.dropdown-item {padding: 3px; }

}


/* CONTENUTI */
#content {	margin: 0px auto;                background: #e0e0e0; width:100%;		
                          
                          /*background: url(uploads/image/sfondopaginainterna.png) no-repeat; */}

#testacorpo { margin-top: 0px;	/*position: relative;*/	 z-index:9999;	/*visibility:hidden; */ }




#testacorpo img {		display:inherit;		border: 0;}

#testacorpo h1 {		font-size: 35px; color: #fff;}
#testacorpo p {		font-size: 20px; color: #f0f0f0;}


@media screen and (max-width:1024px) {
/*#testacorpo {	margin-top:180px; }*/

#testacorpo h1 {		font-size: 25px; color: #fff;}
#testacorpo p {		font-size: 15px; color: #f0f0f0;}


}




/* BARRA LATERALE */

#crum {/*	position: relative; */	margin: 0px;	margin-bottom: 10px; margin-top: 20px;	width: 100%;	height:35px;	border-bottom: dotted 1px #cacaca;  background:#003a8c;      		font-size:14px;}

#crum a {/*	position: relative; */	color: #f0f0f0;} 

.container-fluid { padding: 0px; }
.breadcrumb {background:#fff;   color:#333; margin-top:10px; padding: 3px;  }
.breadcrumb a { color: #333;}

h1 {	        	font-size:38px;	color: #ab2c25;	font-weight: bold;	margin-bottom:10px;	margin-top:20px;}	
h2 {	        	font-size:25px;	color: #333;	font-weight: bold;	margin-bottom:10px;	margin-top:20px;}	
h3 {	        	font-size:22px;	color: #ab2c25;	font-weight: bold;	margin-bottom:10px;	margin-top:20px;}	
h4 {	        	font-size:19px;	color: #333;	font-weight: bold;	margin-bottom:10px;	margin-top:20px;}	

@media screen and (max-width:1024px) {
h1 {	        	font-size:28px;	color: #ab2c25;	font-weight: bold;	margin-bottom:10px;	margin-top:20px;}	
h2 {	        	font-size:22px;	color: #333;	font-weight: bold;	margin-bottom:10px;	margin-top:20px;}	
h3 {	        	font-size:18px;	color: #ab2c25;	font-weight: bold;	margin-bottom:10px;	margin-top:20px;}	
h4 {	        	font-size:17px;	color: #333;	font-weight: bold;	margin-bottom:10px;	margin-top:20px;}	
}

h2, h3 { margin-bottom: 10px; }

#blog { background:#fff;	margin: 0px auto;	padding: 1%;	color: #555;	width:98%;        position:relative;           margin-top:20px;	}	
#blog a { text-decoration:underline; color: #333; font-weight: bold; }
#blog a:hover { color:#000; text-decoration:underline; }	
#blog p, blockquote, ul, form {	line-height: 24px;	padding: 3px;           font-weight: normal;}	
#blog ol {	line-height: 24px;	padding: 3px; padding-left: 20px;          font-weight: normal;}	

#blog input {        	font-size:15px; text-decoration:none;}	
#blog td { padding: 3px; }


#paginacentrale {position: relative;width:100%;padding-left: 10px;padding-right:10px;}


#titolopag {	margin-top: 0px;        margin-bottom: 10px;	float: left;	}	
#titolopag h1 {	        	font-size:24px;	color: #333;	letter-spacing:1px;	font-weight:bold;	margin-left:0px;	margin-bottom:5px; margin-top:10px; text-align: center; }		

/* PIEDE */
.footer{	color: #333;    background:#f3f5f7; font-size:15px; line-height: 20px; padding-top:10px; padding-bottom:10px; margin-top:20px;}
.footer a {	color: #900;}
.footer a:hover {	color: #333;}

/* CARRELLO */#carrello {	font-size: 12px;	margin-top: 10px;	margin-left: 10px;	width: 100%;}
#carrello a {	font-weight: bold;	text-decoration: none;	font-size: 13px;}
#carrello table {	background: #FbFbFb;	border:  dotted #900;	border-width: 1px;}
.pulsanteaggiorna { text-align: center;	font-size:15px; color: #00589F; font-weight: bold;  }

#gestione {	position: relative;	font: normal small Arial, Helvetica, sans-serif;	font-size: 14px;	background: #999;	/*margin: 0px;*/	width: 100%;}#gestione a {	text-decoration: underline;	color: #1E5B76;	font-weight: bold;}

#mkmedia {	position: relative;	font-size: 13px;	color: #000;	}
#mkmedia a {	text-decoration: underline;	color: #333;	font-weight: bold;}

.fullsize { width: 100%; }
/* SECTIONS  */
.section {
	clear: both;
	padding: 0px;
	margin: 0px auto;
}

/* GROUPING (Clearfix) */
.group:before,
.group:after { content:""; display:table; }
.group:after { clear:both; }
.group { zoom:1; /* For IE 6/7 */ }

/* COLUMN SETUP  */
.col {
	display: block;
	float: left;
	margin: 0% 0 1% 1.6%; /* Margine sinistro standard */
}

/* Rimuove il margine dalla prima colonna per allinearla a sinistra */
.col:first-child { margin-left: 0; }


/* --- GRIGLIE RICALCOLATE (Margine 1.6%) --- */

/* GRID OF THREE (Totale gap: 3.2%) */
.span_3_of_3 { width: 100%; }
.span_2_of_3 { width: 66.13%; }
.span_1_of_3 { width: 32.26%; }

/* GRID OF FOUR (Totale gap: 4.8%) */
.span_4_of_4 { width: 100%; }
.span_3_of_4 { width: 74.6%; }
.span_2_of_4 { width: 49.2%; }
.span_1_of_4 { width: 23.8%; }

/* GRID OF FIVE (Totale gap: 6.4%) */
.span_5_of_5 { width: 100%; }
.span_4_of_5 { width: 79.68%; }
.span_3_of_5 { width: 59.36%; }
.span_2_of_5 { width: 39.04%; }
.span_1_of_5 { width: 18.72%; }

/* GRID OF SIX (Totale gap: 8.0%) */
.span_6_of_6 { width: 100%; }
.span_5_of_6 { width: 83.06%; }
.span_4_of_6 { width: 66.13%; }
.span_3_of_6 { width: 49.2%; }
.span_2_of_6 { width: 32.26%; }
.span_1_of_6 { width: 15.33%; }


/* UTILITÀ EXTRA */
.col-md-4 { margin-bottom: 25px; }

/* RESPONSIVE: GO FULL WIDTH BELOW 480 PIXELS */
@media only screen and (max-width: 480px) {	
	.col { 
		margin: 1% 0 1% 0%; 
		float: none; /* Disattiva il float su mobile per sicurezza */
	}	
	
	/* Forza tutte le colonne al 100% */
	[class*="span_"] {
		width: 100%;
	}
}



.logo {
  height: 180px;
  width: 180px;
 }

.card { overflow: hidden;
 display: block;
}
                                 
.card img {
  -moz-transition: all 0.3s;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.card:hover img {
 -moz-transform: scale(1.1);
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}  

.card-title {text-align: center; font-weight: bold;}




.accordion-button {
  font-weight: bold !important;
}


.accordion-button:not(.collapsed) {
    
background-color: #F3F5F7;    
color: #900 !important;
}


    .counter {
      font-size: 50px;
      font-weight: bold;
      color: #333;
      text-align: center;
    }





    .slidercontainer {
      position: relative;
      width: 100%;
      height: 600px;
      overflow: hidden;
      cursor: ew-resize;
    }

    .slidercontainer img {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      object-fit: cover;
      user-select: none;
      pointer-events: none;
    }

    .img-before {
      clip-path: inset(0 50% 0 0);
    }

    .sliderslider {
      position: absolute;
      top: 0;
      bottom: 0;
      width: 10px;
      background: red;
      left: 50%;
      z-index: 999;
    }










/* Stile generico valido ovunque */
.nav-item.dropdown {
  position: relative;
}

.nav-item.dropdown > .dropdown-toggle {
  font-size: 1rem;
  padding-left: 0.4rem;
  padding-right: 0.4rem;
}

/* SOLO su desktop: avvicina la freccia */
@media (min-width: 992px) {
  .nav-item.dropdown > .dropdown-toggle {
    margin-left: -0.3rem;
  }
}

/* SOLO su mobile: sposta un po’ la freccia più lontano */
@media (max-width: 991.98px) {
  .nav-item.dropdown > .dropdown-toggle {
    margin-left: 0.4rem;
  }
}



/* Gestione del dropdown su mobile */
@media (max-width: 991.98px) {
  /* Posiziona il sottomenu sotto la voce di menu */
  .navbar .dropdown-menu {
  position: absolute;
  }


}

@media (max-width: 768px) {
  .custom-img-text-block {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .custom-img-col,
  .custom-text-col,
  .custom-text-col2 {
    width: 100% !important;
    padding-left: 0 !important;
  }
}


:root {
  --font-size: 17px;
  --bg-color: #ffffff;
  --text-color: #000000;
}

    body {
      font-size: var(--font-size); 
      background-color: var(--bg-color);
      color: var(--text-color);
      transition: all 0.3s ease;
      min-height: 200vh; /* per provare lettura vocale */
    }
    body.high-contrast {
      --bg-color: #000;
      --text-color: #FFD700;
    }
    #toggle-accessibility {
      position: fixed;
      bottom: 20px;
      left: 20px;
      background-color: #007acc;
      color: white;
      border: none;
      border-radius: 50%;
      font-size: 22px;
      width: 48px;
      height: 48px;
      cursor: pointer;
      z-index: 9999;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    }
    #toggle-accessibility:focus {
      outline: 2px solid yellow;
    }
    #accessibility-toolbar {
      position: fixed;
      bottom: 80px;
      left: 20px;
      background: #f5f5f5;
      border: 1px solid #aaa;
      border-radius: 10px;
      padding: 10px;
      display: none;
      flex-direction: column;
      gap: 6px;
      z-index: 9999;
      box-shadow: 0 2px 10px rgba(0,0,0,0.2);
    }
    #accessibility-toolbar button {
      font-size: 16px;
      padding: 6px 10px;
      cursor: pointer;
      border: none;
      background: #ddd;
      border-radius: 6px;
      transition: background 0.2s ease;
    }
    #accessibility-toolbar button:hover {
      background: #ccc;
    }
    #accessibility-toolbar button:focus {
      outline: 2px solid #007acc;
    }


.dropdown-toggle-clean {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
  text-decoration: none;
  line-height: inherit;
}

.dropdown-toggle-clean:focus {
  outline: 2px solid #007acc; /* per accessibilità tastiera */
  outline-offset: 2px;
}


/*whatsapp*/

  /* Pulsante flottante WhatsApp */
  #whatsapp-btn {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background-color: #ab2c25;
    color: white;
    border-radius: 50px;
    padding: 12px 20px;
    font-size: 16px;
    border: none;
    cursor: pointer;
    z-index: 999;
  }

  /* Finestra popup */
  #whatsapp-popup {
    display: none;
    position: fixed;
    bottom: 80px;
    right: 20px;
    background: white;
    border: 1px solid #ccc;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
    z-index: 1000;
  }

  .popup-option {
    padding: 15px;
    text-align: center;
    cursor: pointer;
    border-bottom: 1px solid #eee;
  }

  .popup-option:last-child {
    border-bottom: none;
  }

  .popup-option:hover {
    background-color: #f0f0f0;
  }

  .popup-option a {
    text-decoration: none;
    color: #333;
    display: block;
  }

  @media screen and (max-width: 600px) {
    #whatsapp-btn {
      font-size: 14px;
      padding: 10px 16px;
    }
    #whatsapp-popup {
      width: 200px;
    }
  }
  
  
  
/*whatsapp brochure*/

 .whatsapp-container2 {
    position: relative;
    display: inline-block;
    text-align:center;
  }

  .whatsapp-trigger2 {
    background-color: #ab2c25;
    color: white;
    border: none;
    border-radius: 30px;
    padding: 10px 20px;
    font-size: 16px;
    cursor: pointer;
    margin-bottom:20px;
  }

  .whatsapp-popup2 {
    display: none;
    position: absolute;
    top: 110%;
    left: 0;
    background: white;
    border: 1px solid #ccc;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    z-index: 100;
    width: max-content;
    min-width: 200px;
  }

  .popup-option2 {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid #eee;
  }

  .popup-option2:last-child {
    border-bottom: none;
  }

  .popup-option2:hover {
    background-color: #f9f9f9;
  }

  .popup-option2 a {
    text-decoration: none;
    color: #333;
    display: block;
  }
  
  
  
/* Stile per posizionare il contenitore del selettore in alto a destra */


/* Stile per posizionare il contenitore delle bandiere in alto a destra */
#flag-container {
    position: absolute; 
    top: 20px; 
    right: 20px; 
    z-index: 9999; /* Rimane sopra tutti gli altri elementi */
    display: flex; /* Mette le bandiere una accanto all'altra */
    gap: 8px; /* Spazio tra le bandiere */
}

/* Stile per le immagini delle bandiere */
#flag-container img {
    width: 30px; /* Dimensione ideale per le bandiere */
    height: 20px;
    border: 1px solid #ccc; /* Bordo sottile */
    cursor: pointer; /* Indica che è cliccabile */
    opacity: 0.7; /* Leggermente trasparente quando non in uso */
    transition: opacity 0.2s; /* Effetto di transizione */
}

#flag-container img:hover {
    opacity: 1; /* Diventa pienamente visibile al passaggio del mouse */