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