/*
Theme Name: ItaliaWP2 Child
Theme URI: http://bit.ly/ItaliaWP
Template: italiawp2
Author: Boris Amico
Author URI: http://bit.ly/ItaliaWP
Description: Tema utilizzabile per i siti della Pubblica Amministrazione, utilizza i componenti del web toolkit delle linee guida di design dell'Agenzia per l'Italia digitale rilasciare dal Team per la trasformazione digitale e le caratteristiche per i servizi web della Pubblica Amministrazione contenute nel Piano triennale per l'informatica nella Pubblica Amministrazione 2017/2019.
Tags: agid,one-column,two-columns,grid-layout,custom-colors,custom-header,custom-logo,custom-menu,featured-images,featured-image-header,flexible-header,accessibility-ready,footer-widgets,sticky-post,theme-options
Version: 1.5.5.1786350832
Updated: 2026-08-10 10:33:52

*/
small {
	font-size: 40px !important;
}

@media (max-width: 1024px) {
    small {
        font-size: 30px !important;
    }
}

@media (max-width: 768px) {
    small {
        font-size: 25px !important;
    }
}

@media (max-width: 480px) {
    small {
        font-size: 20px !important;
    }
}

ul li h5 a {
	font-size: 20px !important;
}

.menu-item {
	font-size: 17px;
}

.wp-image-122 {
	width: 200px !important;
}

/** Start Block Kit CSS: 144-3-3a7d335f39a8579c20cdf02f8d462582 **/
.envato-block__preview{overflow: visible;}
.elementor-headline-animation-type-drop-in .elementor-headline-dynamic-wrapper{
	text-align: center;
}
.envato-kit-141-top-0 h1, .envato-kit-141-top-0 h2, .envato-kit-141-top-0 h3, .envato-kit-141-top-0 h4, .envato-kit-141-top-0 h5, .envato-kit-141-top-0 h6, .envato-kit-141-top-0 p {
	margin-top: 0;
}
.envato-kit-141-newsletter-inline .elementor-field-textual.elementor-size-md {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}
.envato-kit-141-bottom-0 p { margin-bottom: 0; }
.envato-kit-141-bottom-8 .elementor-price-list .elementor-price-list-item .elementor-price-list-header {
	margin-bottom: .5rem;
}
.envato-kit-141.elementor-widget-testimonial-carousel.elementor-pagination-type-bullets .swiper-container {
	padding-bottom: 52px;
}
.envato-kit-141-display-inline { display: inline-block; }
.envato-kit-141 .elementor-slick-slider ul.slick-dots { bottom: -40px; }
/** End Block Kit CSS **/

/** Start Block Kit CSS: 69-3-4f8cfb8a1a68ec007f2be7a02bdeadd9 **/
.envato-kit-66-menu .e--pointer-framed .elementor-item:before{ border-radius:1px; }
.envato-kit-66-subscription-form .elementor-form-fields-wrapper{ position:relative; }
.envato-kit-66-subscription-form .elementor-form-fields-wrapper .elementor-field-type-submit button{
	position: absolute; top: 50%; right: 6px; transform: translate(0, -50%); -moz-transform: translate(0, -50%); -webmit-transform: translate(0, -50%);
}
.envato-kit-66-testi-slider .elementor-testimonial__footer{ margin-top: -60px !important; z-index: 99; position: relative; }
.envato-kit-66-featured-slider .elementor-slides .slick-prev, .envato-kit-66-featured-slider .elementor-slides .slick-next {
	width:50px; height:50px; background-color:#ffffff !important; transform:rotate(45deg); left:-25px !important; box-shadow: 0px 1px 2px 1px rgba(0,0,0,0.32);
}
.envato-kit-66-featured-slider .elementor-slides .slick-next { left: auto !important; right:-25px !important; }
.envato-kit-66-orangetext{ color:#f4511e; }
.envato-kit-66-countdown .elementor-countdown-label{ display:inline-block !important; border:2px solid rgba(255,255,255,0.2); padding:9px 20px; }
/** End Block Kit CSS **/

.envato-kit-138-bracket .elementor-widget-container > *:before{ content:"["; color:#ffab00; }
.envato-kit-138-bracket .elementor-widget-container > *:after{ content:"]"; color:#ffab00; }
.envato-block__preview{overflow: visible !important;}

/* Kit 69 Custom Styling */
.envato-kit-69-slide-btn .elementor-button, .envato-kit-69-cta-btn .elementor-button, .envato-kit-69-flip-btn .elementor-button{
	border: 0px !important; padding: 15px 0 0 !important;
}
.envato-kit-69-menu .elementor-nav-menu--dropdown{ width: 100% !important; }

/* --- AGGIUNTA PER PULSANTE ACCESSIBILITÀ --- */
body.single-post #bottone-voce { display: none !important; }
@media (max-width: 1024px) { #bottone-voce { display: none !important; } }

/* --- GESTIONE IMMAGINI ARTICOLI --- */
#articolo-dettaglio-foto { display: none !important; }
.articolo-dettaglio .entry-content { margin-top: 0 !important; }
#intro { display: none !important; }
hr, .section-divider { display: none !important; }
#main, .main-content, #primary { padding-top: 0 !important; margin-top: 0 !important; }

/* --- RIMOZIONE ICONE LINK ESTERNI --- */
a[target="_blank"]::after, .it-external-link, .external-link-icon {
    content: none !important; display: none !important;
}
a[target="_blank"] svg { display: none !important; }

/* ============================================================
   GESTIONE BANNER REVOCA - BIBLIOTECA STATALE DI LUCCA
   ============================================================ */
.cookie-revoke-container {
    position: fixed !important;
    right: 100px !important;
    bottom: 5px !important;
    width: auto !important;
    max-width: 60% !important;
    background: #2e6d46 !important;
    border-radius: 50px !important;
    padding: 6px 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2) !important;
    z-index: 10 !important;
}

#cookie-notice:not(.cookie-notice-hidden) { z-index: 9999 !important; }

#cn-revoke-text {
    font-size: 11px !important;
    color: #ffffff !important;
    margin-right: 12px !important;
    white-space: nowrap;
}

#cn-revoke-cookie {
    background-color: #012dfa !important;
    color: #ffffff !important;
    font-size: 10px !important;
    padding: 5px 12px !important;
    border-radius: 20px !important;
    border: none !important;
    font-weight: bold !important;
}

.cookie-revoke-container .cn-icon { display: none !important; }

@media (max-width: 768px) {
    #cn-revoke-text { display: none !important; }
    .cookie-revoke-container { right: 100px !important; bottom: 43px !important; }
}

/* Allineamento perfetto Logo e Titolo */
.comune {
    display: flex !important;
    align-items: center !important; /* Questo centra il testo verticalmente rispetto al logo */
    flex-wrap: nowrap;
}

/* Rimuove i vecchi posizionamenti che creano disallineamento */
.logoimg, 
.logotxt {
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Spazio tra logo e testo */
.logoimg {
    margin-right: 20px !important; 
    flex-shrink: 0;
}

/* Stile e grandezza del Titolo */
.logotxt h1 {
    margin: 0 !important;
}

.logotxt h1 a {
    font-size: 2.2rem; /* La grandezza che ti andava bene */
    font-weight: 700;
    line-height: 1.1 !important;
    text-decoration: none;
    display: block;
}

/* Stile della Tagline (sottotitolo) */
.logotxt h1 .tagline {
    font-size: 1.1rem;
    font-weight: normal;
    display: block;
    margin-top: 2px;
}

/* Regolazioni per dispositivi mobili (schermi sotto i 768px) */
@media (max-width: 767px) {
    .logotxt h1 a {
        /* Alza questo valore finché non ti soddisfa (es. 1.8rem o 2.0rem) */
        font-size: 1.8rem !important; 
        line-height: 1.1 !important;
        display: block !important;
    }

    .logotxt h1 .tagline {
        font-size: 1rem !important; /* Leggermente più grande anche la tagline */
    }

    .logoimg img {
        max-width: 60px !important; /* Ingrandiamo un po' anche il logo se serve */
    }
}

/* Regolazione per schermi molto piccoli (sotto i 480px) */
@media (max-width: 480px) {
    .logotxt h1 a {
        /* Se anche qui è troppo piccolo, alza a 1.5rem o 1.6rem */
        font-size: 1.5rem !important;
    }
}
/* 1. RIPRISTINO STRUTTURA STABILE */
#mainheader .it-header-center-content-wrapper {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    position: relative !important;
}

/* 2. TITOLO: Lo blocchiamo per avere un punto di riferimento */
#mainheader .it-brand-wrapper {
    flex: 0 1 auto !important;
    display: flex !important;
    align-items: center !important;
}

/* 3. SOCIAL: INTERVENIAMO QUI PER IL RIPOSIZIONAMENTO */
#mainheader .header-social {
    display: inline-flex !important;
    position: relative !important;
    
    /* MARGINI PER SPOSTARLI: */
    /* Aumenta 'left' per allontanarli da Lucca, diminuisci per avvicinarli */
    left: -190px !important; 
    
    /* Aumenta 'top' per scendere, diminuisci per salire */
    top: 28px !important; 
    
    margin: 0 !important;
    z-index: 10 !important;
}

/* 4. RICERCA: Rimane ancorata a destra */
#mainheader .header-cerca {
    margin-left: auto !important;
    flex: 0 0 auto !important;
}

/* 5. ICONE: Quadratini e Loghi Bianchi */
.header-social ul.social {
    display: flex !important;
    gap: 8px !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

.header-social ul.social li a.social-icon {
    width: 34px !important;
    height: 34px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 4px !important;
}

/* Colori e Loghi */
.header-social ul.social li a[href*="facebook"] { background-color: #1877F2 !important; }
.header-social ul.social li a[href*="instagram"] { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%) !important; }

.header-social ul.social li a.social-icon svg {
    width: 18px !important;
    height: 18px !important;
    fill: white !important;
    color: white !important;
    display: block !important;
}
/* --- 1. BASE: RITORNO AL BIANCO E MASSIMA LEGGIBILITÀ --- */
.fluentform {
    background-color: #ffffff !important;
    padding: 20px 0 !important;
}

/* Label: Neri, in grassetto e ben visibili */
html body .fluentform .ff-el-group .ff-el-title, 
html body .fluentform label.ff-el-title,
html body .fluentform .ff-el-group label {
    color: #1a1a1a !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    -webkit-text-fill-color: #1a1a1a !important;
    margin-bottom: 8px !important;
    display: block !important;
}

/* Campi: Grigio chiarissimo, bordi definiti, fix telefono */
.fluentform .ff-el-form-control, 
.fluentform input[type=text], 
.fluentform input[type=email], 
.fluentform input[type=tel], 
.fluentform input[type=number], 
.fluentform textarea {
    background-color: #fafafa !important;
    border: 1px solid #cccccc !important;
    color: #333333 !important;
    padding: 12px !important;
    border-radius: 4px !important;
}

/* Placeholder: Più scuri per essere leggibili */
.fluentform ::placeholder {
    color: #666666 !important;
    opacity: 1 !important;
}

/* --- 2. CALENDARIO: GRASSETTI E ALTA DEFINIZIONE --- */

/* Bordo esterno calendario */
.flatpickr-calendar { 
    border: 2px solid #0056b3 !important; 
    box-shadow: 0 10px 20px rgba(0,0,0,0.15) !important;
}

/* Mese e Anno: Blu scurissimo e molto marcato */
.flatpickr-current-month { 
    color: #002d5f !important; 
    font-weight: 900 !important; 
    font-size: 18px !important;
}

/* Nomi giorni (LUN, MAR...): Nero extra grassetto */
.flatpickr-weekday { 
    width: 14.28% !important; 
    color: transparent !important; 
    position: relative; 
}
.flatpickr-weekday:after {
    position: absolute; left: 0; right: 0; top: 0;
    color: #000000 !important;
    font-weight: 800 !important;
    text-align: center; width: 100%; display: block;
    font-size: 12px !important;
}
.flatpickr-weekday:nth-child(1):after { content: "LUN"; }
.flatpickr-weekday:nth-child(2):after { content: "MAR"; }
.flatpickr-weekday:nth-child(3):after { content: "MER"; }
.flatpickr-weekday:nth-child(4):after { content: "GIO"; }
.flatpickr-weekday:nth-child(5):after { content: "VEN"; }
.flatpickr-weekday:nth-child(6):after { content: "SAB"; }
.flatpickr-weekday:nth-child(7):after { content: "DOM"; }

/* Numeri giorni APERTURA: Nero pieno e grassetto */
.flatpickr-day {
    color: #000000 !important;
    font-weight: 700 !important;
}

/* Giorni di CHIUSURA: Rosso vivace (rimane invariato) */
.flatpickr-day:nth-child(7n+3), .flatpickr-day:nth-child(7n+5), 
.flatpickr-day:nth-child(7n+6), .flatpickr-day:nth-child(7n+7) {
    color: #d9534f !important;
    font-weight: 700 !important;
}

/* Giorno selezionato: Blu Biblioteca */
.flatpickr-day.selected { 
    background: #0056b3 !important; 
    border-color: #0056b3 !important; 
    color: #ffffff !important;
}

/* --- 3. PULSANTE E MOBILE --- */
.fluentform .ff-btn-submit {
    background-color: #0056b3 !important;
    color: #ffffff !important;
    font-weight: bold !important;
    padding: 12px 30px !important;
    border-radius: 4px !important;
    border: none !important;
}

@media only screen and (max-width: 600px) {
    .fluentform .ff-t-container { display: block !important; }
    .fluentform .ff-t-col { width: 100% !important; margin-bottom: 10px !important; padding: 0 !important; }
    .fluentform .ff-btn-submit { width: 100% !important; }
}
/* --- FIX CONFLITTO SLIDER / MENU CLICCABILE HOMEPAGE --- */
#mainheader, 
.it-menu-wrapper, 
.navbar, 
.main-navigation {
    position: relative !important;
    z-index: 9999 !important; /* Forziamo l'intero Header a stare sopra allo slider */
}

/* Protezione aggiuntiva per i singoli link del menu */
.menu-item a, 
.nav-link {
    position: relative !important;
    z-index: 10000 !important;
}
/* Rimuove il rettangolo arancione al click del mouse ma preserva l'accessibilità da tastiera */
.menu-item a:focus:not(:focus-visible),
.nav-link:focus:not(:focus-visible),
#mainheader a:focus:not(:focus-visible) {
    outline: none !important;
    box-shadow: none !important;
}
/* ==========================================================================
   1. REGOLAZIONE FASCIA ORARI (BLOCCO SUPERIORE)
   ========================================================================== */
.fascia-orari-container {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
}

/* Forza la riduzione del margine anche su Mobile per la fascia orari */
@media (max-width: 768px) {
    .fascia-orari-container {
        margin: 5px auto 2px auto !important;
    }
}


/* ==========================================================================
   2. REGOLAZIONE AVVISO SOSPENSIONE (BLOCCO INFERIORE)
   ========================================================================== */
.avviso-sospensione-container {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
}

/* Forza la riduzione del margine anche su Mobile per l'avviso */
@media (max-width: 768px) {
    .avviso-sospensione-container {
        margin: 2px auto 5px auto !important;
    }
}


/* ==========================================================================
   3. CORREZIONE STRUTTURA ELEMENTOR (AZZERA I CORPI INVISIBILI)
   ========================================================================== */
.elementor-widget-html, 
.elementor-widget-container {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}
/* Riduzione aggressiva padding Footer BSL */
footer#footer, 
body footer#footer {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

footer#footer section,
body footer#footer section {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}

footer#footer .intestazione {
    margin-bottom: 5px !important;
    padding-bottom: 0 !important;
}

footer#footer .footer-list li {
    margin-bottom: 4px !important;
    padding-bottom: 0 !important;
}

footer#footer .postFooter {
    margin-top: 10px !important;
    padding-top: 10px !important;
}