body, h1, h2, h3, h4, h5, h6, p, table, th, td {
    font-family: 'Titillium Web', sans-serif !important;
}

.bg-primary	{ /* blu scuro */
				background-color: rgb(80,87,160) !important;
			}
			
.bg-secondary	{ /* grigio */
				background-color: rgb(93 112 131) !important;
			}
			
.bg-secondary-a3	{
				background-color: rgb(217.107, 218.2035, 219.3) !important;			
			}
			
.bg-a4		{	/* celeste */
				background-color: rgb(67.32, 145.86, 224.4) !important;
			}

/* PULSANTE TORNA IN ALTO*/
#scrollToTopBtn {
  position: fixed;
  bottom: 40px;
  right: 40px;
  z-index: 9999;
  display: none;
  background-color: #0d6efd;
  border: none;
  color: white;
  padding: 10px 16px;
  border-radius: 50%;
  font-size: 24px;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}

#scrollToTopBtn:hover {
  background-color: #0b5ed7;
}


.chart-container {
				position: relative;
				width: 100%;
				max-width: 500px;
				margin: 0 auto;
				height: 9em;         /* altezza precisa */
				padding: 0;
			}

canvas#myChart3 {
				display: block;
				margin: 0 auto;
			}



.header-comune {
			}
        
.header-comune h1 {
				font-size: 1.8rem;
				font-weight: bold;
				margin-bottom: 0.2rem;
			}
        
        .header-comune p {
            margin-bottom: 0;
        }
        
        .logo-comune {
            max-height: 80px;
        }
        
        .logo-elnist {
            max-height: 60px;
        }
        
        .perc-votanti {
            font-size: 2rem;
            font-weight: bold;
            color: #0066CC;
            text-align: center;
            margin-bottom: 1rem;
        }
        
        .grafico-votanti {
            height: 20px;
            background-color: #f0f0f0;
            border-radius: 10px;
            margin-bottom: 2rem;
            overflow: hidden;
        }
        
        .grafico-votanti div {
            height: 100%;
            background: linear-gradient(#65b2ff, #0066cc);
            border-radius: 10px;
        }
        
        .table-responsive {
            margin-bottom: 3rem;
        }
        
        .table th {
            vertical-align: middle !important;
            text-align: center;
        }
        
        .table td {
            vertical-align: middle !important;
            text-align: center;
        }
        
        .header-riepilogo {
            font-size: 1.5rem;
            font-weight: bold;
            text-align: center;
            margin-bottom: 1.5rem;
            color: #0066CC;
        }
        
        .curr_rilev {
            background-color: #0066CC;
            color: white;
            font-weight: bold;
            text-align: center;
            padding: 0.5rem;
        }
        
        @media (max-width: 768px) {
            .header-comune h1 {
                font-size: 1.4rem;
            }
            
            .table-responsive {
                font-size: 0.85rem;
            }
        }	

/* Formattazione pubblicazione web preferenze		 */

  /* Stili per l'intestazione fissa, posizionata sopra la tabella */
  .fixed-header {
    /* position: sticky; */
    /* top: 0; */
    /* left: 0; */
    /* z-index: 10; /* Z-index elevato per stare sopra a tutto */
    /* background-color: white; */
    padding: 10px;
    border: 1px solid #dee2e6; /* Bordi come quelli della tabella */
    border-bottom: none; /* Rimuove il bordo inferiore per la continuità visiva */
  }

  /* Fissa la riga delle intestazioni delle colonne in alto durante lo scorrimento verticale */
  #tabella-voti-l1 thead {
    position: sticky;
    top: 0;
    z-index: 2;
    background-color: white; /* Per evitare la trasparenza */
  }

  /* Regole per le colonne fisse */
  .table-responsive .fixed-col,
  .table-responsive .fixed-col-second {
    position: sticky;
    z-index: 3;
    background-color: white !important;
  }

  .table-responsive .fixed-col {
    left: 0;
    min-width: 180px;
  }

  .table-responsive .fixed-col-second {
    left: 180px;
  }

  /* Per mantenere i bordi visibili e uniti */
  .table-responsive .fixed-col + .fixed-col-second {
    border-left: none;
  }

  /* Impostazioni aggiuntive per garantire il corretto scorrimento */
  #tabella-voti-l1 th,
  #tabella-voti-l1 td {
    white-space: nowrap;
  }
  
#tabella-voti-l1 th,
#tabella-voti-l1 td {
    border: 1px solid #dee2e6; /* Ripristina il bordo di base */
    outline: 1px solid #dee2e6; /* Aggiunge un bordo stabile che funziona anche con lo zoom */
}
