PageSourceSearch

https://www.commune-nointel.fr/annuaire/

html commune-nointel.fr collected 2026-10-03 02:46:13 UTC 233,629 bytes, 4,186 lines download raw bytes

1<!DOCTYPE html>
2<html lang="fr-FR">
3<head>
4    <title>Annuaire | Mairie de Nointel</title>
5    <meta charset="UTF-8" />
6      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
7
8    <meta name="viewport" content="width=device-width, initial-scale=1">
9<title>Annuaire &#8211; Mairie de Nointel</title>
10<meta name='robots' content='max-image-preview:large' />
11<link rel="manifest" href="https://www.commune-nointel.fr/koba-manifest.json">
12<meta name="google-site-verification" content="U8uRURktPbCR9kub5b9kaY7QYc06K9mNaIEndU-uaVk" />
13<meta name="description" content="Voici le site internet qui regroupe l'ensemble des informations nécessaires au bien être dans la commune de Nointel.">
14    <!-- Favicon standard -->
15    <link rel="icon" type="image/png" sizes="32x32" href="https://www.commune-nointel.fr/wp-content/uploads/sites/52/favicons/favicon-32x32.png">
16    <link rel="icon" type="image/png" sizes="16x16" href="https://www.commune-nointel.fr/wp-content/uploads/sites/52/favicons/favicon-16x16.png">
17    
18    <!-- Apple Touch Icon (iOS) -->
19    <link rel="apple-touch-icon" sizes="180x180" href="https://www.commune-nointel.fr/wp-content/uploads/sites/52/favicons/apple-touch-icon.png">
20    
21    <!-- Android Chrome -->
22    <link rel="icon" type="image/png" sizes="192x192" href="https://www.commune-nointel.fr/wp-content/uploads/sites/52/favicons/android-chrome-192x192.png">
23    <link rel="icon" type="image/png" sizes="512x512" href="https://www.commune-nointel.fr/wp-content/uploads/sites/52/favicons/android-chrome-512x512.png">
24    
25    <!-- Safari Pinned Tab (SVG ou PNG) -->
26    <link rel="mask-icon" href="https://www.commune-nointel.fr/wp-content/uploads/sites/52/favicons/favicon-32x32.png" color="#127ec2">
27    
28    <!-- Microsoft -->
29    <meta name="msapplication-TileColor" content="#127ec2">
30    <meta name="msapplication-TileImage" content="https://www.commune-nointel.fr/wp-content/uploads/sites/52/favicons/mstile-144x144.png">
31    
32    <!-- Theme color pour navigateurs mobiles -->
33    <meta name="theme-color" content="#127ec2">
34    
35    <link rel='dns-prefetch' href='//cdnjs.cloudflare.com' />
36<link rel='dns-prefetch' href='//unpkg.com' />
37<link rel='dns-prefetch' href='//cdn.jsdelivr.net' />
38<style id="koba-colors">
39:root {
40    --koba-primary: #127ec2;
41    --koba-secondary: #7fb1d8;
42    --koba-primary-rgb: 18, 126, 194;
43    --koba-secondary-rgb: 127, 177, 216;
44}
45</style><style id="wp-img-auto-sizes-contain-inline-css">
46img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
47/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
48</style>
49<link rel='stylesheet' id='acy_front_messages_css-css' href='https://www.commune-nointel.fr/wp-content/plugins/acymailing/media/css/front/messages.min.css?v=1790752554&#038;ver=11.1.0' media='all' />
50<style id="wp-emoji-styles-inline-css">
51
52	img.wp-smiley, img.emoji {
53		display: inline !important;
54		border: none !important;
55		box-shadow: none !important;
56		height: 1em !important;
57		width: 1em !important;
58		margin: 0 0.07em !important;
59		vertical-align: -0.1em !important;
60		background: none !important;
61		padding: 0 !important;
62	}
63/*# sourceURL=wp-emoji-styles-inline-css */
64</style>
65<style id="wp-block-library-inline-css">
66:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
66--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}
67
68/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */
69</style>
70<style id="wp-block-library-inline-css-extra">
71.meteo-widget { background: linear-gradient(135deg, #f4a900 0%, #e67e22 100%); color: #fff; padding: 25px; border-radius: 15px; text-align: center; max-width: 350px; margin: 20px auto; box-shadow: 0 10px 30px rgba(0,0,0,0.2); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
72    .meteo-widget.meteo-error { background: #e74c3c; }
73    .meteo-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; padding-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,0.3); }
74    .meteo-header h3 { margin: 0; font-size: 1.3em; }
75    .meteo-main { display: flex; align-items: center; justify-content: center; gap: 10px; }
76    .meteo-icon { width: 80px; height: 80px; }
77    .meteo-temp { font-size: 3em; font-weight: bold; }
78    .meteo-description { font-size: 1.1em; margin: 10px 0; text-transform: capitalize; }
79    .meteo-minmax { display: flex; justify-content: center; gap: 30px; margin: 15px 0; }
80    .meteo-min { background: #20b7d9; padding: 8px 15px; border-radius: 20px; font-weight: bold; }
81    .meteo-max { background: #c0392b; padding: 8px 15px; border-radius: 20px; font-weight: bold; }
82    .meteo-humidity { margin-top: 10px; font-size: 0.95em; opacity: 0.9; }
83.koba-opening-status{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;border-radius:4px;font-size:14px;line-height:1}.koba-opening-status.koba-status-open{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.koba-opening-status.koba-status-closed{background-color:rgba(241, 185, 185, .5);color:#721c24;}.koba-status-icon{font-size:3rem}.koba-status-open .koba-status-icon{color:#28a745}.koba-status-closed .koba-status-icon{color:#721c24}.koba-status-next{display:none;font-weight:400;font-size:13px;opacity:0.8;margin-left:5px}.koba-status-next::before{content:"•";margin-right:8px}.koba-style-alert{width:100%;border-radius:4px;padding:12px 20px}.koba-style-minimal{background:transparent !important;border:none !important;padding:0;font-size:13px}.koba-horaires-table{width:100%;border-collapse:collapse;font-size:14px}.koba-horaires-table th,.koba-horaires-table td{padding:12px 15px;text-align:left;border-bottom:1px solid #e9ecef; font-size: 14.56px; font-weight: 700;}.koba-horaires-table td:nth-child(2){font-weight: 400;}.koba-horaires-table th{background:#f8f9fa;font-weight:600;color:#495057}.koba-horaires-table tr:hover{background-color:#f8f9fa}.koba-horaires-table tr.koba-today{}.koba-horaires-table tr.koba-today:hover{}.koba-jour{font-weight:500}.koba-badge-today{display:none;background:var(--koba-primary,#209bbc);color:#fff;font-size:10px;padding:2px 6px;border-radius:3px;margin-left:8px;font-weight:600;text-transform:uppercase}.koba-info-supplementaire{background:#eafbf8;border:1px solid #0087ca;padding:12px 15px;margin-top:10px;border-radius:4px;font-size:14px;color:#0087ca}.koba-info-supplementaire i{margin-right:8px;color:#0087ca}.koba-fermetures-exceptionnelles{margin-top:20px;padding:15px;background:#eafbf8;border-radius:8px;border-left:4px solid #0087c}.koba-fermetures-exceptionnelles h4{margin:0 0 10px 0;color:#0087ca;font-size:14px}.koba-fermetures-exceptionnelles ul{margin:0;padding:0 0 0 20px}.koba-fermetures-exceptionnelles li{margin-bottom:5px;font-size:13px;color:#0087ca}.koba-social-links{display:flex;justify-content:center;align-items:center;gap:15px;flex-wrap:nowrap}.koba-social-links a{color:#fff;transition:opacity 0.2s}.koba-social-links a:hover{opacity:0.7}.koba-menu-list{list-style:none;margin:0;padding:0}.koba-menu-list li{margin-bottom:8px}.koba-menu-list a{color:inherit;text-decoration:none;transition:opacity 0.2s}.koba-menu-list a:hover{opacity:0.7}
84
85    /* ==========================================
86       VARIABLES CSS
87       ========================================== */
88    :root {
89        --koba-topbar-height: 40px;
90        --koba-navbar-height: 70px;
91        --koba-header-height: calc(var(--koba-topbar-height) + var(--koba-navbar-height));
92        --koba-logo-width: 193px;
93    }
94    
95    /* ==========================================
96       HEADER PRINCIPAL
97       ========================================== */
98    
99    .koba-header {
100        position: fixed;
101        top: 0;
102        left: 0;
103        right: 0;
104        z-index: 10000;
105        width: 100%;
106    }
107    
108    .koba-header-wrapper {
109        position: relative;
110        width: 100%;
111        z-index: 222222;
112    }
113    
114    /* Spacer pour compenser le header fixe */
115    .koba-header-spacer {
116        height: var(--koba-header-height);
117    }
118    
119    /* ==========================================
120       LOGO - COUVRE LES DEUX BARRES
121       ========================================== */
122    
123    .koba-logo {
124        position: absolute;
125        top: 0;
126        left: 0;
127        width: var(--koba-logo-width);
128        height: var(--koba-header-height);
129        background-color: #fff;
130        display: flex;
131        align-items: center;
132        justify-content: center;
133        padding: 10px 20px;
134        box-sizing: border-box;
135        z-index: 110;
136    }
137    
138    .koba-logo img {
139        max-height: 100%;
140        max-width: 100%;
141        width: auto;
142        height: auto;
143        display: block;
144        object-fit: contain;
145    }
146    .koba-icon-search{
147        width: 30px;
148        height: 30px;
149    }
150    
151    .koba-logo-text {
152        color: #333;
153        font-size: 20px;
154        font-weight: 700;
155        text-decoration: none;
156    }
157    
158    /* ==========================================
159       BARRE SUPERIEURE (ORANGE)
160       ========================================== */
161    
162    .koba-topbar {
163        background-color: #7fb1d8;
164        height: var(--koba-topbar-height);
165        width: 100%;
166    }
167    
168    .koba-topbar-inner {
169        height: 100%;
170        display: flex;
171        justify-content: space-between;
172        align-items: center;
173        padding: 0 20px 0 calc(var(--koba-logo-width) + 20px);
174    }
175    
176    .koba-topbar-menu {
177        flex: 1;
178    }
179    
180    .koba-topbar-list {
181        list-style: none;
182        margin: 0;
183        padding: 0;
184        display: flex;
185        gap: 25px;
186    }
187    
188    .koba-topbar-list li a {
189        color: #fff;
190        text-decoration: none;
191        font-size: 11.2px;
192        font-weight: 600;
193        text-transform: uppercase;
194        letter-spacing: 0.5px;
195        transition: opacity 0.2s;
196    }
197    
198    .koba-topbar-list li a:hover {
199        opacity: 0.8;
200    }
201    
202    .koba-topbar-cta {
203        display: flex;
204        align-items: center;
205        gap: 8px;
206        color: #fff;
207        text-decoration: none;
208        font-size: 12.2px;
209        font-weight: 600;
210        text-transform: uppercase;
211        letter-spacing: 0.5px;
212        transition: opacity 0.2s;
213    }
214    
215    .koba-topbar-cta:hover {
216        opacity: 0.8;
217    }
218    
219    /* Hamburger (mobile) - dans la topbar */
220    .koba-hamburger {
221        display: none;
222        flex-direction: column;
223        justify-content: center;
224        gap: 5px;
225        background: none;
226        border: none;
227        cursor: pointer;
228        padding: 10px;
229        width: 44px;
230        height: 44px;
231        margin-left: -10px;
232    }
233    
234    .koba-hamburger span {
235        display: block;
236        width: 24px;
237        height: 2px;
238        background-color: #fff;
239        transition: all 0.3s;
240    }
241    
242    .koba-hamburger.active span:nth-child(1) {
243        transform: rotate(45deg) translate(5px, 5px);
244    }
245    
246    .koba-hamburger.active span:nth-child(2) {
247        opacity: 0;
248    }
249    
250    .koba-hamburger.active span:nth-child(3) {
251        transform: rotate(-45deg) translate(5px, -5px);
252    }
253    
254    /* ==========================================
255       BARRE PRINCIPALE (BLEU)
256       ========================================== */
257    
258    .koba-navbar {
259        background-color: #127ec2;
260        height: var(--koba-navbar-height);
261        width: 100%;
262        position: relative;
263    }
264    
265    .koba-navbar-inner {
266        height: 100%;
267        display: flex;
268        align-items: stretch;
269        padding: 0 0 0 var(--koba-logo-width);
270    }
271    
272    /* Navigation principale */
273    .koba-main-nav {
274        flex: 1;
275        display: flex;
276        align-items: stretch;
277    }
278    
279    .koba-nav-list {
280        list-style: none;
281        margin: 0;
282        padding: 0;
283        display: flex;
284        align-items: stretch;
285        width: 100%;
286    }
287    
288    .koba-nav-item {
289        position: static;
290        display: flex;
291        align-items: stretch;
292        flex: 1;
293        margin: 8px;
294        border-bottom: 1px solid transparent;
295    }
296    
297    .koba-nav-item:hover {
298        border-bottom: 1px solid hsla(0,0%,100%,.72);
299    }
300    
301    .koba-nav-link {
302        display: flex;
303        align-items: center;
304        justify-content: center;
305        gap: 6px;
306        color: #fff;
307        text-decoration: none;
308        font-size: 14px;
309        font-weight: 400;
310        text-transform: uppercase;
311        letter-spacing: 0.3px;
312        padding: 0 15px;
313        width: 100%;
314        transition: background-color 0.2s;
315        cursor: pointer;
316    }
317    
318    .koba-nav-arrow {
319        color: #fb0;
320        width: 14px;
321        height: 14px;
322        transform: rotate(270deg);
323        transition: transform 0.2s;
324    }
325    
326    /* ==========================================
327       BOUTON RECHERCHE (CARRE)
328       ========================================== */
329    
330    .koba-search-toggle {
331        flex-shrink: 0;
332        width: var(--koba-navbar-height);
333        height: var(--koba-navbar-height);
334        background: #fff;
335        border: none;
336        color: #fb0;
337        cursor: pointer;
338        display: flex;
339        align-items: center;
340        justify-content: center;
341        transition: opacity 0.2s;
342    }
343    
344    .koba-search-toggle:hover {
345        opacity: 0.9;
346    }
347    
348    .koba-search-toggle.hidden {
349        display: none;
350    }
351    
352    /* ==========================================
353       MEGA MENU
354       ========================================== */
355    
356    .koba-megamenu {
357        position: absolute;
358        top: 100%;
359        left: 0;
360        right: 0;
361        width: 100%;
362        background-color: #127ec2;
363        opacity: 0;
364        visibility: hidden;
365        transform: translateY(-10px);
366        transition: all 0.3s ease;
367        z-index: 100;
368        pointer-events: none;
369    }
370    
371    .koba-nav-item.active .koba-megamenu {
372        opacity: 1;
373        visibility: visible;
374        transform: translateY(0);
375        pointer-events: auto;
376    }
377    
378    .koba-megamenu-inner {
379        width: 100%;
380        display: flex;
381        position: relative;
382    }
383    
384    .koba-megamenu-col1 {
385        flex-shrink: 0;
386        width: var(--koba-logo-width);
387        background-color: #fff;
388    }
389    
390    .koba-megamenu-col2 {
391        flex: 1;
392        padding: 30px 20px;
393        display: flex;
394        align-items: flex-start;
395        justify-content: flex-end;
396    }
397    
398    .koba-megamenu-title {
399        color: #fff;
400        font-size: 22px;
401        font-weight: 600;
402        line-height: 1.4;
403    }
404    
405    .koba-megamenu-col3 {
406        flex: 1;
407        padding: 25px 30px;
408        min-width: 0;
409        max-height: 731px;
410        overflow: overlay;
411    }
412    
413    .koba-megamenu-list {
414        list-style: none;
415        margin: 0;
416        padding: 0;
417        border-left: 1px solid #fff;
418    }
419    
420    .koba-megamenu-item {
421        position: static;
422    }
423    
424    .koba-megamenu-link {
425        display: flex;
426        align-items: center;
427        gap: 8px;
428        color: #fff;
429        text-decoration: none;
430        padding: 16px 0;
431        font-size: 14px;
432        transition: padding-left 0.2s;
433        cursor: pointer;
434        padding-left: 30px;
435    }
436    
437    .koba-megamenu-link:hover {
438        border-bottom: 1px solid #fff;
439    }
440    
441    .koba-megamenu-link svg {
442        margin-left: auto;
443        flex-shrink: 0;
444        transition: transform 0.2s;
445        color: #faaf00;
446    }
447    
448    .koba-megamenu-item.active > .koba-megamenu-link svg {
449        transform: rotate(90deg);
450    }
451    
452    .koba-megamenu-col4 {
453        flex: 1;
454        position: relative;
455    }
456    
457    .koba-megamenu-sublist {
458        position: absolute;
459        top: 0;
460        right: 0;
461        bottom: 0;
462        width: calc((100% - var(--koba-logo-width)) / 3);
463        list-style: none;
464        margin: 0;
465        padding: 25px 20px;
466        opacity: 0;
467        visibility: hidden;
468        transition: all 0.3s ease;
469        z-index: 110;
470    }
471    
472    .koba-megamenu-item.active > .koba-megamenu-sublist {
473        opacity: 1;
474        visibility: visible;
475    }
476    .koba-megamenu-item > .koba-megamenu-sublist li{
477        border-left: 1px solid #fff;
478    }
479    .koba-megamenu-item > .koba-megamenu-sublist li a{
480        padding-left: 30px;
481    }
482    
483    .koba-megamenu-sublist li a {
484        display: block;
485        color: #fff;
486        text-decoration: none;
487        padding: 8px 0;
488        font-size: 13px;
489        opacity: 0.9;
490        transition: opacity 0.2s, padding-left 0.2s;
491        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
492    }
493    
494    .koba-megamenu-sublist li a:hover {
495        border-bottom: 1px solid #fff;
496    }
497
498    
499    /* ==========================================
500       BARRE DE RECHERCHE
501       ========================================== */
502    
503    .koba-search-bar {
504        position: absolute;
505        top: 0;
506        right: 0;
507        bottom: 0;
508        width: 0;
509        background-color: #127ec2;
510        overflow: hidden;
511   
511     transition: width 0.4s ease;
512        display: flex;
513        align-items: center;
514        z-index: 105;
515    }
516    
517    .koba-search-bar.active {
518        width: calc(100% - var(--koba-logo-width));
519    }
520    
521    .koba-search-bar-inner {
522        display: flex;
523        align-items: center;
524        gap: 15px;
525        padding: 0 20px;
526        width: 100%;
527        min-width: 300px;
528    }
529    
530    .koba-search-form {
531        flex: 1;
532        display: flex;
533        align-items: center;
534        position: relative;
535    }
536    
537    .koba-search-input {
538        width: 100%;
539        background: transparent;
540        border: none;
541        border-bottom: 2px solid rgba(255, 255, 255, 0.5);
542        color: #fff;
543        font-size: 18px;
544        padding: 10px 40px 10px 0;
545        outline: none;
546        transition: border-color 0.2s;
547    }
548    
549    .koba-search-input::placeholder {
550        color: rgba(255, 255, 255, 0.7);
551    }
552    
553    .koba-search-input:focus {
554        border-color: #fff;
555    }
556    
557    .koba-search-submit {
558        position: absolute;
559        right: 0;
560        background: none;
561        border: none;
562        color: #fff;
563        cursor: pointer;
564        padding: 10px;
565        opacity: 0.7;
566        transition: opacity 0.2s;
567    }
568    
569    .koba-search-submit:hover {
570        opacity: 1;
571    }
572    
573    .koba-search-close {
574        flex-shrink: 0;
575        background: none;
576        border: none;
577        color: #7fb1d8;
578        cursor: pointer;
579        padding: 10px;
580        transition: opacity 0.2s;
581    }
582    
583    .koba-search-close:hover {
584        opacity: 0.8;
585    }
586    
587    /* ==========================================
588       MENU MOBILE
589       ========================================== */
590    
591    .koba-mobile-menu {
592        display: none;
593        position: fixed;
594        top: 0;
595        left: 0;
596        width: 100%;
597        height: 100vh;
598        background-color: #127ec2;
599        z-index: 999;
600        overflow-y: auto;
601        transform: translateX(-100%);
602        transition: transform 0.3s ease;
603    }
604    
605    .koba-mobile-menu.active {
606        transform: translateX(0);
607    }
608    
609    .koba-mobile-menu-inner {
610        padding: 20px;
611        padding-top: 120px;
612    }
613    
614    .koba-mobile-list {
615        list-style: none;
616        margin: 0;
617        padding: 0;
618    }
619    
620    .koba-mobile-item {
621        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
622    }
623    
624    .koba-mobile-item-inner {
625        display: flex;
626        align-items: center;
627    }
628    
629    .koba-mobile-link {
630        flex: 1;
631        display: block;
632        color: #fff;
633        text-decoration: none;
634        padding: 18px 0;
635        font-size: 16px;
636        font-weight: 500;
637    }
638    
639    .koba-mobile-toggle {
640        background: none;
641        border: none;
642        color: #fff;
643        cursor: pointer;
644        padding: 18px 15px;
645        transition: transform 0.2s;
646    }
647    
648    .koba-mobile-toggle.active {
649        transform: rotate(180deg);
650    }
651    
652    .koba-mobile-submenu {
653        list-style: none;
654        margin: 0;
655        padding: 0 0 0 20px;
656        display: none;
657        background-color: rgba(0, 0, 0, 0.1);
658    }
659    
660    .koba-mobile-submenu.active {
661        display: block;
662    }
663    
664    .koba-mobile-submenu .koba-mobile-link {
665        font-size: 15px;
666        font-weight: 400;
667        padding: 14px 0;
668    }
669    
670    .koba-mobile-secondary {
671        margin-top: 30px;
672        padding-top: 30px;
673        border-top: 1px solid rgba(255, 255, 255, 0.2);
674    }
675    
676    .koba-mobile-secondary-list {
677        list-style: none;
678        margin: 0;
679        padding: 0;
680    }
681    
682    .koba-mobile-secondary-list li a {
683        display: block;
684        color: #fff;
685        text-decoration: none;
686        padding: 12px 0;
687        font-size: 14px;
688        opacity: 0.8;
689    }
690    
691    /* Overlay */
692    .koba-overlay {
693        position: fixed;
694        top: 0;
695        left: 0;
696        width: 100%;
697        height: 100%;
698        background-color: rgba(0, 0, 0, 0.5);
699        z-index: 998;
700        opacity: 0;
701        visibility: hidden;
702        transition: all 0.3s;
703    }
704    
705    .koba-overlay.active {
706        opacity: 1;
707        visibility: visible;
708    }
709    
710    /* ==========================================
711       RESPONSIVE
712       ========================================== */
713    
714    @media (max-width: 1400px) {
715        :root {
716            --koba-logo-width: 140px;
717        }
718        
719        .koba-nav-link {
720            font-size: 12px;
721            padding: 0 5px;
722        }
723        
724        .koba-megamenu-col2,
725        .koba-megamenu-col3 {
726            padding: 20px 15px;
727        }
728    }
729    
730    @media (max-width: 1200px) {
731        :root {
732            --koba-logo-width: 120px;
733        }
734        
735        .koba-nav-link {
736            font-size: 11px;
737            padding: 0 8px;
738        }
739        
740        .koba-megamenu-title {
741            font-size: 16px;
742        }
743        
744        .koba-megamenu-link {
745            font-size: 13px;
746            padding: 8px 8px;
747        }
748    }
749    
750    @media (max-width: 992px) {
751        :root {
752            --koba-topbar-height: 50px;
753            --koba-navbar-height: 0px;
754            --koba-logo-width: 100px;
755        }
756        
757        .koba-topbar-inner {
758            padding: 0 15px;
759            justify-content: flex-start;
760        }
761        
762        .koba-topbar-menu {
763            display: none;
764        }
765        
766        .koba-topbar-cta {
767            display: none;
768        }
769        
770        .koba-hamburger {
771            display: flex;
772        }
773        
774        .koba-logo {
775            position: relative;
776            width: auto;
777            max-width: 120px;
778            height: var(--koba-topbar-height);
779            margin: 0 auto;
780        }
781        
782        .koba-navbar {
783            display: none;
784        }
785        
786        .koba-mobile-menu {
787            display: block;
788        }
789        
790        .koba-megamenu {
791            display: none;
792        }
793    }
794    
795    @media (max-width: 576px) {
796        :root {
797            --koba-topbar-height: 50px;
798            --koba-logo-width: 80px;
799        }
800        
801        .koba-logo img {
802            max-height: 35px;
803        }
804        
805        .koba-search-input {
806            font-size: 16px;
807        }
808    }
809    
810
811    /* ==========================================
812       FOOTER
813       ========================================== */
814    
815    .koba-footer {
816        background-color: #1a1a2e;
817        color: #fff;
818        margin-top: 60px;
819    }
820    
821    .koba-footer-main {
822        padding: 60px 0 40px;
823    }
824    
825    .koba-footer-container {
826        max-width: 1400px;
827        margin: 0 auto;
828        padding: 0 30px;
829        display: grid;
830        grid-template-columns: repeat(4, 1fr);
831        gap: 40px;
832    }
833    
834    /* Colonnes */
835    .koba-footer-col {
836        min-width: 0;
837    }
838    
839    .koba-footer-title {
840        color: #fff;
841        font-size: 18px;
842        font-weight: 600;
843        margin: 0 0 20px 0;
844        padding-bottom: 12px;
845        border-bottom: 2px solid #7fb1d8;
846        display: inline-block;
847    }
848    
849    /* Colonne About */
850    .koba-footer-logo {
851        display: inline-block;
852        margin-bottom: 20px;
853    }
854    
855    .koba-footer-logo img {
856        max-height: 70px;
857        width: auto;
858    }
859    
860    .koba-footer-logo-text {
861        display: inline-block;
862        color: #fff;
863        font-size: 24px;
864        font-weight: 700;
865        text-decoration: none;
866        margin-bottom: 20px;
867    }
868    
869    .koba-footer-description {
870        color: #b0b0b0;
871        font-size: 14px;
872        line-height: 1.7;
873        margin: 0 0 20px 0;
874    }
875    
876    /* Réseaux sociaux */
877    .koba-footer-social {
878        display: flex;
879        gap: 12px;
880        flex-wrap: wrap;
881    }
882    
883    .koba-footer-social a {
884        display: flex;
885        align-items: center;
886        justify-content: center;
887        width: 40px;
888        height: 40px;
889        background-color: rgba(255, 255, 255, 0.1);
890        border-radius: 50%;
891        color: #fff;
892        transition: all 0.3s ease;
893    }
894    
895    .koba-footer-social a:hover {
896        background-color: #7fb1d8;
897        transform: translateY(-3px);
898    }
899    
900    /* Liste de contact */
901    .koba-footer-info-list {
902        list-style: none;
903        margin: 0;
904        padding: 0;
905    }
906    
907    .koba-footer-info-item {
908        display: flex;
909        align-items: flex-start;
910        gap: 12px;
911        margin-bottom: 18px;
912        color: #b0b0b0;
913        font-size: 14px;
914        line-height: 1.6;
915    }
916    
917    .koba-footer-info-item svg {
918        flex-shrink: 0;
919        margin-top: 2px;
920        color: #7fb1d8;
921    }
922    
923    .koba-footer-info-item a {
924        color: #b0b0b0;
925        text-decoration: none;
926        transition: color 0.2s;
927    }
928    
929    .koba-footer-info-item a:hover {
930        color: #7fb1d8;
931    }
932    
933    /* Statut dans le footer */
934    .koba-footer-status {
935        margin-top: 20px;
936    }
937    
938    .koba-footer-status .koba-opening-status {
939        background: transparent;
940        padding: 0;
941        border: none;
942        font-size: 13px;
943    }
944    
945    .koba-footer-status .koba-status-open {
946        color: #28a745;
947    }
948    
949    .koba-footer-status .koba-status-closed {
950        color: #dc3545;
951    }
952    
953    /* Menu footer */
954    .koba-footer-menu {
955        list-style: none;
956        margin: 0;
957        padding: 0;
958    }
959    
960    .koba-footer-menu li {
961        margin-bottom: 12px;
962    }
963    
964    .koba-footer-menu a {
965        color: #b0b0b0;
966        text-decoration: none;
967        font-size: 14px;
968        transition: all 0.2s;
969        display: inline-block;
970    }
971    
972    .koba-footer-menu a:hover {
973        color: #7fb1d8;
974        padding-left: 5px;
975    }
976    
977    /* Horaires dans footer */
978    .koba-footer-hours .koba-horaires-table {
979        font-size: 13px;
980        background: transparent;
981    }
982    
983    .koba-footer-hours .koba-horaires-table th,
984    .koba-footer-hours .koba-horaires-table td {
985        padding: 8px 10px;
986        border-color: rgba(255, 255, 255, 0.1);
987        color: #b0b0b0;
988    }
989    
990    .koba-footer-hours .koba-horaires-table th {
991        background: rgba(255, 255, 255, 0.05);
992        color: #fff;
993    }
994    
995    .koba-footer-hours .koba-horaires-table tr:hover {
996        background-color: rgba(255, 255, 255, 0.03);
997    }
998    
999    .koba-footer-hours .koba-horaires-table tr.koba-today {
1000        background-color: rgba(18, 126, 194, 0.2);
1001    }
1002    
1003    .koba-footer-hours .koba-horaires-table .koba-badge-today {
1004        background: #7fb1d8;
1005        font-size: 9px;
1006    }
1007    
1008    /* Barre de copyright */
1009    .koba-footer-bottom {
1010        background-color: rgba(0, 0, 0, 0.3);
1011        padding: 20px 0;
1012    }
1013    
1014    .koba-footer-bottom .koba-footer-container {
1015        display: flex;
1016        justify-content: space-between;
1017        align-items: center;
1018        gap: 20px;
1019    }
1020    
1021    .koba-footer-copyright {
1022        margin: 0;
1023        color: #808080;
1024        font-size: 13px;
1025    }
1026    
1027    .koba-footer-legal {
1028        display: flex;
1029        gap: 25px;
1030    }
1031    
1032    .koba-footer-legal a {
1033        color: #808080;
1034        text-decoration: none;
1035        font-size: 13px;
1036        transition: color 0.2s;
1037    }
1038    
1039    .koba-footer-legal a:hover {
1040        color: #7fb1d8;
1041    }
1042    
1043    /* Responsive */
1044    @media (max-width: 1200px) {
1045        .koba-footer-container {
1046            grid-template-columns: repeat(2, 1fr);
1047        }
1048    }
1049    
1050    @media (max-width: 768px) {
1051        .koba-footer-main {
1052            padding: 40px 0 30px;
1053        }
1054        
1055        .koba-footer-container {
1056            grid-template-columns: 1fr;
1057            gap: 30px;
1058            padding: 0 20px;
1059        }
1060        
1061        .koba-footer-col {
1062            text-align: center;
1063        }
1064        
1065        .koba-footer-title {
1066            display: block;
1067        }
1068        
1069        .koba-footer-social {
1070            justify-content: center;
1071        }
1072        
1073        .koba-footer-info-list {
1074            display: inline-block;
1075            text-align: left;
1076        }
1077        
1078        .koba-footer-menu {
1079            display: inline-block;
1080            text-align: left;
1081        }
1082        
1083        .koba-footer-hours .koba-horaires-table {
1084            display: inline-block;
1085        }
1086        
1087        .koba-footer-bottom .koba-footer-container {
1088            flex-direction: column;
1089            text-align: center;
1090        }
1091        
1092        .koba-footer-legal {
1093            flex-wrap: wrap;
1094            justify-content: center;
1095        }
1096    }
1097    
1098/*# sourceURL=wp-block-library-inline-css */
1099</style>
1100
1101<style id="classic-theme-styles-inline-css">
1102/*! This file is auto-generated */
1103.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;
1103padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
1104/*# sourceURL=/wp-includes/css/classic-themes.min.css */
1105</style>
1106
1107<style id="global-styles-inline-css">
1108:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
1108--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
1108.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
1109/*# sourceURL=global-styles-inline-css */
1110</style>
1111
1112<link rel='stylesheet' id='front-css-css' href='https://www.commune-nointel.fr/wp-content/plugins/WP_hob_publicite//asset/css/front.css?ver=7.1.2' media='all' />
1113<link rel='stylesheet' id='hcb-frontend-css' href='https://www.commune-nointel.fr/wp-content/plugins/hob-cityhall-booking/assets/css/frontend.css?ver=1.2.0' media='all' />
1114<style id="hcb-frontend-inline-css">
1115
1116            :root { --hcb-primary: #2271b1; }
1117            .hcb-btn-primary, .hcb-booking-form button[type=submit] { background-color: #2271b1; border-color: #2271b1; }
1118            .hcb-btn-primary:hover { background-color: #2271b1cc; }
1119        
1120/*# sourceURL=hcb-frontend-inline-css */
1121</style>
1122<link rel='stylesheet' id='fullcalendar-css' href='https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.10.2/fullcalendar.min.css?ver=7.1.2' media='all' />
1123<link rel='stylesheet' id='hob-fc-public-forms-css' href='https://www.commune-nointel.fr/wp-content/plugins/hob-formchat-pro/assets/css/public-forms.css?ver=1.29' media='all' />
1124<link rel='stylesheet' id='leaflet-css' href='https://unpkg.com/[email protected]/dist/leaflet.css?ver=1.9.4' media='all' />
1125<link rel='stylesheet' id='bootstrap-css-css' href='https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css?ver=5.3.2' media='all' />
1126<link rel='stylesheet' id='theme-style-css' href='https://www.commune-nointel.fr/wp-content/themes/hob-koba-civique/style.css?ver=7.1.2' media='all' />
1127<link rel='stylesheet' id='hobrgpd-front-css' href='https://www.commune-nointel.fr/wp-content/plugins/hob-rgpd/assets/css/front.css?ver=1781167963' media='all' />
1128<script id="acy_front_messages_js-js-before">
1129var ACYM_AJAX_START = "https://www.commune-nointel.fr/wp-admin/admin-ajax.php";
1130            var ACYM_AJAX_PARAMS = "?action=acymailing_router&noheader=1&nocache=1790995572";
1131            var ACYM_AJAX = ACYM_AJAX_START + ACYM_AJAX_PARAMS;
1132//# sourceURL=acy_front_messages_js-js-before
1133</script>
vendor: 1 bytes, line 1133
1133
1134<script id="acy_front_messages_js-js" src="https://www.commune-nointel.fr/wp-content/plugins/acymailing/media/js/front/messages.min.js?v=1790752554&#038;ver=11.1.0"></script>
vendor: 1 bytes, line 1134
1134
1135<script id="jquery-core-js" src="https://www.commune-nointel.fr/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 1135
1135
1136<script id="jquery-migrate-js" src="https://www.commune-nointel.fr/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
1136
1137<link rel="https://api.w.org/" href="https://www.commune-nointel.fr/wp-json/" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.commune-nointel.fr/xmlrpc.php?rsd" />
1138<!-- Analytics by WP Statistics - https://wp-statistics.com -->
1139    <style>
1140    /* Overlay résultats */
1141    .koba-search-overlay {
1142        position: fixed;
1143        top: 0;
1144        left: 0;
1145        right: 0;
1146        bottom: 0;
1147        background: var(--koba-primary, #2271b1);
1148        z-index: 9998;
1149        overflow-y: auto;
1150        padding-top: 120px;
1151        display: none;
1152    }
1153    
1154    .koba-search-overlay.active {
1155        display: block;
1156    }
1157    
1158    .koba-search-overlay-inner {
1159        max-width: 1140px;
1160        margin: 0 auto;
1161        padding: 10px;
1162    }
1163    
1164    /* Catégorie */
1165    .koba-search-category {
1166        margin-bottom: 40px;
1167    }
1168    
1169    .koba-search-category-title {
1170        color: var(--koba-secondary, #faaf00);
1171        font-size: 1.8rem;
1172        font-weight: 600;
1173        margin: 0 0 15px 0;
1174        padding-bottom: 10px;
1175        border-bottom: 1px solid rgba(255,255,255,0.2);
1176    }
1177    
1178    /* Liste */
1179    .koba-search-list {
1180        list-style: none;
1181        margin: 0;
1182        padding: 0;
1183    }
1184    
1185    .koba-search-item {
1186        border-bottom: 1px solid rgba(255,255,255,0.1);
1187    }
1188    
1189    .koba-search-link {
1190        display: block;
1191        padding: 14px 0;
1192        color: #fff;
1193        text-decoration: none;
1194        font-size: 1.05rem;
1195        transition: padding-left 0.2s, color 0.2s;
1196    }
1197    
1198    .koba-search-link:hover {
1199        padding-left: 15px;
1200        color: var(--koba-secondary, #faaf00);
1201    }
1202    
1203    .koba-search-link mark {
1204        background: var(--koba-secondary, #faaf00);
1205        color: #1a1a2e;
1206        padding: 2px 4px;
1207        border-radius: 3px;
1208    }
1209    
1210    .koba-search-date {
1211        color: rgba(255,255,255,0.5);
1212        font-size: 0.9rem;
1213        margin-left: 10px;
1214    }
1215    
1216    /* Loading */
1217    .koba-search-loading {
1218        text-align: center;
1219        padding: 60px;
1220        color: rgba(255,255,255,0.7);
1221    }
1222    
1223    .koba-search-spinner {
1224        width: 40px;
1225        height: 40px;
1226        border: 3px solid rgba(255,255,255,0.2);
1227        border-top-color: #fff;
1228        border-radius: 50%;
1229        animation: koba-spin 0.8s linear infinite;
1230        margin: 0 auto 15px;
1231    }
1232    
1233    @keyframes koba-spin {
1234        to { transform: rotate(360deg); }
1235    }
1236    
1237    /* No results */
1238    .koba-search-no-results {
1239        text-align: center;
1240        padding: 60px;
1241        color: rgba(255,255,255,0.6);
1242    }
1243    
1244    .koba-search-no-results svg {
1245        width: 60px;
1246        height: 60px;
1247        margin-bottom: 20px;
1248        opacity: 0.4;
1249    }
1250    
1251    @media (max-width: 768px) {
1252        .koba-search-overlay {
1253            padding-top: 100px;
1254        }
1255        .koba-search-overlay-inner {
1256            padding: 20px;
1257        }
1258        .koba-search-category-title {
1259            font-size: 1.4rem;
1260        }
1261    }
1262    </style>
1263        <style>
1264    /* Menu adaptatif */
1265    .koba-nav-list {
1266        display: flex;
1267        flex-wrap: wrap;
1268        align-items: center;
1269    }
1270    
1271    /* Mode compact (9-10 éléments) */
1272    .koba-nav-list.koba-nav-compact .koba-nav-link {
1273        font-size: 12px;
1274        padding-left: 12px;
1275        padding-right: 12px;
1276    }
1277    
1278    /* Mode très compact (11+ éléments) */
1279    .koba-nav-list.koba-nav-very-compact .koba-nav-link {
1280        font-size: 10px;
1281        padding-left: 4px;
1282        padding-right: 4px;
1283    }
1284    @media (max-width: 1599px) {
1285        .koba-nav-list.koba-nav-compact .koba-nav-link {
1286            font-size: 12px;
1287            padding-left: 8px;
1288            padding-right: 8px;
1289        }
1290        .koba-nav-list.koba-nav-very-compact .koba-nav-link {
1291        font-size: 9px;
1292        padding-left: 0px;
1293        padding-right: 0px;
1294        }
1295    }
1296    @media (max-width: 1299px) {
1297        .koba-nav-list.koba-nav-compact .koba-nav-link {
1298            font-size: 10px;
1299            padding-left: 8px;
1300            padding-right: 8px;
1301        }
1302        .koba-nav-list.koba-nav-very-compact .koba-nav-link {
1303            font-size: 8px;
1304            padding-left: 4px;
1305            padding-right: 4px;
1306        }
1307    }
1308    @media (max-width: 1199px) {
1309        .koba-nav-list.koba-nav-compact .koba-nav-link {
1310            font-size: 9px;
1311            padding-left: 3px;
1312            padding-right: 3px;
1313        }
1314        .koba-nav-list.koba-nav-very-compact .koba-nav-link {
1315            font-size: 8px;
1316            padding-left: 2px;
1317            padding-right: 2px;
1318        }
1319    }
1320    </style>
1321    <meta name="generator" content="Koba Civique By Hob" />
1322<style id="koba-category-colors">
1323.color-vie-citoyenne { background-color: #d635b6 !important; }
1324.agenda-color-communaute-de-communes { background-color: #1046ce !important; }
1325.agenda-color-communaut-de-communes { background-color: #1046ce !important; }
1326</style>
1327<style id='koba-options-css'>
1328.koba-newsletter, .koba-option-newsletter, [data-koba-option="newsletter"] { display: none !important; }
1329.koba-rss, .koba-option-rss, [data-koba-option="rss"] { display: none !important; }
1330.koba-video_slider, .koba-option-video_slider, [data-koba-option="video_slider"] { display: none !important; }
1331.koba-payfip, .koba-option-payfip, [data-koba-option="payfip"] { display: none !important; }
1332.koba-fichiers, .koba-option-fichiers, [data-koba-option="fichiers"] { display: none !important; }
1333.koba-municipal, .koba-option-municipal, [data-koba-option="municipal"] { display: none !important; }
1334.koba-app_citoyen, .koba-option-app_citoyen, [data-koba-option="app_citoyen"] { display: none !important; }
1335.koba-alertes, .koba-option-alertes, [data-koba-option="alertes"] { display: none !important; }
1336.koba-franceconnect, .koba-option-franceconnect, [data-koba-option="franceconnect"] { display: none !important; }
1337.koba-voisinvigilant, .koba-option-voisinvigilant, [data-koba-option="voisinvigilant"] { display: none !important; }
1338.koba-actes, .koba-option-actes, [data-koba-option="actes"] { display: none !important; }
1339.koba-affichage_dynamique, .koba-option-affichage_dynamique, [data-koba-option="affichage_dynamique"] { display: none !important; }
1340.koba-rgpd_avance, .koba-option-rgpd_avance, [data-koba-option="rgpd_avance"] { display: none !important; }
1341.koba-multi_langues, .koba-option-multi_langues, [data-koba-option="multi_langues"] { display: none !important; }
1342.koba-carte_dynamique, .koba-option-carte_dynamique, [data-koba-option="carte_dynamique"] { display: none !important; }
1343.koba-reservation_salles, .koba-option-reservation_salles, [data-koba-option="reservation_salles"] { display: none !important; }
1344.koba-locaux_pro, .koba-option-locaux_pro, [data-koba-option="locaux_pro"] { display: none !important; }
1345.koba-statistiques, .koba-option-statistiques, [data-koba-option="statistiques"] { display: none !important; }
1346.koba-courrier, .koba-option-courrier, [data-koba-option="courrier"] { display: none !important; }
1347.koba-panneaupocket_iframe, .koba-option-panneaupocket_iframe, [data-koba-option="panneaupocket_iframe"] { display: none !important; }
1348.koba-panneaupocket_api, .koba-option-panneaupocket_api, [data-koba-option="panneaupocket_api"] { display: none !important; }
1349.koba-espace_collaboratif, .koba-option-espace_collaboratif, [data-koba-option="espace_collaboratif"] { display: none !important; }
1350.koba-actu_association, .koba-option-actu_association, [data-koba-option="actu_association"] { display: none !important; }
1351.koba-billetterie, .koba-option-billetterie, [data-koba-option="billetterie"] { display: none !important; }
1352.koba-accessibilite, .koba-option-accessibilite, [data-koba-option="accessibilite"] { display: none !important; }
1353.koba-espace_citoyen, .koba-option-espace_citoyen, [data-koba-option="espace_citoyen"] { display: none !important; }
1354.koba-visio_conference, .koba-option-visio_conference, [data-koba-option="visio_conference"] { display: none !important; }
1355.koba-apidae, .koba-option-apidae, [data-koba-option="apidae"] { display: none !important; }
1356.koba-prise_rdv, .koba-option-prise_rdv, [data-koba-option="prise_rdv"] { display: none !important; }
1357.koba-marche_public, .koba-option-marche_public, [data-koba-option="marche_public"] { display: none !important; }
1358.koba-portail_famille, .koba-option-portail_famille, [data-koba-option="portail_famille"] { display: none !important; }
1359.koba-webcam, .koba-option-webcam, [data-koba-option="webcam"] { display: none !important; }
1360.koba-reseaux_sociaux, .koba-option-reseaux_sociaux, [data-koba-option="reseaux_sociaux"] { display: none !important; }
1361.koba-archives_opendata, .koba-option-archives_opendata, [data-koba-option="archives_opendata"] { display: none !important; }
1362.koba-encombrants_dechets, .koba-option-encombrants_dechets, [data-koba-option="encombrants_dechets"] { display: none !important; }
1363.koba-zapette, .koba-option-zapette, [data-koba-option="zapette"] { display: none !important; }
1364.koba-flipbook, .koba-option-flipbook, [data-koba-option="flipbook"] { display: none !important; }
1365.koba-extranet_commissions, .koba-option-extranet_commissions, [data-koba-option="extranet_commissions"] { display: none !important; }
1366.koba-sms_alerte, .koba-option-sms_alerte, [data-koba-option="sms_alerte"] { display: none !important; }
1367.koba-recherche_avancee, .koba-option-recherche_avancee, [data-koba-option="recherche_avancee"] { display: none !important; }
1368</style>
1369</head>
1370
1371<body class="archive post-type-archive post-type-archive-annuaire wp-theme-hob-koba-civique site-id-52 koba-has-campaign koba-has-chat koba-has-survey">
1372    <style>
1373        #koba-upsell-banner {
1374            display: none; /* révélé par JS uniquement en mode PWA standalone */
1375            align-items: flex-start;
1376            gap: 10px;
1377            background: #127ec2;
1378            color: #fff;
1379            padding: calc(10px + env(safe-area-inset-top)) 14px 10px;
1380            font-family: inherit;
1381            font-size: .82rem;
1382            line-height: 1.4;
1383        }
1384        #koba-upsell-banner.koba-upsell-visible { display: flex;     
1385            z-index: 2147483647;
1386            position: relative; }
1387        #koba-upsell-banner .kub-text { flex: 1; min-width: 0; }
1388        #koba-upsell-banner .kub-close {
1389            background: rgba(255,255,255,.18);
1390            border: none;
1391            color: #fff;
1392            font-size: .95rem;
1393            line-height: 1;
1394            cursor: pointer;
1395            padding: 6px 9px;
1396            border-radius: 6px;
1397            flex-shrink: 0;
1398        }
1399        #koba-upsell-banner .kub-close:hover { background: rgba(255,255,255,.3); }
1400    </style>
1401
1402    <div id="koba-upsell-banner" role="alert">
1403        <span class="kub-text">Dommage! Votre Mairie n'a pas encore souscrit à l'Application Citoyenne afin de vous proposer une interface optimisée pour mobile, nous les contactons!</span>
1404        <button class="kub-close" id="koba-upsell-close" aria-label="Fermer">&#10005;</button>
1405    </div>
1406
1407    
1407<script>
1408    (function() {
1409        var isPwa = window.matchMedia('(display-mode: standalone)').matches
1410                 || window.navigator.standalone === true;
1411        if (!isPwa) return; // ← retirer cette ligne pour afficher aussi dans le navigateur
1412
1413        var KEY = 'koba_upsell_closed';
1414        if (localStorage.getItem(KEY) === '1') return;
1415
1416        function show() {
1417            var b = document.getElementById('koba-upsell-banner');
1418            if (!b) return;
1419            b.classList.add('koba-upsell-visible');
1420
1421            // Comptage : 1 vue par session (ouverture de l'app)
1422            if (!sessionStorage.getItem('koba_upsell_counted')) {
1423                sessionStorage.setItem('koba_upsell_counted', '1');
1424                var fd = new FormData();
1425                fd.append('action', 'koba_upsell_view');
1426                fetch('https://www.commune-nointel.fr/wp-admin/admin-ajax.php', {
1427                    method: 'POST', body: fd, credentials: 'include'
1428                }).catch(function(){});
1429            }
1430
1431            var c = document.getElementById('koba-upsell-close');
1432            if (c) c.addEventListener('click', function() {
1433                b.classList.remove('koba-upsell-visible');
1434                localStorage.setItem(KEY, '1');
1435            });
1436        }
1437        if (document.readyState !== 'loading') show();
1438        else document.addEventListener('DOMContentLoaded', show);
1439    })();
1440    </script>
1440
1441    
1442<a class="skip-link visually-hidden-focusable" href="#main-content">Aller au contenu principal</a>
1443
1444<header class="koba-header" role="banner">
1445    <!-- Container principal avec position relative -->
1446    <div class="koba-header-wrapper">
1447        
1448        <!-- Logo - couvre les deux barres -->
1449        <a href="https://www.commune-nointel.fr/" class="koba-logo">
1450                            <img src="https://www.commune-nointel.fr/wp-content/uploads/sites/52/2026/08/LOGO-1.jpg" alt="MAIRIE DE NOINTEL - Accueil">
1451                    </a>
1452        
1453        <!-- Barre supérieure (orange) -->
1454        <div class="koba-topbar">
1455            <div class="koba-topbar-inner">
1456                <!-- Hamburger (mobile uniquement) -->
1457                <button class="koba-hamburger" id="koba-hamburger" aria-label="Menu">
1458                    <span></span>
1459                    <span></span>
1460                    <span></span>
1461                </button>
1462                
1463                <!-- Menu secondaire gauche (desktop) -->               
1464                <nav class="koba-topbar-menu">
1465                    <ul class="koba-topbar-list">
1466                        <li class="menu-item menu-item-type-post_type menu-item-object-page">
1467                            <a href="https://www.commune-nointel.fr/">ACCUEIL</a>
1468                        </li>
1469                        <li class="menu-item menu-item-type-post_type menu-item-object-page">
1470                            <a href="https://www.commune-nointel.fr/annuaire/">ANNUAIRE</a>
1471                        </li>
1472                        <li class="menu-item menu-item-type-post_type menu-item-object-page">
1473                            <a href="https://www.commune-nointel.fr/contact/">NOUS CONTACTER</a>
1474                        </li>
1475                        <li class="menu-item menu-item-type-post_type menu-item-object-page">
1476                            <a href="https://www.commune-nointel.fr/emploi/">EMPLOI</a>
1477                        </li>
1478                                                <li class="menu-item menu-item-type-post_type menu-item-object-page">
1479                            <a href="https://www.commune-nointel.fr/sondages/">SONDAGES</a>
1480                        </li>
1481                                            </ul>   
1482                </nav>
1483                
1484                <!-- Lien droite (desktop) -->
1485                               
1486               
1487            </div>
1488        </div>
1489        
1490        <!-- Barre principale (bleu) -->
1491        <div class="koba-navbar">
1492            <div class="koba-navbar-inner">
1493                
1494                <!-- Menu principal (desktop) -->
1495                <nav class="koba-main-nav" id="koba-main-nav">
1496                                        
1497                    <ul class="koba-nav-list">
1498                                                <li class="koba-nav-item has-megamenu">
1499                            <a href="#" class="koba-nav-link" data-megamenu="1238">
1500                                NOINTEL                                                                <svg class="koba-nav-arrow" width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false">
1501                                    <path d="M6 9l6 6 6-6"/>
1502                                </svg>
1503                                                            </a>
1504                            
1505                                                        <div class="koba-megamenu" id="megamenu-1238">
1506                                <div class="koba-megamenu-inner">
1507                                    <div class="koba-megamenu-col1"></div>
1508                                    
1509                                    <div class="koba-megamenu-col2">
1510                                        <span class="koba-megamenu-title">NOINTEL</span>
1511                                    </div>
1512                                    
1513                                    <div class="koba-megamenu-col3">
1514                                        <ul class="koba-megamenu-list">
1515                                                                                        <li class="koba-megamenu-item ">
1516                                                <a href="https://www.commune-nointel.fr/articles/situation-chiffres-cles/" class="koba-megamenu-link">
1517                                                    Situation et Chiffres clés                                                                                                    </a>
1518                                                
1519                                                                                            </li>
1520                                                                                        <li class="koba-megamenu-item has-submenu">
1521                                                <a href="#" class="koba-megamenu-link">
1522                                                    Histoire                                                                                                        <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false">
1523                                                        <path d="M9 18l6-6-6-6"/>
1524                                                    </svg>
1525                                                                                                    </a>
1526                                                
1527                                                                                                <ul class="koba-megamenu-sublist">
1528                                                                                                        <li class="">
1529                                                        <a href="https://www.commune-nointel.fr/articles/nointel-a-travers-le-temps/">
1530                                                            Nointel à travers le temps                                                                                                                    </a>
1531                                                                                                            </li>
1532                                                                                                        <li class="">
1533                                                        <a href="https://www.commune-nointel.fr/articles/notre-patrimoine/">
1534                                                            Notre patrimoine                                                                                                                    </a>
1535                                                                                                            </li>
1536                                                                                                    </ul>
1537                                                                                            </li>
1538                                                                                    </ul>
1539                                    </div>
1540                                    
1541                                    <div class="koba-megamenu-col4"></div>
1542                                </div>
1543                            </div>
1544                                                    </li>
1545                                                <li class="koba-nav-item has-megamenu">
1546                            <a href="#" class="koba-nav-link" data-megamenu="1243">
1547                                LA MAIRIE                                                                <svg class="koba-nav-arrow" width="10" height="10" viewB
1547ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false">
1548                                    <path d="M6 9l6 6 6-6"/>
1549                                </svg>
1550                                                            </a>
1551                            
1552                                                        <div class="koba-megamenu" id="megamenu-1243">
1553                                <div class="koba-megamenu-inner">
1554                                    <div class="koba-megamenu-col1"></div>
1555                                    
1556                                    <div class="koba-megamenu-col2">
1557                                        <span class="koba-megamenu-title">LA MAIRIE</span>
1558                                    </div>
1559                                    
1560                                    <div class="koba-megamenu-col3">
1561                                        <ul class="koba-megamenu-list">
1562                                                                                        <li class="koba-megamenu-item ">
1563                                                <a href="https://www.commune-nointel.fr/articles/vos-elus/" class="koba-megamenu-link">
1564                                                    Vos élus                                                                                                    </a>
1565                                                
1566                                                                                            </li>
1567                                                                                        <li class="koba-megamenu-item ">
1568                                                <a href="https://www.commune-nointel.fr/articles/le-conseil-municipal/" class="koba-megamenu-link">
1569                                                    Le conseil municipal                                                                                                    </a>
1570                                                
1571                                                                                            </li>
1572                                                                                        <li class="koba-megamenu-item ">
1573                                                <a href="https://www.commune-nointel.fr/articles/les-equipements-municipaux/" class="koba-megamenu-link">
1574                                                    Les équipements municipaux                                                                                                    </a>
1575                                                
1576                                                                                            </li>
1577                                                                                        <li class="koba-megamenu-item ">
1578                                                <a href="https://www.commune-nointel.fr/kiosks" class="koba-megamenu-link">
1579                                                    Bulletins municipaux                                                                                                    </a>
1580                                                
1581                                                                                            </li>
1582                                                                                    </ul>
1583                                    </div>
1584                                    
1585                                    <div class="koba-megamenu-col4"></div>
1586                                </div>
1587                            </div>
1588                                                    </li>
1589                                                <li class="koba-nav-item has-megamenu">
1590                            <a href="#" class="koba-nav-link" data-megamenu="1248">
1591                                VIVRE À NOINTEL                                                                <svg class="koba-nav-arrow" width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false">
1592                                    <path d="M6 9l6 6 6-6"/>
1593                                </svg>
1594                                                            </a>
1595                            
1596                                                        <div class="koba-megamenu" id="megamenu-1248">
1597                                <div class="koba-megamenu-inner">
1598                                    <div class="koba-megamenu-col1"></div>
1599                                    
1600                                    <div class="koba-megamenu-col2">
1601                                        <span class="koba-megamenu-title">VIVRE À NOINTEL</span>
1602                                    </div>
1603                                    
1604                                    <div class="koba-megamenu-col3">
1605                                        <ul class="koba-megamenu-list">
1606                                                                                        <li class="koba-megamenu-item has-submenu">
1607                                                <a href="#" class="koba-megamenu-link">
1608                                                    Démarches administratives                                                                                                        <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false">
1609                                                        <path d="M9 18l6-6-6-6"/>
1610                                                    </svg>
1611                                                                                                    </a>
1612                                                
1613                                                                                                <ul class="koba-megamenu-sublist">
1614                                                                                                        <li class="has-sub-submenu">
1615                                                        <a href="#">
1616                                                            Etat Civil                                                                                                                        <svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false">
1617                                                                <path d="M9 18l6-6-6-6"/>
1618                                                            </svg>
1619                                                                                                                    </a>
1620                                                                                                                <ul class="koba-megamenu-sub-sublist">
1621                                                                                                                        <li>
1622                                                                <a href="https://www.commune-nointel.fr/articles/vous-souhaitez-vous-marier/">
1623                                                                    Mariage                                                                </a>
1624                                                            </li>
1625                                                                                                                        <li>
1626                                                                <a href="https://www.commune-nointel.fr/articles/vous-souhaitez-vous-pacser/">
1627                                                                    PACS                                                                </a>
1628                                                            </li>
1629                                                                                                                        <li>
1630                                                                <a href="https://www.commune-nointel.fr/articles/reconnaissance-d-un-enfant-couple-non-marie/">
1631                                                                    Reconnaissance d’un enfant (couple non marié)                                                                </a>
1632                                                            </li>
1633                                                                                                                        <li>
1634                                                                <a href="https://www.commune-nointel.fr/articles/livret-de-famille/">
1635                                                                    Livret de Famille                                                                </a>
1636                                                            </li>
1637                                                                                                                    </ul>
1638                                                                                                            </li>
1639                                                                                                        <li class="has-sub-submenu">
1640                                                        <a href="#">
1641                                                            Elections                                                                                                                        <svg width="10" height="10" viewB
1641ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false">
1642                                                                <path d="M9 18l6-6-6-6"/>
1643                                                            </svg>
1644                                                                                                                    </a>
1645                                                                                                                <ul class="koba-megamenu-sub-sublist">
1646                                                                                                                        <li>
1647                                                                <a href="https://www.commune-nointel.fr/articles/listes-electorales-demenagement-dans-la-commune-ou-hors-commune/">
1648                                                                    Inscription sur les listes électorales                                                                </a>
1649                                                            </li>
1650                                                                                                                        <li>
1651                                                                <a href="https://www.commune-nointel.fr/articles/listes-electorales-changement-d-adresse/">
1652                                                                    Changement d&#039;adresse                                                                </a>
1653                                                            </li>
1654                                                                                                                        <li>
1655                                                                <a href="https://www.commune-nointel.fr/articles/interrogez-en-ligne-votre-situation-electorale/">
1656                                                                    Interroger sa situation électorale                                                                </a>
1657                                                            </li>
1658                                                                                                                        <li>
1659                                                                <a href="https://www.commune-nointel.fr/articles/voter-par-procuration/">
1660                                                                    Voter par procuration                                                                </a>
1661                                                            </li>
1662                                                                                                                    </ul>
1663                                                                                                            </li>
1664                                                                                                        <li class="has-sub-submenu">
1665                                                        <a href="#">
1666                                                            Affaires Générales                                                                                                                        <svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false">
1667                                                                <path d="M9 18l6-6-6-6"/>
1668                                                            </svg>
1669                                                                                                                    </a>
1670                                                                                                                <ul class="koba-megamenu-sub-sublist">
1671                                                                                                                        <li>
1672                                                                <a href="https://www.commune-nointel.fr/articles/carte-nationale-d-identite-passeport/">
1673                                                                    Carte Nationale d’Identité / Passeport                                                                </a>
1674                                                            </li>
1675                                                                                                                        <li>
1676                                                                <a href="https://www.commune-nointel.fr/articles/recensement-citoyen-et-militaire/">
1677                                                                    Recensement Citoyen et Militaire                                                                </a>
1678                                                            </li>
1679                                                                                                                        <li>
1680                                                                <a href="https://www.commune-nointel.fr/articles/certificat-d-heredite/">
1681                                                                    Certificat d’hérédité                                                                </a>
1682                                                            </li>
1683                                                                                                                        <li>
1684                                                                <a href="https://www.commune-nointel.fr/articles/certificat-d-immatriculation-permis-de-conduire/">
1685                                                                    Certificat d’immatriculation / Permis de conduire                                                                </a>
1686                                                            </li>
1687                                                                                                                    </ul>
1688                                                                                                            </li>
1689                                                                                                        <li class="has-sub-submenu">
1690                                                        <a href="#">
1691                                                            Cimetière                                                                                                                        <svg width="10" height="10" viewB
1691ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false">
1692                                                                <path d="M9 18l6-6-6-6"/>
1693                                                            </svg>
1694                                                                                                                    </a>
1695                                                                                                                <ul class="koba-megamenu-sub-sublist">
1696                                                                                                                        <li>
1697                                                                <a href="https://www.commune-nointel.fr/articles/tarifs-des-concessions-cimetiere-et-columbarium/">
1698                                                                    Tarifs des concessions cimetière et columbarium                                                                </a>
1699                                                            </li>
1700                                                                                                                    </ul>
1701                                                                                                            </li>
1702                                                                                                    </ul>
1703                                                                                            </li>
1704                                                                                        <li class="koba-megamenu-item has-submenu">
1705                                                <a href="#" class="koba-megamenu-link">
1706                                                    Enfance &amp; éducation                                                                                                        <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false">
1707                                                        <path d="M9 18l6-6-6-6"/>
1708                                                    </svg>
1709                                                                                                    </a>
1710                                                
1711                                                                                                <ul class="koba-megamenu-sublist">
1712                                                                                                        <li class="">
1713                                                        <a href="https://www.commune-nointel.fr/articles/ecole/">
1714                                                            École Christian Koehler                                                                                                                    </a>
1715                                                                                                            </li>
1716                                                                                                        <li class="">
1717                                                        <a href="https://www.commune-nointel.fr/articles/restaurant-scolaire/">
1718                                                            Restaurant scolaire                                                                                                                    </a>
1719                                                                                                            </li>
1720                                                                                                        <li class="">
1721                                                        <a href="https://www.commune-nointel.fr/articles/periscolaire/">
1722                                                            Périscolaire                                                                                                                    </a>
1723                                                                                                            </li>
1724                                                                                                        <li class="">
1725                                                        <a href="https://www.commune-nointel.fr/articles/portail-famille/">
1726                                                            Portail Famille                                                                                                                    </a>
1727                                                                                                            </li>
1728                                                                                                    </ul>
1729                                                                                            </li>
1730                                                                                        <li class="koba-megamenu-item has-submenu">
1731                                                <a href="#" class="koba-megamenu-link">
1732                                                    Environnement                                                                                                        <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false">
1733                                                        <path d="M9 18l6-6-6-6"/>
1734                                                    </svg>
1735                                                                                                    </a>
1736                                                
1737                                                                                                <ul class="koba-megamenu-sublist">
1738                                                                                                        <li class="">
1739                                                        <a href="https://www.commune-nointel.fr/articles/l-intercommunalite/">
1740                                                            L&#039;intercommunalité                                                                                                                    </a>
1741                                                                                                            </li>
1742                                                                                                        <li class="">
1743                                                        <a href="https://www.commune-nointel.fr/articles/le-smdo/">
1744                                                            Le SMDO                                                                                                                    </a>
1745                                                                                                            </li>
1746                                                                                                        <li class="">
1747                                                        <a href="https://www.commune-nointel.fr/articles/dechets/">
1748                                                            Les déchets                                                                                                                    </a>
1749                                                                                                            </li>
1750                                                                                                        <li class="">
1751                                                        <a href="https://www.commune-nointel.fr/articles/voisinage-et-bruits/">
1752                                                            Voisinage et bruit                                                                                                                    </a>
1753                                                                                                            </li>
1754                                                                                                        <li class="">
1755                                                        <a href="https://www.commune-nointel.fr/articles/urbanisme/">
1756                                                            Urbanisme                                                                                                                    </a>
1757                                                                                                            </li>
1758                                                                                                        <li class="">
1759                                                        <a href="https://www.commune-nointel.fr/articles/securite/">
1760                                                            Sécurité                                                                                                                    </a>
1761                                                                                                            </li>
1762                                                                                                        <li class="">
1763                                                        <a href="https://www.commune-nointel.fr/articles/tres-haut-debit/">
1764                                                            Très Haut Débit                                                                                                                    </a>
1765                                                                                                            </li>
1766                                                                                                    </ul>
1767                                                                                            </li>
1768                                                                                        <li class="koba-megamenu-item has-submenu">
1769                                                <a href="#" class="koba-megamenu-link">
1770                                                    Transports                                                                                                        <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false">
1771                                                        <path d="M9 18l6-6-6-6"/>
1772                                                    </svg>
1773                                                                                                    </a>
1774                                                
1775                                                                                                <ul class="koba-megamenu-sublist">
1776                                                                                                        <li class="">
1777                                                        <a href="https://www.commune-nointel.fr/articles/permis-de-conduire/">
1778                                                            Permis de conduire                                                                                                                    </a>
1779                                                                                                            </li>
1780                                                                                                        <li class="">
1781                                                        <a href="https://www.commune-nointel.fr/articles/trains/">
1782                                                            Trains                                                                                                                    </a>
1783                                                                                                            </li>
1784                                                                                                        <li class="">
1785                                                        <a href="https://www.commune-nointel.fr/articles/bus/">
1786                                                            Cars                                                                                                                    </a>
1787                                                                                                            </li>
1788                                                                                                        <li class="">
1789                                                        <a href="https://www.commune-nointel.fr/articles/transport-a-la-demande/">
1790                                                            Le Bus du Clermontois                                                                                                                    </a>
1791                                                                                                            </li>
1792                                                                                                        <li class="">
1793                                                        <a href="https://www.commune-nointel.fr/articles/taxi/">
1794                                                            Taxis                                                                                                                    </a>
1795                                                                                                            </li>
1796                                                                                                    </ul>
1797                                                                                            </li>
1798                                                                                    </ul>
1799                                    </div>
1800                                    
1801                                    <div class="koba-megamenu-col4"></div>
1802                                </div>
1803                            </div>
1804                                                    </li>
1805                                                <li class="koba-nav-item has-megamenu">
1806                            <a href="#" class="koba-nav-link" data-megamenu="1286">
1807                                VIE ÉCONOMIQUE &amp; ASSOCIATIVE                                                                <svg class="koba-nav-arrow" width="10" height="10" viewB
1807ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false">
1808                                    <path d="M6 9l6 6 6-6"/>
1809                                </svg>
1810                                                            </a>
1811                            
1812                                                        <div class="koba-megamenu" id="megamenu-1286">
1813                                <div class="koba-megamenu-inner">
1814                                    <div class="koba-megamenu-col1"></div>
1815                                    
1816                                    <div class="koba-megamenu-col2">
1817                                        <span class="koba-megamenu-title">VIE ÉCONOMIQUE &amp; ASSOCIATIVE</span>
1818                                    </div>
1819                                    
1820                                    <div class="koba-megamenu-col3">
1821                                        <ul class="koba-megamenu-list">
1822                                                                                        <li class="koba-megamenu-item ">
1823                                                <a href="https://www.commune-nointel.fr/articles/marches-publics/" class="koba-megamenu-link">
1824                                                    Marchés publics                                                                                                    </a>
1825                                                
1826                                                                                            </li>
1827                                                                                        <li class="koba-megamenu-item ">
1828                                                <a href="https://www.commune-nointel.fr/articles/les-artisans-de-nointel/" class="koba-megamenu-link">
1829                                                    Les artisans de Nointel                                                                                                    </a>
1830                                                
1831                                                                                            </li>
1832                                                                                        <li class="koba-megamenu-item ">
1833                                                <a href="https://www.commune-nointel.fr/articles/les-commercants/" class="koba-megamenu-link">
1834                                                    Les commerçants                                                                                                    </a>
1835                                                
1836                                                                                            </li>
1837                                                                                        <li class="koba-megamenu-item ">
1838                                                <a href="https://www.commune-nointel.fr/articles/les-associations-de-nointel/" class="koba-megamenu-link">
1839                                                    Les associations de Nointel                                                                                                    </a>
1840                                                
1841                                                                                            </li>
1842                                                                                        <li class="koba-megamenu-item ">
1843                                                <a href="https://www.commune-nointel.fr/articles/bibliotheque/" class="koba-megamenu-link">
1844                                                    La bibliothèque                                                                                                    </a>
1845                                                
1846                                                                                            </li>
1847                                                                                    </ul>
1848                                    </div>
1849                                    
1850                                    <div class="koba-megamenu-col4"></div>
1851                                </div>
1852                            </div>
1853                                                    </li>
1854                                            </ul>
1855                                    </nav>
1856                
1857                <!-- Bouton recherche (carré) -->
1858                <button class="koba-search-toggle" id="koba-search-toggle" aria-label="Ouvrir la recherche" aria-expanded="false" aria-controls="koba-search-bar">
1859                    <svg class="koba-icon-search" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false">
1860                        <circle cx="11" cy="11" r="8"/>
1861                        <path d="M21 21l-4.35-4.35"/>
1862                    </svg>
1863                </button>
1864                
1865                <!-- Barre de recherche -->
1866<div class="koba-search-bar" id="koba-search-bar">
1867    <div class="koba-search-bar-inner">
1868        <form role="search" method="get" action="https://www.commune-nointel.fr/" class="koba-search-form">
1869            <label for="koba-search-input" class="visually-hidden">Rechercher sur le site</label>
1870            <input type="search" name="s" placeholder="Rechercher" class="koba-search-input" id="koba-search-input" value="" autocomplete="off">
1871            <button type="submit" class="koba-search-submit" aria-label="Lancer la recherche">
1872                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false">
1873                    <circle cx="11" cy="11" r="8"/>
1874                    <path d="M21 21l-4.35-4.35"/>
1875                </svg>
1876            </button>
1877        </form>
1878        <button class="koba-search-close" id="koba-search-close" aria-label="Fermer la recherche">
1879            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false">
1880                <path d="M18 6L6 18M6 6l12 12"/>
1881            </svg>
1882        </button>
1883    </div>
1884</div>
1885            </div>
1886        </div>
1887    </div>
1888    
1889    <!-- Menu mobile -->
1890    <div class="koba-mobile-menu" id="koba-mobile-menu">
1891        <div class="koba-mobile-menu-inner">
1892            <!-- Recherche mobile -->
1893            <div class="koba-mobile-search">
1894                <form role="search" method="get" action="https://www.commune-nointel.fr/" class="koba-mobile-search-form">
1895                    <label for="koba-mobile-search-input" class="visually-hidden">Rechercher sur le site</label>
1896                    <input type="search" name="s" id="koba-mobile-search-input" placeholder="Rechercher..." class="koba-mobile-search-input" value="">
1897                    <button type="submit" class="koba-mobile-search-submit" aria-label="Lancer la recherche">
1898                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false">
1899                            <circle cx="11" cy="11" r="8"/>
1900                            <path d="M21 21l-4.35-4.35"/>
1901                        </svg>
1902                    </button>
1903                </form>
1904            </div>
1905            <nav class="koba-mobile-nav"><ul id="menu-menu-principal" class="koba-mobile-list"><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="#" class="koba-mobile-link">NOINTEL</a><button class="koba-mobile-toggle" aria-label="Ouvrir sous-menu">
1905<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg></button></div><ul class="koba-mobile-submenu" data-depth="0"><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/situation-chiffres-cles/" class="koba-mobile-link">Situation et Chiffres clés</a></div></li><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="#" class="koba-mobile-link">Histoire</a><button class="koba-mobile-toggle" aria-label="Ouvrir sous-menu"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg></button></div><ul class="koba-mobile-submenu" data-depth="1"><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/nointel-a-travers-le-temps/" class="koba-mobile-link">Nointel à travers le temps</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/notre-patrimoine/" class="koba-mobile-link">Notre patrimoine</a></div></li></ul></li></ul></li><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="#" class="koba-mobile-link">LA MAIRIE</a><button class="koba-mobile-toggle" aria-label="Ouvrir sous-menu"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg></button></div><ul class="koba-mobile-submenu" data-depth="0"><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/vos-elus/" class="koba-mobile-link">Vos élus</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/le-conseil-municipal/" class="koba-mobile-link">Le conseil municipal</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/les-equipements-municipaux/" class="koba-mobile-link">Les équipements municipaux</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/kiosks" class="koba-mobile-link">Bulletins municipaux</a></div></li></ul></li><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="#" class="koba-mobile-link">VIVRE À NOINTEL</a><button class="koba-mobile-toggle" aria-label="Ouvrir sous-menu"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg></button></div><ul class="koba-mobile-submenu" data-depth="0"><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="#" class="koba-mobile-link">Démarches administratives</a><button class="koba-mobile-toggle" aria-label="Ouvrir sous-menu"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg></button></div><ul class="koba-mobile-submenu" data-depth="1"><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="#" class="koba-mobile-link">Etat Civil</a><button class="koba-mobile-toggle" aria-label="Ouvrir sous-menu"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg></button></div><ul class="koba-mobile-submenu" data-depth="2"><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/vous-souhaitez-vous-marier/" class="koba-mobile-link">Mariage</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/vous-souhaitez-vous-pacser/" class="koba-mobile-link">PACS</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/reconnaissance-d-un-enfant-couple-non-marie/" class="koba-mobile-link">Reconnaissance d’un enfant (couple non marié)</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner">
1905<a href="https://www.commune-nointel.fr/articles/livret-de-famille/" class="koba-mobile-link">Livret de Famille</a></div></li></ul></li><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="#" class="koba-mobile-link">Elections</a><button class="koba-mobile-toggle" aria-label="Ouvrir sous-menu"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg></button></div><ul class="koba-mobile-submenu" data-depth="2"><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/listes-electorales-demenagement-dans-la-commune-ou-hors-commune/" class="koba-mobile-link">Inscription sur les listes électorales</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/listes-electorales-changement-d-adresse/" class="koba-mobile-link">Changement d&#039;adresse</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/interrogez-en-ligne-votre-situation-electorale/" class="koba-mobile-link">Interroger sa situation électorale</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/voter-par-procuration/" class="koba-mobile-link">Voter par procuration</a></div></li></ul></li><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="#" class="koba-mobile-link">Affaires Générales</a><button class="koba-mobile-toggle" aria-label="Ouvrir sous-menu"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg></button></div><ul class="koba-mobile-submenu" data-depth="2"><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/carte-nationale-d-identite-passeport/" class="koba-mobile-link">Carte Nationale d’Identité / Passeport</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/recensement-citoyen-et-militaire/" class="koba-mobile-link">Recensement Citoyen et Militaire</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/certificat-d-heredite/" class="koba-mobile-link">Certificat d’hérédité</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/certificat-d-immatriculation-permis-de-conduire/" class="koba-mobile-link">Certificat d’immatriculation / Permis de conduire</a></div></li></ul></li><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="#" class="koba-mobile-link">Cimetière</a><button class="koba-mobile-toggle" aria-label="Ouvrir sous-menu"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg></button></div><ul class="koba-mobile-submenu" data-depth="2"><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/tarifs-des-concessions-cimetiere-et-columbarium/" class="koba-mobile-link">Tarifs des concessions cimetière et columbarium</a></div></li></ul></li></ul></li><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="#" class="koba-mobile-link">Enfance &amp; éducation</a><button class="koba-mobile-toggle" aria-label="Ouvrir sous-menu"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg></button></div><ul class="koba-mobile-submenu" data-depth="1"><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/ecole/" class="koba-mobile-link">École Christian Koehler</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/restaurant-scolaire/" class="koba-mobile-link">Restaurant scolaire</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/periscolaire/" class="koba-mobile-link">Périscolaire</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/portail-famille/" class="koba-mobile-link">Portail Famille</a></div></li></ul></li><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="#" class="koba-mobile-link">Environnement</a><button class="koba-mobile-toggle" aria-label="Ouvrir sous-menu">
1905<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg></button></div><ul class="koba-mobile-submenu" data-depth="1"><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/l-intercommunalite/" class="koba-mobile-link">L&#039;intercommunalité</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/le-smdo/" class="koba-mobile-link">Le SMDO</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/dechets/" class="koba-mobile-link">Les déchets</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/voisinage-et-bruits/" class="koba-mobile-link">Voisinage et bruit</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/urbanisme/" class="koba-mobile-link">Urbanisme</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/securite/" class="koba-mobile-link">Sécurité</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/tres-haut-debit/" class="koba-mobile-link">Très Haut Débit</a></div></li></ul></li><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="#" class="koba-mobile-link">Transports</a><button class="koba-mobile-toggle" aria-label="Ouvrir sous-menu"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg></button></div><ul class="koba-mobile-submenu" data-depth="1"><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/permis-de-conduire/" class="koba-mobile-link">Permis de conduire</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/trains/" class="koba-mobile-link">Trains</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/bus/" class="koba-mobile-link">Cars</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/transport-a-la-demande/" class="koba-mobile-link">Le Bus du Clermontois</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/taxi/" class="koba-mobile-link">Taxis</a></div></li></ul></li></ul></li><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="#" class="koba-mobile-link">VIE ÉCONOMIQUE &amp; ASSOCIATIVE</a><button class="koba-mobile-toggle" aria-label="Ouvrir sous-menu"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg></button></div><ul class="koba-mobile-submenu" data-depth="0"><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/marches-publics/" class="koba-mobile-link">Marchés publics</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/les-artisans-de-nointel/" class="koba-mobile-link">Les artisans de Nointel</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/les-commercants/" class="koba-mobile-link">Les commerçants</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/les-associations-de-nointel/" class="koba-mobile-link">Les associations de Nointel</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/bibliotheque/" class="koba-mobile-link">La bibliothèque</a></div></li></ul></li></ul></nav>            
1906            <nav class="koba-mobile-secondary">
1907              <ul class="koba-topbar-list">
1908                        <li class="menu-item menu-item-type-post_type menu-item-object-page">
1909                            <a href="https://www.commune-nointel.fr/">ACCUEIL</a>
1910                        </li>
1911                        <li class="menu-item menu-item-type-post_type menu-item-object-page">
1912                            <a href="https://www.commune-nointel.fr/annuaire/">ANNUAIRE</a>
1913                        </li>
1914                        <li class="menu-item menu-item-type-post_type menu-item-object-page">
1915                            <a href="https://www.commune-nointel.fr/contact/">NOUS CONTACTER</a>
1916                        </li>
1917                        <li class="menu-item menu-item-type-post_type menu-item-object-page">
1918                            <a href="https://www.commune-nointel.fr/emploi/">EMPLOI</a>
1919                        </li>
1920                                                <li class="menu-item menu-item-type-post_type menu-item-object-page">
1921                            <a href="https://www.commune-nointel.fr/sondages/">SONDAGES</a>
1922                        </li>
1923                                            </ul>   
1924            </nav>
1925        </div>
1926    </div><!-- Overlay résultats recherche -->
1927<div class="koba-search-overlay" id="koba-search-overlay"></div>
1928</header>
1929
1930<!-- Spacer pour compenser le header fixe -->
1931<div class="koba-header-spacer"></div>
1932
1933<!-- Overlay -->
1934<div class="koba-overlay" id="koba-overlay"></div>
1935 <div class="modal fade" id="exampleModal" tabindex="-1" aria-hidden="true" aria-labelledby="exampleModalTitle" role="dialog">
1936                  <div class="modal-dialog">
1937                    <div class="modal-content">
1938
1939                      <div class="modal-header">
1940                        <h5 class="modal-title" id="exampleModalTitle">SUIVEZ L'ACTU</h5>
1941                        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Fermer"></button>
1942                      </div>
1943
1944                      <div class="modal-body">
1945                        <p>* Champs obligatoires</p>
1946                            <style>
1947    .koba-form-inscription {
1948        background: #fff;
1949        padding: 30px;
1950        border-radius: 12px;
1951        box-shadow: 0 4px 20px rgba(0,0,0,0.08);
1952        max-width: 700px;
1953        margin: 0 auto;
1954    }
1955    .koba-form-inscription h3 {
1956        margin: 0 0 25px;
1957        padding-bottom: 15px;
1958        border-bottom: 3px solid var(--koba-primary, #209bbc);
1959        color: #1a1a2e;
1960        font-size: 1.5em;
1961    }
1962    .koba-form-section {
1963        margin-bottom: 25px;
1964        padding-bottom: 20px;
1965        border-bottom: 1px solid #eee;
1966    }
1967    .koba-form-section:last-of-type {
1968        border-bottom: none;
1969        margin-bottom: 15px;
1970    }
1971    .koba-form-section-title {
1972        font-weight: 600;
1973        color: var(--koba-primary, #209bbc);
1974        margin-bottom: 15px;
1975        font-size: 14px;
1976        text-transform: uppercase;
1977        letter-spacing: 0.5px;
1978    }
1979    .koba-form-row {
1980        display: flex;
1981        gap: 15px;
1982        margin-bottom: 15px;
1983    }
1984    .koba-form-field {
1985        flex: 1;
1986    }
1987    .koba-form-field.full {
1988        flex: 0 0 100%;
1989    }
1990    .koba-form-field label {
1991        display: block;
1992        font-weight: 500;
1993        margin-bottom: 6px;
1994        color: #333;
1995        font-size: 14px;
1996    }
1997    .koba-form-field label .req {
1998        color: #d63638;
1999    }
2000    .koba-form-field input,
2001    .koba-form-field select,
2002    .koba-form-field textarea {
2003        width: 100%;
2004        padding: 12px 15px;
2005        border: 1px solid #ddd;
2006        border-radius: 6px;
2007        font-size: 14px;
2008        transition: border-color 0.2s, box-shadow 0.2s;
2009        box-sizing: border-box;
2010    }
2011    .koba-form-field input:focus,
2012    .koba-form-field select:focus,
2013    .koba-form-field textarea:focus {
2014        outline: none;
2015        border-color: var(--koba-primary, #209bbc);
2016        box-shadow: 0 0 0 3px rgba(32, 155, 188, 0.1);
2017    }
2018    .koba-form-field textarea {
2019        min-height: 80px;
2020        resize: vertical;
2021    }
2022    .koba-form-checkbox {
2023        display: flex;
2024        align-items: flex-start;
2025        gap: 10px;
2026        padding: 12px 15px;
2027        background: #f8f9fa;
2028        border-radius: 6px;
2029        margin-bottom: 10px;
2030        cursor: pointer;
2031        transition: background 0.2s;
2032    }
2033    .koba-form-checkbox:hover {
2034        background: #e9ecef;
2035    }
2036    .koba-form-checkbox input[type="checkbox"] {
2037        width: 20px;
2038        height: 20px;
2039        margin-top: 2px;
2040        cursor: pointer;
2041        accent-color: var(--koba-primary, #209bbc);
2042    }
2043    .koba-form-checkbox span {
2044        font-size: 14px;
2045        color: #333;
2046        line-height: 1.5;
2047    }
2048    .koba-form-submit {
2049        text-align: center;
2050        margin-top: 25px;
2051    }
2052    .koba-form-submit button {
2053        background: var(--koba-primary, #209bbc);
2054        color: #fff;
2055        border: none;
2056        padding: 15px 50px;
2057        font-size: 16px;
2058        font-weight: 600;
2059        border-radius: 8px;
2060        cursor: pointer;
2061        transition: all 0.3s;
2062        text-transform: uppercase;
2063        letter-spacing: 0.5px;
2064    }
2065    .koba-form-submit button:hover {
2066        background: var(--koba-secondary, #faaf00);
2067        transform: translateY(-2px);
2068        box-shadow: 0 4px 15px rgba(0,0,0,0.15);
2069    }
2070    .koba-form-submit button:disabled {
2071        background: #ccc;
2072        cursor: not-allowed;
2073        transform: none;
2074        box-shadow: none;
2075    }
2076    .koba-form-message {
2077        padding: 15px 20px;
2078        border-radius: 8px;
2079        margin-bottom: 20px;
2080        display: none;
2081    }
2082    .koba-form-message.success {
2083        background: #d4edda;
2084        color: #155724;
2085        border: 1px solid #c3e6cb;
2086        display: block;
2087    }
2088    .koba-form-message.error {
2089        background: #f8d7da;
2090        color: #721c24;
2091        border: 1px solid #f5c6cb;
2092        display: block;
2093    }
2094    .koba-form-loading {
2095        display: none;
2096        text-align: center;
2097        padding: 40px;
2098    }
2099    .koba-form-loading.active {
2100        display: block;
2101    }
2102    .koba-spinner {
2103        width: 40px;
2104        height: 40px;
2105        border: 4px solid #f3f3f3;
2106        border-top: 4px solid var(--koba-primary, #209bbc);
2107        border-radius: 50%;
2108        animation: koba-spin 1s linear infinite;
2109        margin: 0 auto 15px;
2110    }
2111    @keyframes koba-spin {
2112        0% { transform: rotate(0deg); }
2113        100% { transform: rotate(360deg); }
2114    }
2115    .koba-form-success {
2116        display: none;
2117        text-align: center;
2118        padding: 40px 20px;
2119    }
2120    .koba-form-success.active {
2121        display: block;
2122    }
2123    .koba-form-success .success-icon {
2124        width: 80px;
2125        height: 80px;
2126        background: #d4edda;
2127        border-radius: 50%;
2128        display: flex;
2129        align-items: center;
2130        justify-content: center;
2131        margin: 0 auto 20px;
2132    }
2133    .koba-form-success .success-icon svg {
2134        width: 40px;
2135        height: 40px;
2136        color: #28a745;
2137    }
2138    .koba-form-success h4 {
2139        color: #28a745;
2140        margin: 0 0 10px;
2141        font-size: 1.5em;
2142    }
2143    .koba-form-success p {
2144        color: #666;
2145        margin: 0;
2146    }
2147    .koba-recaptcha-badge {
2148        font-size: 11px;
2149        color: #999;
2150        text-align: center;
2151        margin-top: 15px;
2152    }
2153    .koba-recaptcha-badge a {
2154        color: #999;
2155    }
2156    /* Masquer le badge reCAPTCHA flottant de Google */
2157    .grecaptcha-badge {
2158        visibility: hidden !important;
2159    }
2160    @media (max-width: 600px) {
2161        .koba-form-inscription {
2162            padding: 20px;
2163        }
2164        .koba-form-row {
2165            flex-direction: column;
2166            gap: 0;
2167        }
2168        .koba-form-field {
2169            margin-bottom: 15px;
2170        }
2171    }
2172
2173    /* RGAA 11.10 / 11.11 - etat d'erreur (visible uniquement si erreur) */
2174    .koba-form-inscription .koba-field-error {
2175        display: none;
2176        color: #b3261e;
2177        font-size: 13px;
2178        line-height: 1.4;
2179        margin-top: 6px;
2180    }
2181    .koba-form-inscription .koba-field-error.show {
2182        display: block;
2183    }
2184    .koba-form-inscription [aria-invalid="true"] {
2185        border-color: #b3261e !important;
2186        box-shadow: 0 0 0 1px #b3261e;
2187    }
2188    </style>
vendor: 130 bytes, lines 2188-2190
2188
2189    
2190        <script type="text/plain" data-hob-service="recaptcha" data-hob-src="https://www.google.com/recaptcha/api.js?render=
21906LfpWE8sAAAAAMNvA5IHMVC9s8ybd0iZdpyOu28l
vendor: 25 bytes, lines 2190-2192
2190"></script>
2191        
2192    
2192<div class="koba-form-inscription" id="koba-inscription-form">
2193        <div class="koba-form-message" id="koba-form-message" role="status" aria-live="polite" aria-atomic="true"></div>
2194        
2195        <div class="koba-form-loading" id="koba-form-loading">
2196            <div class="koba-spinner"></div>
2197            <p>Envoi en cours...</p>
2198        </div>
2199        
2200        <div class="koba-form-success" id="koba-form-success" role="status" aria-live="polite" tabindex="-1">
2201            <div class="success-icon">
2202                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
2203                    <polyline points="20 6 9 17 4 12"></polyline>
2204                </svg>
2205            </div>
2206            <h4>Inscription réussie !</h4>
2207            <p id="koba-success-text">Merci pour votre inscription.</p>
2208        </div>
2209        
2210        <form id="koba-citizen-form" style="display:block;">
2211            <input type="hidden" id="koba_inscription_nonce" name="koba_inscription_nonce" value="37d8c00c3c" /><input type="hidden" name="_wp_http_referer" value="/annuaire/" />            <input type="hidden" name="recaptcha_token" id="recaptcha_token" value="">
2212            
2213            <!-- IDENTITÉ -->
2214            <div class="koba-form-section">
2215                <div class="koba-form-section-title">Identité</div>
2216                
2217                <div class="koba-form-row">
2218                    <div class="koba-form-field">
2219                        <label for="koba-ins-gender">Civilité</label>
2220                        <select id="koba-ins-gender" name="gender">
2221                            <option value="0">Monsieur</option>
2222                            <option value="1">Madame</option>
2223                        </select>
2224                    </div>
2225                    <div class="koba-form-field">
2226                        <label for="koba-ins-birthdate">Date de naissance</label>
2227                        <input type="date" id="koba-ins-birthdate" name="birthdate">
2228                    </div>
2229                </div>
2230
2231                <div class="koba-form-row">
2232                    <div class="koba-form-field">
2233                        <label for="koba-ins-lastname">Nom</label>
2234                        <input type="text" id="koba-ins-lastname" name="lastname" autocomplete="family-name" placeholder="Votre nom">
2235                    </div>
2236                    <div class="koba-form-field">
2237                        <label for="koba-ins-firstname">Prénom</label>
2238                        <input type="text" id="koba-ins-firstname" name="firstname" autocomplete="given-name" placeholder="Votre prénom">
2239                    </div>
2240                </div>
2241            </div>
2242            
2243            <!-- ADRESSE -->
2244            <div class="koba-form-section">
2245                <div class="koba-form-section-title">Adresse</div>
2246                
2247                <div class="koba-form-row">
2248                    <div class="koba-form-field full">
2249                        <label for="koba-ins-address">Adresse</label>
2250                        <textarea id="koba-ins-address" name="address" rows="2" autocomplete="street-address" placeholder="Numéro et nom de rue"></textarea>
2251                    </div>
2252                </div>
2253
2254                <div class="koba-form-row">
2255                    <div class="koba-form-field">
2256                        <label for="koba-ins-zipcode">Code postal</label>
2257                        <input type="text" id="koba-ins-zipcode" name="zipcode" autocomplete="postal-code" placeholder="38000">
2258                    </div>
2259                    <div class="koba-form-field">
2260                        <label for="koba-ins-city">Ville</label>
2261                        <input type="text" id="koba-ins-city" name="city" autocomplete="address-level2" placeholder="Votre ville">
2262                    </div>
2263                    <div class="koba-form-field">
2264                        <label for="koba-ins-country">Pays</label>
2265                        <input type="text" id="koba-ins-country" name="country" autocomplete="country-name" placeholder="France" value="France">
2266                    </div>
2267                </div>
2268            </div>
2269            
2270            <!-- CONTACT -->
2271            <div class="koba-form-section">
2272                <div class="koba-form-section-title">Contact</div>
2273                
2274                <div class="koba-form-row">
2275                    <div class="koba-form-field">
2276                        <label for="koba-ins-phone">Téléphone</label>
2277                        <input type="tel" id="koba-ins-phone" name="phone" autocomplete="tel" placeholder="06 00 00 00 00">
2278                    </div>
2279                    <div class="koba-form-field">
2280                        <label for="koba-ins-fax">Fax</label>
2281                        <input type="tel" id="koba-ins-fax" name="fax" placeholder="04 00 00 00 00">
2282                    </div>
2283                </div>
2284
2285                <div class="koba-form-row">
2286                    <div class="koba-form-field full">
2287                        <label for="koba-ins-email">Email <span class="req">*</span></label>
2288                        <input type="email" id="koba-ins-email" name="email" autocomplete="email" placeholder="[email protected]" required aria-required="true" aria-describedby="koba-ins-email-error">
2289                        <span class="koba-field-error" id="koba-ins-email-error"></span>
2290                    </div>
2291                </div>
2292            </div>
2293            
2294            <!-- PRÉFÉRENCES -->
2295            <div class="koba-form-section">
2296                <div class="koba-form-section-title">Préférences de communication</div>
2297                
2298                <label class="koba-form-checkbox">
2299                    <input type="checkbox" name="sms_newsletter" value="1">
2300                    <span>Je souhaite recevoir des informations par SMS</span>
2301                </label>
2302                
2303                <label class="koba-form-checkbox">
2304                    <input type="checkbox" name="email_newsletter" value="1" checked>
2305                    <span>Je souhaite recevoir la newsletter par email</span>
2306                </label>
2307                            </div>
2308            
2309            <div class="koba-form-submit">
2310                <button type="submit" id="koba-submit-btn">S&#039;inscrire</button>
2311            </div>
2312            
2313                        <div class="koba-recaptcha-badge">
2314                Ce site est protégé par reCAPTCHA. 
2315                <a href="https://policies.google.com/privacy" target="_blank">Politique de confidentialité</a> et 
2316                <a href="https://policies.google.com/terms" target="_blank">Conditions d'utilisation</a> de Google.
2317            </div>
2318                    </form>
2319    </div>
2320    
2321    
2321<script>
2322    (function() {
2323        var form = document.getElementById('koba-citizen-form');
2324        var message = document.getElementById('koba-form-message');
2325        var loading = document.getElementById('koba-form-loading');
2326        var success = document.getElementById('koba-form-success');
2327        var submitBtn = document.getElementById('koba-submit-btn');
2328        var recaptchaActive = true;
2329        var siteKey = '6LfpWE8sAAAAAMNvA5IHMVC9s8ybd0iZdpyOu28l';
2330        
2331        if (!form) return;
2332
2333        // --- RGAA 11.10 / 11.11 : validation accessible ---
2334        function clearInsError(fieldId, errorId) {
2335            var f = document.getElementById(fieldId);
2336            var er = document.getElementById(errorId);
2337            if (er) { er.textContent = ''; er.classList.remove('show'); }
2338            if (f) { f.removeAttribute('aria-invalid'); }
2339        }
2340        ['koba-ins-email','koba-ins-rgpd'].forEach(function(id){
2341            var el = document.getElementById(id);
2342            if (el) {
2343                el.addEventListener('input', function(){ clearInsError(id, id + '-error'); });
2344                el.addEventListener('change', function(){ clearInsError(id, id + '-error'); });
2345            }
2346        });
2347
2348        form.addEventListener('submit', function(e) {
2349            e.preventDefault();
2350
2351            // Reset
2352            message.className = 'koba-form-message';
2353            message.style.display = 'none';
2354            clearInsError('koba-ins-email', 'koba-ins-email-error');
2355            clearInsError('koba-ins-rgpd', 'koba-ins-rgpd-error');
2356
2357            // Validation accessible (messages par champ + suggestions)
2358            var firstInvalid = null;
2359            function fail(focusEl, errorId, msg) {
2360                var er = document.getElementById(errorId);
2361                if (er) { er.textContent = msg; er.classList.add('show'); }
2362                if (focusEl) { focusEl.setAttribute('aria-invalid', 'true'); if (!firstInvalid) firstInvalid = focusEl; }
2363            }
2364
2365            var emailEl = document.getElementById('koba-ins-email');
2366            if (!emailEl.value.trim()) {
2367                fail(emailEl, 'koba-ins-email-error', 'Veuillez saisir votre adresse e-mail.');
2368            } else if (!emailEl.checkValidity()) {
2369                fail(emailEl, 'koba-ins-email-error', "L'adresse e-mail n'est pas valide. Exemple attendu : [email protected]");
2370            }
2371
2372            var rgpdEl = document.getElementById('koba-ins-rgpd');
2373            if (rgpdEl && rgpdEl.required && !rgpdEl.checked) {
2374                fail(rgpdEl, 'koba-ins-rgpd-error', 'Vous devez accepter de recevoir la newsletter pour valider votre inscription.');
2375            }
2376
2377            if (firstInvalid) {
2378                message.className = 'koba-form-message error';
2379                message.textContent = 'Le formulaire contient des erreurs. Veuillez corriger les champs signales.';
2380                message.style.display = 'block';
2381                firstInvalid.focus();
2382                return;
2383            }
2384
2385            // Disable button
2386            submitBtn.disabled = true;
2387            submitBtn.textContent = 'Vérification...';
2388            
2389            // reCAPTCHA v3
2390            if (recaptchaActive && siteKey && typeof grecaptcha !== 'undefined') {
2391                grecaptcha.ready(function() {
2392                    grecaptcha.execute(siteKey, {action: 'inscription'}).then(function(token) {
2393                        document.getElementById('recaptcha_token').value = token;
2394                        submitForm();
2395                    }).catch(function(error) {
2396                        console.error('reCAPTCHA error:', error);
2397                        submitForm(); // Soumettre quand même si erreur reCAPTCHA
2398                    });
2399                });
2400            } else {
2401                submitForm();
2402            }
2403        });
2404        
2405        function submitForm() {
2406            // Show loading
2407            form.style.display = 'none';
2408            loading.className = 'koba-form-loading active';
2409            
2410            // Prepare data
2411            var formData = new FormData(form);
2412            formData.append('action', 'koba_inscription_submit');
2413            
2414            // Send
2415            fetch('https://www.commune-nointel.fr/wp-admin/admin-ajax.php', {
2416                method: 'POST',
2417                body: formData
2418            })
2419            .then(function(response) { return response.json(); })
2420            .then(function(data) {
2421                loading.className = 'koba-form-loading';
2422                
2423                if (data.success) {
2424                    success.className = 'koba-form-success active';
2425                    if (data.data && data.data.message) {
2426                        document.getElementById('koba-success-text').textContent = data.data.message;
2427                    }
2428                    try { success.focus(); } catch(e) {}
2429                } else {
2430                    form.style.display = 'block';
2431                    submitBtn.disabled = false;
2432                    submitBtn.textContent = 'S\'inscrire';
2433                    message.className = 'koba-form-message error';
2434                    message.textContent = data.data || 'Une erreur est survenue.';
2435                    message.style.display = 'block';
2436                }
2437            })
2438            .catch(function(error) {
2439                loading.className = 'koba-form-loading';
2440                form.style.display = 'block';
2441                submitBtn.disabled = false;
2442                submitBtn.textContent = 'S\'inscrire';
2443                message.className = 'koba-form-message error';
2444                message.textContent = 'Erreur de connexion. Veuillez réessayer.';
2445                message.style.display = 'block';
2446            });
2447        }
2448    })();
2449    </script>
2449
2450                          </div>
2451
2452                      <div class="modal-footer">
2453                        <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">
2454                          exit
2455                        </button>
2456                      </div>
2457
2458                    </div>
2459                  </div>
2460                </div>
2461
2462<main id="main-content" tabindex="-1">
2463
2464<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css" />
2465<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet.markercluster/1.5.3/MarkerCluster.min.css" />
2466<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet.markercluster/1.5.3/MarkerCluster.Default.min.css" />
2467
2468<style>
2469.annuaire-section { padding: 30px 0 60px; background: #fff; min-height: 70vh; }
2470
2471.alphabet-bar { display: flex; flex-wrap: wrap; padding: 12px 15px; background: #e8f4f6; border-radius: 8px; margin-bottom: 25px; }
2472.alphabet-bar a { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 34px; font-size: 0.95rem; font-weight: 500; color: #666; text-decoration: none; border-radius: 5px; margin: 2px; }
2473.alphabet-bar a:hover { color: #127ec2; background: rgba(255,255,255,0.7); }
2474.alphabet-bar a.active { background: #127ec2; color: #fff; }
2475.alphabet-bar a.disabled { color: #ccc; pointer-events: none; }
2476
2477.cat-sidebar { max-height: 700px; overflow-y: auto; padding-right: 10px; }
2478.cat-group { margin-bottom: 15px; }
2479.cat-group.hide { display: none; }
2480.cat-letter { font-size: 2.2rem; font-weight: 300; color: #bbb; border-bottom: 2px solid #eee; padding-bottom: 5px; margin-bottom: 8px; }
2481.cat-list { list-style: none; margin: 0; padding: 0 0 0 5px; }
2482.cat-list li { margin-bottom: 2px; display: flex; align-items: center; }
2483.cat-list a { display: block; padding: 6px 10px; font-size: 0.88rem; color: #555; text-decoration: none; border-radius: 4px; flex: 1; }
2484.cat-list a:hover { background: #f0f0f0; }
2485.cat-list a.active { background: #127ec2; color: #fff; }
2486.cat-copy-link { display: none; align-items: center; justify-content: center; width: 28px; height: 28px; border: none; background: transparent; color: #aaa; cursor: pointer; border-radius: 4px; flex-shrink: 0; font-size: 13px; padding: 0; margin-left: 2px; transition: all 0.2s; }
2487.cat-list li:hover .cat-copy-link { display: inline-flex; }
2488.cat-copy-link:hover { color: #127ec2; background: #e8f4f6; }
2489.cat-copy-link.copied { color: #00a32a; }
2490.cat-copy-toast { position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%) translateY(20px); background: #333; color: #fff; padding: 10px 20px; border-radius: 6px; font-size: 0.85rem; z-index: 100000; opacity: 0; transition: opacity 0.3s, transform 0.3s; pointer-events: none; }
2491.cat-copy-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
2492
2493.section-heading { font-size: 1.1rem; font-weight: 700; text-transform: uppercase; color: #127ec2; margin: 0 0 15px; display: flex; align-items: center; gap: 8px; }
2494.section-heading i { color: #7fb1d8; }
2495
2496.map-box { margin-bottom: 20px; border-radius: 8px; overflow: hidden; border: 1px solid #ddd; }
2497#the-map { height: 340px; }
2498
2499.entry-row { display: flex; align-items: center; padding: 14px 8px; border-bottom: 1px solid #eee; text-decoration: none; color: inherit; gap: 12px; cursor: pointer; }
2500.entry-row:hover { background: #fafafa; }
2501.entry-num { width: 32px; height: 32px; background: #7fb1d8; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.85rem; flex-shrink: 0; }
2502.entry-name { flex: 1; font-size: 0.95rem; font-weight: 600; color: #127ec2; }
2503.entry-tel { font-size: 0.88rem; color: #888; white-space: nowrap; }
2504.entry-tel b { color: #127ec2; }
2505
2506.no-results { text-align: center; padding: 40px; color: #999; }
2507
2508.marker-icon { background: #7fb1d8; color: #fff; width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; border: 2px solid #fff; box-shadow: 0 2px 5px rgba(0,0,0,0.3); }
2509
2510/* MODALE */
2511.modal-overlay { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.6); z-index: 99999; overflow-y: auto; padding: 10px; }
2512.modal-overlay.open { display: flex; align-items: flex-start; justify-content: center; }
2513.modal-container { background: #fff; max-width: 500px; width: 100%; margin: 30px auto; position: relative; box-shadow: 0 10px 50px rgba(0,0,0,0.3); }
2514.modal-header { padding: 25px 25px 15px; border-bottom: 1px solid #eee; }
2515.modal-title { font-size: 1.4rem; font-weight: 700; color: #127ec2; margin: 0 0 10px 0; }
2516.modal-categories { display: flex; flex-wrap: wrap; gap: 6px; }
2517.modal-categories span { background: #127ec2; color: #fff; padding: 4px 10px; border-radius: 4px; font-size: 0.75rem; font-weight: 600; }
2518.modal-body { padding: 25px; }
2519.modal-field { margin-bottom:10px; width: 100%; }
2520.modal-field-label { font-weight: 600; color: #333; display: flex; align-items: center; gap: 8px; margin-bottom: 6px; font-size: 0.85rem; text-transform: uppercase; float:left; }
2521.modal-field-label i { color: #127ec2; width: 18px; margin-top: 7px; margin-right: 5px;}
2522.modal-field-value { color: #555; font-size: 1rem; line-height: 1.5; }
2523.modal-description { margin-bottom: 20px; padding-bottom: 15px; border-bottom: 1px solid #eee; }
2524.modal-description .content { color: #555; line-height: 1.6; }
2525.modal-btn {padding: 4px 10px; text-decoration: none; font-weight: 400; font-size: 13px; border: none; cursor: pointer; margin-bottom: 10px; }
2526.modal-btn-directions { background: transparent; color: #212529; border: 1px solid #212529; margin-bottom: 10px; display: table;}
2527.modal-btn-directions:hover { background: #212529; color: #fff; }
2528.modal-btn-close { background:  #7fb1d8; color: #111; font-size: 16px; font-weight: 700; margin-top: 10px; float: right; margin-bottom: 20px; }
2529.modal-btn-close:hover { color: #fff; }
2530.modal-close-x { position: absolute; top: 15px; right: 15px; background: none; border: none; font-size: 28px; color: #666; cursor: pointer; padding: 5px 10px; line-height: 1; }
2531.modal-close-x:hover { color: #333; }
2532@media (max-width: 768px) {
2533    .cat-sidebar { max-height: 250px; margin-bottom: 20px; }
2534    .entry-row { flex-wrap: wrap; }
2535    .entry-tel { width: 100%; padding-left: 44px; margin-top: 5px; }
2536    .modal-container { margin: 10px; }
2537}
2538</style>
2539
2540<section class="annuaire-section">
2541    <div class="container">
2542        
2543        <div class="row mb-3">
2544            <div class="col-12">
2545                <nav class="breadcrumbs"><a href="https://www.commune-nointel.fr/">Accueil</a> / <span>Annuaire</span></nav>                <h1 class="visually-hidden">Annuaire</h1>
2546            </div>
2547        </div>
2548        
2549        <!-- Barre A-Z -->
2550        <div class="alphabet-bar" id="alphabetBar">
2551            <a href="#" data-letter="all" class="active">A-Z</a>
2552                            <a href="#" data-letter="A" class="">A</a>
2553                            <a href="#" data-letter="B" class="disabled">B</a>
2554                            <a href="#" data-letter="C" class="">C</a>
2555                            <a href="#" data-letter="D" class="disabled">D</a>
2556                            <a href="#" data-letter="E" class="disabled">E</a>
2557                            <a href="#" data-letter="F" class="disabled">F</a>
2558                            <a href="#" data-letter="G" class="disabled">G</a>
2559                            <a href="#" data-letter="H" class="disabled">H</a>
2560                            <a href="#" data-letter="I" class="disabled">I</a>
2561                            <a href="#" data-letter="J" class="disabled">J</a>
2562                            <a href="#" data-letter="K" class="disabled">K</a>
2563                            <a href="#" data-letter="L" class="disabled">L</a>
2564                            <a href="#" data-letter="M" class="disabled">M</a>
2565                            <a href="#" data-letter="N" class="disabled">N</a>
2566                            <a href="#" data-letter="O" class="disabled">O</a>
2567                            <a href="#" data-letter="P" class="disabled">P</a>
2568                            <a href="#" data-letter="Q" class="disabled">Q</a>
2569                            <a href="#" data-letter="R" class="disabled">R</a>
2570                            <a href="#" data-letter="S" class="disabled">S</a>
2571                            <a href="#" data-letter="T" class="">T</a>
2572                            <a href="#" data-letter="U" class="disabled">U</a>
2573                            <a href="#" data-letter="V" class="disabled">V</a>
2574                            <a href="#" data-letter="W" class="disabled">W</a>
2575                            <a href="#" data-letter="X" class="disabled">X</a>
2576                            <a href="#" data-letter="Y" class="disabled">Y</a>
2577                            <a href="#" data-letter="Z" class="disabled">Z</a>
2578                    </div>
2579        
2580        <div class="row">
2581            <!-- Colonne gauche : Catégories -->
2582            <div class="col-md-4 col-lg-3">
2583                <div class="cat-sidebar" id="catSidebar">
2584                                                                        <div class="cat-group" data-letter="A">
2585                                <div class="cat-letter">A</div>
2586                                <ul class="cat-list">
2587                                                                            <li>
2588                                            <a href="/annuaire/agroalimentaire" data-slug="agroalimentaire" data-name="Agroalimentaire">Agroalimentaire</a>
2589                                            <button type="button" class="cat-copy-link" title="Copier le lien vers cette catégorie" data-slug="agroalimentaire"><i class="fas fa-link"></i></button>
2590                                        </li>
2591                                                                            <li>
2592                                            <a href="/annuaire/artisanat" data-slug="artisanat" data-name="Artisanat">Artisanat</a>
2593                                            <button type="button" class="cat-copy-link" title="Copier le lien vers cette catégorie" data-slug="artisanat"><i class="fas fa-link"></i></button>
2594                                        </li>
2595                                                                            <li>
2596                                            <a href="/annuaire/associations" data-slug="associations" data-name="Associations">Associations</a>
2597                                            <button type="button" class="cat-copy-link" title="Copier le lien vers cette catégorie" data-slug="associations"><i class="fas fa-link"></i></button>
2598                                        </li>
2599                                                                    </ul>
2600                            </div>
2601                                                    <div class="cat-group" data-letter="C">
2602                                <div class="cat-letter">C</div>
2603                                <ul class="cat-list">
2604                                                                            <li>
2605                                            <a href="/annuaire/culture" data-slug="culture" data-name="Culture">Culture</a>
2606                                            <button type="button" class="cat-copy-link" title="Copier le lien vers cette catégorie" data-slug="culture"><i class="fas fa-link"></i></button>
2607                                        </li>
2608                                                                    </ul>
2609                            </div>
2610                                                    <div class="cat-group" data-letter="T">
2611                                <div class="cat-letter">T</div>
2612                                <ul class="cat-list">
2613                                                                            <li>
2614                                            <a href="/annuaire/trans
2614ports" data-slug="transports" data-name="Transports">Transports</a>
2615                                            <button type="button" class="cat-copy-link" title="Copier le lien vers cette catégorie" data-slug="transports"><i class="fas fa-link"></i></button>
2616                                        </li>
2617                                                                    </ul>
2618                            </div>
2619                                                            </div>
2620            </div>
2621            
2622            <!-- Colonne droite : Carte + Liste -->
2623            <div class="col-md-8 col-lg-9">
2624                <h2 class="section-heading">
2625                    <i class="fas fa-plus-circle"></i>
2626                    <span id="titleText">Toutes les catégories</span>
2627                </h2>
2628                
2629                <div class="map-box">
2630                    <div id="the-map"></div>
2631                </div>
2632                
2633                <div id="entriesContainer"></div>
2634                <div class="no-results" id="noResults" style="display:none;">Aucun résultat trouvé.</div>
2635            </div>
2636        </div>
2637        
2638    </div>
2639</section>
2640
2641<!-- Toast copie lien -->
2642<div class="cat-copy-toast" id="catCopyToast">Lien copié !</div>
2643
2644<!-- MODALE -->
2645<div class="modal-overlay" id="modalOverlay">
2646    <div class="modal-container">
2647        <div class="modal-header">
2648            <button type="button" class="modal-close-x" onclick="closeModal()">&times;</button>
2649            <h2 class="modal-title" id="modalTitle"></h2>
2650        </div>
2651        <div class="modal-body" id="modalBody"></div>
2652    </div>
2653</div>
2654
2655<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/leaflet.min.js"></script>
vendor: 1 bytes, line 2655
2655
2656<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet.markercluster/1.5.3/leaflet.markercluster.min.js"></script>
2656
2657
2658<script>
2659(function(){
2660    var entries = [{"id":1293,"title":"ADAM G\u00e9rald - Plomberie - Chauffage","description":"","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"ADAM G\u00e9rald - Plomberie - Chauffage","prenom":"G\u00e9rald","nom":"ADAM","gender":"2","phone":"0677793533","email":"","website":"","fax":"","address":"6 Impasse d'en Haut","city":"Nointel","zipcode":"60840","lat":49.372722400000001,"lng":2.4835178999999998,"image":false},{"id":1309,"title":"ASCT","description":"<p>Atelier m\u00e9moire le lundi apr\u00e8s-midi \u00e0 la salle des associations (toutes les deux semaines), sorties th\u00e9\u00e2tres ou touristiques<\/p>\n","category":"Associations","category_slug":"associations","categories":["Associations"],"nom_asso":"ASCT","prenom":"Roselyne","nom":"GROBON","gender":"2","phone":"0344505410","email":"","website":"","fax":"","address":"","city":"null","zipcode":"null","lat":null,"lng":null,"image":false},{"id":1311,"title":"AUM EVEIL","description":"<p>Yoga<\/p>\n","category":"Associations","category_slug":"associations","categories":["Associations"],"nom_asso":"AUM EVEIL","prenom":"","nom":"","gender":"2","phone":"","email":"[email protected]","website":"","fax":"","address":"","city":"null","zipcode":"null","lat":null,"lng":null,"image":false},{"id":1315,"title":"Biblioth\u00e8que municipale","description":"<p>Attention, la biblioth\u00e8que municipale n&rsquo;est joignable par t\u00e9l\u00e9phone uniquement durant ses heures d&rsquo;ouverture, soit le mardi de 16h30 \u00e0 18h30<\/p>\n","category":"Culture","category_slug":"culture","categories":["Culture"],"nom_asso":"Biblioth\u00e8que municipale","prenom":"","nom":"Biblioth\u00e8que municipale","gender":"2","phone":"0344510904","email":"[email protected]","website":"","fax":"","address":"Place de la Mairie","city":"Nointel","zipcode":"60840","lat":49.374527,"lng":2.486742,"image":false},{"id":1295,"title":"BORCELLE Jean-Pierre - Tailleur - Graveur","description":"","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"BORCELLE Jean-Pierre - Tailleur - Graveur","prenom":"Jean-Pierre","nom":"BORCELLE","gender":"2","phone":"0961342549","email":"","website":"","fax":"","address":"Route de la Jacquerie","city":"Nointel","zipcode":"60840","lat":49.375771499999999,"lng":2.4902397000000001,"image":false},{"id":1296,"title":"BOUDOUX Bernard - Antiquit\u00e9s - Brocante","description":"","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"BOUDOUX Bernard - Antiquit\u00e9s - Brocante","prenom":"Bernard","nom":"BOUDOUX","gender":"2","phone":"0344504110","email":"","website":"","fax":"","address":"5 Place de la Mairie","city":"Nointel","zipcode":"60840","lat":49.374780000000001,"lng":2.4855379000001001,"image":false},{"id":1297,"title":"C.V. ELEC","description":"<p>Electricit\u00e9 g\u00e9n\u00e9rale (entretien, motorisation, alarme, cabl\u00e2ge r\u00e9seau)<\/p>\n","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"C.V. ELEC","prenom":"C\u00e9dric","nom":"VANDEN-ECKHOUDT","gender":"0","phone":"0623586047","email":"","website":"","fax":"","address":"","city":"","zipcode":"","lat":null,"lng":null,"image":false},{"id":1310,"title":"Comit\u00e9 des F\u00eates de Nointel","description":"<p>Brocante, soir\u00e9es dansantes, festivit\u00e9s de la Pentec\u00f4te, sorties th\u00e9\u00e2tres, sorties dans des parcs d&rsquo;attractions, jeux intervillages &#8230;<\/p>\n","category":"Associations","category_slug":"associations","categories":["Associations"],"nom_asso":"Comit\u00e9 des F\u00eates de Nointel","prenom":"Marie-Fran\u00e7oise","nom":"JOURDAIN","gender":"2","phone":"0602361568","email":"[email protected]","website":"","fax":"","address":"","city":"null","zipcode":"null","lat":null,"lng":null,"image":false},{"id":1298,"title":"Exquiz'Orchid\u00e9e","description":"<p>Organisation et d\u00e9coration d&rsquo;\u00e9v\u00e8nements priv\u00e9s (mariage, anniversaire, communion, baby-shower, etc.) et professionnels (d\u00e9c
2660oration de stand, f\u00eates de fin d&rsquo;ann\u00e9e, comit\u00e9 d&rsquo;entreprise, etc.)<\/p>\n","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"Exquiz'Orchid\u00e9e","prenom":"Anne-Pascale","nom":"EDWIGE","gender":"2","phone":"0665772949","email":"","website":"https:\/\/www.exquizorchidee.fr\/","fax":"","address":"9 Rue du Saulon","city":"Nointel","zipcode":"60840","lat":49.374723099999997,"lng":2.4773722,"image":false},{"id":1299,"title":"FECAMP David - Plomberie - Chauffagiste","description":"","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"FECAMP David - Plomberie - Chauffagiste","prenom":"David","nom":"FECAMP","gender":"2","phone":"0344786896","email":"","website":"","fax":"","address":"Route de la Jacquerie","city":"Nointel","zipcode":"60840","lat":49.375771499999999,"lng":2.4902397000000001,"image":false},{"id":1300,"title":"FF COUVERTURE","description":"<p>Tout type de travaux couverture &#8211; R\u00e9novation &#8211; Nettoyage &#8211; Entretien<\/p>\n","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"FF COUVERTURE","prenom":"FREDERIC","nom":"FECAMP","gender":"0","phone":"0673492199","email":"[email protected]","website":"","fax":"","address":"","city":"","zipcode":"","lat":null,"lng":null,"image":false},{"id":1465,"title":"FLEURS DE BACH","description":"","category":"","category_slug":"","categories":[],"nom_asso":"Conseill\u00e8re agr\u00e9\u00e9e en Fleurs de Bach","prenom":"Isabelle","nom":"DELARUE","gender":"1","phone":"06.48.76.55.41","email":"","website":"","fax":"","address":"","city":"","zipcode":"","lat":null,"lng":null,"image":false},{"id":1312,"title":"Football Club de Nointel","description":"<p>Club de football, des plus petits aux v\u00e9t\u00e9rans<\/p>\n","category":"Associations","category_slug":"associations","categories":["Associations"],"nom_asso":"Football Club de Nointel","prenom":"Christophe","nom":"FLOURY","gender":"2","phone":"0663461955","email":"[email protected]","website":"","fax":"","address":"","city":"null","zipcode":"null","lat":null,"lng":null,"image":false},{"id":1301,"title":"L'AMOUR DE SOI, NATURELLEMENT","description":"<p><strong>Soins &#8211; Beaut\u00e9 &#8211; Bien-\u00eatre &#8211; Minceur : 100 % naturel &#8211; V\u00e9gan &#8211; Sans AGM &#8211; Non test\u00e9 sur les animaux.<\/strong><\/p>\n<p><\/p>\n<p>&#8211; Perte de poids<\/p>\n<p>&#8211; Detox<\/p>\n<p>&#8211; Beaut\u00e9 des ongles<\/p>\n<p>&#8211; Soins de la peau<\/p>\n<p>&#8211; Bien-\u00eatre interne<\/p>\n<p>&#8211; Solutions pour Psoriasis, Eczema, Fybromialgie, Polyarthrite, Arthrose<\/p>\n","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"L'AMOUR DE SOI, NATURELLEMENT","prenom":"Christelle","nom":"PAYET","gender":"1","phone":"\"\"","email":"[email protected]","website":"www.facebook\/groups\/796587544290395","fax":"","address":"","city":"","zipcode":"","lat":null,"lng":null,"image":false},{"id":1292,"title":"L'ATELIER DES PAINS - Boulangerie - P\u00e2tisserie","description":"","category":"Agroalimentaire","category_slug":"agroalimentaire","categories":["Agroalimentaire"],"nom_asso":"L'Atelier des Pains - Boulangerie - P\u00e2tisserie","prenom":"","nom":"","gender":"2","phone":"03 44 19 12 65","email":"","website":"","fax":"","address":"281 Route de la Jacquerie","city":"Nointel","zipcode":"60840","lat":49.375771499999999,"lng":2.4902397000000001,"image":false},{"id":1302,"title":"L'ATELIER FLORAL - Fleuriste","description":"","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"L'ATELIER FLORAL - Fleuriste","prenom":"","nom":"FLORAL ATELIER","gender":"2","phone":"0344190529","email":"","website":"","fax":"","address":"38 Route de la Jacquerie","city":"Nointel","zipcode":"60840","lat":49.377102299999997,"lng":2.4850101000000002,"image":false},{"id":1303,"title":"LE FLOHIC Philippe - G\u00e9om\u00e8tre","description":"","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"LE FLOHIC Philippe - G\u00e9om\u00e8tre","prenom":"Philippe","nom":"LE FLOHIC","gender":"2","phone":"0344680076","email":"","website":"","fax":"","address":"26 Impasse Bellevue","city":"Nointel","zipcode":"60840","lat":49.370289399999997,"lng":2.4890891000000002,"image":false},{"id":1304,"title":"LILA DES BOIS - Cr\u00e9ation Textile - D\u00e9corations","description":"","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"LILA DES BOIS - Cr\u00e9ation Textile - D\u00e9corations","prenom":"Patricia","nom":"BAILLEUL","gender":"2","phone":"0360375161","email":"","website":"","fax":"","address":"5 Rue du Saulon","city":"Nointel","zipcode":"60840","lat":49.374633600000003,"lng":2.4780084000000002,"image":false},{"id":1294,"title":"MOREL Sylvain - Architecte","description":"","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"MOREL Sylvain - Architecte","prenom":"Sylvain","nom":"MOREL","gender":"2","phone":"0671652676","email":"","website":"","fax":"","address":"20 Rue du Ch\u00e2teau","city":"Nointel","zipcode":"60840","lat":49.369110599999999,"lng":2.4847747,"image":false},{"id":1305,"title":"NICO PLOMBERIE CHAUFFAGE","description":"<p>
2660Plomberie, chauffage et salle de bain<\/p>\n","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"NICO PLOMBERIE CHAUFFAGE","prenom":"Nicolas","nom":"ROGER","gender":"0","phone":"0633580011","email":"[email protected]","website":"","fax":"","address":"10 Rue de la Gare","city":"Nointel","zipcode":"60840","lat":49.375570500000002,"lng":2.4807204999999999,"image":false},{"id":1318,"title":"OISE MOBILITE","description":"<p>Oise Mobilit\u00e9 g\u00e8re les transports en autocar dans le D\u00e9partement de l&rsquo;Oise (transports scolaires et autres)<\/p>\n","category":"Transports","category_slug":"transports","categories":["Transports"],"nom_asso":"OISE MOBILITE","prenom":"","nom":"","gender":"2","phone":"0970150150","email":"","website":"https:\/\/www.oise-mobilite.fr\/","fax":"","address":"","city":"null","zipcode":"null","lat":null,"lng":null,"image":false},{"id":1306,"title":"Peggy Bertrand","description":"<p><strong>Mon r\u00f4le consiste \u00e0 vous apprendre \u00e0 utiliser votre cr\u00e9ativit\u00e9, partager des id\u00e9es de projets amusants avec vous ainsi que des offres sp\u00e9ciales et, bien s\u00fbr, vous en apprendre plus au sujet de nos merveilleux produits cr\u00e9atifs. Envoyez-moi un courriel ou appelez-moi et il me fera plaisir de vous aider \u00e0 explorer votre cr\u00e9ativit\u00e9 !<\/strong><\/p>\n","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"Peggy Bertrand","prenom":"PEGGY","nom":"BERTRAND","gender":"1","phone":"0689332346","email":"[email protected]","website":"https:\/\/peggybertrand.stampinup.net\/","fax":"","address":"3 Rue du Saulon","city":"Nointel","zipcode":"60840","lat":49.374525800000001,"lng":2.4781911000000001,"image":false},{"id":1319,"title":"RS TRANSPORT","description":"<p>Rudy &amp; Tiffany \u00e0 votre service.<\/p>\n<p>Taxis conventionn\u00e9s toutes caisses maladies (conventionn\u00e9 CPAM).<\/p>\n<p>RS TRANSPORT est \u00e0 votre disposition pour tous types de transferts, toutes distances, 24h\/24 &amp; 7j\/7.<\/p>\n","category":"Transports","category_slug":"transports","categories":["Transports"],"nom_asso":"RS TRANSPORT","prenom":"","nom":"","gender":"2","phone":"0750275097","email":"[email protected]","website":"","fax":"","address":"Impasse Bellevue","city":"Nointel","zipcode":"60840","lat":49.370876000000003,"lng":2.4878770000000001,"image":false},{"id":1307,"title":"Soci\u00e9t\u00e9 Petit Courant Electricit\u00e9","description":"","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"Soci\u00e9t\u00e9 Petit Courant Electricit\u00e9","prenom":"","nom":"SPCE SARL","gender":"2","phone":"0433749069","email":"","website":"","fax":"","address":"Route de la Jacquerie","city":"Nointel","zipcode":"60840","lat":49.375771499999999,"lng":2.4902397000000001,"image":false},{"id":1313,"title":"Sport & bien-\u00eatre","description":"<p>Gym d&rsquo;entretien, baby-gym, marche nordique<\/p>\n","category":"Associations","category_slug":"associations","categories":["Associations"],"nom_asso":"Sport & bien-\u00eatre","prenom":"La\u00ebtitia","nom":"JOURDAIN","gender":"2","phone":"0650787207","email":"[email protected]","website":"","fax":"","address":"","city":"null","zipcode":"null","lat":null,"lng":null,"image":false},{"id":1314,"title":"Step N'Jazz","description":"<p>Danse moderne alliant le contemporain et le street. Cours de step et de lia. D\u00e8s 6 ans.<\/p>\n","category":"Associations","category_slug":"associations","categories":["Associations"],"nom_asso":"Step N'Jazz","prenom":"C\u00e9line","nom":"FIAUDRIN","gender":"2","phone":"0613623216","email":"","website":"https:\/\/www.facebook.com\/Association-StepN-Jazz-341528949907423\/","fax":"","address":"","city":"null","zipcode":"null","lat":null,"lng":null,"image":false},{"id":1308,"title":"TIOTE BEAUTE","description":"<p>Salon de coiffure<\/p>\n","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"TIOTE BEAUTE","prenom":"","nom":"","gender":"2","phone":"06.65.44.83.05","email":"","website":"","fax":"","address":"672 Route de la Jacquerie","city":"Nointel","zipcode":"60840","lat":49.377102299999997,"lng":2.4850101000000002,"image":false}];
2661    var cats = [{"name":"Agroalimentaire","slug":"agroalimentaire","letter":"A"},{"name":"Artisanat","slug":"artisanat","letter":"A"},{"name":"Associations","slug":"associations","letter":"A"},{"name":"Culture","slug":"culture","letter":"C"},{"name":"Transports","slug":"transports","letter":"T"}];
2662    var annuaireBasePath = "\/annuaire";
2663    
2664    var map, markers;
2665    var currentLetter = 'all';
2666    var currentCat = null;
2667    
2668    function getGenderLabel(gender) {
2669        if (gender === '0' || gender === 0) return 'Monsieur';
2670        if (gender === '1' || gender === 1) return 'Madame';
2671        return '';
2672    }
2673    
2674     function init() {
2675        // Init map
2676        map = L.map('the-map').setView([46.6, 2.0], 6);
2677        L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
2678            attribution: '© OpenStreetMap'
2679        }).addTo(map);
2680        
2681        // Fallback si markercluster n'est pas chargé
2682        if (typeof L.markerClusterGroup === 'function') {
2683            markers = L.markerClusterGroup();
2684        } else {
2685            console.warn('Leaflet.markercluster non chargé, utilisation d\'un LayerGroup standard');
2686            markers = L.layerGroup();
2687        }
2688        map.addLayer(markers);
2689        
2690        // Barre A-Z
2691        var alphaBtns = document.querySelectorAll('#alphabetBar a');
2692        alphaBtns.forEach(function(btn) {
2693            btn.addEventListener('click', function(e) {
2694                e.preventDefault();
2695                var letter = this.getAttribute('data-letter');
2696                
2697                alphaBtns.forEach(function(b) { b.classList.remove('active'); });
2698                this.classList.add('active');
2699                
2700                currentLetter = letter;
2701                
2702                // Filtrer catégories affichées
2703                document.querySelectorAll('.cat-group').forEach(function(g) {
2704                    if (letter === 'all' || g.getAttribute('data-letter') === letter) {
2705                        g.classList.remove('hide');
2706                    } else {
2707                        g.classList.add('hide');
2708                    }
2709                });
2710                
2711                // Désélectionner catégorie
2712                document.querySelectorAll('.cat-list a').forEach(function(a) { a.classList.remove('active'); });
2713                currentCat = null;
2714                document.getElementById('titleText').textContent = 'Toutes les catégories';
2715                
2716                // Réinitialiser l'URL
2717                if (history.replaceState) {
2718                    history.replaceState(null, null, annuaireBasePath + '/');
2719                }
2720                
2721                // Filtrer entrées
2722                var filtered = entries;
2723                if (letter !== 'all') {
2724                    var visibleCats = [];
2725                    cats.forEach(function(c) {
2726                        if (c.letter === letter) visibleCats.push(c.name);
2727                    });
2728                    filtered = entries.filter(function(e) {
2729                        return e.categories && e.categories.some(function(cat) {
2730                            return visibleCats.indexOf(cat) !== -1;
2731                        });
2732                    });
2733                }
2734                renderEntries(filtered);
2735            });
2736        });
2737        
2738        // Clic catégorie
2739        document.querySelectorAll('.cat-list a').forEach(function(link) {
2740            link.addEventListener('click', function(e) {
2741                e.preventDefault();
2742                var catName = this.getAttribute('data-name');
2743                var catSlug = this.getAttribute('data-slug');
2744                
2745                document.querySelectorAll('.cat-list a').forEach(function(a) { a.classList.remove('active'); });
2746                this.classList.add('active');
2747                
2748                currentCat = catName;
2749                document.getElementById('titleText').textContent = catName;
2750                
2751                // Mettre à jour l'URL (sans recharger)
2752                if (history.pushState) {
2753                    history.pushState(null, null, annuaireBasePath + '/' + catSlug);
2754                }
2755                
2756                var filtered = entries.filter(function(e) {
2757                    return e.categories && e.categories.indexOf(catName) !== -1;
2758                });
2759                renderEntries(filtered);
2760            });
2761        });
2762        
2763        // Boutons copier le lien
2764        document.querySelectorAll('.cat-copy-link').forEach(function(btn) {
2765            btn.addEventListener('click', function(e) {
2766                e.preventDefault();
2767                e.stopPropagation();
2768                var slug = this.getAttribute('data-slug');
2769                var url = window.location.origin + annuaireBasePath + '/' + slug;
2770                var self = this;
2771                
2772                if (navigator.clipboard && navigator.clipboard.writeText) {
2773                    navigator.clipboard.writeText(url).then(function() {
2774                        showCopyToast();
2775                        self.classList.add('copied');
2776                        setTimeout(function() { self.classList.remove('copied'); }, 2000);
2777                    });
2778                } else {
2779                    var tmp = document.createElement('textarea');
2780                    tmp.value = url;
2781                    tmp.style.position = 'fixed';
2782                    tmp.style.left = '-9999px';
2783                    document.body.appendChild(tmp);
2784                    tmp.select();
2785                    document.execCommand('copy');
2786                    document.body.removeChild(tmp);
2787                    showCopyToast();
2788                    self.classList.add('copied');
2789                    setTimeout(function() { self.classList.remove('copied'); }, 2000);
2790                }
2791            });
2792        });
2793        
2794        // Afficher toutes les entrées puis ouvrir catégorie depuis l'URL
2795        renderEntries(entries);
2796        openCategoryFromUrl();
2797        window.addEventListener('popstate', openCategoryFromUrl);
2798    }
2799    
2800    function renderEntries(data) {
2801        var container = document.getElementById('entriesContainer');
2802        var noResults = document.getElementById('noResults');
2803        container.innerHTML = '';
2804        markers.clearLayers();
2805        
2806        if (!data || data.length === 0) {
2807            container.style.display = 'none';
2808            noResults.style.display = 'block';
2809            return;
2810        }
2811        
2812        container.style.display = 'block';
2813        noResults.style.display = 'none';
2814        
2815        var bounds = [];
2816        
2817        for (var i = 0; i < data.length; i++) {
2818            var e = data[i];
2819            var num = i + 1;
2820            
2821            var row = document.createElement('div');
2822            row.className = 'entry-row';
2823            row.setAttribute('data-id', e.id);
2824            
2825            var tel = '';
2826            if (e.phone) {
2827                var phoneClean = e.phone.replace(/"/g, '');
2828                var phones = phoneClean.split(',').map(function(p) { return p.trim(); }).filter(function(p) { return p; });
2829                tel = '<div class="entry-tel">Tél: <b>' + phones.map(esc).join(', ') + '</b></div>';
2830            }
2831            row.innerHTML = '<div class="entry-num">' + num + '</div><div class="entry-name">' + esc(e.title) + '</div>' + tel;
2832            
2833            (function(entry) {
2834                row.addEventListener('click', function() {
2835                    openModal(entry);
2836                });
2837            })(e);
2838            
2839            container.appendChild(row);
2840            
2841            if (e.lat && e.lng) {
2842                var icon = L.divIcon({
2843                    className: '',
2844                    html: '<div class="marker-icon">' + num + '</div>',
2845                    iconSize: [28, 28],
2846                    iconAnchor: [14, 14]
2847                });
2848                var m = L.marker([e.lat, e.lng], {icon: icon});
2849                
2850                (function(entry) {
2851                    m.on('click', function() {
2852                        openModal(entry);
2853                    });
2854                })(e);
2855                
2856                markers.addLayer(m);
2857                bounds.push([e.lat, e.lng]);
2858            }
2859        }
2860        
2861        if (bounds.length > 0) {
2862            map.fitBounds(bounds, {padding: [30, 30]});
2863        }
2864    }
2865    
2866    function openModal(entry) {
2867        var overlay = document.getElementById('modalOverlay');
2868        var title = document.getElementById('modalTitle');
2869        var body = document.getElementById('modalBody');
2870        
2871        // Titre
2872        title.textContent = entry.title;
2873       
2874        // Contenu - ordre: Description, Adresse, Itinéraire, Téléphone, Fax, Courriel, Site web, Fermer
2875        var html = '';
2876        
2877        // Description
2878        if (entry.description) {
2879            html += '<div class="modal-description"><div class="content">' + entry.description + '</div></div>';
2880        }
2881        
2882        // Adresse complète (rue, code postal ville)
2883        var fullAddress = '';
2884        if (entry.address) {
2885            fullAddress = entry.address;
2886            if (entry.zipcode || entry.city) {
2887                fullAddress += ', ' + ((entry.zipcode || '') + ' ' + (entry.city || '')).trim();
2888            }
2889        } else if (entry.zipcode || entry.city) {
2890            fullAddress = ((entry.zipcode || '') + ' ' + (entry.city || '')).trim();
2891        }
2892        
2893        if (fullAddress) {
2894            html += '<div class="modal-field"><div class="modal-field-label"><i class="fas fa-map-marker-alt"></i></div><div class="modal-field-value">' + esc(fullAddress) + '</div></div>';
2895        }
2896        
2897        // Bouton Itinéraire
2898        if (entry.lat && entry.lng) {
2899            html += '<a href="https://www.google.com/maps/dir/?api=1&destination=' + entry.lat + ',' + entry.lng + '" target="_blank" class="modal-btn modal-btn-directions"><i class="fas fa-directions"></i> Itinéraire</a>';
2900        }
2901
2902        // Civilité + Prénom + Nom (si différent du titre)
2903            var fullName = '';
2904            var gender = entry.gender;
2905            if (gender === '0' || gender === 0) fullName += 'Monsieur ';
2906            else if (gender === '1' || gender === 1) fullName += 'Madame ';
2907            
2908            if (entry.prenom) fullName += entry.prenom + ' ';
2909            if (entry.nom) fullName += entry.nom;
2910            fullName = fullName.trim();
2911            
2912            if (fullName && fullName !== entry.title) {
2913                html += '<div class="modal-field"><div class="modal-field-label"><i class="fas fa-user"></i></div><div class="modal-field-value">' + esc(fullName) + '</div></div>';
2914            }
2915        
2916        // Téléphone (texte brut, non cliquable)
2917        if (entry.phone) {
2918            var phoneClean = entry.phone.replace(/"/g, '');
2919            var phones = phoneClean.split(',').map(function(p) { return p.trim(); }).filter(function(p) { return p; });
2920            var phonesHtml = phones.map(function(p) { return esc(p); }).join('<br>');
2921            html += '<div class="modal-field"><div class="modal-field-label"><i class="fas fa-phone"></i></div><div class="modal-field-value">' + phonesHtml + '</div></div>';
2922        }
2923        
2924        // Fax
2925        if (entry.fax) {
2926            html += '<div class="modal-field"><div class="modal-field-label"><i class="fas fa-fax"></i></div><div class="modal-field-value">' + esc(entry.fax) + '</div></div>';
2927        }
2928        
2929        // Courriel (texte brut, non cliquable)
2930        if (entry.email) {
2931            html += '<div class="modal-field"><div class="modal-field-label"><i class="fas fa-envelope"></i></div><div class="modal-field-value">' + esc(entry.email) + '</div></div>';
2932        }
2933        
2934        // Site web (texte brut, non cliquable)
2935        if (entry.website) {
2936            var url = entry.website;
2937            if (url.indexOf('http') !== 0) { url = 'https://' + url; }
2938            html += '<div class="modal-field"><div class="modal-field-label"><i class="fas fa-globe"></i></div><div class="modal-field-value"><a href="' + esc(url) + '" target="_blank" rel="noopener noreferrer">' + esc(entry.website) + '</a></div></div>';
2939        }
2940        
2941        // Bouton Fermer
2942        html += '<button type="button" class="modal-btn modal-btn-close" onclick="closeModal()">Fermer</button>';
2943        
2944        body.innerHTML = html;
2945        
2946        // Ouvrir la modale
2947        overlay.classList.add('open');
2948        document.body.style.overflow = 'hidden';
2949    }
2950    
2951    function openCategoryFromUrl() {
2952        // Lire le slug depuis le path : /vermelles/annuaire/slug
2953        var path = window.location.pathname.replace(/\/+$/, '');
2954        var base = annuaireBasePath.replace(/\/+$/, '');
2955        var slug = '';
2956        if (path.length > base.length && path.indexOf(base) === 0) {
2957            slug = path.substring(base.length + 1);
2958        }
2959        if (slug) {
2960            var link = document.querySelector('.cat-list a[data-slug="' + slug + '"]');
2961            if (link) {
2962                link.click();
2963                setTimeout(function() {
2964                    link.scrollIntoView({ behavior: 'smooth', block: 'center' });
2965                }, 100);
2966            }
2967        }
2968    }
2969    
2970    function showCopyToast() {
2971        var t = document.getElementById('catCopyToast');
2972        t.classList.add('show');
2973        setTimeout(function() { t.classList.remove('show'); }, 2000);
2974    }
2975    
2976    function closeModal() {
2977        document.getElementById('modalOverlay').classList.remove('open');
2978        document.body.style.overflow = '';
2979    }
2980    
2981    function esc(s) {
2982        if (!s) return '';
2983        var d = document.createElement('div');
2984        d.textContent = s;
2985        return d.innerHTML;
2986    }
2987    
2988    // Exposer closeModal globalement pour le bouton
2989    window.closeModal = closeModal;
2990    
2991    // Fermer en cliquant sur l'overlay
2992    document.getElementById('modalOverlay').addEventListener('click', function(e) {
2993        if (e.target === this) {
2994            closeModal();
2995        }
2996    });
2997    
2998    if (document.readyState === 'loading') {
2999        document.addEventListener('DOMContentLoaded', init);
3000    } else {
3001        init();
3002    }
3003})();
3004</script>
3004
3005
3006</main>
3007
3008<footer class="" role="contentinfo">
3009  <div class="container px-3 pt-3 px-md-5 pt-md-5 pb-5">
3010    <div class="row mb-3 mb-md-4">
3011
3012      <!-- LOGO -->
3013      <div class="col-4 col-md-3 mb-3 mb-md-0">
3014        <a href="https://www.commune-nointel.fr/" class="d-inline-flex align-items-center text-light text-decoration-none">
3015          <img src="https://www.commune-nointel.fr/wp-content/uploads/sites/52/2026/08/LOGO-1.jpg" alt="MAIRIE DE NOINTEL - Accueil" class="footer-logo">
3016        </a>
3017      </div>
3018      <div class="col-md-8">
3019        <div class="koba-social-links"><a href="https://www.facebook.com/mairiedenointeloise" target="_blank" rel="noopener" aria-label="Facebook"><svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/></svg></a></div>      </div>
3020      <div class="col-12 col-md-3 mb-3">
3021        <div class="footer-address">
3022          <p></p>
3023          <p>
3024              19, Place de la Mairie<br>
3025              60840 NOINTEL<br>
3026              Tél : <a href="tel:0344783425">0344783425</a>          </p>
3027        </div>
3028      </div>
3029
3030      <div class="col-12 col-md-9">
3031        <ul id="menu-menu-principal-1" class="footer-menu"><li><a href="#">NOINTEL</a>
3032<ul>
3033<li><a href="https://www.commune-nointel.fr/articles/situation-chiffres-cles/">Situation et Chiffres clés</a></li>
3034<li><a href="#">Histoire</a>
3035<ul>
3036<li><a href="https://www.commune-nointel.fr/articles/nointel-a-travers-le-temps/">Nointel à travers le temps</a></li>
3037<li><a href="https://www.commune-nointel.fr/articles/notre-patrimoine/">Notre patrimoine</a></li>
3038</ul>
3039</li>
3040</ul>
3041</li>
3042<li><a href="#">LA MAIRIE</a>
3043<ul>
3044<li><a href="https://www.commune-nointel.fr/articles/vos-elus/">Vos élus</a></li>
3045<li><a href="https://www.commune-nointel.fr/articles/le-conseil-municipal/">Le conseil municipal</a></li>
3046<li><a href="https://www.commune-nointel.fr/articles/les-equipements-municipaux/">Les équipements municipaux</a></li>
3047<li><a href="https://www.commune-nointel.fr/kiosks">Bulletins municipaux</a></li>
3048</ul>
3049</li>
3050<li><a href="#">VIVRE À NOINTEL</a>
3051<ul>
3052<li><a href="#">Démarches administratives</a>
3053<ul>
3054<li><a href="#">Etat Civil</a></li>
3055<li><a href="#">Elections</a></li>
3056<li><a href="#">Affaires Générales</a></li>
3057<li><a href="#">Cimetière</a></li>
3058</ul>
3059</li>
3060<li><a href="#">Enfance &amp; éducation</a>
3061<ul>
3062<li><a href="https://www.commune-nointel.fr/articles/ecole/">École Christian Koehler</a></li>
3063<li><a href="https://www.commune-nointel.fr/articles/restaurant-scolaire/">Restaurant scolaire</a></li>
3064<li><a href="https://www.commune-nointel.fr/articles/periscolaire/">Périscolaire</a></li>
3065<li><a href="https://www.commune-nointel.fr/articles/portail-famille/">Portail Famille</a></li>
3066</ul>
3067</li>
3068<li><a href="#">Environnement</a>
3069<ul>
3070<li><a href="https://www.commune-nointel.fr/articles/l-intercommunalite/">L&#039;intercommunalité</a></li>
3071<li><a href="https://www.commune-nointel.fr/articles/le-smdo/">Le SMDO</a></li>
3072<li><a href="https://www.commune-nointel.fr/articles/dechets/">Les déchets</a></li>
3073<li><a href="https://www.commune-nointel.fr/articles/voisinage-et-bruits/">Voisinage et bruit</a></li>
3074<li><a href="https://www.commune-nointel.fr/articles/urbanisme/">Urbanisme</a></li>
3075<li><a href="https://www.commune-nointel.fr/articles/securite/">Sécurité</a></li>
3076<li><a href="https://www.commune-nointel.fr/articles/tres-haut-debit/">Très Haut Débit</a></li>
3077</ul>
3078</li>
3079<li><a href="#">Transports</a>
3080<ul>
3081<li><a href="https://www.commune-nointel.fr/articles/permis-de-conduire/">Permis de conduire</a></li>
3082<li><a href="https://www.commune-nointel.fr/articles/trains/">Trains</a></li>
3083<li><a href="https://www.commune-nointel.fr/articles/bus/">Cars</a></li>
3084<li><a href="https://www.commune-nointel.fr/articles/transport-a-la-demande/">Le Bus du Clermontois</a></li>
3085<li><a href="https://www.commune-nointel.fr/articles/taxi/">Taxis</a></li>
3086</ul>
3087</li>
3088</ul>
3089</li>
3090<li><a href="#">VIE ÉCONOMIQUE &amp; ASSOCIATIVE</a>
3091<ul>
3092<li><a href="https://www.commune-nointel.fr/articles/marches-publics/">Marchés publics</a></li>
3093<li><a href="https://www.commune-nointel.fr/articles/les-artisans-de-nointel/">Les artisans de Nointel</a></li>
3094<li><a href="https://www.commune-nointel.fr/articles/les-commercants/">Les commerçants</a></li>
3095<li><a href="https://www.commune-nointel.fr/articles/les-associations-de-nointel/">Les associations de Nointel</a></li>
3096<li><a href="https://www.commune-nointel.fr/articles/bibliotheque/">La bibliothèque</a></li>
3097</ul>
3098</li>
3099</ul>      </div>
3100    </div>
3101  </div>
3102</footer>
3103<div class="footer-bottom">
3104    <div class="container-fluid">
3105      <div class="row">
3106        <div class="col-12 col-md-6 mb-3 mb-md-0 footer-bottom-left">
3107              <ul class="koba-menu-list">
3108                                                  <li class="">
3109                      <a href="https://www.commune-nointel.fr/mentions-legales/">Mentions légales</a>
3110                  </li>
3111                  <li class="">
3112                      <a href="https://www.commune-nointel.fr/accessibilite/">Accessibilité</a>
3113                  </li>
3114                  <li class="">
3115                      <a href="https://www.commune-nointel.fr/plan-du-site/">Plan du site</a>
3116                  </li>
3117                  <li class="">
3118                      <a href="https://www.commune-nointel.fr/contact/">NOUS CONTACTER</a>
3119                  </li>
3120                  <li class="">
3121                      <span>© 2026 </span>
3122                  </li>
3123              </ul>   
3124        </div>
3125        <div class="col-12 col-md-6 mb-3 mb-md-0 justify-content-end footer-bottom-right">
3126          <div class="text-white" bis_skin_checked="1">
3127            <p><a href="https://www.site-internet-mairie.com/" target="_blank" rel="noopener" title="Création site internet mairie partenaire de Koba Civique pour la numérisation des mairies et collectivités territoriales. Un service du groupe KobaciviqueByHob, experts Wordpress, Joomla et PrestaShop. Numéro un des sites internet pour les communes et villes.">Création Site Mairie</a> par <a href="https://www.koba-civique.com/" target="_blank" rel="noopener" title="Création site internet mairie. Koba civique solution numéro un du marché pour les sites internet des communes et villes en France">KobaciviqueByHob</a></p>
3128          </div>
3129        </div>
3130      </div>
3131    </div>
3132</div>
3133    
3133<script>
3134    if ('serviceWorker' in navigator) {
3135        navigator.serviceWorker.register('https://www.commune-nointel.fr/koba-sw.js', { scope: '/' })
3136            .catch(function(err) { console.log('SW error:', err); });
3137    }
3138    if (window.matchMedia('(display-mode: standalone)').matches || window.navigator.standalone === true) {
3139        document.cookie = 'koba_pwa=1; path=/; max-age=2592000; SameSite=Lax';
3140    }
3141    </script>
3141
3142    
3142<script type="speculationrules">
3143{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/sites/52/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/hob-koba-civique/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
3144</script>
3144
3145    <style>
3146    #koba-chat-widget {
3147        position: fixed;
3148        bottom: 20px;
3149        right: 20px; left: auto;        z-index: 99999;
3150        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
3151    }
3152    #koba-chat-button {
3153        width: 60px;
3154        height: 60px;
3155        border-radius: 50%;
3156        background: #667eea;
3157        border: none;
3158        cursor: pointer;
3159        box-shadow: 0 4px 20px rgba(0,0,0,0.25);
3160        display: flex;
3161        align-items: center;
3162        justify-content: center;
3163        transition: all 0.3s ease;
3164        position: relative;
3165    }
3166    #koba-chat-button:hover {
3167        transform: scale(1.1);
3168        box-shadow: 0 6px 25px rgba(0,0,0,0.3);
3169    }
3170    #koba-chat-button svg {
3171        width: 28px;
3172        height: 28px;
3173        fill: #fff;
3174    }
3175    #koba-chat-button .close-icon { display: none; }
3176    #koba-chat-widget.open #koba-chat-button .chat-icon { display: none; }
3177    #koba-chat-widget.open #koba-chat-button .close-icon { display: block; }
3178    
3179    /* Indicateur de statut sur le bouton */
3180    #koba-chat-button::after {
3181        content: '';
3182        position: absolute;
3183        top: 5px;
3184        right: 5px;
3185        width: 14px;
3186        height: 14px;
3187        border-radius: 50%;
3188        border: 2px solid #fff;
3189        background: #dc3545;
3190    }
3191    
3192    #koba-chat-box {
3193        position: absolute;
3194        bottom: 75px;
3195        right: 0;        width: 350px;
3196        height: 450px;
3197        background: #fff;
3198        border-radius: 16px;
3199        box-shadow: 0 10px 40px rgba(0,0,0,0.2);
3200        display: none;
3201        flex-direction: column;
3202        overflow: hidden;
3203    }
3204    #koba-chat-widget.open #koba-chat-box {
3205        display: flex;
3206    }
3207    
3208    .koba-chat-header {
3209        background: #667eea;
3210        color: #fff;
3211        padding: 18px 20px;
3212        display: flex;
3213        align-items: center;
3214        gap: 12px;
3215    }
3216    .koba-chat-header-avatar {
3217        width: 40px;
3218        height: 40px;
3219        background: rgba(255,255,255,0.2);
3220        border-radius: 50%;
3221        display: flex;
3222        align-items: center;
3223        justify-content: center;
3224        position: relative;
3225    }
3226    .koba-chat-header-avatar svg { width: 22px; height: 22px; fill: #fff; }
3227    .koba-chat-header-avatar::after {
3228        content: '';
3229        position: absolute;
3230        bottom: 0;
3231        right: 0;
3232        width: 12px;
3233        height: 12px;
3234        border-radius: 50%;
3235        border: 2px solid #667eea;
3236        background: #dc3545;
3237    }
3238    .koba-chat-header-info h4 { margin: 0; font-size: 15px; }
3239    .koba-chat-header-info span { font-size: 12px; opacity: 0.9; }
3240    .koba-chat-header-status { display: flex; align-items: center; gap: 5px; font-size: 11px; margin-top: 2px; }
3241    .koba-chat-header-status-dot { width: 8px; height: 8px; border-radius: 50%; background: #ff6b6b; }
3242    
3243    .koba-chat-messages {
3244        flex: 1;
3245        overflow-y: auto;
3246        padding: 15px;
3247        background: #f8f9fa;
3248    }
3249    .koba-chat-msg {
3250        margin-bottom: 12px;
3251        display: flex;
3252    }
3253    .koba-chat-msg.user { justify-content: flex-end; }
3254    .koba-chat-msg.admin { justify-content: flex-start; }
3255    .koba-chat-msg-bubble {
3256        max-width: 80%;
3257        padding: 10px 14px;
3258        border-radius: 16px;
3259        font-size: 14px;
3260        line-height: 1.4;
3261    }
3262    .koba-chat-msg.user .koba-chat-msg-bubble {
3263        background: #667eea;
3264        color: #fff;
3265        border-bottom-right-radius: 4px;
3266    }
3267    .koba-chat-msg.admin .koba-chat-msg-bubble {
3268        background: #fff;
3269        border: 1px solid #e0e0e0;
3270        border-bottom-left-radius: 4px;
3271    }
3272    .koba-chat-msg-time {
3273        font-size: 10px;
3274        opacity: 0.7;
3275        margin-top: 4px;
3276    }
3277    
3278    .koba-chat-welcome {
3279        background: #e8f4fd;
3280        padding: 12px 15px;
3281        border-radius: 12px;
3282        margin-bottom: 15px;
3283        font-size: 13px;
3284        color: #1a5a7a;
3285        border-left: 3px solid #667eea;
3286    }
3287    
3288    /* Message hors ligne */
3289    .koba-chat-offline {
3290        flex: 1;
3291        display: flex;
3292        flex-direction: column;
3293        align-items: center;
3294        justify-content: center;
3295        padding: 30px;
3296        text-align: center;
3297        background: #f8f9fa;
3298    }
3299    .koba-chat-offline-icon {
3300        width: 60px;
3301        height: 60px;
3302        background: #fee2e2;
3303        border-radius: 50%;
3304        display: flex;
3305        align-items: center;
3306        justify-content: center;
3307        margin-bottom: 15px;
3308    }
3309    .koba-chat-offline-icon svg {
3310        width: 30px;
3311        height: 30px;
3312        fill: #dc3545;
3313    }
3314    .koba-chat-offline h4 {
3315        margin: 0 0 10px;
3316        color: #333;
3317        font-size: 16px;
3318    }
3319    .koba-chat-offline p {
3320        margin: 0 0 15px;
3321        color: #666;
3322        font-size: 14px;
3323        line-height: 1.5;
3324    }
3325    .koba-chat-offline-next {
3326        background: #fff;
3327        padding: 12px 20px;
3328        border-radius: 8px;
3329        border: 1px solid #e0e0e0;
3330        font-size: 13px;
3331    }
3332    .koba-chat-offline-next strong {
3333        color: #667eea;
3334        display: block;
3335        margin-top: 5px;
3336        font-size: 15px;
3337    }
3338    
3339    .koba-chat-form {
3340        padding: 15px;
3341        border-top: 1px solid #eee;
3342        background: #fff;
3343    }
3344    .koba-chat-form input, .koba-chat-form textarea {
3345        width: 100%;
3346        padding: 10px 12px;
3347        border: 1px solid #ddd;
3348        border-radius: 8px;
3349        font-size: 14px;
3350        margin-bottom: 10px;
3351        font-family: inherit;
3352    }
3353    .koba-chat-form input:focus, .koba-chat-form textarea:focus {
3354        outline: none;
3355        border-color: #667eea;
3356    }
3357    .koba-chat-form button {
3358        width: 100%;
3359        padding: 12px;
3360        background: #667eea;
3361        color: #fff;
3362        border: none;
3363        border-radius: 8px;
3364        font-size: 14px;
3365        font-weight: 600;
3366        cursor: pointer;
3367        transition: all 0.2s;
3368    }
3369    .koba-chat-form button:hover {
3370        opacity: 0.9;
3371    }
3372    
3373    .koba-chat-input-area {
3374        display: flex;
3375        gap: 10px;
3376        padding: 15px;
3377        border-top: 1px solid #eee;
3378        background: #fff;
3379    }
3380    .koba-chat-input-area input {
3381        flex: 1;
3382        padding: 12px 15px;
3383        border: 1px solid #ddd;
3384        border-radius: 25px;
3385        font-size: 14px;
3386    }
3387    .koba-chat-input-area input:focus {
3388        outline: none;
3389        border-color: #667eea;
3390    }
3391    .koba-chat-input-area button {
3392        width: 45px;
3393        height: 45px;
3394        border-radius: 50%;
3395        background: #667eea;
3396        border: none;
3397        cursor: pointer;
3398        display: flex;
3399        align-items: center;
3400        justify-content: center;
3401    }
3402    .koba-chat-input-area button svg {
3403        width: 20px;
3404        height: 20px;
3405        fill: #fff;
3406    }
3407    
3408    @media (max-width: 480px) {
3409        #koba-chat-box {
3410            width: calc(100vw - 40px);
3411            height: 70vh;
3412        }
3413    }
3414    </style>
3415    
3416    <div id="koba-chat-widget">
3417        <div id="koba-chat-box">
3418            <div class="koba-chat-header">
3419                <div class="koba-chat-header-avatar">
3420                    <svg viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm0 14.2c-2.5 0-4.71-1.28-6-3.22.03-1.99 4-3.08 6-3.08 1.99 0 5.97 1.09 6 3.08-1.29 1.94-3.5 3.22-6 3.22z"/></svg>
3421                </div>
3422                <div class="koba-chat-header-info">
3423                    <h4>MAIRIE DE NOINTEL</h4>
3424                    <div class="koba-chat-header-status">
3425                        <span class="koba-chat-header-status-dot"></span>
3426                        <span>Hors ligne</span>
3427                    </div>
3428                </div>
3429            </div>
3430            
3431                            <!-- Chat fermé -->
3432                <div class="koba-chat-offline">
3433                    <div class="koba-chat-offline-icon">
3434                        <svg viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"/></svg>
3435                    </div>
3436                    <h4>Chat indisponible</h4>
3437                    <p>Nous ne sommes pas disponibles pour le moment. Laissez-nous un message, nous vous répondrons dès que possible.</p>
3438                                        <div class="koba-chat-offline-next">
3439                        Prochaine disponibilité :
3440                        <strong>Lundi à 10:00</strong>
3441                    </div>
3442                                    </div>
3443                    </div>
3444        
3445        <button id="koba-chat-button">
3446            <svg class="chat-icon" viewBox="0 0 24 24"><path d="M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H6l-2 2V4h16v12z"/></svg>
3447            <svg class="close-icon" viewBox="0 0 24 24"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
3448        </button>
3449    </div>
3450    
3451        
3451<script>
3452    (function() {
3453        var widget = document.getElementById('koba-chat-widget');
3454        var button = document.getElementById('koba-chat-button');
3455        
3456        button.addEventListener('click', function() {
3457            widget.classList.toggle('open');
3458        });
3459    })();
3460    </script>
3460
3461            
3461<script>
3462    (function() {
3463        var searchInput = document.getElementById('koba-search-input');
3464        var searchOverlay = document.getElementById('koba-search-overlay');
3465        var searchClose = document.getElementById('koba-search-close');
3466        var searchTimeout = null;
3467        var ajaxurl = 'https://www.commune-nointel.fr/wp-admin/admin-ajax.php';
3468        
3469        if (!searchInput || !searchOverlay) return;
3470        
3471        // Saisie dans le champ
3472        searchInput.addEventListener('input', function() {
3473            var query = this.value.trim();
3474            
3475            if (searchTimeout) clearTimeout(searchTimeout);
3476            
3477            // Masquer si vide
3478            if (query.length < 1) {
3479                searchOverlay.classList.remove('active');
3480                searchOverlay.innerHTML = '';
3481                return;
3482            }
3483            
3484            // Afficher overlay avec loading
3485            searchOverlay.classList.add('active');
3486            searchOverlay.innerHTML = '<div class="koba-search-overlay-inner">' +
3487                '<div class="koba-search-loading">' +
3488                '<div class="koba-search-spinner"></div>' +
3489                '<p>Recherche...</p></div></div>';
3490            
3491            // Recherche après court délai
3492            searchTimeout = setTimeout(function() {
3493                performSearch(query);
3494            }, 250);
3495        });
3496        
3497        // Fermer l'overlay
3498        if (searchClose) {
3499            searchClose.addEventListener('click', function() {
3500                searchOverlay.classList.remove('active');
3501                searchOverlay.innerHTML = '';
3502            });
3503        }
3504        
3505        // Fermer avec Escape
3506        document.addEventListener('keydown', function(e) {
3507            if (e.key === 'Escape') {
3508                searchOverlay.classList.remove('active');
3509                searchOverlay.innerHTML = '';
3510            }
3511        });
3512        
3513        // Recherche AJAX
3514        function performSearch(query) {
3515            var formData = new FormData();
3516            formData.append('action', 'koba_live_search');
3517            formData.append('search', query);
3518            
3519            fetch(ajaxurl, {
3520                method: 'POST',
3521                body: formData
3522            })
3523            .then(function(r) { return r.json(); })
3524            .then(function(data) {
3525                if (data.success) {
3526                    renderResults(data.data.results, data.data.search);
3527                }
3528            })
3529            .catch(function() {
3530                searchOverlay.innerHTML = '<div class="koba-search-overlay-inner">' +
3531                    '<div class="koba-search-no-results"><p>Erreur de connexion</p></div></div>';
3532            });
3533        }
3534        
3535        // Afficher résultats
3536        function renderResults(results, searchTerm) {
3537            if (!results || results.length === 0) {
3538                searchOverlay.innerHTML = '<div class="koba-search-overlay-inner">' +
3539                    '<div class="koba-search-no-results">' +
3540                    '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">' +
3541                    '<circle cx="11" cy="11" r="8"/><path d="M21 21l-4.35-4.35"/>' +
3542                    '</svg>' +
3543                    '<p>Aucun résultat pour "<strong>' + esc(searchTerm) + '</strong>"</p>' +
3544                    '</div></div>';
3545                return;
3546            }
3547            
3548            var html = '<div class="koba-search-overlay-inner">';
3549            
3550            results.forEach(function(cat) {
3551                html += '<div class="koba-search-category">';
3552                html += '<h3 class="koba-search-category-title">' + esc(cat.label) + '</h3>';
3553                html += '<ul class="koba-search-list">';
3554                
3555                cat.items.forEach(function(item) {
3556                    var title = highlight(item.title, searchTerm);
3557                    var date = (cat.type === 'evenement') ? '<span class="koba-search-date">- ' + item.date + '</span>' : '';
3558                    html += '<li class="koba-search-item">';
3559                    html += '<a href="' + item.url + '" class="koba-search-link">' + title + date + '</a>';
3560                    html += '</li>';
3561                });
3562                
3563                html += '</ul></div>';
3564            });
3565            
3566            html += '</div>';
3567            searchOverlay.innerHTML = html;
3568        }
3569        
3570        function highlight(text, search) {
3571            var regex = new RegExp('(' + search.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + ')', 'gi');
3572            return esc(text).replace(regex, '<mark>$1</mark>');
3573        }
3574        
3575        function esc(text) {
3576            var d = document.createElement('div');
3577            d.textContent = text;
3578            return d.innerHTML;
3579        }
3580    })();
3581    </script>
3581
3582        
3582<script>
3583    document.addEventListener('DOMContentLoaded', function() {
3584        const hamburger = document.getElementById('koba-hamburger');
3585        const mobileMenu = document.getElementById('koba-mobile-menu');
3586        const searchToggle = document.getElementById('koba-search-toggle');
3587        const searchBar = document.getElementById('koba-search-bar');
3588        const searchClose = document.getElementById('koba-search-close');
3589        const searchInput = document.getElementById('koba-search-input');
3590        const overlay = document.getElementById('koba-overlay');
3591        const navItems = document.querySelectorAll('.koba-nav-item.has-megamenu');
3592        const mobileToggles = document.querySelectorAll('.koba-mobile-toggle');
3593        
3594        function closeAllMenus() {
3595            navItems.forEach(item => item.classList.remove('active'));
3596            document.querySelectorAll('.koba-megamenu-item.active').forEach(item => {
3597                item.classList.remove('active');
3598            });
3599            overlay.classList.remove('active');
3600        }
3601        
3602        if (hamburger) {
3603            hamburger.addEventListener('click', function() {
3604                this.classList.toggle('active');
3605                mobileMenu.classList.toggle('active');
3606                document.body.style.overflow = mobileMenu.classList.contains('active') ? 'hidden' : '';
3607            });
3608        }
3609        
3610        if (searchToggle) {
3611            searchToggle.addEventListener('click', function() {
3612                closeAllMenus();
3613                searchBar.classList.add('active');
3614                searchToggle.classList.add('hidden');
3615                setTimeout(() => searchInput.focus(), 400);
3616            });
3617        }
3618        
3619        if (searchClose) {
3620            searchClose.addEventListener('click', function() {
3621                searchBar.classList.remove('active');
3622                searchToggle.classList.remove('hidden');
3623            });
3624        }
3625        
3626        navItems.forEach(item => {
3627            const link = item.querySelector('.koba-nav-link');
3628            
3629            link.addEventListener('click', function(e) {
3630                if (window.innerWidth > 992) {
3631                    e.preventDefault();
3632                    const isActive = item.classList.contains('active');
3633                    closeAllMenus();
3634                    if (!isActive) {
3635                        item.classList.add('active');
3636                        overlay.classList.add('active');
3637                    }
3638                }
3639            });
3640        });
3641        
3642        document.querySelectorAll('.koba-megamenu-item.has-submenu').forEach(item => {
3643            const link = item.querySelector('.koba-megamenu-link');
3644            
3645            link.addEventListener('click', function(e) {
3646                e.preventDefault();
3647                const parent = item.closest('.koba-megamenu-col3');
3648                parent.querySelectorAll('.koba-megamenu-item.active').forEach(other => {
3649                    if (other !== item) {
3650                        other.classList.remove('active');
3651                    }
3652                });
3653                item.classList.toggle('active');
3654            });
3655        });
3656        
3657        mobileToggles.forEach(toggle => {
3658            toggle.addEventListener('click', function() {
3659                this.classList.toggle('active');
3660                const submenu = this.closest('.koba-mobile-item').querySelector(':scope > .koba-mobile-submenu');
3661                if (submenu) {
3662                    submenu.classList.toggle('active');
3663                }
3664            });
3665        });
3666        
3667        if (overlay) {
3668            overlay.addEventListener('click', function() {
3669                closeAllMenus();
3670                searchBar.classList.remove('active');
3671                searchToggle.classList.remove('hidden');
3672            });
3673        }
3674        
3675        document.addEventListener('click', function(e) {
3676            if (window.innerWidth > 992) {
3677                const isInNav = e.target.closest('.koba-nav-item.has-megamenu');
3678                const isInMegamenu = e.target.closest('.koba-megamenu');
3679                
3680                if (!isInNav && !isInMegamenu) {
3681                    closeAllMenus();
3682                }
3683            }
3684        });
3685        
3686        document.addEventListener('keydown', function(e) {
3687            if (e.key === 'Escape') {
3688                closeAllMenus();
3689                searchBar.classList.remove('active');
3690                searchToggle.classList.remove('hidden');
3691                mobileMenu.classList.remove('active');
3692                hamburger.classList.remove('active');
3693                document.body.style.overflow = '';
3694            }
3695        });
3696        
3697        window.addEventListener('resize', function() {
3698            if (window.innerWidth > 992) {
3699                mobileMenu.classList.remove('active');
3700                hamburger.classList.remove('active');
3701                document.body.style.overflow = '';
3702            }
3703        });
3704    });
3705    </script>
3705
3706    <div id="hob-rgpd-banner" class="hob-rgpd-banner" role="region"
3707	aria-label="Consentement aux cookies"
3708	style="background-color:#222222;color:#ffffff;bottom:0;">
3709	<div class="hob-rgpd-message">
3710		Notre site utilise des cookies pour réaliser des statistiques de visites, partager des contenus sur les réseaux sociaux et améliorer votre expérience. En refusant les cookies, certains services seront amenés à ne pas fonctionner correctement. Nous conservons votre choix pendant 30 jours. Vous pouvez changer d&#039;avis en cliquant sur le bouton &#039;Cookies&#039; en bas à gauche de chaque page de notre site.			</div>
3711	<div class="hob-rgpd-buttons">
3712		<button type="button" class="hob-btn hob-accept-all" style="background-color:#00aaff;color:#ffffff;">
3713			Tout accepter		</button>
3714		<button type="button" class="hob-btn hob-reject-all" style="background-color:#00aaff;color:#ffffff;">
3715			Tout refuser		</button>
3716		<button type="button" class="hob-btn hob-manage" style="background-color:#00aaff;color:#ffffff;">
3717			Gérer mes préférences		</button>
3718	</div>
3719</div>
3720
3721<div id="hob-rgpd-popup" class="hob-rgpd-popup" role="dialog" aria-modal="true"
3722	aria-labelledby="hob-rgpd-popup-title"
3723	style="--hob-accent:#00aaff;--hob-accent-text:#ffffff;"
3724	hidden>
3725	<div class="hob-rgpd-popup-content">
3726		<button type="button" class="hob-rgpd-popup-close" aria-label="Fermer">&times;</button>
3727		<h2 id="hob-rgpd-popup-title">Gérer mes préférences</h2>
3728
3729					<div class="hob-rgpd-tabs" role="tablist">
3730									<button type="button" class="hob-rgpd-tab is-active"
3731						role="tab"
3732						aria-selected="true"
3733						data-tab="hob-rgpd-panel-1">
3734						Contenus interactifs					</button>
3735							</div>
3736
3737							<div id="hob-rgpd-panel-1"
3738					class="hob-rgpd-panel is-active"
3739					role="tabpanel">
3740																							<div class="hob-rgpd-service">
3741																	<div class="hob-rgpd-service-icon">
3742										<img src="https://www.commune-nointel.fr/wp-content/plugins/hob-rgpd/assets/img/services/recaptcha.svg"
3743											alt="Google reCAPTCHA" />
3744									</div>
3745																<div class="hob-rgpd-service-info">
3746									<div class="hob-rgpd-service-title">Google reCAPTCHA</div>
3747									<div class="hob-rgpd-service-desc">Anti-spam Google reCAPTCHA.</div>
3748								</div>
3749								<div class="hob-rgpd-service-toggle">
3750									<label class="hob-rgpd-switch">
3751										<input type="checkbox" class="hob-rgpd-toggle"
3752											data-service-key="recaptcha" />
3753										<span class="hob-rgpd-slider"></span>
3754									</label>
3755								</div>
3756							</div>
3757															</div>
3758					
3759		<div class="hob-rgpd-popup-actions">
3760			<button type="button" class="hob-btn hob-accept-all" style="background-color:#00aaff;color:#ffffff;">
3761				Tout accepter			</button>
3762			<button type="button" class="hob-btn hob-reject-all" style="background-color:#00aaff;color:#ffffff;">
3763				Tout refuser			</button>
3764			<button type="button" class="hob-btn hob-save" style="background-color:#00aaff;color:#ffffff;">
3765				Enregistrer mes préférences			</button>
3766		</div>
3767
3768					<div class="hob-rgpd-credit">
3769				&copy; <a href="https://www.hob-france.com/" target="_blank" rel="noopener">HOB France Services</a>
3770			</div>
3771			</div>
3772</div>
3773
3774<button type="button" id="hob-rgpd-settings-icon" class="hob-rgpd-settings-icon"
3775	title="Cookies"
3776	aria-label="Cookies" hidden>
3777	<span class="hob-rgpd-cookie-emoji" aria-hidden="true">🍪</span>
3778	<span class="hob-rgpd-cookie-label">Cookies</span>
3779</button>
3780<script id="moment-js" src="https://www.commune-nointel.fr/wp-includes/js/dist/vendor/moment.min.js?ver=2.30.1"></script>
vendor: 1 bytes, line 3780
3780
3781<script id="moment-js-after">
3782moment.updateLocale( 'fr_FR', {"months":["janvier","f\u00e9vrier","mars","avril","mai","juin","juillet","ao\u00fbt","septembre","octobre","novembre","d\u00e9cembre"],"monthsShort":["Jan","F\u00e9v","Mar","Avr","Mai","Juin","Juil","Ao\u00fbt","Sep","Oct","Nov","D\u00e9c"],"weekdays":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],"weekdaysShort":["dim","lun","mar","mer","jeu","ven","sam"],"week":{"dow":1},"longDateFormat":{"LT":"G\\hi","LTS":null,"L":null,"LL":"j F Y","LLL":"d F Y G\\hi","LLLL":null}} );
3783//# sourceURL=moment-js-after
3784</script>
vendor: 1 bytes, line 3784
3784
3785<script id="moment-fr-js" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.4/locale/fr.js"></script>
vendor: 1 bytes, line 3785
3785
3786<script id="fullcalendar-js" src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.10.2/fullcalendar.min.js"></script>
vendor: 1 bytes, line 3786
3786
3787<script id="fullcalendar-fr-js" src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.10.2/locale/fr.js"></script>
vendor: 1 bytes, line 3787
3787
3788<script id="hcb-frontend-js-extra">
3789var hcb_front = {"ajax_url":"https://www.commune-nointel.fr/wp-admin/admin-ajax.php","nonce":"60543b3cf2","primary_color":"#2271b1","user":[],"strings":{"loading":"Chargement...","success":"Votre demande de r\u00e9servation a \u00e9t\u00e9 envoy\u00e9e avec succ\u00e8s ! Vous recevrez un email de confirmation.","error":"Une erreur est survenue. Veuillez r\u00e9essayer.","fill_required":"Veuillez remplir tous les champs obligatoires.","accepted":"Accept\u00e9","studying":"En cours d'\u00e9tude","pending":"En attente","slot_busy":"Ce cr\u00e9neau est d\u00e9j\u00e0 r\u00e9serv\u00e9.","click_to_book":"Cliquer pour r\u00e9server","file_too_large":"Le fichier \"%s\" d\u00e9passe la taille maximum autoris\u00e9e (5 Mo).","file_type_invalid":"Le type de fichier \"%s\" n'est pas autoris\u00e9.","docs_required":"Veuillez joindre tous les documents requis."},"max_file_size_mb":"5"};
3790//# sourceURL=hcb-frontend-js-extra
3791</script>
vendor: 1 bytes, line 3791
3791
3792<script id="hcb-frontend-js" src="https://www.commune-nointel.fr/wp-content/plugins/hob-cityhall-booking/assets/js/frontend.js?ver=1.2.0"></script>
vendor: 1 bytes, line 3792
3792
3793<script id="hob-fc-form-js-extra">
3794var hobFcFormConfig = {"ajax_url":"https://www.commune-nointel.fr/wp-admin/admin-ajax.php"};
3795var hobFcPublic = {"ajaxurl":"https://www.commune-nointel.fr/wp-admin/admin-ajax.php","nonce":"73849d0d80","page_token":"67b9c5cd07c1ccfaeff43c517497610d17d6aa404d3700ccf086bd147d00a696","page_ts":"497498"};
3796var hobFcI18n = {"required":"Veuillez remplir ce champ correctement.","invalidEmail":"Adresse e-mail invalide.","invalidPhone":"Num\u00e9ro de t\u00e9l\u00e9phone invalide.","minLength":"Minimum %d caract\u00e8res.","networkError":"Erreur r\u00e9seau. Veuillez r\u00e9essayer.","serverError":"Le serveur a renvoy\u00e9 une r\u00e9ponse inattendue","genericError":"Une erreur est survenue.","defaultSuccess":"Merci, votre message a bien \u00e9t\u00e9 envoy\u00e9.","resubmit":"Soumettre \u00e0 nouveau","fileTooLarge":"\u00ab %1$s \u00bb d\u00e9passe la taille maximale (%2$s Mo).","fileBadType":"\u00ab %1$s \u00bb n'est pas un format autoris\u00e9 (%2$s).","tooManyFiles":"%d fichier(s) maximum."};
3797//# sourceURL=hob-fc-form-js-extra
3798</script>
vendor: 1 bytes, line 3798
3798
3799<script id="hob-fc-form-js" src="https://www.commune-nointel.fr/wp-content/plugins/hob-formchat-pro/assets/js/form.js?ver=1.29"></script>
vendor: 1 bytes, line 3799
3799
3800<script id="hob-fc-conditional-js" src="https://www.commune-nointel.fr/wp-content/plugins/hob-formchat-pro/assets/js/hob-conditional.js?ver=1.29"></script>
vendor: 1 bytes, line 3800
3800
3801<script id="hob-fc-calculator-js" src="https://www.commune-nointel.fr/wp-content/plugins/hob-formchat-pro/assets/js/hob-calculator.js?ver=1.29"></script>
vendor: 1 bytes, line 3801
3801
3802<script id="hob-fc-rgaa-js" src="https://www.commune-nointel.fr/wp-content/plugins/hob-formchat-pro/assets/js/hob-rgaa.js?ver=1.29"></script>
vendor: 1 bytes, line 3802
3802
3803<script id="leaflet-js" src="https://unpkg.com/[email protected]/dist/leaflet.js?ver=1.9.4"></script>
vendor: 1 bytes, line 3803
3803
3804<script id="hob-fc-map-picker-js" src="https://www.commune-nointel.fr/wp-content/plugins/hob-formchat-pro/assets/js/hob-map-picker.js?ver=1.29"></script>
vendor: 1 bytes, line 3804
3804
3805<script id="hob-fc-address-js-extra">
3806var hobFcAddress = {"provider":"auto","effectiveProvider":"ban","googleKey":"","nominatimContact":"[email protected]","defaultCountry":"fr","debounceMs":"280","minChars":"3","banUrl":"https://api-adresse.data.gouv.fr/search/","photonUrl":"https://photon.komoot.io/api/"};
3807//# sourceURL=hob-fc-address-js-extra
3808</script>
vendor: 1 bytes, line 3808
3808
3809<script id="hob-fc-address-js" src="https://www.commune-nointel.fr/wp-content/plugins/hob-formchat-pro/assets/js/hob-address.js?ver=1.29"></script>
vendor: 1 bytes, line 3809
3809
3810<script id="bootstrap-js-js" src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js?ver=5.3.2"></script>
vendor: 1 bytes, line 3810
3810
3811<script id="hobrgpd-front-js-extra">
3812var hobRgpdConfig = {"cookieName":"hobConsentPrefs","cookieMaxAge":"2592000"};
3813//# sourceURL=hobrgpd-front-js-extra
3814</script>
vendor: 1 bytes, line 3814
3814
3815<script id="hobrgpd-front-js" src="https://www.commune-nointel.fr/wp-content/plugins/hob-rgpd/assets/js/front.js?ver=1781167964"></script>
vendor: 1 bytes, line 3815
3815
3816<script id="wp-statistics-tracker-js-extra">
3817var WP_Statistics_Tracker_Object = {"requestUrl":"https://www.commune-nointel.fr/wp-json/wp-statistics/v2","ajaxUrl":"https://www.commune-nointel.fr/wp-admin/admin-ajax.php","hitParams":{"wp_statistics_hit":1,"source_type":"archive","source_id":0,"search_query":"","signature":"baa47aa666c3b0424109c5094ac262b3","endpoint":"hit"},"option":{"dntEnabled":false,"bypassAdBlockers":false,"consentIntegration":{"name":null,"status":[]},"isPreview":false,"userOnline":false,"isWpConsentApiActive":false},"isLegacyEventLoaded":"","customEventAjaxUrl":"https://www.commune-nointel.fr/wp-admin/admin-ajax.php?action=wp_statistics_custom_event&nonce=65134a752c","onlineParams":{"wp_statistics_hit":1,"source_type":"archive","source_id":0,"search_query":"","signature":"baa47aa666c3b0424109c5094ac262b3","action":"wp_statistics_online_check"},"jsCheckTime":"60000"};
3818//# sourceURL=wp-statistics-tracker-js-extra
3819</script>
vendor: 1 bytes, line 3819
3819
3820<script id="wp-statistics-tracker-js" src="https://www.commune-nointel.fr/wp-content/plugins/wp-statistics/assets/js/tracker.js?ver=14.16.15"></script>
vendor: 1 bytes, line 3820
3820
3821<script id="wp-emoji-settings" type="application/json">
3822{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://www.commune-nointel.fr/wp-includes/js/wp-emoji-release.min.js?ver=7.1.2"}}
3823</script>
vendor: 1 bytes, line 3823
3823
3824<script type="module">
3825/*! This file is auto-generated */
3826var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))});
3827//# sourceURL=https://www.commune-nointel.fr/wp-includes/js/wp-emoji-loader.min.js
3828</script>
3828
3829    <style>
3830        #koba-pwa-banner {
3831            display: none; /* affiché par JS uniquement sur mobile */
3832            position: fixed;
3833            top: 0; left: 0; right: 0;
3834            z-index: 99999;
3835            background: #1e293b;
3836            color: #fff;
3837            padding: 12px 16px;
3838            flex-direction: column;
3839            gap: 10px;
3840            box-shadow: 0 2px 12px rgba(0,0,0,.35);
3841            font-family: inherit;
3842        }
3843        #koba-pwa-banner.koba-pwa-banner-visible {
3844            display: flex;
3845        }
3846        /* Ligne 1 : icône + texte */
3847        #koba-pwa-banner .kpb-row1 {
3848            display: flex;
3849            align-items: flex-start;
3850            gap: 12px;
3851        }
3852        #koba-pwa-banner .kpb-icon {
3853            font-size: 24px;
3854            flex-shrink: 0;
3855            line-height: 1.2;
3856        }
3857        #koba-pwa-banner .kpb-body {
3858            flex: 1;
3859            min-width: 0;
3860        }
3861        #koba-pwa-banner .kpb-title {
3862            font-weight: 700;
3863            font-size: .9rem;
3864            line-height: 1.3;
3865        }
3866        #koba-pwa-banner .kpb-desc {
3867            font-size: .8rem;
3868            opacity: .8;
3869            line-height: 1.4;
3870            margin-top: 3px;
3871        }
3872        /* Ligne 2 : bouton + fermer */
3873        #koba-pwa-banner .kpb-row2 {
3874            display: flex;
3875            align-items: center;
3876            gap: 10px;
3877        }
3878        #koba-pwa-banner .kpb-btn {
3879            background: #127ec2;
3880            color: #fff;
3881            border: none;
3882            padding: 8px 16px;
3883            border-radius: 6px;
3884            font-size: .82rem;
3885            font-weight: 600;
3886            cursor: pointer;
3887            white-space: nowrap;
3888            text-decoration: none;
3889            display: inline-block;
3890        }
3891        #koba-pwa-banner .kpb-close {
3892            background: rgba(255,255,255,.12);
3893            border: 1px solid rgba(255,255,255,.2);
3894            color: rgba(255,255,255,.75);
3895            font-size: .82rem;
3896            font-weight: 600;
3897            line-height: 1;
3898            cursor: pointer;
3899            padding: 7px 12px;
3900            border-radius: 6px;
3901            white-space: nowrap;
3902        }
3903        #koba-pwa-banner .kpb-close:hover {
3904            background: rgba(255,255,255,.2);
3905            color: #fff;
3906        }
3907        /* Décaler le contenu sous la bannière quand elle est visible */
3908        body.koba-pwa-banner-open {
3909            padding-top: 100px;
3910        }
3911    </style>
3912
3913    <div id="koba-pwa-banner" role="banner" aria-label="Installer l'application">
3914        <div class="kpb-row1">
3915            <span class="kpb-icon">📲</span>
3916            <div class="kpb-body">
3917                <div class="kpb-title">Installez notre application !</div>
3918                <div class="kpb-desc">Accédez rapidement à notre site depuis votre écran d&#039;accueil.</div>
3919            </div>
3920        </div>
3921        <div class="kpb-row2">
3922            <a href="https://www.commune-nointel.fr/installapp/" class="kpb-btn">Voir comment installer</a>
3923            <button class="kpb-close" id="koba-pwa-close" aria-label="Fermer">✕ Fermer</button>
3924        </div>
3925    </div>
3926<script>
3927// Capturer beforeinstallprompt le plus tôt possible (avant tout)
3928var _kobaPwaInstallPrompt = null;
3929window.addEventListener('beforeinstallprompt', function(e) {
3930    e.preventDefault();
3931    _kobaPwaInstallPrompt = e;
3932    // Si la bannière est déjà affichée, transformer le bouton
3933    var btn = document.querySelector('#koba-pwa-banner .kpb-btn');
3934    if (btn && document.getElementById('koba-pwa-banner').classList.contains('koba-pwa-banner-visible')) {
3935        _kobaActivateInstallBtn(btn);
3936    }
3937});
3938
3939function _kobaActivateInstallBtn(btn) {
3940    if (!_kobaPwaInstallPrompt) return;
3941    btn.textContent = '📲 Installer l\'application';
3942    btn.removeAttribute('href');
3943    btn.onclick = function(e) {
3944        e.preventDefault();
3945        if (!_kobaPwaInstallPrompt) return;
3946        _kobaPwaInstallPrompt.prompt();
3947        _kobaPwaInstallPrompt.userChoice.then(function(result) {
3948            if (result.outcome === 'accepted') {
3949                _kobaHidePwaBanner();
3950            }
3951            _kobaPwaInstallPrompt = null;
3952        });
3953    };
3954}
3955
3956function _kobaHidePwaBanner() {
3957    var banner = document.getElementById('koba-pwa-banner');
3958    if (!banner) return;
3959    banner.classList.remove('koba-pwa-banner-visible');
3960    document.body.classList.remove('koba-pwa-banner-open');
3961    localStorage.setItem('koba_pwa_banner_closed', Date.now().toString());
3962}
3963
3964(function() {
3965    // Ne jamais afficher en mode PWA standalone
3966    if (window.matchMedia('(display-mode: standalone)').matches
3967        || window.navigator.standalone === true
3968        || sessionStorage.getItem('koba_pwa') === '1') {
3969        return;
3970    }
3971
3972    var STORAGE_KEY  = 'koba_pwa_banner_closed';
3973    var FREQUENCY_MS = 604800000;
3974
3975    function isMobile() {
3976        return (window.innerWidth < 1024) ||
3977               /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|Mobile|mobile|CriOS/i.test(navigator.userAgent);
3978    }
3979
3980    if (!isMobile()) return;
3981
3982    var lastClosed = localStorage.getItem(STORAGE_KEY);
3983    if (lastClosed && (Date.now() - parseInt(lastClosed, 10)) < FREQUENCY_MS) return;
3984
3985    var ua = navigator.userAgent;
3986    var isIos        = /iPhone|iPad|iPod/i.test(ua);
3987    var isAndroid    = /Android/i.test(ua);
3988    // Sur iOS, seul Safari peut installer une PWA.
3989    // Chrome iOS (CriOS), Firefox iOS (FxiOS), Edge iOS (EdgiOS) utilisent WebKit
3990    // mais n'exposent pas la fonctionnalité d'ajout à l'écran d'accueil.
3991    var isIosNonSafari = isIos && /CriOS|FxiOS|EdgiOS|OPiOS|YaBrowser|DuckDuckGo/i.test(ua);
3992    var isIosSafari    = isIos && !isIosNonSafari;
3993
3994    function showBanner() {
3995        var banner = document.getElementById('koba-pwa-banner');
3996        if (!banner) return;
3997
3998        // Cas spécial : iOS hors Safari → bannière informative "ouvrez dans Safari"
3999        if (isIosNonSafari) {
4000            var iconEl  = banner.querySelector('.kpb-icon');
4001            var titleEl = banner.querySelector('.kpb-title');
4002            var descEl  = banner.querySelector('.kpb-desc');
4003            var btnEl   = banner.querySelector('.kpb-btn');
4004            var row2El  = banner.querySelector('.kpb-row2');
4005
4006            if (iconEl)  iconEl.textContent  = '🧭';
4007            if (titleEl) titleEl.textContent = 'Application disponible dans Safari';
4008            if (descEl)  descEl.textContent  = 'Sur iPhone et iPad, l\'application ne peut être installée qu\'avec le navigateur Safari. Ouvrez cette page dans Safari pour l\'installer.';
4009            // Le bouton "Voir comment installer" n'a aucun sens ici → on le retire,
4010            // on conserve uniquement le bouton Fermer.
4011            if (btnEl && btnEl.parentNode) {
4012                btnEl.parentNode.removeChild(btnEl);
4013            }
4014            if (row2El) {
4015                row2El.style.justifyContent = 'flex-end';
4016            }
4017        } else if (_kobaPwaInstallPrompt) {
4018            // Si le prompt natif est déjà disponible (Android/Chrome), transformer le bouton
4019            var btn = banner.querySelector('.kpb-btn');
4020            if (btn) _kobaActivateInstallBtn(btn);
4021        }
4022
4023        banner.classList.add('koba-pwa-banner-visible');
4024        document.body.classList.add('koba-pwa-banner-open');
4025
4026        var closeBtn = document.getElementById('koba-pwa-close');
4027        if (closeBtn) {
4028            closeBtn.addEventListener('click', _kobaHidePwaBanner);
4029        }
4030    }
4031
4032    if (isIosSafari && !window.navigator.standalone) {
4033        // iOS Safari : afficher immédiatement avec lien vers /installapp/
4034        document.addEventListener('DOMContentLoaded', showBanner);
4035    } else if (isIosNonSafari) {
4036        // iOS Chrome/Firefox/Edge : afficher la bannière informative "ouvrez dans Safari"
4037        document.addEventListener('DOMContentLoaded', showBanner);
4038    } else if (isAndroid || (!isIos && isMobile())) {
4039        // Android/Chrome : attendre que le prompt soit disponible
4040        document.addEventListener('DOMContentLoaded', function() {
4041            if (_kobaPwaInstallPrompt) {
4042                showBanner();
4043            } else {
4044                var t = setTimeout(function() {
4045                    if (_kobaPwaInstallPrompt) showBanner();
4046                    // sinon : déjà installé ou navigateur non supporté → rien
4047                }, 1000);
4048            }
4049        });
4050    }
4051})();
4052</script>
4052
4053   
4054        <style>
4055        #koba-desktop-alert {
4056            display: none; /* affiché par JS uniquement sur desktop */
4057            position: fixed;
4058            top: 50%;
4059            right: 0;
4060            transform: translateY(-50%);
4061            width: 300px;
4062            z-index: 99998;
4063            background: #fff;
4064            color: #333;
4065            border-radius: 0;
4066            box-shadow: 0 6px 30px rgba(0,0,0,.25);
4067            padding: 20px;
4068            box-sizing: border-box;
4069            font-family: inherit;
4070        }
4071        #koba-desktop-alert.kda-visible {
4072            display: block;
4073            animation: kda-slide-in .4s ease;
4074        }
4075        @keyframes kda-slide-in {
4076            from { opacity: 0; transform: translateY(-50%) translateX(30px); }
4077            to   { opacity: 1; transform: translateY(-50%) translateX(0); }
4078        }
4079        #koba-desktop-alert .kda-close {
4080            position: absolute;
4081            top: 10px;
4082            right: 10px;
4083            background: none;
4084            border: none;
4085            font-size: 16px;
4086            line-height: 1;
4087            color: #999;
4088            cursor: pointer;
4089            padding: 4px;
4090        }
4091        #koba-desktop-alert .kda-close:hover { color: #333; }
4092        #koba-desktop-alert .kda-icon {
4093            font-size: 28px;
4094            margin-bottom: 8px;
4095        }
4096        #koba-desktop-alert .kda-title {
4097            font-weight: 700;
4098            font-size: 1rem;
4099            margin-bottom: 8px;
4100            color: #1e293b;
4101        }
4102        #koba-desktop-alert .kda-content {
4103            font-size: .85rem;
4104            line-height: 1.55;
4105            color: #555;
4106            margin-bottom: 14px;
4107        }
4108        #koba-desktop-alert .kda-btn {
4109            display: inline-block;
4110            background: #127ec2;
4111            color: #fff;
4112            text-decoration: none;
4113            font-size: .85rem;
4114            font-weight: 600;
4115            padding: 9px 18px;
4116            border-radius: 8px;
4117            transition: opacity .2s;
4118        }
4119        #koba-desktop-alert .kda-btn:hover {
4120            opacity: .85;
4121            color: #fff;
4122        }
4123    </style>
4124
4125    <div id="koba-desktop-alert" role="dialog" aria-label="Application disponible">
4126        <button class="kda-close" id="koba-desktop-alert-close" aria-label="Fermer">✕</button>
4127        <div class="kda-title">📲 Application disponible</div>
4128        <div class="kda-content">
4129            Allez sur votre smartphone, affichez le site de votre mairie dans le navigateur
4130            de votre choix et vous serez invité à installer l'application sur votre mobile.
4131            Laissez-vous guider, c'est simple&nbsp;! Si votre mairie a souscrit à l'abonnement,
4132            tout fonctionnera immédiatement.
4133        </div>
4134        <a href="https://www.commune-nointel.fr/installapp/" class="kda-btn">Plus de détails</a>
4135    </div>
4136
4137    
4137<script>
4138    (function() {
4139        'use strict';
4140
4141        var STORAGE_KEY = 'koba_desktop_alert_shown';
4142        var WEEK_MS = 7 * 86400 * 1000;
4143
4144        // --- Détection desktop Windows / Mac uniquement ---
4145        var ua = navigator.userAgent;
4146        var isMobileUA = /Android|iPhone|iPad|iPod|Mobile|Tablet/i.test(ua);
4147        // iPadOS se fait passer pour un Mac : on l'exclut via le tactile
4148        var isIpadOs = (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1);
4149        var isWinMac = /Windows NT|Macintosh/i.test(ua);
4150
4151        if (isMobileUA || isIpadOs || !isWinMac) return;
4152
4153        // --- Mode standalone (PWA installée) : on n'affiche pas ---
4154        if (window.matchMedia && window.matchMedia('(display-mode: standalone)').matches) return;
4155
4156        // --- Fréquence : 1 fois par semaine ---
4157        var last = 0;
4158        try { last = parseInt(localStorage.getItem(STORAGE_KEY) || '0', 10); } catch (e) {}
4159        if (last && (Date.now() - last) < WEEK_MS) return;
4160
4161        function showAlert() {
4162            var box = document.getElementById('koba-desktop-alert');
4163            if (!box) return;
4164
4165            box.classList.add('kda-visible');
4166
4167            // On marque comme "vue" dès l'affichage → max 1 fois / semaine
4168            try { localStorage.setItem(STORAGE_KEY, Date.now().toString()); } catch (e) {}
4169
4170            var closeBtn = document.getElementById('koba-desktop-alert-close');
4171            if (closeBtn) {
4172                closeBtn.addEventListener('click', function() {
4173                    box.classList.remove('kda-visible');
4174                });
4175            }
4176        }
4177
4178        if (document.readyState === 'loading') {
4179            document.addEventListener('DOMContentLoaded', showAlert);
4180        } else {
4181            showAlert();
4182        }
4183    })();
4184    </script>
4184
4185    </body>
4186</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.