PageSourceSearch

https://www.comune.lodi.it/sindaco

html comune.lodi.it collected 2026-09-27 21:46:32 UTC 128,941 bytes, 2,561 lines download raw bytes

1<!DOCTYPE html>
2<html lang="it">
3<head>
4<!--
5
6		FlexCMP - Digital Experience Platform (DXP)
7		v. 7.9.17 - 2026
8		(c) 2000-2026 Deda Digital s.r.l. - Bologna, Italy - www.flexcmp.com - www.deda.digital
9	-->
10		<meta name='generator' content='FlexCMP - www.flexcmp.com' />
11	
12
13	<meta charset="UTF-8">
14	<meta http-equiv="X-UA-Compatible" content="IE=edge">
15	<meta name="viewport" content="width=device-width, initial-scale=1">
16	<!-- START INDEX --><title>Sindaco - Comune di Lodi</title><!-- STOP INDEX -->
17	<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap-italia.min.css" />
18	    <link rel="stylesheet" type="text/css" href="https://www.comune.lodi.it/flex/TemplatesUSR/assets/R-22/accessible-slick-1.0.1/slick/slick.min.css"/>
19	<link rel="stylesheet" type="text/css" href="https://www.comune.lodi.it/flex/TemplatesUSR/assets/R-22/accessible-slick-1.0.1/slick/accessible-slick-theme.min.css"/>
20    <link rel='stylesheet' type='text/css' media='screen' href='https://unpkg.com/[email protected]/dist/aos.css' />
21
22	<link rel='stylesheet' type='text/css' media='screen' href='https://www.comune.lodi.it/flex/TemplatesUSR/assets/R-22/fontawesome-pro-5.7.1-web/css/all.min.css' />
23    <link rel='stylesheet' type='text/css' media='screen' href='https://www.comune.lodi.it/flex/TemplatesUSR/assets/R-22/slick-lightbox/slick-lightbox.css' />
24	<link rel='stylesheet' type='text/css' media='screen' href='https://www.comune.lodi.it/flex/cm/pages/ServeCSS.php/L/IT/N/R-22~flex.css/M/-/BF/CHROME/BV/128.0.0.0?Wn5k7b' />
25	
26	
27	<meta name='keywords' content='Il Sindaco' />
28	<meta name='description' content='Il Sindaco' />
29	<meta name='author' content='' />
30    <meta name="robots" content="index,follow">
31    
32    <link rel="shortcut icon" href="https://www.comune.lodi.it/flex/TemplatesUSR/assets/img/favicon.ico" type="image/x-icon" />
33    <link rel="apple-touch-icon" href="https://www.comune.lodi.it/flex/TemplatesUSR/assets/img/apple-touch-icon.png" />
34	
35	
36	
37	
38
39		
39<script>
40		document.addEventListener('DOMContentLoaded', function () {
41			AOS.init({
42				once: false,
43				mirror: true,
44                disable: 'mobile'
45			});
46		});
47
48		window.addEventListener('load', function () {
49			AOS.refreshHard();
50		});
51
52		window.addEventListener('resize', () => AOS.refresh());
53		document.addEventListener('lazyloaded', () => AOS.refresh());
54	</script>
54
55	
56	
56<script>
57		window.__PUBLIC_PATH__='https://www.comune.lodi.it/flex/TemplatesUSR/assets/R-22/fonts';
58	</script>
58
59<link rel='canonical' href='https://www.comune.lodi.it/sindaco' />
60<link rel='alternate' href='https://www.comune.lodi.it/sindaco' hreflang='it' />
61<meta property="og:title" content="Sindaco" />
62<meta property="og:type" content="article" />
63<meta property="og:url" content="https://www.comune.lodi.it/sindaco" />
64<meta property="og:site_name" content="www.comune.lodi.it" />
65<meta name="twitter:card" content="summary" />
66<meta name="twitter:site" content="www.comune.lodi.it" />
67<meta name="twitter:creator" content="FlexCMP" />
68<meta name="twitter:title" content="Sindaco" />
69
70</head>
71<body class="AmministrazioneInterno fx-idp-7 other chrome vma-128 vmi-0">
72	<!-- INIZIO SKIP -->
73<div class="LinkSkip"><a href="#Contenuto">Vai al contenuto principale</a></div>
74<div class="LinkSkip"><a href="#MenuPrincipale">Vai al menu principale di navigazione</a></div>
75<div class="LinkSkip"><a href="#MenuSezione">Vai al menu della sezione</a></div>
76<div class="LinkSkip"><a href="#Footer">Vai al footer</a></div>
77<!-- FINE SKIP -->
78	<!-- Modal -->
79<div class="modal fade modal-fullscreen modal-search show" id="searchModal" aria-hidden="true" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
80    <div class="modal-dialog" role="document">
81      <div class="modal-content">
82        <div class="modal-header">
83          <div class="container">
84            <div class="row">
85              <div class="col-2 col-md-1">
86                <button type="button" class="close" data-dismiss="modal" aria-label="Chiudi finestra cerca">
87                  <i class="far fa-arrow-circle-left" aria-hidden="true"></i>
88                </button>
89              </div>
90              <div class="col-10 col-md-11">
91                <span class="modal-title h2" id="searchModalTitle">
92                  <span>Cerca</span>
93                </span>
94              </div>
95            </div> 
96          </div>
97        </div>
98        <div class="modal-body">
99          <div class="container">
100            <div class="row">
101              <div class="col-12">
102                
103<form id='F1'  method='post' action='https://www.comune.lodi.it/flex/cm/FixedPages/Common/Search.v3.php/L/IT/s/2' enctype='multipart/form-data'>
104<div class="Search">
105	<label for="text" class="SearchFormText GoAway">Cerca</label>
106	<div class="inputText"><input type='text' id='text' name='text' value='' maxlength='40' placeholder='Cerca nel sito' class='Input' /></div>
107	<div class="IcoCerca"><input type='submit' id='btnOK' name='btnOK' value='Esegui la ricerca'  class='Submit'/></div>
108</div>   
109<div><input type='hidden' name='HaveDataF1' id='HaveDataF1' value='1' /></div>
110
111</form>
112
113              </div>
114            </div>
115          </div>      
116        </div>
117      </div>
118    </div>
119  </div>
120  
121  
122  <header>
123    <div class="it-header-wrapper it-header-sticky">
124      <div class="it-header-slim-wrapper">
125        <div class="container">
126          <div class="row">
127            <div class="col-12">
128              <div class="it-header-slim-wrapper-content">
129                <a class="d-none d-lg-block navbar-brand target_blank" href="//www.regione.lombardia.it">Regione Lombardia</a>
130                <div class="nav-mobile">
131                  <nav>
132                    <a class="it-opener d-lg-none target_blank" href="//www.regione.lombardia.it">
133                      <span>Regione Lombardia</span>
134                    </a>
135                  </nav>
136                </div>                
137                <a class="linkSportello" href="https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/379">
138                  <span class="txtServizi"><img src="https://www.comune.lodi.it/flex/TemplatesUSR/assets/R-22/img/stemma-negativo.png" alt="Stemma Servizi al Cittadino" />Servizi per il cittadino</span>
139                </a>
140              </div>
141            </div>
142          </div>
143        </div>
144      </div>
145      <div class="it-nav-wrapper">
146        <div class="it-header-center-wrapper">
147          <div class="container">
148            <div class="row">
149              <div class="it-header-center-content-wrapper">
150                <div class="it-brand-wrapper">
151                  <button class="custom-navbar-toggler menuHamburger" type="button" aria-controls="nav11" aria-expanded="false" aria-label="Apri il menu principale" data-target="#nav11">
152                    <span class="hamb-top"></span> 
153                    <span class="hamb-middle"></span> 
154                    <span class="hamb-bottom"></span> 
155            
156                  </button>
157                  <a href="https://www.comune.lodi.it/home" title="Città di Lodi">
158                    <div class="it-brand-text">
159                      <img src="https://www.comune.lodi.it/flex/TemplatesUSR/assets/R-22/img/stemma-lodi.png" alt="Città di Lodi" title="Città di Lodi" />
160                    </div>
161                    <span>Città di Lodi</span>
162                  </a>
163                </div>
164                <div class="it-right-zone">
165                  <!--<div class="it-socials d-none d-md-flex">
166                    <span>Seguici su</span>
167                    <ul>
168                      <li>
169                        <a href="//www.facebook.com/ComunediLodi" title="Seguici su Facebook" aria-label="Facebook" class="target_blank">
170                          <svg class="icon icon-sm">
171                            <use xlink:href="https://www.comune.lodi.it/flex/TemplatesUSR/assets/R-22/img/s
171prite.svg#it-facebook"></use>
172                          </svg>
173                        </a>
174                      </li>
175                      
176                      <li>
177                        <a href="//twitter.com/ComunediLodi" title="Seguici su Twitter" aria-label="Twitter" class="target_blank">
178                          <svg class="icon icon-sm">
179                            <use xlink:href="https://www.comune.lodi.it/flex/TemplatesUSR/assets/R-22/img/sprite.svg#it-twitter"></use>
180                          </svg>
181                        </a>
182                      </li>
183                      <li>
184                        <a href="//www.youtube.com/user/ComunediLodi" title="Seguici su Youtube" aria-label="Youtube" class="target_blank">
185                          <svg class="icon icon-sm">
186                            <use xlink:href="https://www.comune.lodi.it/flex/TemplatesUSR/assets/R-22/img/sprite.svg#it-youtube"></use>
187                          </svg>
188                        </a>
189                      </li>
190                      <li>
191                        <a href="//www.instagram.com/comunedilodi" title="Seguici su Instagram" aria-label="Instagram" class="target_blank">
192                          <svg class="icon icon-sm">
193                            <use xlink:href="https://www.comune.lodi.it/flex/TemplatesUSR/assets/R-22/img/s
193prite.svg#it-instagram"></use>
194                          </svg>
195                        </a>
196                      </li>
197                    </ul>
198                  </div>-->
199                  <div class="it-search-wrapper">
200                    <button aria-label="Cerca nel sito" class="btn btn-cerca" type="button" data-toggle="modal" data-target="#searchModal">
201                    <span class="d-none d-md-block txtCerca">Cerca</span>
202                    <span class="search-link rounded-icon">
203                      <img src="https://www.comune.lodi.it/flex/TemplatesUSR/assets/R-22/img/ico-cerca.png" alt="">
204                    </span>
205                    </button>
206                  </div>
207                </div>
208              </div>
209            </div>
210          </div>
211        </div>
212        <div class="it-header-navbar-wrapper">
213          <div class="container">
214            <nav class="navbar navbar-expand-lg has-megamenu">
215              <div class="navbar-collapsable" id="nav10">
216                <div class="overlay"></div>
217                <div class="close-div sr-only">
218                  <button class="btn close-menu" type="button"><span class="it-close"></span>close</button>
219                </div>
220                <div class="menu-top">
221                    
222                </div>
223                <div class="menu-wrapper">
224                  <div class="logo-sticky">
225                    <a href="https://www.comune.lodi.it/home">
226                      <img src="https://www.comune.lodi.it/flex/TemplatesUSR/assets/R-22/img/stemma-lodi.png" alt="Città di Lodi" title="Città di Lodi" />
227                    </a>
228                  </div>
229                  <ul class="navbar-nav" id="MenuPrincipale">
230                    <li class="nav-item dropdown">
231                      <a class="nav-link dropdown-toggle" href="https://www.comune.lodi.it/comune.html" data-toggle="dropdown" aria-expanded="false">
232                        <span>Amministrazione</span>
233                        <svg class="icon icon-xs">
234                          <use xlink:href="https://www.comune.lodi.it/flex/TemplatesUSR/assets/R-22/img/s
234prite.svg#it-expand"></use>
235                        </svg>
236                      </a>
237                      <div class="dropdown-menu">
238                        <div class="link-list-wrapper">
239                          
240<!-- trailindex - start cached content -->
241
242<ol>
243<li class='LIStrong'><strong><span>Sindaco</span></strong></li>
244<li><a href='https://www.comune.lodi.it/giunta' title='La Giunta Comunale' ><span>Giunta Comunale</span></a></li>
245<li><a href='https://www.comune.lodi.it/consiglio' title='Il Consiglio Comunale' ><span>Consiglio Comunale</span></a></li>
246<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/2481' title='Organizzazione dell&#039;ente' ><span>Organizzazione dell&#039;ente</span></a></li>
247<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/2209' title='Albo pretorio On line' ><span>Albo pretorio</span></a></li>
248<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/379' title='Servizi on-line' ><span>Servizi per il cittadino</span></a></li>
249<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/11667' title='' ><span>Servizi per Enti e Imprese</span></a></li>
250<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/11406' title='' ><span>Servizi dipendenti/amministratori</span></a></li>
251<li><a href='https://lodi.e-pal.it/L190/?idSezione=33&id=&sort=&activePage=&search=' title='' ><span>Regolamenti comunali</span></a></li>
252</ol>
253
254
255<!-- trailindex - end cached content -->
256
257                        </div>
258                      </div>
259                    </li>
260                    <li class="nav-item dropdown megamenu">
261                      <a class="nav-link dropdown-toggle" href="javascript:alert('extFlexPage: no page with ID [BLOB:ID=11]')" data-toggle="dropdown" aria-expanded="false">
262                        <span>Aree Tematiche</span>
263                        <svg class="icon icon-xs">
264                          <use xlink:href="https://www.comune.lodi.it/flex/TemplatesUSR/assets/R-22/img/s
264prite.svg#it-expand"></use>
265                        </svg>
266                      </a>
267                      <div class="dropdown-menu">
268                          <div class="row">
269                            <div class="col-12 col-lg-4">
270                                <div class="link-list-wrapper">
271                                  
272<!-- trailindex - start cached content -->
273
274<ol>
275<li><a href='https://www.comune.lodi.it/areetematiche/ambiente' title='Ambiente e Ecologia' ><img src='https://www.comune.lodi.it/flex/images/1/2/2/D.1fb08d8f5e57ed7cd02e/leaf_regular_small.png' alt='Educazione e istruzione ' /><span>Ambiente, Ecologia e cambiamenti climatici</span></a></li>
276<li><a href='https://www.comune.lodi.it/areetematiche/cultura' title='Cultura, Sport e Turismo' ><img src='https://www.comune.lodi.it/flex/images/1/3/5/D.03e6039089900ed12f7e/child_regular_small.png' alt='Educazione e istruzione ' /><span>Cultura, Sport e Turismo</span></a></li>
277<li><a href='https://www.comune.lodi.it/areetematiche/anagrafe' title='Anagrafe, Stato civile, Elettorale, Protocollo' ><img src='https://www.comune.lodi.it/flex/images/1/e/d/D.e6bbac76c3231f2b4331/address_card_regular_small.png' alt='Educazione e istruzione ' /><span>Servizi demografici e al cittadino</span></a></li>
278<li><a href='https://www.comune.lodi.it/areetematiche/istruzione' title='Educazione e istruzione ' ><img src='https://www.comune.lodi.it/flex/images/1/0/7/D.f3f00af26c93dceadfe0/graduation_cap_solid_small.png' alt='Educazione e istruzione ' /><span>Istruzione</span></a></li>
279<li><a href='https://www.comune.lodi.it/areetematiche/nidi-politiche-familiari' title='Educazione e istruzione ' ><img src='https://www.comune.lodi.it/flex/images/1/0/7/D.f3f00af26c93dceadfe0/graduation_cap_solid_small.png' alt='Educazione e istruzione ' /><span>Nidi e politiche familiari</span></a></li>
280<li><a href='https://www.comune.lodi.it/areetematiche/pari-opportunita-centro-antiviolenza' title='' ><span>Pari opportunit&agrave; e politiche antiviolenza</span></a></li>
281<li><a href='https://centroantiviolenzalodi.it/centro-antiviolenza/' title='' ><span>Centro Antiviolenza</span></a></li>
282<li><a href='https://www.comune.lodi.it/areetematiche/polizia' title='' ><img src='https://www.comune.lodi.it/flex/images/1/c/3/D.46ff463d5296755a72f2/shield_alt_regular_small.png' alt='Sicurezza e Polizia Locale' /><span>Sicurezza, Polizia Locale, ZTL</span></a></li>
283<li><a href='https://www.comune.lodi.it/areetematiche/urbanistica' title='Edilizia, Lavori pubblici, Urbanistica, Patrimonio' ><img src='https://www.comune.lodi.it/flex/images/2/7/6/D.7b80a5029313642d2559/ico_edil_urban.png' alt='Edilizia, Lavori pubblici, Urbanistica' /><span>Edilizia, Lavori pubblici, Urbanistica, Patrimonio</span></a></li>
284<li><a href='https://www.comune.lodi.it/areetematiche/SUAP' title='Sportello Unico Attività Produttive' ><img src='https://www.comune.lodi.it/flex/images/1/2/0/D.8da03cbac3f2d9ed2f27/store_regular_small.png' alt='Educazione e istruzione ' /><span>Sportello Unico Attivit&agrave; Produttive</span></a></li>
285<li><a href='https://www.comune.lodi.it/areetematiche/tariffe' title='Tributi e Tariffe' ><img src='https://www.comune.lodi.it/flex/images/1/0/7/D.fcc3f6c0b8c2e79e0419/trash_alt_regular_small.png' alt='Educazione e istruzione ' /><span>Tributi e Tariffe</span></a></li>
286<li><a href='https://www.comune.lodi.it/areetematiche/sociale' title='Sociale' ><img src='https://www.comune.lodi.it/flex/images/1/3/9/D.5ff5247f35d91cd06f67/hands_helping_regular_small.png' alt='Educazione e istruzione ' /><span>Sociale e Politiche abitative</span></a></li>
287<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/11624' title='' ><span>Servizi di Segreteria</span></a></li>
288<li><a href='https://www.comune.lodi.it/areetematiche/viabilita-mobilita' title='' ><img src='https://www.comune.lodi.it/flex/images/1/c/3/D.46ff463d5296755a72f2/shield_alt_regular_small.png' alt='Sicurezza e Polizia Locale' /><span>Mobilit&agrave;</span></a></li>
289<li><a href='https://www.comune.lodi.it/areetematiche/cimiteri' title='' ><span>Cimiteri</span></a></li>
290</ol>
291
292
293<!-- trailindex - end cached content -->
294
295                                </div>
296                            </div>
297                          </div>
298
299                        </div>
300                    </li>
301                    <li class="nav-item dropdown">
302                      <a class="nav-link" href="https://www.comune.lodi.it/contatti">
303                        <span>Contatti</span>
304                      </a>
305                    </li>
306                  </ul>
307                  <a class="linkSportello2" href="https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/379">
308                    <span class="txtServizi"><img src="https://www.comune.lodi.it/flex/TemplatesUSR/assets/R-22/img/stemma-negativo.png" alt="Stemma Servizi al Cittadino" />Servizi per il cittadino</span>
309                  </a>
310                  <div class="it-socials it-socials d-none d-md-flex">
311                    <span>Seguici su</span>
312                    <ul>
313                      <li>
314                        <a href="//www.facebook.com/ComunediLodi" title="Seguici su Facebook" aria-label="Facebook" class="target_blank">
315                          <svg class="icon icon-sm">
316                            <use xlink:href="https://www.comune.lodi.it/flex/TemplatesUSR/assets/R-22/img/sprite.svg#it-facebook"></use>
317                          </svg>
318                        </a>
319                      </li>
320                      <!--
321                      <li>
322                        <a href="//twitter.com/ComunediLodi" title="Seguici su Twitter" aria-label="Twitter" class="target_blank">
323                          <svg class="icon icon-sm">
324                            <use xlink:href="https://www.comune.lodi.it/flex/TemplatesUSR/assets/R-22/img/s
324prite.svg#it-twitter"></use>
325                          </svg>
326                        </a>
327                      </li>-->
328                      <li>
329                        <a href="//www.youtube.com/user/ComunediLodi" title="Seguici su Youtube" aria-label="Youtube" class="target_blank">
330                          <svg class="icon icon-sm">
331                            <use xlink:href="https://www.comune.lodi.it/flex/TemplatesUSR/assets/R-22/img/sprite.svg#it-youtube"></use>
332                          </svg>
333                        </a>
334                      </li>
335                      <li>
336                        <a href="//www.instagram.com/comunedilodi" title="Seguici su Instagram" aria-label="Instagram" class="target_blank">
337                          <svg class="icon icon-sm">
338                            <use xlink:href="https://www.comune.lodi.it/flex/TemplatesUSR/assets/R-22/img/sprite.svg#it-instagram"></use>
339                          </svg>
340                        </a>
341                      </li>
342                    </ul>
343                  </div>
344                  <div class="it-search-wrapper cloned">
345                    <button aria-label="Cerca nel sito" class="btn btn-cerca" type="button" data-toggle="modal" data-target="#searchModal">
346                      <span class="search-link rounded-icon">
347                        <img src="https://www.comune.lodi.it/flex/TemplatesUSR/assets/R-22/img/ico-cerca.png" alt="" />
348                      </span>
349                    </button>
350                  </div>
351                </div>
352              </div>
353            </nav>
354          </div>
355        </div>
356        <div class="it-header-navbar-wrapper menu-responsive">
357          <div class="container">
358            <nav class="navbar navbar-expand-lg has-megamenu" aria-label="Menu principale mobile">
359              <div aria-modal="true" role="dialog" aria-label="Menu">
360              <div class="navbar-collapsable" id="nav11">
361                <div class="overlay"></div>
362                <div class="menu-top">
363                    
364                </div>
365                <div class="menu-wrapper">
366                  <div class="close-div">
367                    <button class="btn close-menu" type="button" aria-label="Chiudi menu">
368                      <svg class="icon" aria-hidden="true" focusable="false">
369                        <use xlink:href="https://www.comune.lodi.it/flex/TemplatesUSR/assets/R-22/img/s
369prite.svg#it-close-big"></use>
370                      </svg>
371                    </button>
372                  </div>
373                  <ul class="navbar-nav">
374                    <li class="nav-item dropdown">
375                      <a class="nav-link dropdown-toggle" href="https://www.comune.lodi.it/comune.html" data-toggle="dropdown" aria-expanded="false">
376                        <span>Amministrazione</span>
377                        <svg class="icon icon-xs">
378                          <use xlink:href="https://www.comune.lodi.it/flex/TemplatesUSR/assets/R-22/img/sprite.svg#it-expand"></use>
379                        </svg>
380                      </a>
381                      <div class="dropdown-menu">
382                        <div class="link-list-wrapper">
383                          
384<!-- trailindex - start cached content -->
385
386<ol>
387<li class='LIStrong'><strong><span>Sindaco</span></strong></li>
388<li><a href='https://www.comune.lodi.it/giunta' title='La Giunta Comunale' ><span>Giunta Comunale</span></a></li>
389<li><a href='https://www.comune.lodi.it/consiglio' title='Il Consiglio Comunale' ><span>Consiglio Comunale</span></a></li>
390<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/2481' title='Organizzazione dell&#039;ente' ><span>Organizzazione dell&#039;ente</span></a></li>
391<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/2209' title='Albo pretorio On line' ><span>Albo pretorio</span></a></li>
392<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/379' title='Servizi on-line' ><span>Servizi per il cittadino</span></a></li>
393<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/11667' title='' ><span>Servizi per Enti e Imprese</span></a></li>
394<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/11406' title='' ><span>Servizi dipendenti/amministratori</span></a></li>
395<li><a href='https://lodi.e-pal.it/L190/?idSezione=33&id=&sort=&activePage=&search=' title='' ><span>Regolamenti comunali</span></a></li>
396</ol>
397
398
399<!-- trailindex - end cached content -->
400
401                        </div>
402                      </div>
403                    </li>
404                    <li class="nav-item dropdown">
405                      <a class="nav-link dropdown-toggle" href="https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/14" data-toggle="dropdown" aria-expanded="false">
406                        <span>Aree Tematiche</span>
407                        <svg class="icon icon-xs">
408                          <use xlink:href="https://www.comune.lodi.it/flex/TemplatesUSR/assets/R-22/img/s
408prite.svg#it-expand"></use>
409                        </svg>
410                      </a>
411                      <div class="dropdown-menu">
412                        <div class="link-list-wrapper">
413                          
414<!-- trailindex - start cached content -->
415
416<ol>
417<li><a href='https://www.comune.lodi.it/areetematiche/ambiente' title='Ambiente e Ecologia' ><img src='https://www.comune.lodi.it/flex/images/1/2/2/D.1fb08d8f5e57ed7cd02e/leaf_regular_small.png' alt='Educazione e istruzione ' /><span>Ambiente, Ecologia e cambiamenti climatici</span></a><ol>
418<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/11435' title='' ><span>Alberi</span></a></li>
419<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/9749' title='' ><span>Ambrosia e pollini</span></a></li>
420<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/9542' title='' ><span>Amianto</span></a></li>
421<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/343' title='Animali' ><span>Animali</span></a></li>
422<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/9408' title='' ><span>Aree a rischio di incidente rilevante</span></a></li>
423<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/350' title='Qualità dell&#039;aria' ><span>Aria</span></a></li>
424<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/7909' title='Case dell&#039;acqua' ><span>Case dell&#039;acqua</span></a></li>
425<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/12369' title='' ><span>Colonnine di ricarica veicoli elettrici</span></a></li>
426<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/9750' title='' ><span>Disinfestazioni </span></a></li>
427<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/3949' title='Ecosistema Urbano' ><span>Ecosistema Urbano</span></a></li>
428<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/789' title='Fiume Adda' ><span>Fiume Adda</span></a></li>
429<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/12340' title='' ><span>Fondazione CERS Solare Lodigiana</span></a></li>
430<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/12775' title='' ><span>Giornate ecologiche</span></a></li>
431<li><a href='https://www.comune.lodi.it/green_city' title='' ><span>GREEN CITY</span></a></li>
432<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/4263' title='Impianti termici, caldaie, caminetti, stufe' ><span>Impianti termici, caldaie, caminetti, stufe</span></a></li>
433<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/10131' title='' ><span>Orti Urbani</span></a></li>
434<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/1716' title='Pulizia strade' ><span>Pulizia strade</span></a></li>
435<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/6154' title='' ><span>Raccolta rifiuti</span></a></li>
436<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/2996' title='Società Acqua Lodigiana - S.A.L.' ><span>Servizi idrici - S.A.L.</span></a></li>
437<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/347' title='Solare termico e fotovoltaico' ><span>Solare termico e fotovoltaico</span></a></li>
438<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/5268' title='Teleriscaldamento' ><span>Teleriscaldamento</span></a></li>
439<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/348' title='Verde pubblico e privato' ><span>Verde pubblico e privato</span></a></li>
440</ol>
441</li>
442<li><a href='https://www.comune.lodi.it/areetematiche/cultura' title='Cultura, Sport e Turismo' ><img src='https://www.comune.lodi.it/flex/images/1/3/5/D.03e6039089900ed12f7e/child_regular_small.png' alt='Educazione e istruzione ' /><span>Cultura, Sport e Turismo</span></a><ol>
443<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/5308' title='Archivio Storico' ><span>Archivio Storico</span></a></li>
444<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/7048' title='Biblioteca comunale Laudense' ><span>Biblioteca Laudense</span></a></li>
445<li><a href='https://www.comune.lodi.it/correnti' title='Correnti -  Bando Citta&#039; che Legge' ><span>Correnti -  Bando Citta&#039; che Legge</span></a></li>
446<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/11200' title='' ><span>Stati Generali della Cultura</span></a></li>
447<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/6870' title='Luoghi della Cultura' ><span>Luoghi della Cultura</span></a></li>
448<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/6881' title='Iniziative' ><span>Iniziative</span></a></li>
449<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/6900' title='Teatro alle Vigne' ><span>Teatro alle Vigne</span></a></li>
450<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/385' title='Sport e Tempo Libero' ><span>
450Sport e Tempo Libero</span></a></li>
451<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/388' title='Turismo' ><span>Turismo</span></a></li>
452<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/351' title='Associazioni' ><span>Associazioni</span></a></li>
453</ol>
454</li>
455<li><a href='https://www.comune.lodi.it/areetematiche/anagrafe' title='Anagrafe, Stato civile, Elettorale, Protocollo' ><img src='https://www.comune.lodi.it/flex/images/1/e/d/D.e6bbac76c3231f2b4331/address_card_regular_small.png' alt='Educazione e istruzione ' /><span>Servizi demografici e al cittadino</span></a><ol>
456<li><a href='https://www.comune.lodi.it/prenotazione_CIE' title='' ><span>Carta d&#039;Identit&agrave; Elettronica (CIE)</span></a></li>
457<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/11983' title='' ><span>Cambio di residenza</span></a></li>
458<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/10395' title='' ><span>Anagrafe degli Italiani Residenti all&#039;Estero (AIRE)</span></a></li>
459<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/12656' title='' ><span>Referendum 22 - 23 marzo 2026</span></a></li>
460<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/6662' title='' ><span>Donazione di organi e tessuti</span></a></li>
461<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/8573' title='Testamento biologico' ><span>Testamento biologico</span></a></li>
462<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/9571' title='' ><span>Censimento</span></a></li>
463<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/11436' title='' ><span>Sottoscrizione referendum </span></a></li>
464</ol>
465</li>
466<li><a href='https://www.comune.lodi.it/areetematiche/istruzione' title='Educazione e istruzione ' ><img src='https://www.comune.lodi.it/flex/images/1/0/7/D.f3f00af26c93dceadfe0/graduation_cap_solid_small.png' alt='Educazione e istruzione ' /><span>Istruzione</span></a><ol>
467<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/275' title='Elenco scuole' ><span>Elenco scuole</span></a></li>
468<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/5640' title='Piano per il Diritto allo Studio' ><span>Piano per il Diritto allo Studio</span></a></li>
469<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/12854' title='' ><span>Cedole librarie dematerializzate 2026/2027</span></a></li>
470<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/12882' title='' ><span>Nuovo Portale per la gestione della mensa </span></a></li>
471<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/11251' title='' ><span>Spazio Gioco - IL TRENINO</span></a></li>
472<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/12099' title='' ><span>Il Coordinamento Pedagogico Territoriale &ndash; CPT</span></a></li>
473</ol>
474</li>
475<li><a href='https://www.comune.lodi.it/areetematiche/nidi-politiche-familiari' title='Educazione e istruzione ' ><img src='https://www.comune.lodi.it/flex/images/1/0/7/D.f3f00af26c93dceadfe0/graduation_cap_solid_small.png' alt='Educazione e istruzione ' /><span>Nidi e politiche familiari</span></a><ol>
476<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/12203' title='' ><span>Graduatoria nidi per inserimenti da Settembre 2026 - Anno educativo 2026/2027</span></a></li>
477</ol>
478</li>
479<li><a href='https://www.comune.lodi.it/areetematiche/pari-opportunita-centro-antiviolenza' title='' ><span>Pari opportunit&agrave; e politiche antiviolenza</span></a><ol>
480<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/12647' title='' ><span>Mentorship Lodi 2026</span></a></li>
481<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/12806' title='' ><span> Protocollo della Rete Territoriale Antiviolenza</span></a></li>
482</ol>
483</li>
484<li><a href='https://centroantiviolenzalodi.it/centro-antiviolenza/' title='' ><span>Centro Antiviolenza</span></a></li>
485<li><a href='https://www.comune.lodi.it/areetematiche/polizia' title='' ><img src='https://www.comune.lodi.it/flex/images/1/c/3/D.46ff463d5296755a72f2/shield_alt_regular_small.png' alt='Sicurezza e Polizia Locale' /><span>Sicurezza, Polizia Locale, ZTL</span></a><ol>
486<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/6948' title='Multe online' ><span>Multe online</span></a></li>
487<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/8487' title='Piano della sosta' ><span>Piano della sosta</span></a></li>
488<li><a href='https://www.comune.lodi.it/ZTL' title='Zona a Traffico Limitato' ><span>Zona a Traffico Limitato</span></a></li>
489<li><a href='https://www.comune.lodi.it/protezionecivile' title='Protezione Civile' ><span>
489Protezione Civile</span></a></li>
490<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/375' title='VideoSorveglianza' ><span>VideoSorveglianza</span></a></li>
491<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/4679' title='FBL, progetto contro le truffe' ><span>FBL, progetto contro le truffe</span></a></li>
492</ol>
493</li>
494<li><a href='https://www.comune.lodi.it/areetematiche/urbanistica' title='Edilizia, Lavori pubblici, Urbanistica, Patrimonio' ><img src='https://www.comune.lodi.it/flex/images/2/7/6/D.7b80a5029313642d2559/ico_edil_urban.png' alt='Edilizia, Lavori pubblici, Urbanistica' /><span>Edilizia, Lavori pubblici, Urbanistica, Patrimonio</span></a><ol>
495<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/1469' title='Piano di Governo del Territorio' ><span>Piano di Governo del Territorio</span></a></li>
496<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/6975' title='Urbanistica' ><span>Urbanistica</span></a></li>
497<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/7012' title='Sportello Unico Edilizia' ><span>Sportello Unico Edilizia</span></a></li>
498<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/12044' title='' ><span>Contributo di Costruzione - Tariffari</span></a></li>
499<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/7029' title='Lavori Pubblici' ><span>Lavori Pubblici</span></a></li>
500<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/8914' title='Patrimonio' ><span>Patrimonio</span></a></li>
501<li><a href='https://www.comune.lodi.it/commissionepaesaggio' title='Commissione Paesaggio' ><span>Commissione Paesaggio</span></a></li>
502</ol>
503</li>
504<li><a href='https://www.comune.lodi.it/areetematiche/SUAP' title='Sportello Unico Attività Produttive' ><img src='https://www.comune.lodi.it/flex/images/1/2/0/D.8da03cbac3f2d9ed2f27/store_regular_small.png' alt='Educazione e istruzione ' /><span>Sportello Unico Attivit&agrave; Produttive</span></a><ol>
505<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/9890' title='' ><span>
505Emergenza COVID -19</span></a></li>
506<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/981' title='Procedimenti SUAP' ><span>Procedimenti</span></a></li>
507<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/5056' title='Pubblicazione degli Atti dei Comuni associati' ><span>Atti dei Comuni associati</span></a></li>
508<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/4934' title='Manifestazioni' ><span>Manifestazioni</span></a></li>
509<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/4871' title='Piano della Pubblicità e delle Pubbliche Affissioni' ><span>Pubblicit&agrave; e affissioni</span></a></li>
510<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/7937' title='Piano cessioni a fini solidaristici' ><span>Cessioni a fini solidaristici</span></a></li>
511<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/12834' title='' ><span>Bando Ponte sull&#039;Adda</span></a></li>
512<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/6988' title='Regolamenti SUAP' ><span>Regolamenti</span></a></li>
513<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/8268' title='AL VIA - Azioni Lombarde per la Valorizzazione degli Investimenti Aziendali' ><span>Bando Regionale AL VIA</span></a></li>
514<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/11543' title='' ><span>Flusso cessazione attivit&agrave;</span></a></li>
515<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/233' title='Taxi e noleggio con conducente' ><span>Taxi e noleggio con conducente</span></a></li>
516</ol>
517</li>
518<li><a href='https://www.comune.lodi.it/areetematiche/tariffe' title='Tributi e Tariffe' ><img src='https://www.comune.lodi.it/flex/images/1/0/7/D.fcc3f6c0b8c2e79e0419/trash_alt_regular_small.png' alt='Educazione e istruzione ' /><span>Tributi e Tariffe</span></a><ol>
519<li><a href='https://lodi.k-portal.it/titr/home' title='' ><span>PORTALE TARI</span></a></li>
520<li><a href='https://sportellotelematico.comune.lodi.it/action:s_italia:imposta.municipale.unica' title='' ><span>IMU</span></a></li>
521<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/12685' title='' ><span>IMU 2026</span></a></li>
522<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/12278' title='' ><span>IMU 2025</span></a></li>
523<li><a href='https://sportellotelematico.comune.lodi.it/action%3As_italia%3Aaccesso.documentale' title='' ><span>RICHIESTA ACCESSO DOCUMENTALE</span></a></li>
524<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/6729' title='Tosap, imposta di pubblicità e diritti sulle pubbliche affissioni' ><span>Canone Unico Patrimoniale</span></a></li>
525<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/4295' title='La nuova Imposta di Soggiorno, ecco le modalità' ><span>Imposta di soggiorno</span></a></li>
526<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/78' title='Addizionale IRPEF' ><span>Addizionale IRPEF</span></a></li>
527<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/74' title='5 per mille' ><span>5 per mille</span></a></li>
528<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/2249' title='Regolamenti - Tributi' ><span>Regolamenti</span></a></li>
529</ol>
530</li>
531<li><a href='https://www.comune.lodi.it/areetematiche/sociale' title='Sociale' ><img src='https://www.comune.lodi.it/flex/images/1/3/9/D.5ff5247f35d91cd06f67/hands_helping_regular_small.png' alt='Educazione e istruzione ' /><span>Sociale e Politiche abitative</span></a><ol>
532<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/125' title='Politiche Sociali - Attività generali' ><span>Contatti Servizi sociali</span></a></li>
533<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/145' title='Adulti in difficoltà' ><span>Adulti in difficolt&agrave;</span></a></li>
534<li><a href='https://www.arera.it/it/bonus_sociale.htm#' title='' ><span>Bonus sociale - Elettricit&agrave;/Gas/Acqua</span></a></li>
535<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/157' title='Minori e famiglie' ><span>Minori e famiglie</span></a></li>
536<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/3828' title='Comitato Unico di Garanzia - C.U.G.' ><span>
536Comitato Unico di Garanzia - C.U.G.</span></a></li>
537<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/10193' title='' ><span>Servizi Sociali - Modulistica </span></a></li>
538<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/12323' title='' ><span>Fondo per la non autosufficienza anno 2025 (Misura B2)</span></a></li>
539<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/12324' title='' ><span>Sportello di ascolto e di supporto delle vittime</span></a></li>
540<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/6752' title='Famiglie' ><img src='https://www.comune.lodi.it/flex/images/c/3/9/D.8bede48d56be13db4b84/ico_famiglie.png' alt='Educazione e istruzione ' /><span>Ufficio Casa</span></a></li>
541<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/12817' title='' ><span>Avviso pubblico - Sostegno al mantenimento dell&#039;alloggio in locazione sul libero mercato - Anno 2026</span></a></li>
542</ol>
543</li>
544<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/11624' title='' ><span>Servizi di Segreteria</span></a><ol>
545<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/11627' title='' ><span>Partecipazione e cittadinanza attiva</span></a></li>
546<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/11436' title='' ><span>Sottoscrizione referendum </span></a></li>
547</ol>
548</li>
549<li><a href='https://www.comune.lodi.it/areetematiche/viabilita-mobilita' title='' ><img src='https://www.comune.lodi.it/flex/images/1/c/3/D.46ff463d5296755a72f2/shield_alt_regular_small.png' alt='Sicurezza e Polizia Locale' /><span>Mobilit&agrave;</span></a><ol>
550<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/12704' title='' ><span>Chiusura Ponte storico / Napoleone Bonaparte</span></a></li>
551<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/265' title='Piano Urbano Mobilità' ><span>Piano Urbano Mobilit&agrave; sostenibile</span></a></li>
552<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/12373' title='' ><span>Lodi a 30 km/h</span></a></li>
553<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/2578' title='Trasporto pubblico' ><span>Trasporto pubblico Locale</span></a></li>
554<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/12454' title='' ><span>Linee trasporto urbano</span></a></li>
555<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/7531' title='Agenzia del trasporto pubblico locale del bacino della Città metropolitana di Milano, Monza e Brianza, Lodi e Pavia' ><span>Agenzia del trasporto pubblico</span></a></li>
556<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/1725' title='Parcheggi' ><span>Parcheggi</span></a></li>
557<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/8487' title='Piano della sosta' ><span>Piano della sosta</span></a></li>
558<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/801' title='Biciclette e piste ciclabili' ><span>Piano della Mobilit&agrave;  Attiva</span></a></li>
559<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/12453' title='Biciclette e piste ciclabili' ><span>Parcheggiare la bicicletta</span></a></li>
560<li><a href='https://www.comune.lodi.it/green_way' title='' ><span>Green Way</span></a></li>
561<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/12369' title='' ><span>Colonnine di ricarica veicoli elettrici</span></a></li>
562<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/1716' title='Pulizia strade' ><span>Pulizia strade</span></a></li>
563<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/284' title='' ><span>Permesso temporaneo ZTL </span></a></li>
564<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/4414' title='Contrassegni di circolazione per persone disabili ' ><span>Contrassegni per disabili </span></a></li>
565<li><a href='https://www.comune.lodi.it/mezzi_pesanti' title='' ><span>Circolazione mezzi pesanti in citt&agrave; </span></a></li>
566<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/430' title='Limitazioni al traffico' ><span>Limitazioni al traffico</span></a></li>
567<li><a href='https://www.comune.lodi.it/areetematiche/viabilita' title='Viabilità e Mobilità' ><img src='https://www.comune.lodi.it/flex/images/1/6/c/D.44dd7ed451424f178c7d/ico_viab_mobil.png' alt='Educazione e istruzione ' /><span>Viabilit&agrave; e Mobilit&agrave; </span></a></li>
568</ol>
569</li>
570<li><a href='https://www.comune.lodi.it/areetematiche/cimiteri' title='' ><span>Cimiteri</span></a></li>
571</ol>
572
573
574<!-- trailindex - end cached content -->
575
576                        </div>
577
578                        </div>
579                    </li>
580                    <li class="nav-item dropdown">
581                      <a class="nav-link" href="https://www.comune.lodi.it/contatti">
582                        <span>Contatti</span>
583                      </a>
584                    </li>
585                    <li class="nav-item dropdown">
586                      <a class="nav-link target_blank" href="https://wbccomunelodi.cloud.incifra.it/booking/">
587                        <span>Appuntamenti servizi demografici</span>
588                      </a>
589                    </li>
590                    <li class="nav-item dropdown">
591                      <a class="nav-link" href="https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/379">
592                        Servizi per il cittadino
593                      </a>
594                    </li>
595                  </ul>
596                </div>
597              </div>
598              </div>
599            </nav>
600          </div>
601        </div>
602      </div>
603    </div>
604    <span style='display: none;'></span>  
605  </header>
606    <!-- START INDEX -->  
607    <div class="container">
608        <div class="row">
609            <div class="col-12 d-block d-lg-none">
610                <aside class="WrapMenuTopResp dropdown" aria-label="Menu di sezione">	
611                    <button class="btnMenuTop" id="toggleTopMenu" data-toggle="dropdown" type="button">
612                        <span class="caret"></span>
613                        <strong>Menu</strong>
614                        <span class="caret"></span>
615                    </button>
616                    <div class="dropdown-menu">
617                        <nav class="MenuV">
618                            
619<!-- trailindex - start cached content -->
620
621<ol>
622<li><a href='https://www.comune.lodi.it/comune.html' title='' ><span>Amministrazione</span></a><ol>
623<li class='LIStrong'><strong><span>Sindaco</span></strong></li>
624<li><a href='https://www.comune.lodi.it/giunta' title='La Giunta Comunale' ><span>Giunta Comunale</span></a></li>
625<li><a href='https://www.comune.lodi.it/consiglio' title='Il Consiglio Comunale' ><span>Consiglio Comunale</span></a></li>
626<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/2481' title='Organizzazione dell&#039;ente' ><span>Organizzazione dell&#039;ente</span></a></li>
627<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/2209' title='Albo pretorio On line' ><span>Albo pretorio</span></a></li>
628<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/379' title='Servizi on-line' ><span>Servizi per il cittadino</span></a></li>
629<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/11667' title='' ><span>Servizi per Enti e Imprese</span></a></li>
630<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/11406' title='' ><span>Servizi dipendenti/amministratori</span></a></li>
631<li><a href='https://lodi.e-pal.it/L190/?idSezione=33&id=&sort=&activePage=&search=' title='' ><span>Regolamenti comunali</span></a></li>
632</ol>
633</li>
634</ol>
635
636
637<!-- trailindex - end cached content -->
638
639                        </nav>
640                    </div>
641                </aside>                  
642            </div>
643            <div class="col-12 col-lg-3 d-none d-lg-flex justify-content-center">
644                <aside class="contMenuV" aria-label="Menu di sezione">
645                    <div class="indexBlock">
646                        <div class="indexList">
647                            
648<!-- trailindex - start cached content -->
649
650<ol>
651<li><a href='https://www.comune.lodi.it/comune.html' title='' ><span>Amministrazione</span></a><ol>
652<li class='LIStrong'><strong><span>Sindaco</span></strong></li>
653<li><a href='https://www.comune.lodi.it/giunta' title='La Giunta Comunale' ><span>Giunta Comunale</span></a></li>
654<li><a href='https://www.comune.lodi.it/consiglio' title='Il Consiglio Comunale' ><span>Consiglio Comunale</span></a></li>
655<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/2481' title='Organizzazione dell&#039;ente' ><span>Organizzazione dell&#039;ente</span></a></li>
656<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/2209' title='Albo pretorio On line' ><span>Albo pretorio</span></a></li>
657<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/379' title='Servizi on-line' ><span>Servizi per il cittadino</span></a></li>
658<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/11667' title='' ><span>Servizi per Enti e Imprese</span></a></li>
659<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/11406' title='' ><span>Servizi dipendenti/amministratori</span></a></li>
660<li><a href='https://lodi.e-pal.it/L190/?idSezione=33&id=&sort=&activePage=&search=' title='' ><span>Regolamenti comunali</span></a></li>
661</ol>
662</li>
663</ol>
664
665
666<!-- trailindex - end cached content -->
667
668                        </div>
669                    </div>
670                </aside>
671            </div>
672            <div class="col-12 col-lg-9">
673                <main id="Contenuto" class="corpopagina">
674                    <div class="wrap-breadcrumb">
675	<span class="homebread"><a class="bread-home" href="https://www.comune.lodi.it/home">Home</a>&nbsp;&nbsp;/&nbsp;</span><!-- BreadCrumb -->
676
677
678<a href='https://www.comune.lodi.it/comune.html' title="Amministrazione">Amministrazione</a>
679
680/
681
682Sindaco
683
684
685<!-- -->
686
687<!-- -->
688
689</div>
690                    <div class="contSocial">
691    <div class="socialWheelWrapper dropdown hidden-print">
692        <button type="button" 
693                class="btn-social-share dropdown-toggle" 
694                id="socialShareDropdown" 
695                data-toggle="dropdown" 
696                aria-haspopup="true" 
697                aria-expanded="false"
698                aria-label="Condividi questa pagina sui social network">
699            <i class="fal fa-share-alt" aria-hidden="true"></i>
700            <span>Condividi</span>
701        </button>
702        <div class="dropdown-menu dropdown-menu-right" 
703             aria-labelledby="socialShareDropdown"
704             id="socialWheel"
705             role="menu">
706            <div class="link-list-wrapper">
707                <ul class="link-list" role="presentation">
708                    <!--<li><a class="list-item" href="#" id="swLi" role="menuitem" target="_blank" rel="noopener noreferrer"><i class="fab fa-linkedin" aria-hidden="true"></i><span>Condividi su LinkedIn</span></a></li>-->
709                    <li><a class="list-item" href="#" id="swFb" role="menuitem" target="_blank" rel="noopener noreferrer"><i class="fab fa-facebook-f" aria-hidden="true"></i><span>Condividi su Facebook</span></a></li>
710                    <!--<li><a class="list-item" href="#" id="swTw" role="menuitem" target="_blank" rel="noopener noreferrer"><i class="fab fa-twitter" aria-hidden="true"></i><span>Condividi su Twitter</span></a></li>-->
711                </ul>
712            </div>
713        </div>
714    </div>
715</div>
716                    
717<!-- Begin BLOB Content -->
718<h1 class="viewTitolo">Sindaco</h1><h1 class="viewsottotitoloNero">
719		Andrea Furegato<br />
720</h1><div class='viewLineBreak'>&nbsp;</div><div class='BLOBBlockAlignLeft'><img id='img-1' src='https://www.comune.lodi.it/flex/tmp/imgResized/T-bfd001898385159aa4f759abcbad7843-250x250.png'  width="250" height="250" alt='Andrea Furegato' class='viewImg' /></div><div class='BLOBFloatClear'></div><div class='viewLineBreak'>&nbsp;</div><h3 class="viewTitolo3">Si occupa di:</h3>
721<div class='viewPar BLOBAlignLeft'><p >Programmazione culturale e sedi della Cultura, Personale, Università e Parco Tecnologico Padano, investimenti soggetti al regime amministrativo del P.N.R.R., Attività Produttive, Protezione Civile, Lavori pubblici, Patrimonio.<br /><br /></p></div>
722<h3 class="viewTitolo3">Come incontrarlo:</h3>
723<div class='viewPar BLOBAlignLeft'><p >Riceve su appuntamento inviando una mail a:<br /><a href='mailto:[email protected]'>[email protected]</a><br /><br /><strong class='userFormat1'>Segreteria del Sindaco / Staff del Sindaco</strong><br />lunedì 8,30 12,00 - 14,30 16,15<br />martedì 8,30 12,00 - 14,30 16,30<br />mercoledì 8,30 17,15<br />giovedì 8,30 12,00 - 14,30 16,30<br />venerdì 8,30 12,30<br /><br /></p></div>
724<h3 class="viewTitolo3">Segreteria del Sindaco</h3>
725<div class='viewPar BLOBAlignLeft'><p >Tel. 0371 409.282<br />Tel. 0371 409.108<br /><a href='mailto:[email protected]'>[email protected]<br /><br /></a></p></div>
726<div class='BLOBAlignLeft'><a href='https://lodi.e-pal.it/L190/sezione/show/403600?idSezione=403345&amp;sort=&amp;activePage=&amp;search=&amp;' class='viewLink'  title=''><img id='img-2' src='https://www.comune.lodi.it/flex/images/b/1/0/D.f97a8b41a6bc9ad5a306/casa_di_vetro.jpg' width="333" height="42" alt='la scritta amministrazione trasparente' /></a><span class='BLOBHidden'>.</span></div>
727<!-- End BLOB Content -->
728
729                    <div class="row">
730                        
731                        
732                    </div>
733                </main>
734            </div>
735        </div>
736    </div>
737    <!-- STOP INDEX -->
738	<!-- INIZIO FOOTER -->
739<footer class="it-footer" id="Footer">
740  <div class="it-footer-main">
741    <div class="container d-sm-flex d-md-block justify-content-sm-center">
742      <div class="col-12 col-md-11 d-sm-flex d-md-block justify-content-sm-center">
743        <div class="row justify-content-lg-between">
744          <div class="col-12 col-sm-auto">
745            <div class="logoFooter">
746              <img src="https://www.comune.lodi.it/flex/TemplatesUSR/assets/R-22/img/stemma-footer.png" alt="Stemma Comune di Lodi">
747            </div>
748          </div>
749          <div class="col-12 col-sm-7 m-center">
750            <div class="footerInfo">
751              <strong>Piazza Broletto 1, 26900 Lodi</strong>
752              <p>
753                P.I. 03116800156 - C.F. 84507570152<br />
754                Centralino 0371 409.1 - e-mail: <a href="mailto:[email protected]" title="e-mail">[email protected]</a> - PEC: <a href="mailto:[email protected]" title="PEC">[email protected]</a>
755              </p> 
756            </div>
757          </div>
758          <div class="col-12 col-lg-auto social">
759            <span>Seguici su</span>
760            <ul>
761              <li>
762                <a href="//www.facebook.com/ComunediLodi" title="Seguici su Facebook" aria-label="Facebook" class="target_blank">
763                  <svg class="icon icon-sm">
764                    <use xlink:href="https://www.comune.lodi.it/flex/TemplatesUSR/assets/R-22/img/sprite.svg#it-facebook"></use>
765                  </svg>
766                </a>
767              </li>
768              <!--
769              <li>
770                <a href="//twitter.com/ComunediLodi" title="Seguici su Twitter" aria-label="Twitter" class="target_blank">
771                  <svg class="icon icon-sm">
772                    <use xlink:href="https://www.comune.lodi.it/flex/TemplatesUSR/assets/R-22/img/sprite.svg#it-twitter"></use>
773                  </svg>
774                </a>
775              </li>-->
776              <li>
777                <a href="//www.youtube.com/user/ComunediLodi" title="Seguici su Youtube" aria-label="Youtube" class="target_blank">
778                  <svg class="icon icon-sm">
779                    <use xlink:href="https://www.comune.lodi.it/flex/TemplatesUSR/assets/R-22/img/s
779prite.svg#it-youtube"></use>
780                  </svg>
781                </a>
782              </li>
783              <li>
784                <a href="//instagram.com/comunedilodi" title="Seguici su Instagram" aria-label="Instagram" class="target_blank">
785                  <svg class="icon icon-sm">
786                    <use xlink:href="https://www.comune.lodi.it/flex/TemplatesUSR/assets/R-22/img/sprite.svg#it-instagram"></use>
787                  </svg>
788                </a>
789              </li>
790            </ul>
791          </div>
792        </div>
793      </div>
794    </div>
795  </div>
796  <div class="it-footer-small-prints clearfix">
797    <div class="container">
798      <h3 class="sr-only">Sezione Link Utili</h3>
799      <div class="it-footer-small-prints-list d-flex ">
800        <div class="row w-100">
801          <div class="col-12">
802<!-- trailindex - start cached content -->
803
804<ol>
805<li><a href='http://www.comune.lodi.it/flex/cm/pages/eu-privacy.php/L/IT' title='' ><span>Cookie Policy</span></a></li>
806<li><a href='https://www.comune.lodi.it/privacy' title='' ><span>Privacy</span></a></li>
807<li><a href='https://www.comune.lodi.it/note-legali' title='' ><span>Note legali</span></a></li>
808<li><a href='https://www.comune.lodi.it/credits' title='' ><span>Credits</span></a></li>
809<li><a href='https://www.comune.lodi.it/flex/cm/FixedPages/Common/SiteMapTree.php/L/IT' title='Mappa del Sito' ><span>Mappa del Sito</span></a></li>
810<li><a href='https://form.agid.gov.it/view/cb4ffb90-9869-11f0-bee6-a53b1c61d10b' title='' ><span>Dichiarazione di accessibilit&agrave;</span></a></li>
811<li><a href='https://www.comune.lodi.it/flex/cm/pages/ServeBLOB.php/L/IT/IDPagina/3410' title='' ><span>Segnalazioni/suggerimenti</span></a></li>
812</ol>
813
814
815<!-- trailindex - end cached content -->
816</div>
817        </div>
818      </div>
819    </div>
820  </div>
821</footer>
822<!-- FINE FOOTER -->
823    <div class='adminlinks'>
824    <div class='container'>
825        <div class='row justify-content-center'>
826            <div class='col-auto'>
827                
828                
829            </div>
830        </div>
831    </div>
832</div>
833<script type='text/html' id='eu-privacy-tpl'>&lt;style type='text/css'&gt;
834
835	:root {
836		--colore-primario: #c1000a;
837	}
838
839	#eu-privacy {
840		top: auto !important;
841		position: fixed;
842		left: 0;
843		width: 100%;
844		min-height: 50px;
845		z-index: 10000;
846		bottom: 0;
847		overflow: hidden;
848		color: black;
849		background-color: rgba(255,255,255,0.97);
850		box-shadow: 0 -10px 10px rgba(0,0,0,0.3);
851		-webkit-transform: translateY(600px);
852		   -moz-transform: translateY(600px);
853			-ms-transform: translateY(600px);
854			 -o-transform: translateY(600px);
855				transform: translateY(600px);
856		
857		-webkit-transition: transform 0.5s ease-in;
858		-moz-transition: transform 0.5s ease-in;
859		-ms-transition: transform 0.5s ease-in;
860		-o-transition: transform 0.5s ease-in;
861		transition: transform 0.5s ease-in;	
862	}
863	#eu-privacy.open {
864		-webkit-transform: translateY(0px);
865		   -moz-transform: translateY(0px);
866			-ms-transform: translateY(0px);
867			 -o-transform: translateY(0px);
868				transform: translateY(0px);
869		
870		-webkit-transition: transform 0.5s 1s ease-in;
871		-moz-transition: transform 0.5s 1s ease-in;
872		-ms-transition: transform 0.5s 1s ease-in;
873		-o-transition: transform 0.5s 1s ease-in;
874		transition: transform 0.5s 1s ease-in;	
875	}
876	
877	
878	#eu-privacy-inner { margin: 15px; }
879	#eu-privacy-inner p { font-size: 15px; line-height: 25px; }
880	#eu-privacy-inner p a { color: var(--colore-primario);}
881	
882	#eu-privacy-inner p i {     
883		font-size: 8px;
884		top: -1px;
885		position: relative;
886		margin-right: 3px; 
887		color: grey;
888	}
889	#eu-privacy-inner .title { 
890		font-size: 16px;
891		letter-spacing: 0;
892		line-height: 17px;
893		/*color: black;
894		margin-bottom: 5px;*/
895		text-transform: uppercase;
896		font-weight: 700;
897		text-align: center;
898	
899		color: var(--colore-primario);
900		margin-bottom: 10px;
901		padding-bottom: 10px;
902		border-bottom: 1px solid var(--colore-primario);
903	}
904	.eu-privacy-check label {
905		display: inline-block;
906		max-width: 100%;
907		margin-bottom: 5px;
908		font-weight: 700;
909		font-size: 14px;
910		top: -2px;
911		position: relative;
912		margin-right: 5px;
913	}
914	.eu-privacy-buttons-container {
915		margin: 5px 0 0;
916		font-size: 12px;
917		display: block;
918		position: relative;
919		font-family: "Titillium Web",sans-serif;
920	}
921	
922	.eu-privacy-checks, .eu-privacy-buttons {
923		display: flex;
924		justify-content: flex-start;
925	}
926	
927	.eu-privacy-check {
928		margin: 0 15px 10px 0;
929	}
930	
931	.eu-privacy-buttons .eu-privacy-button {
932		display: inline-block;
933		font-weight: 600;
934		/*color: var(--colore-primario);*/
935		text-align: center;
936		vertical-align: middle;
937		cursor: pointer;
938		-webkit-user-select: none;
939		-moz-user-select: none;
940		-ms-user-select: none;
941		user-select: none;
942		/*background-color: transparent;*/
943		border: 1px solid var(--colore-primario);
944		text-transform: uppercase;
945		padding: 5px 40px;
946		font-size: 14px;
947		line-height: 1.5;
948		border-radius: .2rem;
949		transition: color .3s ease-in-out, background-color .3s ease-in-out, border-color .15s ease-in-out,box-shadow .15s ease-in-out, opacity 0.3s ease-in-out;
950		color: #fff;
951		background-color: var(--colore-primario);
952	}
953	
954	.eu-privacy-button:hover {
955		text-decoration: none;
956		/*
957		color: #fff;
958		background-color: var(--colore-primario);
959		opacity: 0.7;
960		*/
961		color: var(--colore-primario);
962		background-color: transparent;
963	}
964	
965	.eu-privacy-buttons .eu-privacy-button-choose, .eu-privacy-buttons .eu-privacy-button-close {
966		color: var(--colore-primario);
967		background-color: transparent;
968	}
969
970	.eu-privacy-buttons .eu-privacy-button-choose:hover, .eu-privacy-buttons .eu-privacy-button-close:hover {
971		background-color: var(--colore-primario);
972		color: #fff;
973	}
974
975	.eu-privacy-buttons .eu-privacy-button-all:hover {
976		color: #fff;
977		background-color: var(--colore-primario);
978		opacity: 0.7;
979	}
980	/*
981	
982	.eu-privacy-buttons .eu-privacy-button-all {
983		color: #fff;
984		background-color: var(--colore-primario);
985		border-color: var(--colore-primario);
986		text-transform: uppercase;
987		padding: 5px 40px;
988	}
989	*/
990	
991	.eu-privacy-buttons .eu-privacy-button-container {
992		margin: 0 20px 0 0;
993	}
994	.eu-privacy-buttons .eu-privacy-button-container a{
995		text-decoration: none;
996	}
997	.eu-privacy-close-box a.eu-privacy-button.eu-privacy-button-close {
998		margin-top:-5px;
999		background-color: var(--colore-primario);
1000		color: #ffffff;
1001		border-radius: 50%;
1002		width: 30px;
1003		height: 30px;
1004		display: block;
1005		text-align: center;
1006		line-height: 27px;
1007		transition: color .15s ease-in-out, background .3s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, opacity 0.3s ease-in-out;
1008		text-decoration: none;
1009	}
1010	.eu-privacy-close-box a.eu-privacy-button.eu-privacy-button-close:hover {
1011		color: var(--colore-primario);
1012		background-color: #ffffff;
1013	}
1014	.d-none { display: none; }
1015	.float-right { float: right !important;}
1016	@media screen and (max-width: 769px) {
1017		#eu-privacy-inner p, .eu-privacy-check label { font-size: 13px; line-height: 20px;}
1018	}
1019	@media screen and (max-width: 568px) {
1020		#eu-privacy {
1021			width: 100vw;
1022		}
1023		.eu-privacy-close-box a.eu-privacy-button.eu-privacy-button-close {
1024			margin-top:0;
1025		}
1026		.eu-privacy-close-box {
1027			position: absolute;
1028			right: 15px;
1029			top: 5px;
1030			z-index: 1000;
1031		}
1032		.eu-privacy-buttons, .eu-privacy-checks {
1033			flex-wrap: wrap;
1034		}
1035		.eu-privacy-buttons .eu-privacy-button-container {
1036			margin: 0px 0px 10px 0;
1037			width: 100%;
1038		}
1039		.eu-privacy-buttons .eu-privacy-button {
1040			width: 100%;
1041		}
1042		.eu-privacy-check { margin: 0 5px 0 0; flex: 0 1 46%;}
1043		
1044	}
1045&lt;/style&gt;
1046
1047&lt;div class="container" data-dom-position="top"&gt;
1048	&lt;div class="eu-privacy-close-box float-right"&gt;
1049		&lt;a href="#" class='eu-privacy-button eu-privacy-button-close' aria-label="Chiudi informativa cookie"&gt;x&lt;/a&gt;
1050	&lt;/div&gt;
1051	&lt;div class="row justify-content-center"&gt;
1052		&lt;div class="col-12 px-0"&gt;
1053			&lt;h5 class="title"&gt;Informativa cookie&lt;/h5&gt;
1054
1055			&lt;p class="text"&gt;
1056
1057			&lt;p class="text"&gt;
1058				Il sito utilizza &lt;strong&gt;cookie tecnici&lt;/strong&gt; o tecnologie simili &lt;strong&gt;necessari&lt;/strong&gt; per funzionare correttamente. 
1059				Con il tuo consenso, vorremmo utilizzare anche &lt;strong&gt;cookie di profilazione&lt;/strong&gt; (anche di terze parti) per finalità di marketing o per una migliore esperienza.
1060				Se &lt;strong&gt;chiudi&lt;/strong&gt; questo messaggio, tramite la &lt;strong&gt;X&lt;/strong&gt;
1060 in alto a destra, accetti solo i cookie necessari.
1061				&lt;br /&gt;
1062				Seleziona Gestisci Cookie per conoscere i cookie utilizzati e impostare i consensi. Consulta anche la nostra &lt;a href="//www.comune.lodi.it/privacy"&gt;Privacy Policy&lt;/a&gt;.
1063			&lt;/p&gt;
1064
1065
1066			&lt;div class='eu-privacy-buttons-container'&gt;
1067
1068				&lt;div class='eu-privacy-checks'&gt;
1069	
1070					&lt;div class='eu-privacy-check d-none'&gt;
1071						&lt;input type='checkbox' name='eu-privacy-chk-necessary' id='eu-privacy-chk-necessary' value='1' disabled checked&gt;
1072						&lt;label for='eu-privacy-chk-necessary'&gt;Necessari e tecnici&lt;/label&gt;
1073					&lt;/div&gt;
1074			
1075					&lt;div class='eu-privacy-check d-none'&gt;
1076						&lt;input type='checkbox' name='eu-privacy-chk-preferences' id='eu-privacy-chk-preferences' value='2'&gt;
1077						&lt;label for='eu-privacy-chk-preferences'&gt;Preferenze&lt;/label&gt;
1078					&lt;/div&gt;
1079
1080					&lt;div class='eu-privacy-check d-none'&gt;
1081						&lt;input type='checkbox' name='eu-privacy-chk-statistics' id='eu-privacy-chk-statistics' value='4'&gt;
1082						&lt;label for='eu-privacy-chk-statistics'&gt;Statistiche&lt;/label&gt;
1083					&lt;/div&gt;
1084					&lt;div class='eu-privacy-check d-none'&gt;
1085						&lt;input type='checkbox' name='eu-privacy-chk-marketing' id='eu-privacy-chk-marketing' value='8'&gt;
1086						&lt;label for='eu-privacy-chk-marketing'&gt;Marketing&lt;/label&gt;
1087					&lt;/div&gt;
1088				
1089				&lt;/div&gt;
1090
1091				&lt;div class='eu-privacy-buttons'&gt;
1092					&lt;div class='eu-privacy-button-container'&gt;
1093						&lt;a href='https://www.comune.lodi.it/flex/cm/pages/eu-privacy.php/L/IT' id='' class='eu-privacy-button eu-privacy-button-choose'&gt;Gestisci Cookie&lt;/a&gt;
1094					&lt;/div&gt;
1095					&lt;div class='eu-privacy-button-container'&gt;
1096						&lt;a href='#' id='eu-privacy-choose' class='eu-privacy-button eu-privacy-button-close'&gt;ACCETTA SOLO I NECESSARI&lt;/a&gt;
1097					&lt;/div&gt;
1098
1099					&lt;div class='eu-privacy-button-container'&gt;
1100						&lt;a href='#' id='eu-privacy-choose-all' class='eu-privacy-button eu-privacy-button-all'&gt;Accetta Tutti&lt;/a&gt;
1101					&lt;/div&gt;
1102				&lt;/div&gt;
1103			
1104			&lt;/div&gt;
1105			
1106		&lt;/div&gt;
1107	&lt;/div&gt;
1108&lt;/div&gt;</script>
1108
1109
1110<script type='text/javascript'>var gAppConfigure = {
1111	kBlankLinkMessage: ' (Questo collegamento aprirà una nuova finestra)',
1112		kBaseURL: 'https://www.comune.lodi.it/flex/cm/',
1113		kDataURL: 'https://www.comune.lodi.it/flex/',
1114		eucookie: {"settings":1},
1115	lang: 'IT',
1116	isDevel: false
1117};</script>
vendor: 1 bytes, line 1117
1117
1118<script type='text/javascript' src='https://www.comune.lodi.it/flex/cm/js.7.9.17/jq/jquery-3.4.1.min.js'></script>
vendor: 1 bytes, line 1118
1118
1119<script type='text/javascript' src='https://www.comune.lodi.it/flex/cm/js.7.9.17/jq/FlexJS.js'></script>
1119<script type="text/javascript">
1120$().ready(function() {
1121window.__flex__eu_cookie_enabled = true;
1122
1123// $(window).on('load', function() {
1124
1125// });
1126
1127(function() {
1128
1129	if (! window.__flex__eu_cookie_enabled)
1130		return;
1131
1132	function open() {
1133
1134		if (fjs.euCookie.handler !== null)
1135			fjs.euCookie.handler.openDialog();
1136		else
1137			fjs.Loader.LoadJS('js/jq/eu-privacy-v2.js', function() {
1138
1139				fjs.euCookie.handler = new fxEUPrivacy();
1140
1141				fjs.euCookie.handler.openDialog();
1142			});
1143	}
1144
1145	$('body').on('click', '.eu-privacy-button-set', function() {
1146
1147		const el = $(this), as = el.data('after-set');
1148
1149		if (as === 'reload')
1150			window.addEventListener('eu-privacy:changed', function(e) {
1151
1152				location.reload();
1153			});
1154
1155		open();
1156
1157		return false;
1158	});
1159
1160		// ho già un'impostazione attiva, non apro il dialog
1161
1162	if (document.cookie.match(/fx-eu-privacy/))
1163		return;
1164
1165	open();
1166
1167})();
1168
1169});
1170</script>
1170
1171
1172
1173<!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 65 bytes, lines 1173-1174
1173
1174<script async src='https://www.googletagmanager.com/gtag/js?id=
1174G-1C0DRHW4L1
vendor: 63 bytes, line 1174
1174' type='text/plain' data-cookieconsent='statistics'></script>
1175<script type='text/plain' data-cookieconsent='statistics'>
1176	
vendor: 135 bytes, lines 1176-1180
1176window.dataLayer = window.dataLayer || [];
1177	function gtag(){dataLayer.push(arguments);}
1178	gtag('js', new Date());
1179
1180	gtag('config', '
1180G-1C0DRHW4L1
vendor: 5 bytes, line 1180
1180');
1181</script>
1181
1182
1183<script type='text/javascript' src='//cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap-italia.bundle.min.js'></script>
vendor: 1 bytes, line 1183
1183
1184<script type='text/javascript' src='https://www.comune.lodi.it/flex/TemplatesUSR/assets/R-22/accessible-slick-1.0.1/slick/slick.min.js'></script>
vendor: 1 bytes, line 1184
1184
1185<script type='text/javascript' src='//unpkg.com/[email protected]/dist/aos.js'></script>
vendor: 1 bytes, line 1185
1185
1186<script type='text/javascript' src='https://www.comune.lodi.it/flex/TemplatesUSR/assets/R-22/slick-lightbox/slick-lightbox.js'></script>
vendor: 1 bytes, line 1186
1186
1187<script type="text/javascript">$().ready(function() {
1188
1189
1190	
1191	// Gestione Menu Responsive con Focus Trap e Accessibilità
1192	(function() {
1193		var $menuResponsive = $(".menu-responsive");
1194		var $navbarCollapsable = $menuResponsive.find(".navbar-collapsable");
1195		var $menuWrapper = $menuResponsive.find(".menu-wrapper");
1196		var $overlay = $menuResponsive.find(".overlay");
1197		var $hamburger = $(".menuHamburger");
1198		var menuOpen = false;
1199		
1200		function openMenu() {
1201			menuOpen = true;
1202			$menuResponsive.addClass("showMenu");
1203			$navbarCollapsable.addClass("expanded");
1204			$overlay.css("display", "block");
1205			$hamburger.attr("aria-expanded", "true");
1206			$("body").css("overflow", "hidden");
1207			setTimeout(function() { 
1208				$menuResponsive.find(".close-menu").focus(); 
1209			}, 100);
1210		}
1211		
1212		function closeMenu() {
1213			menuOpen = false;
1214			$menuResponsive.removeClass("showMenu");
1215			$navbarCollapsable.removeClass("expanded");
1216			$overlay.css("display", "none");
1217			$hamburger.attr("aria-expanded", "false");
1218			$("body").css("overflow", "");
1219			$hamburger.focus();
1220		}
1221		
1222		// Click Hamburger
1223		$hamburger.on("click", function() {
1224			if (menuOpen) {
1225				closeMenu();
1226			} else {
1227				openMenu();
1228			}
1229		});
1230		
1231		// Click X (delegato)
1232		$menuResponsive.on("click", ".close-menu", function(e) {
1233			e.preventDefault();
1234			closeMenu();
1235		});
1236		
1237		// Click Overlay
1238		$overlay.on("click", function() {
1239			closeMenu();
1240		});
1241		
1242		// ESC e Focus Trap
1243		$(document).on("keydown", function(e) {
1244			if (!menuOpen) return;
1245			
1246			// ESC
1247			if (e.key === "Escape" || e.keyCode === 27) {
1248				e.preventDefault();
1249				closeMenu();
1250				return;
1251			}
1252			
1253			// Focus Trap
1254			if (e.key === "Tab" || e.keyCode === 9) {
1255				var $focusable = $menuWrapper.find('a[href], button:not([disabled]), [tabindex]:not([tabindex="-1"])').filter(':visible');
1256				var first = $focusable.first()[0];
1257				var last = $focusable.last()[0];
1258				
1259				if (e.shiftKey && document.activeElement === first) {
1260					e.preventDefault();
1261					last.focus();
1262				} else if (!e.shiftKey && document.activeElement === last) {
1263					e.preventDefault();
1264					first.focus();
1265				}
1266			}
1267		});
1268	})();
1269	
1270	// Focus Trap per Modal Search
1271	(function() {
1272		var $searchModal = $("#searchModal");
1273		
1274		$searchModal.on("shown.bs.modal", function() {
1275			var $focusable = $searchModal.find('button:not([disabled]), input:not([disabled]), [tabindex]:not([tabindex="-1"])').filter(':visible');
1276			if ($focusable.length) {
1277				$focusable.first().focus();
1278			}
1279		});
1280		
1281		$searchModal.on("keydown", function(e) {
1282			if (e.key === "Tab" || e.keyCode === 9) {
1283				var $focusable = $searchModal.find('button:not([disabled]), input:not([disabled]), [tabindex]:not([tabindex="-1"])').filter(':visible');
1284				var first = $focusable.first()[0];
1285				var last = $focusable.last()[0];
1286				
1287				if (e.shiftKey && document.activeElement === first) {
1288					e.preventDefault();
1289					last.focus();
1290				} else if (!e.shiftKey && document.activeElement === last) {
1291					e.preventDefault();
1292					first.focus();
1293				}
1294			}
1295		});
1296	})();
1297
1298	/* Apriamo il menu padre del attuale elemento nel menu hamburger */
1299	$(".menu-responsive .navbar-nav .link-list-wrapper li.LIStrong").parent().parent().parent().addClass("show");
1300	$(".menu-responsive .navbar-nav .link-list-wrapper li.LIStrong").parent().parent().parent().parent().addClass("show");
1301
1302
1303	$(".FlexNavi span.NavInactive:nth-child(2), .navBottom span.NavInactive:nth-child(2)").html('<i aria-hidden="true" class="fal fa-chevron-left"></i>');
1304	$(".FlexNavi a[title='Primo Elemento']").html('<i aria-hidden="true" class="fal fa-chevron-double-left"></i>');
1305	$(".FlexNavi a[title='Ultimo Elemento']").html('<i aria-hidden="true" class="fal fa-chevron-double-right"></i>');
1306	$(".FlexNavi a[title='Elemento Precedente']").html('<i aria-hidden="true" class="fal fa-chevron-left"></i>');
1307	$(".FlexNavi a[title='Elemento Successivo']").html('<i aria-hidden="true" class="fal fa-chevron-right"></i>');
1308	$(".nav-wrap").html("<div class='navTop'>"+$(".FlexNavi").html()+"</div>");
1309	$(".FlexNavi ol li").each(function(){
1310		let str = $(this).text();
1311		if(str == '...'){
1312			$(this).remove();
1313		}
1314	});
1315	$(" .FlexNavi span").each(function(){
1316		let testo = $(this).text();
1317		if(testo == '&lt;' || testo == '>'){
1318			$(this).html('<i aria-hidden="true" class="fal fa-chevron-right"></i>');
1319		}else if(testo == '&gt;' || testo == '<'){
1320			$(this).html('<i aria-hidden="true" class="fal fa-chevron-left"></i>');
1321		}else if(testo == '<<'){
1322			$(this).html('<i aria-hidden="true" class="fal fa-chevron-double-left"></i>');
1323		}else if(testo == '>>'){
1324			$(this).html('<i aria-hidden="true" class="fal fa-chevron-double-right"></i>');
1325		}
1326	});
1327
1328
1329	/* Copiamo il percorso action dal form generico nel form aggiunto sulla home */
1330	$(".home-page #F2").attr("action",$(".home-page #F1").attr("action"));
1331    
1332	$("#map").addClass( "embed-responsive" );
1333    $(".gm-style").addClass( "embed-responsive-item" );
1334    $('table.viewTable').wrap("<div class='table-responsive'></div>");
1335
1336
1337        
1338	$(".corpopagina form .BLOBFloatClear").addClass( "form-check" );
1339	$(".corpopagina form input[type='checkbox']").addClass( "checkbox" );
1340	$(".corpopagina form input[type='radio']").addClass( "radio" );
1341	$(".corpopagina form input[type='submit']").addClass("btn btn-secondary");
1342
1343//  JS modifica form editoriali per adattarli a bootstrap 4
1344
1345	$( "form .formText" ).each(function() {
1346		$( this ).addClass('form-control').unwrap().closest('.BLOBWidth100').attr('class','form-group');
1347		var l = $( this ).prev().find('.formTextLabel').unwrap();
1348		$( this ).siblings('.formMandatory').appendTo( l );
1349	});
1350
1351	$( "form .formTextArea" ).each(function() {
1352		$( this ).addClass('form-control').unwrap().closest('.BLOBWidth100').attr('class','form-group');
1353		var la = $( this ).prev().find('.formTextAreaLabel').unwrap();
1354		$( this ).siblings('.formMandatory').appendTo( la );
1355	});
1356
1357	$( "form .formDropDown" ).each(function() {
1358		$( this ).addClass('form-control').unwrap().closest('.BLOBWidth100').attr('class','form-group');
1359		var ls = $( this ).prev().find('.formDropDownLabel').unwrap();
1360		$( this ).siblings('.formMandatory').appendTo( ls);
1361	});
1362
1363	$( "form .formCheckboxLabel" ).each(function() {
1364		$( this ).addClass('form-control').unwrap().closest('.BLOBFloatClear').attr('class','form-check');
1365	});
1366
1367	$( "form .checkbox" ).each(function() {
1368		$( this ).addClass('form-control').unwrap();
1369	});
1370
1371	$( "form .checkbox" ).each(function() {
1372		var l = $( this ).find('.checkbox');
1373		$( this ).siblings('.formMandatory').appendTo( l );
1374	});
1375
1376	$( "form .btn-secondary" ).each(function() {
1377		$( this ).unwrap().wrap( "<div class='cont-submit'></div>" );
1378	});
1379	
1380	$(".form-check .formMandatory").unwrap();
1381
1382	$( "form .radio" ).each(function() {
1383		$( this ).addClass('form-control').unwrap().closest('.BLOBFloatClear').attr('class','form-check');
1384	});
1385
1386	// $(".formRadio").unwrap();
1387
1388
1389	// Imposta gli URL di condivisione social
1390	var wlh = window.location.href;
1391	
1392	$('#swLi').attr('href' , '//www.linkedin.com/shareArticle?url=' + wlh);
1393	$('#swFb').attr('href' , '//www.facebook.com/sharer/sharer.php?u=' + wlh);
1394	
1395
1396	//Mostriamo solo i primi 3 caratteri del mese
1397	$("#ChannelMonthList ol li a, #ChannelMonthList .ChannelSelItem,#ChannelMonthList .ChannelEmptyItem").each(function(){
1398		$(this).text($(this).text().substring(0, 3));
1399	});
1400
1401
1402
1403
1404    /***************************************/
1405
1406    // Sposta id="MenuPrincipale" in base al breakpoint 992px
1407    (function() {
1408        var menuNav = document.querySelector('.navbar-nav');
1409        var contWrapHam = document.querySelector('.menuHamburger');
1410        var breakpoint = 992;
1411        var lastState = null;
1412
1413        function updateMenuPrincipaleId() {
1414            if (!menuNav || !contWrapHam) return;
1415
1416            var isMobile = window.innerWidth < breakpoint;
1417
1418            // Evita operazioni inutili se lo stato non è cambiato
1419            if (lastState === isMobile) return;
1420            lastState = isMobile;
1421
1422            if (isMobile) {
1423                // Mobile: sposta id su cont-wrap-ham
1424                menuNav.removeAttribute('id');
1425                contWrapHam.setAttribute('id', 'MenuPrincipale');
1426            } else {
1427                // Desktop: ripristina id su nav
1428                contWrapHam.removeAttribute('id');
1429                menuNav.setAttribute('id', 'MenuPrincipale');
1430            }
1431        }
1432
1433        // Esegui al caricamento
1434        updateMenuPrincipaleId();
1435
1436        // Esegui al resize con debounce
1437        var resizeTimer;
1438        window.addEventListener('resize', function() {
1439            clearTimeout(resizeTimer);
1440            resizeTimer = setTimeout(updateMenuPrincipaleId, 100);
1441        });
1442    })();
1443
1444    // Sposta id="MenuSezione" in base al breakpoint 992px
1445    (function() {
1446        var contMenuV = document.querySelector('.contMenuV');
1447        var wrapMenuTopResp = document.querySelector('.WrapMenuTopResp');
1448        var breakpoint = 992;
1449        var lastState = null;
1450
1451        function updateMenuSezioneId() {
1452            // Se non esistono i contenitori, esci
1453            if (!contMenuV && !wrapMenuTopResp) return;
1454
1455            var isMobile = window.innerWidth < breakpoint;
1456
1457            // Evita operazioni inutili se lo stato non è cambiato
1458            if (lastState === isMobile) return;
1459            lastState = isMobile;
1460
1461            if (isMobile) {
1462                // Mobile: sposta id su WrapMenuTopResp
1463                if (contMenuV) contMenuV.removeAttribute('id');
1464                if (wrapMenuTopResp) wrapMenuTopResp.setAttribute('id', 'MenuSezione');
1465            } else {
1466                // Desktop: sposta id su contMenuV
1467                if (wrapMenuTopResp) wrapMenuTopResp.removeAttribute('id');
1468                if (contMenuV) contMenuV.setAttribute('id', 'MenuSezione');
1469            }
1470        }
1471
1472        // Esegui al caricamento
1473        updateMenuSezioneId();
1474
1475        // Esegui al resize con debounce
1476        var resizeTimer;
1477        window.addEventListener('resize', function() {
1478            clearTimeout(resizeTimer);
1479            resizeTimer = setTimeout(updateMenuSezioneId, 100);
1480        });
1481    })();
1482
1483	
1484    // Focus Trap per Cookie Banner #eu-privacy
1485    (function() {
1486        var privacyBanner = null;
1487        var focusableEls = [];
1488        var firstFocusableEl = null;
1489        var lastFocusableEl = null;
1490        var isOpen = false;
1491        var keydownHandlerBound = false;
1492
1493        // Crea live region per annunci screen reader
1494        var liveRegion = document.createElement('div');
1495        liveRegion.id = 'fx-privacy-live';
1496        liveRegion.setAttribute('role', 'status');
1497        liveRegion.setAttribute('aria-live', 'assertive');
1498        liveRegion.setAttribute('aria-atomic', 'true');
1499        liveRegion.style.cssText = 'position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;';
1500        document.body.appendChild(liveRegion);
1501
1502        function announceToScreenReader(message) {
1503            liveRegion.textContent = '';
1504            setTimeout(function() {
1505                liveRegion.textContent = message;
1506            }, 50);
1507        }
1508
1509        // Funzione per inizializzare il focus trap quando il banner esiste
1510        function initPrivacyBannerTrap() {
1511            privacyBanner = document.getElementById('eu-privacy');
1512            if (!privacyBanner) return false;
1513
1514            // Observer per rilevare l'aggiunta/rimozione della classe "open"
1515            var classObserver = new MutationObserver(function(mutations) {
1516                mutations.forEach(function(mutation) {
1517                    if (mutation.attributeName === 'class') {
1518                        var nowOpen = privacyBanner.classList.contains('open');
1519                        if (nowOpen && !isOpen) {
1520                            openPrivacyBanner();
1521                        } else if (!nowOpen && isOpen) {
1522                            closePrivacyBanner();
1523                        }
1524                    }
1525                });
1526            });
1527
1528            classObserver.observe(privacyBanner, { attributes: true });
1529
1530
1531
1532            // Intercetta click su "Personalizza" per spostare il focus quando il banner si apre
1533            document.addEventListener('click', function(e) {
1534                var setBtn = e.target.closest('.eu-privacy-button-set');
1535                if (setBtn) {
1536                    // Attendi che il banner si apra e sposta il focus
1537                    setTimeout(function() {
1538                        if (privacyBanner && privacyBanner.classList.contains('open')) {
1539                            openPrivacyBanner();
1540                        }
1541                    }, 150);
1542                }
1543            });
1544
1545            // Controlla stato iniziale
1546            if (privacyBanner.classList.contains('open')) {
1547                setTimeout(openPrivacyBanner, 100);
1548            }
1549
1550            return true;
1551        }
1552
1553        function openPrivacyBanner() {
1554            if (!privacyBanner) return;
1555            isOpen = true;
1556
1557            // Imposta attributi ARIA sul banner
1558            privacyBanner.setAttribute('role', 'dialog');
1559            privacyBanner.setAttribute('aria-modal', 'true');
1560            privacyBanner.setAttribute('aria-label', 'Informativa cookie');
1561
1562            // Trova elementi focusabili nel banner
1563            updateFocusableElements();
1564
1565            // Attiva focus trap (solo una volta)
1566            if (!keydownHandlerBound) {
1567                document.addEventListener('keydown', handleKeyDown, true);
1568                keydownHandlerBound = true;
1569            }
1570
1571            // Sposta il focus sul pulsante close per accessibilità
1572            setTimeout(function() {
1573                var closeButton = privacyBanner.querySelector('.eu-privacy-button-close');
1574                if (closeButton) {
1575                    closeButton.focus();
1576                } else if (firstFocusableEl) {
1577                    firstFocusableEl.focus();
1578                } else {
1579                    // Fallback: rendi il banner stesso focusabile
1580                    privacyBanner.setAttribute('tabindex', '-1');
1581                    privacyBanner.focus();
1582                }
1583                
1584                // Annuncia apertura agli screen reader
1585                announceToScreenReader('Preferenze cookie aperte. Usa Tab per navigare, Escape per chiudere.');
1586            }, 100);
1587        }
1588
1589        function closePrivacyBanner() {
1590            if (!privacyBanner) return;
1591            isOpen = false;
1592
1593            // Rimuovi attributi ARIA dal banner
1594            privacyBanner.removeAttribute('role');
1595            privacyBanner.removeAttribute('aria-modal');
1596            privacyBanner.removeAttribute('aria-label');
1597
1598            // Annuncia chiusura agli screen reader
1599            announceToScreenReader('Preferenze cookie chiuse.');
1600
1601            // Sposta focus all'inizio della pagina
1602            setTimeout(function() {
1603                var skipLink = document.querySelector('.skip-link');
1604                var mainContent = document.getElementById('main-content');
1605                var firstFocusable = document.querySelector('header a, header button, .skip-link');
1606
1607                if (skipLink) {
1608                    skipLink.focus();
1609                } else if (mainContent) {
1610                    mainContent.setAttribute('tabindex', '-1');
1611                    mainContent.focus();
1612                } else if (firstFocusable) {
1613                    firstFocusable.focus();
1614                }
1615            }, 100);
1616        }
1617
1618        function updateFocusableElements() {
1619            if (!privacyBanner) return;
1620            
1621            var selector =
1622                'a[href]:not([disabled]):not([tabindex="-1"]), ' +
1623                'button:not([disabled]):not([tabindex="-1"]), ' +
1624                'input:not([disabled]):not([tabindex="-1"]):not([type="hidden"]), ' +
1625                'textarea:not([disabled]):not([tabindex="-1"]), ' +
1626                'select:not([disabled]):not([tabindex="-1"]), ' +
1627                '[tabindex]:not([tabindex="-1"])';
1628
1629            var candidates = privacyBanner.querySelectorAll(selector);
1630            focusableEls = [];
1631
1632            for (var i = 0; i < candidates.length; i++) {
1633                var el = candidates[i];
1634                if (el.offsetParent !== null && !el.hidden) {
1635                    focusableEls.push(el);
1636                }
1637            }
1638
1639            firstFocusableEl = focusableEls[0];
1640            lastFocusableEl = focusableEls[focusableEls.length - 1];
1641        }
1642
1643        function handleKeyDown(e) {
1644            if (!privacyBanner || !isOpen) return;
1645
1646            // ESC per chiudere
1647            if (e.key === 'Escape') {
1648                var closeButton = privacyBanner.querySelector('.eu-privacy-button-close');
1649                if (closeButton) {
1650                    closeButton.click();
1651                }
1652                return;
1653            }
1654
1655            // TAB focus trap
1656            if (e.key === 'Tab') {
1657                updateFocusableElements();
1658
1659                if (focusableEls.length === 0) {
1660                    e.preventDefault();
1661                    return;
1662                }
1663
1664                if (e.shiftKey) {
1665                    // SHIFT + TAB (backward)
1666                    if (document.activeElement === firstFocusableEl || 
1667                        !privacyBanner.contains(document.activeElement)) {
1668                        e.preventDefault();
1669                        lastFocusableEl.focus();
1670                    }
1671                } else {
1672                    // TAB (forward)
1673                    if (document.activeElement === lastFocusableEl || 
1674                        !privacyBanner.contains(document.activeElement)) {
1675                        e.preventDefault();
1676                        firstFocusableEl.focus();
1677                    }
1678                }
1679            }
1680        }
1681
1682        // Focus guard: se il focus esce dal banner, riportalo dentro
1683        // ECCEZIONE: permetti navigazione nel menu-responsive e hamburger
1684        function handleFocusGuard(e) {
1685            if (!privacyBanner || !isOpen) return;
1686            
1687            // Permetti sempre il click/focus sull'hamburger button
1688            var hamburger = document.querySelector('.menuHamburger');
1689            if (hamburger && (hamburger.contains(e.target) || e.target === hamburger)) {
1690                return;
1691            }
1692            
1693            // Permetti navigazione nel menu-responsive quando è aperto
1694            var menuResponsive = document.querySelector('.menu-responsive');
1695            if (menuResponsive && menuResponsive.classList.contains('showMenu')) {
1696                if (menuResponsive.contains(e.target)) {
1697                    return;
1698                }
1699            }
1700            
1701            if (!privacyBanner.contains(e.target)) {
1702                e.preventDefault();
1703                e.stopPropagation();
1704                updateFocusableElements();
1705                if (firstFocusableEl) {
1706                    firstFocusableEl.focus();
1707                } else {
1708                    privacyBanner.focus();
1709                }
1710            }
1711        }
1712
1713        // Prova subito a inizializzare
1714        if (!initPrivacyBannerTrap()) {
1715            // Se il banner non esiste ancora, osserva il DOM per quando viene aggiunto
1716            var domObserver = new MutationObserver(function(mutations, observer) {
1717                if (document.getElementById('eu-privacy')) {
1718                    if (initPrivacyBannerTrap()) {
1719                        observer.disconnect(); // Smetti di osservare una volta inizializzato
1720                    }
1721                }
1722            });
1723
1724            domObserver.observe(document.body, { 
1725                childList: true, 
1726                subtree: true 
1727            });
1728        }
1729
1730        // Registra focus guard globale in capturing phase
1731        document.addEventListener('focus', handleFocusGuard, true);
1732    })();
1733
1734
1735    // Lightbox accessibile per immagini con id="img-[numero]" e cursor:pointer
1736    (function() {
1737        // STEP 1: Disabilita COMPLETAMENTE FlexJS.ui.lightbox
1738        // Sovrascrive con funzione vuota e blocca future istanziazioni
1739        function disableFlexLightbox() {
1740            var emptyLightbox = function() {
1741                return { 
1742                    open: function(){}, 
1743                    close: function(){},
1744                    destroy: function(){}
1745                };
1746            };
1747            
1748            // Se FlexJS esiste già, sovrascrivi
1749            if (typeof FlexJS !== 'undefined') {
1750                FlexJS.ui = FlexJS.ui || {};
1751                FlexJS.ui.lightbox = emptyLightbox;
1752            }
1753            
1754            // Crea/sovrascrivi su window per bloccare futuri caricamenti
1755            window.FlexJS = window.FlexJS || {};
1756            window.FlexJS.ui = window.FlexJS.ui || {};
1757            window.FlexJS.ui.lightbox = emptyLightbox;
1758            
1759            // Blocca anche eventuali definizioni con Object.defineProperty
1760            try {
1761                Object.defineProperty(window.FlexJS.ui, 'lightbox', {
1762                    value: emptyLightbox,
1763                    writable: false,
1764                    configurable: false
1765                });
1766            } catch(e) {}
1767        }
1768        
1769        disableFlexLightbox();
1770
1771        // Trova tutte le immagini con id che inizia con "img-" e cursor:pointer
1772        var lightboxImages = document.querySelectorAll('img[id^="img-"][style*="cursor"]');
1773        
1774        if (lightboxImages.length === 0) return;
1775
1776        // Array per memorizzare le immagini per slick-lightbox
1777        var imagesData = [];
1778
1779        lightboxImages.forEach(function(img, index) {
1780            // Salta se l'immagine è già avvolta in un link (non gestito da noi)
1781            if (img.parentElement && img.parentElement.tagName === 'A' && !img.parentElement.classList.contains('fx-lightbox-link')) return;
1782
1783            // Ottieni l'URL dell'immagine (full size o src)
1784            var imgSrc = img.getAttribute('data-full') || img.getAttribute('data-src') || img.src;
1785            var imgAlt = img.alt || 'Immagine ' + (index + 1);
1786            var imgTitle = img.title || imgAlt;
1787
1788            // Salva dati immagine
1789            imagesData.push({
1790                src: imgSrc,
1791                caption: imgAlt,
1792                originalImg: img
1793            });
1794
1795            // STEP 2: Rimuovi TUTTI gli event listener clonando l'elemento
1796            var newImg = img.cloneNode(true);
1797            
1798            // Rimuovi onclick inline dal clone
1799            newImg.removeAttribute('onclick');
1800            newImg.onclick = null;
1801            
1802            // Rimuovi cursor:pointer inline
1803            newImg.style.cursor = '';
1804
1805            // Aggiungi attributi per accessibilità e identificazione
1806            newImg.setAttribute('data-lightbox-index', index);
1807            newImg.setAttribute('tabindex', '0');
1808            newImg.setAttribute('role', 'button');
1809            newImg.setAttribute('aria-label', 'Ingrandisci immagine: ' + imgAlt);
1810            newImg.setAttribute('title', 'Clicca per ingrandire: ' + imgTitle);
1811            newImg.classList.add('fx-lightbox-img');
1812
1813            // Sostituisci l'originale con il clone (rimuove tutti gli event listener)
1814            img.parentNode.replaceChild(newImg, img);
1815        });
1816
1817        if (imagesData.length === 0) return;
1818
1819        // Funzione per aprire il lightbox
1820        function openLightbox(index) {
1821            if (typeof $.fn.slickLightbox !== 'function') {
1822                console.warn('slick-lightbox non disponibile');
1823                return;
1824            }
1825
1826            // Crea container temporaneo per slick-lightbox
1827            var $tempContainer = $('<div class="fx-lightbox-temp"></div>');
1828            
1829            imagesData.forEach(function(imgData) {
1830                $tempContainer.append('<a href="' + imgData.src + '" data-caption="' + imgData.caption.replace(/"/g, '&quot;') + '"><img src="' + imgData.src + '" alt="' + imgData.caption.replace(/"/g, '&quot;') + '"></a>');
1831            });
1832
1833            $('body').append($tempContainer);
1834
1835            // Salva l'elemento che aveva il focus prima di aprire
1836            var previousFocus = document.activeElement;
1837
1838            // -------------------------------------------------------
1839            // IMPORTANTE: Registra MutationObserver PRIMA di aprire
1840            // la lightbox per catturare l'aggiunta al DOM
1841            // -------------------------------------------------------
1842            var lightboxObserver = new MutationObserver(function(mutations) {
1843                mutations.forEach(function(mutation) {
1844                    mutation.addedNodes.forEach(function(node) {
1845                        if (node.nodeType === 1 && node.classList && node.classList.contains('slick-lightbox')) {
1846                            lightboxObserver.disconnect();
1847                            setupLightboxTrap(node);
1848                        }
1849                    });
1850                });
1851            });
1852
1853            lightboxObserver.observe(document.body, { childList: true });
1854
1855            // Inizializza slick-lightbox
1856            $tempContainer.slickLightbox({
1857                itemSelector: 'a',
1858                navigateByKeyboard: true,
1859                captionPosition: 'bottom',
1860                caption: function(element, info) {
1861                    return '<span class="slick-lightbox-caption">' + 
1862                           ($(element).data('caption') || 'Immagine ' + (info.index + 1) + ' di ' + info.length) + 
1863                           '</span>';
1864                },
1865                slick: {
1866                    initialSlide: index,
1867                    accessibility: true,
1868                    adaptiveHeight: true,
1869                    arrows: true,
1870                    dots: false,
1871                    infinite: true,
1872                    prevArrow: '<button type="button" class="slick-prev" aria-label="Immagine precedente"><span class="sr-only">Precedente</span></button>',
1873                    nextArrow: '<button type="button" class="slick-next" aria-label="Immagine successiva"><span class="sr-only">Successiva</span></button>'
1874                },
1875                layouts: {
1876                    closeButton: '<button type="button" class="slick-lightbox-close" aria-label="Chiudi lightbox"><span aria-hidden="true">&times;</span></button>'
1877                }
1878            });
1879
1880            // Apri il lightbox cliccando sul link corretto
1881            $tempContainer.find('a').eq(index).click();
1882
1883            function setupLightboxTrap(lightboxEl) {
1884                var $lightbox = $(lightboxEl);
1885                var totalImages = imagesData.length;
1886                var currentSlideIndex = index;
1887
1888                // -------------------------------------------------------
1889                // Live region per screen reader: creata una sola volta
1890                // -------------------------------------------------------
1891                var liveRegion = document.getElementById('fx-lightbox-live');
1892                if (!liveRegion) {
1893                    liveRegion = document.createElement('div');
1894                    liveRegion.id = 'fx-lightbox-live';
1895                    liveRegion.setAttribute('role', 'status');
1896                    liveRegion.setAttribute('aria-live', 'assertive');
1897                    liveRegion.setAttribute('aria-atomic', 'true');
1898                    liveRegion.setAttribute('aria-relevant', 'additions text');
1899                    liveRegion.style.cssText = 'position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;';
1900                    document.body.appendChild(liveRegion);
1901                }
1902
1903                function announceToScreenReader(msg) {
1904                    // Forza rilancio anche se stesso testo
1905                    liveRegion.textContent = '';
1906                    setTimeout(function() {
1907                        liveRegion.textContent = msg;
1908                    }, 50);
1909                }
1910
1911                function buildSlideAnnouncement(slideIdx) {
1912                    var caption = imagesData[slideIdx] ? imagesData[slideIdx].caption : ('Immagine ' + (slideIdx + 1));
1913                    return 'Immagine ' + (slideIdx + 1) + ' di ' + totalImages + ': ' + caption;
1914                }
1915
1916                // -------------------------------------------------------
1917                // Titolo nascosto per aria-labelledby del dialog
1918                // -------------------------------------------------------
1919                var dialogTitleId = 'fx-lightbox-title';
1920                var dialogTitle = lightboxEl.querySelector('#' + dialogTitleId);
1921                if (!dialogTitle) {
1922                    dialogTitle = document.createElement('span');
1923                    dialogTitle.id = dialogTitleId;
1924                    dialogTitle.style.cssText = 'position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;';
1925                    dialogTitle.textContent = 'Visualizzatore immagini';
1926                    lightboxEl.insertBefore(dialogTitle, lightboxEl.firstChild);
1927                }
1928
1929                // -------------------------------------------------------
1930                // Attributi ARIA sul dialog
1931                // -------------------------------------------------------
1932                $lightbox.attr({
1933                    'role': 'dialog',
1934                    'aria-modal': 'true',
1935                    'aria-labelledby': dialogTitleId
1936                });
1937                $lightbox.removeAttr('aria-label');
1938
1939                // Applica inert e tabindex=-1 a TUTTI gli elementi fuori dalla lightbox
1940                $('body > *:not(.slick-lightbox)').each(function() {
1941                    var $el = $(this);
1942                    if ($el.is('script, style, link, noscript')) return;
1943                    $el.attr('inert', '');
1944                    $el.attr('aria-hidden', 'true');
1945                    // Disabilita anche tutti gli elementi focusable dentro
1946                    $el.find('a, button, input, select, textarea, [tabindex]').each(function() {
1947                        var $focusable = $(this);
1948                        var origTabindex = $focusable.attr('tabindex');
1949                        if (origTabindex !== undefined) {
1950                            $focusable.attr('data-orig-tabindex', origTabindex);
1951                        }
1952                        $focusable.attr('tabindex', '-1');
1953                    });
1954                });
1955
1956                // -------------------------------------------------------
1957                // Annuncio apertura per screen reader
1958                // -------------------------------------------------------
1959                setTimeout(function() {
1960                    var openMsg = 'Visualizzatore immagini aperto. ' +
1961                        buildSlideAnnouncement(currentSlideIndex) + '. ' +
1962                        'Usa Tab per navigare tra i controlli, Frecce sinistra e destra per cambiare immagine, Escape per chiudere.';
1963                    announceToScreenReader(openMsg);
1964                }, 100);
1965
1966                // -------------------------------------------------------
1967                // Aggiorna live region al cambio slide (evento slick)
1968                // -------------------------------------------------------
1969                var slickInner = lightboxEl.querySelector('.slick-initialized');
1970                if (slickInner) {
1971                    $(slickInner).on('afterChange.fxLightbox', function(event, slick, slideIdx) {
1972                        currentSlideIndex = slideIdx;
1973                        announceToScreenReader(buildSlideAnnouncement(slideIdx));
1974                    });
1975                }
1976
1977                // -------------------------------------------------------
1978                // Funzione helper: raccoglie tutti i focusabili visibili
1979                // -------------------------------------------------------
1980                function getLightboxFocusables() {
1981                    var nodes = lightboxEl.querySelectorAll(
1982                        'button:not([disabled]), a[href], input:not([disabled]), ' +
1983                        'select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])'
1984                    );
1985                    var result = [];
1986                    for (var i = 0; i < nodes.length; i++) {
1987                        if (nodes[i].offsetParent !== null && !nodes[i].hidden) {
1988                            result.push(nodes[i]);
1989                        }
1990                    }
1991                    return result;
1992                }
1993
1994                // -------------------------------------------------------
1995                // FOCUS TRAP: Definisci handlers SUBITO (sincrono)
1996                // -------------------------------------------------------
1997                function lightboxFocusTrap(e) {
1998                    if (e.key !== 'Tab') return;
1999
2000                    e.preventDefault();
2001                    e.stopPropagation();
2002                    e.stopImmediatePropagation();
2003
2004                    var focusables = getLightboxFocusables();
2005
2006                    if (focusables.length === 0) {
2007                        lightboxEl.focus();
2008                        return;
2009                    }
2010
2011                    var first = focusables[0];
2012                    var last  = focusables[focusables.length - 1];
2013                    var idx   = focusables.indexOf(document.activeElement);
2014
2015                    if (e.shiftKey) {
2016                        if (idx <= 0) {
2017                            last.focus();
2018                        } else {
2019                            focusables[idx - 1].focus();
2020                        }
2021                    } else {
2022                        if (idx === -1 || idx >= focusables.length - 1) {
2023                            first.focus();
2024                        } else {
2025                            focusables[idx + 1].focus();
2026                        }
2027                    }
2028                }
2029
2030                function lightboxEscHandler(e) {
2031                    if (e.key !== 'Escape') return;
2032                    e.preventDefault();
2033                    e.stopPropagation();
2034                    e.stopImmediatePropagation();
2035                    var closeBtn = lightboxEl.querySelector('.slick-lightbox-close');
2036                    if (closeBtn) closeBtn.click();
2037                }
2038
2039                function lightboxFocusGuard(e) {
2040                    if (lightboxEl.contains(e.target)) return;
2041                    e.preventDefault();
2042                    e.stopPropagation();
2043                    var closeBtn = lightboxEl.querySelector('.slick-lightbox-close');
2044                    if (closeBtn && closeBtn.offsetParent !== null) {
2045                        closeBtn.focus();
2046                    } else {
2047                        lightboxEl.focus();
2048                    }
2049                }
2050
2051                // -------------------------------------------------------
2052                // REGISTRA handlers SINCRONO (PRIMA di spostare il focus)
2053                // -------------------------------------------------------
2054                document.addEventListener('keydown', lightboxFocusTrap, true);
2055                document.addEventListener('keydown', lightboxEscHandler, true);
2056                document.addEventListener('focus',   lightboxFocusGuard, true);
2057
2058                // -------------------------------------------------------
2059                // FOCUS IMMEDIATO: Entra subito nel lightbox
2060                // -------------------------------------------------------
2061                lightboxEl.setAttribute('tabindex', '-1');
2062                
2063                // Blocca IMMEDIATAMENTE qualsiasi focus esterno
2064                lightboxEl.focus();
2065
2066                // -------------------------------------------------------
2067                // Sposta il focus sulla X con polling robusto
2068                // Usa requestAnimationFrame + retry per assicurarsi che
2069                // il close button sia presente e visibile
2070                // -------------------------------------------------------
2071                function focusCloseButton(attempts) {
2072                    if (attempts <= 0) return;
2073                    
2074                    var closeBtn = lightboxEl.querySelector('.slick-lightbox-close');
2075                    if (closeBtn && closeBtn.offsetParent !== null) {
2076                        closeBtn.focus();
2077                        return;
2078                    }
2079                    
2080                    // Prova ancora al prossimo frame
2081                    requestAnimationFrame(function() {
2082                        focusCloseButton(attempts - 1);
2083                    });
2084                }
2085                
2086                // Inizia il polling dopo il primo paint
2087                requestAnimationFrame(function() {
2088                    requestAnimationFrame(function() {
2089                        focusCloseButton(10); // Max 10 tentativi (~160ms)
2090                    });
2091                });
2092
2093                // Cleanup - osserva rimozione lightbox
2094                var cleanupObserver = new MutationObserver(function(mutations) {
2095                    mutations.forEach(function(mutation) {
2096                        mutation.removedNodes.forEach(function(node) {
2097                            if (node === lightboxEl || (node.nodeType === 1 && node.classList && node.classList.contains('slick-lightbox'))) {
2098                                // Rimuovi handlers
2099                                document.removeEventListener('keydown', lightboxFocusTrap, true);
2100                                document.removeEventListener('keydown', lightboxEscHandler, true);
2101                                document.removeEventListener('focus', lightboxFocusGuard, true);
2102                                cleanupObserver.disconnect();
2103
2104                                // Annuncio chiusura per screen reader
2105                                if (liveRegion) {
2106                                    announceToScreenReader('Visualizzatore immagini chiuso.');
2107                                }
2108
2109                                // Controlla PRIMA se il banner cookie era già chiuso
2110                                var $privacyBanner = $('#eu-privacy');
2111                                var bannerWasClosed = $privacyBanner.length && 
2112                                    ($privacyBanner.is(':hidden') || 
2113                                     $privacyBanner.css('display') === 'none' ||
2114                                     $privacyBanner.hasClass('eu-privacy-hide') ||
2115                                     $privacyBanner.attr('aria-hidden') === 'true');
2116
2117                                // Ripristina elementi (escludi banner se era chiuso)
2118                                $('body > *[inert]').each(function() {
2119                                    var $el = $(this);
2120                                    
2121                                    // Salta il banner cookie se era già chiuso
2122                                    if ($el.attr('id') === 'eu-privacy' && bannerWasClosed) {
2123                                        return; // continua al prossimo elemento
2124                                    }
2125                                    
2126                                    $el.removeAttr('inert');
2127                                    $el.removeAttr('aria-hidden');
2128                                    $el.find('[data-orig-tabindex]').each(function() {
2129                                        var $focusable = $(this);
2130                                        $focusable.attr('tabindex', $focusable.attr('data-orig-tabindex'));
2131                                        $focusable.removeAttr('data-orig-tabindex');
2132                                    });
2133                                    $el.find('a[tabindex="-1"], button[tabindex="-1"], input[tabindex="-1"], select[tabindex="-1"], textarea[tabindex="-1"]').each(function() {
2134                                        if (!$(this).attr('data-orig-tabindex')) {
2135                                            $(this).removeAttr('tabindex');
2136                                        }
2137                                    });
2138                                });
2139
2140                                // Ripristina focus
2141                                setTimeout(function() {
2142                                    if (previousFocus && typeof previousFocus.focus === 'function') {
2143                                        previousFocus.focus();
2144                                    }
2145                                }, 50);
2146                            }
2147                        });
2148                    });
2149                });
2150
2151                cleanupObserver.observe(document.body, { childList: true });
2152            }
2153
2154            // Rimuovi container quando lightbox si chiude
2155            $(document).one('afterHide.slickLightbox', function() {
2156                $tempContainer.remove();
2157            });
2158        }
2159
2160        // STEP 3: Usa CAPTURING phase per intercettare click PRIMA di altri handler
2161        document.addEventListener('click', function(e) {
2162            var img = e.target.closest('.fx-lightbox-img');
2163            if (!img) return;
2164            
2165            e.preventDefault();
2166            e.stopPropagation();
2167            e.stopImmediatePropagation();
2168            
2169            var index = parseInt(img.getAttribute('data-lightbox-index'), 10);
2170            if (!isNaN(index)) {
2171                openLightbox(index);
2172            }
2173            
2174            return false;
2175        }, true); // true = capturing phase
2176
2177        // Supporto tastiera (Enter e Space) - anche in capturing
2178        document.addEventListener('keydown', function(e) {
2179            if (e.key !== 'Enter' && e.key !== ' ') return;
2180            
2181            var img = e.target.closest('.fx-lightbox-img');
2182            if (!img) return;
2183            
2184            e.preventDefault();
2185            e.stopPropagation();
2186            e.stopImmediatePropagation();
2187            
2188            var index = parseInt(img.getAttribute('data-lightbox-index'), 10);
2189            if (!isNaN(index)) {
2190                openLightbox(index);
2191            }
2192            
2193            return false;
2194        }, true); // true = capturing phase
2195
2196        // Aggiungi CSS per focus visibile e cursore sulle immagini lightbox
2197        var lightboxStyle = document.createElement('style');
2198        lightboxStyle.textContent = '\
2199            .fx-lightbox-img { \
2200                cursor: pointer !important; \
2201            } \
2202            .fx-lightbox-img:focus-visible { \
2203                outline: 3px solid var(--color-focus, #005fcc); \
2204                outline-offset: 3px; \
2205                border-radius: 2px; \
2206            } \
2207            .slick-lightbox-close:focus-visible { \
2208                outline: 3px solid #fff; \
2209                outline-offset: 2px; \
2210            } \
2211            .slick-lightbox .slick-prev:focus-visible, \
2212            .slick-lightbox .slick-next:focus-visible { \
2213                outline: 3px solid #fff; \
2214                outline-offset: 2px; \
2215            } \
2216            .fx-lightbox-temp { \
2217                display: none; \
2218            } \
2219        ';
2220        document.head.appendChild(lightboxStyle);
2221    })();
2222
2223    // Rimuove attributo title dai link nella navbar dell'header
2224    (function() {
2225        document.querySelectorAll('header .navbar-nav a[title]').forEach(function(link) {
2226            link.removeAttribute('title');
2227        });
2228    })();
2229
2230    // Imposta aria-current="true" sugli elementi strong nel menu laterale e nella nav
2231    $('.contMenuV .indexBlock .indexList ol li.LIStrong strong, nav ol li strong').attr('aria-current', 'true');
2232
2233    // Aggiunge alt="" alle immagini che non hanno l'attributo alt
2234    $('img:not([alt])').attr('alt', '');
2235
2236    // Accessibilità Slick Slider
2237    (function() {
2238        // Traduzioni per aria-label
2239        var translations = {
2240            'Previous': 'Vai alla slide precedente',
2241            'Next': 'Vai alla slide successiva',
2242            'Go to slide': 'Vai alla slide'
2243        };
2244
2245        function fixSlickAccessibility() {
2246            // 1. Rimuovi tabindex="0" dagli slick-slide (tutti, non solo visibili)
2247            document.querySelectorAll('.slick-slider .slick-slide[tabindex="0"]').forEach(function(slide) {
2248                slide.removeAttribute('tabindex');
2249            });
2250
2251            // 2. Rendi focusabili i li di slick-dots e i loro button
2252            document.querySelectorAll('.slick-slider .slick-dots li').forEach(function(li, index) {
2253                var button = li.querySelector('button');
2254                if (button) {
2255                    // Rimuovi title se presente
2256                    if (button.hasAttribute('title')) {
2257                        button.removeAttribute('title');
2258                    }
2259                        button.removeAttribute('tabindex');
2260                }
2261            });
2262
2263            // 3. Traduci aria-label dei pulsanti prev/next e sostituisci title con aria-label
2264            document.querySelectorAll('.slick-slider .slick-prev').forEach(function(btn) {
2265                if (btn.hasAttribute('title')) {
2266                    btn.removeAttribute('title');
2267                }
2268                btn.setAttribute('aria-label', translations['Previous']);
2269            });
2270
2271            document.querySelectorAll('.slick-slider .slick-next').forEach(function(btn) {
2272                if (btn.hasAttribute('title')) {
2273                    btn.removeAttribute('title');
2274                }
2275                btn.setAttribute('aria-label', translations['Next']);
2276            });
2277
2278            // 4. Traduci "Go to slide" in "Vai alla slide" negli span .slick-sr-only
2279            document.querySelectorAll('.slick-slider .slick-dots li .slick-sr-only').forEach(function(span) {
2280                if (span.textContent && span.textContent.indexOf('Go to slide') === 0) {
2281                    span.textContent = span.textContent.replace('Go to slide', translations['Go to slide']);
2282                }
2283            });
2284
2285            // 5. Gestione ordine tab: prima contenuti slide, poi dots alla fine
2286            document.querySelectorAll('.slick-slider').forEach(function(slider) {
2287                var $slider = $(slider);
2288                if (!$slider.hasClass('slick-initialized')) return;
2289
2290                // Nascondi dots e controlli dalla navigazione tab finché non si è navigato tutte le slide
2291                var dots = slider.querySelector('.slick-dots');
2292                var autoplayBtn = slider.querySelector('.slick-autoplay-toggle-button');
2293                
2294                if (dots) {
2295                    // I dots vengono resi tabbabili solo dopo le slide
2296                    dots.querySelectorAll('button').forEach(function(btn
2296) {
2297                        btn.setAttribute('tabindex', '0');
2298                    });
2299                }
2300                
2301                if (autoplayBtn) {
2302                    autoplayBtn.setAttribute('tabindex', '0');
2303                }
2304
2305                // Rendi non focusabili i contenuti delle slide non attive
2306                slider.querySelectorAll('.slick-slide:not(.slick-active)').forEach(function(slide) {
2307                    slide.querySelectorAll('a, button, input, select, textarea, [tabindex]').forEach(function(el) {
2308                        el.setAttribute('tabindex', '-1');
2309                    });
2310                });
2311
2312                // Rendi focusabili i contenuti della slide attiva
2313                slider.querySelectorAll('.slick-slide.slick-active').forEach(function(slide) {
2314                    slide.querySelectorAll('a, button, input, select, textarea, [tabindex="-1"]').forEach(function(el) {
2315                        // Ripristina tabindex solo per elementi che non sono controlli slick
2316                        if (!el.classList.contains('slick-prev') && !el.classList.contains('slick-next')) {
2317                            el.setAttribute('tabindex', '0');
2318                        }
2319                    });
2320                });
2321            });
2322        }
2323
2324        // Gestione navigazione tastiera: scorre automaticamente alla slide quando un elemento riceve focus
2325        $(document).on('focusin', '.slick-slider .slick-slide', function(e) {
2326            var $slide = $(this);
2327            var $slider = $slide.closest('.slick-slider');
2328            
2329            if (!$slider.hasClass('slick-initialized')) return;
2330            
2331            // Ottieni l'indice reale della slide (slick usa data-slick-index)
2332            var slideIndex = $slide.data('slick-index');
2333            
2334            // Se la slide non è attiva, scorri ad essa
2335            if (!$slide.hasClass('slick-active') && typeof slideIndex !== 'undefined') {
2336                $slider.slick('slickGoTo', slideIndex);
2337                
2338                // Dopo lo scorrimento, rimetti il focus sull'elemento che lo aveva
2339                setTimeout(function() {
2340                    if (document.activeElement && $.contains($slide[0], document.activeElement)) {
2341                        // Il focus è già corretto
2342                    } else {
2343                        // Trova il primo elemento focusabile nella slide e dagli focus
2344                        var $focusable = $slide.find('a, button, input, select, textarea, [tabindex="0"]').filter(':visible').first();
2345                        if ($focusable.length) {
2346                            $focusable.focus();
2347                        }
2348                    }
2349                }, 100);
2350            }
2351        });
2352
2353        // Esegui fix dopo inizializzazione slick
2354        // Usa MutationObserver per catturare quando slick viene inizializzato
2355        var observer = new MutationObserver(function(mutations) {
2356            mutations.forEach(function(mutation) {
2357                mutation.addedNodes.forEach(function(node) {
2358                    if (node.nodeType === 1) {
2359                        if (node.classList && (node.classList.contains('slick-slider') || node.classList.contains('slick-initialized'))) {
2360                            setTimeout(fixSlickAccessibility, 100);
2361                        }
2362                        if (node.querySelectorAll) {
2363                            var sliders = node.querySelectorAll('.slick-slider, .slick-initialized');
2364                            if (sliders.length) {
2365                                setTimeout(fixSlickAccessibility, 100);
2366                            }
2367                        }
2368                    }
2369                });
2370            });
2371        });
2372
2373        observer.observe(document.body, { childList: true, subtree: true });
2374
2375        // Esegui anche al caricamento per slider già esistenti
2376        $(document).ready(function() {
2377            setTimeout(fixSlickAccessibility, 500);
2378        });
2379
2380        // Esegui dopo ogni cambio slide per mantenere le correzioni
2381        $(document).on('afterChange', '.slick-slider', function() {
2382            fixSlickAccessibility();
2383        });
2384
2385        // Esegui anche su init di slick
2386        $(document).on('init', '.slick-slider', function() {
2387            setTimeout(fixSlickAccessibility, 100);
2388        });
2389    })();
2390
2391    // Accessibilità errori form: aggiunge role="alert" e annuncia a screen reader
2392    (function() {
2393        // Crea una live region nascosta per annunci screen reader
2394        var liveRegion = document.createElement('div');
2395        liveRegion.id = 'fx-form-error-live';
2396        liveRegion.setAttribute('role', 'status');
2397        liveRegion.setAttribute('aria-live', 'assertive');
2398        liveRegion.setAttribute('aria-atomic', 'true');
2399        liveRegion.style.cssText = 'position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;';
2400        document.body.appendChild(liveRegion);
2401
2402        function announceToScreenReader(message) {
2403            // Forza rilancio anche se stesso testo
2404            liveRegion.textContent = '';
2405            setTimeout(function() {
2406                liveRegion.textContent = message;
2407            }, 100);
2408        }
2409
2410        function addAlertRole(element) {
2411            if (!element.hasAttribute('role')) {
2412                element.setAttribute('role', 'alert');
2413            }
2414        }
2415
2416        function collectAndAnnounceErrors() {
2417            var errors = document.querySelectorAll('.formError, .formErrorList');
2418            if (errors.length === 0) return;
2419
2420            // Aggiungi role="alert" a tutti gli errori
2421            errors.forEach(addAlertRole);
2422
2423            // Raccogli il testo degli errori per l'annuncio
2424            var errorMessages = [];
2425            errors.forEach(function(el) {
2426                var text = el.textContent.trim();
2427                if (text && errorMessages.indexOf(text) === -1) {
2428                    errorMessages.push(text);
2429                }
2430            });
2431
2432            if (errorMessages.length > 0) {
2433                var announcement = 'Attenzione: ' + 
2434                    (errorMessages.length === 1 
2435                        ? 'si è verificato un errore. ' 
2436                        : 'si sono verificati ' + errorMessages.length + ' errori. ') +
2437                    errorMessages.join('. ');
2438                
2439                announceToScreenReader(announcement);
2440
2441                // Sposta il focus sul primo errore per facilitare la correzione
2442                var firstError = document.querySelector('.formError, .formErrorList');
2443                if (firstError) {
2444                    firstError.setAttribute('tabindex', '-1');
2445                    firstError.focus();
2446                }
2447            }
2448        }
2449
2450        // Esegui al caricamento pagina (per errori già presenti dopo submit)
2451        collectAndAnnounceErrors();
2452
2453        // Osserva il DOM per elementi aggiunti dinamicamente (validazione AJAX)
2454        var observer = new MutationObserver(function(mutations) {
2455            var hasNewErrors = false;
2456            
2457            mutations.forEach(function(mutation) {
2458                mutation.addedNodes.forEach(function(node) {
2459                    if (node.nodeType !== 1) return;
2460                    
2461                    // Controlla se il nodo stesso è un errore form
2462                    if (node.classList && (node.classList.contains('formError') || node.classList.contains('formErrorList'))) {
2463                        hasNewErrors = true;
2464                    }
2465                    
2466                    // Controlla i figli del nodo
2467                    if (node.querySelectorAll) {
2468                        var childErrors = node.querySelectorAll('.formError, .formErrorList');
2469                        if (childErrors.length > 0) {
2470                            hasNewErrors = true;
2471                        }
2472                    }
2473                });
2474            });
2475
2476            // Se ci sono nuovi errori, annunciali
2477            if (hasNewErrors) {
2478                // Piccolo delay per raccogliere tutti gli errori aggiunti insieme
2479                setTimeout(collectAndAnnounceErrors, 50);
2480            }
2481        });
2482
2483        observer.observe(document.body, { childList: true, subtree: true });
2484    })();
2485
2486    // Sposta value precompilato in placeholder e svuota value
2487    (function() {
2488        var inputs = document.querySelectorAll('form input[type="text"], form input[type="email"], form input[type="tel"], form input[type="url"], form input[type="number"], form textarea');
2489        
2490        inputs.forEach(function(input) {
2491            var value = input.value.trim();
2492            // Se ha un value precompilato e non ha già un placeholder
2493            if (value && !input.hasAttribute('placeholder')) {
2494                input.setAttribute('placeholder', value);
2495                input.value = '';
2496            }
2497        });
2498    })();
2499
2500    // Accessibilità Owl Carousel: aggiunge aria-label ai pulsanti di navigazione
2501    (function() {
2502        function fixOwlNavAccessibility() {
2503            // Pulsanti prev
2504            document.querySelectorAll('.owl-nav .owl-prev, .owl-nav button.owl-prev').forEach(function(btn) {
2505                if (!btn.hasAttribute('aria-label')) {
2506                    btn.setAttribute('aria-label', 'Elemento precedente');
2507                }
2508            });
2509            
2510            // Pulsanti next
2511            document.querySelectorAll('.owl-nav .owl-next, .owl-nav button.owl-next').forEach(function(btn) {
2512                if (!btn.hasAttribute('aria-label')) {
2513                    btn.setAttribute('aria-label', 'Elemento successivo');
2514                }
2515            });
2516
2517            // Pulsanti dots (se presenti)
2518            document.querySelectorAll('.owl-dots .owl-dot, .owl-dots button.owl-dot').forEach(function(btn, index) {
2519                if (!btn.hasAttribute('aria-label')) {
2520                    btn.setAttribute('aria-label', 'Vai all\'elemento ' + (index + 1));
2521                }
2522            });
2523        }
2524
2525        // Esegui al caricamento
2526        fixOwlNavAccessibility();
2527
2528        // Osserva il DOM per carousel inizializzati dinamicamente
2529        var observer = new MutationObserver(function(mutations) {
2530            var hasOwlChanges = false;
2531            
2532            mutations.forEach(function(mutation) {
2533                mutation.addedNodes.forEach(function(node) {
2534                    if (node.nodeType !== 1) return;
2535                    
2536                    if (node.classList && (node.classList.contains('owl-nav') || node.classList.contains('owl-dots') || node.classList.contains('owl-carousel'))) {
2537                        hasOwlChanges = true;
2538                    }
2539                    
2540                    if (node.querySelectorAll) {
2541                        var owlElements = node.querySelectorAll('.owl-nav, .owl-dots, .owl-carousel');
2542                        if (owlElements.length > 0) {
2543                            hasOwlChanges = true;
2544                        }
2545                    }
2546                });
2547            });
2548
2549            if (hasOwlChanges) {
2550                setTimeout(fixOwlNavAccessibility, 100);
2551            }
2552        });
2553
2554        observer.observe(document.body, { childList: true, subtree: true });
2555    })();
2556
2557	
2558});</script>
2558
2559
2560</body>
2561</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.