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