PageSourceSearch

https://villainville.fr/fr/ct/1722346/contacts-1074

html villainville.fr collected 2026-10-03 01:50:01 UTC 82,752 bytes, 1,319 lines download raw bytes

1<!DOCTYPE html>
2<html dir="ltr" lang="fr" xmlns:ff4j="http://www.w3.org/1999/xhtml" xmlns:esi="http://www.edge-delivery.org/esi/1.0">
3    <head>
4        <title>
5                Contacts - Commune de Villainville
6        </title>
7
8        
8<script src="/lib/tarteaucitron/tarteaucitron.js"></script>
8
9        
9<script>
10            var tarteaucitronExpireInDay = true, tarteaucitronForceExpire = 183;
11
12            tarteaucitron.init({
13                "privacyUrl": "", /* Privacy policy url */
14
15                "hashtag": "#tarteaucitron", /* Open the panel with this hashtag */
16                "cookieName": "tarteaucitron", /* Cookie name */
17
18                "orientation": "bottom", /* Banner position (top - bottom) */
19
20                "showAlertSmall": false, /* Show the small banner on bottom right */
21                "cookieslist": true, /* Show the cookie list */
22
23                "showIcon": false, /* Show cookie icon to manage cookies */
24                // "iconSrc": "", /* Optionnal: URL or base64 encoded image */
25                "iconPosition": "BottomRight", /* Position of the icon between BottomRight, BottomLeft, TopRight and TopLeft */
26
27                "adblocker": false, /* Show a Warning if an adblocker is detected */
28
29                "DenyAllCta": true, /* Show the deny all button */
30                "AcceptAllCta": true, /* Show the accept all button when highPrivacy on */
31                "highPrivacy": true, /* HIGHLY RECOMMANDED Disable auto consent */
32
33                "handleBrowserDNTRequest": false, /* If Do Not Track == 1, disallow all */
34
35                "removeCredit": false, /* Remove credit link */
36                "moreInfoLink": true, /* Show more info link */
37                "useExternalCss": false, /* If false, the tarteaucitron.css file will be loaded */
38
39                //"cookieDomain": ".my-multisite-domaine.fr", /* Shared cookie for subdomain website */
40
41                "readmoreLink": "", /* Change the default readmore link pointing to tarteaucitron.io */
42
43                "mandatory": true, /* Show a message about mandatory cookies */
44
45                "listCookieByService": false, /* Show a message about list cookie by service */
46
47            });
48        </script>
48
49
50            
51
52    <meta name="Description" content="">
53    <meta name="Keywords" content="">
54    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
55    <meta charset="UTF-8">
56                    
57        <!-- Matomo -->
58<script>
59  var _paq = window._paq = window._paq || [];
60  /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
61  _paq.push(['trackPageView']);
62  _paq.push(['enableLinkTracking']);
63  (function() {
64    var u="//matomo-client.neopse.com/";
65    _paq.push(['setTrackerUrl', u+'matomo.php']);
66    _paq.push(['setSiteId', '459']);
67    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
68    g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
69  })();
70</script>
70
71<!-- End Matomo Code -->
72    
73
74
75
76
77
78
79                                                <link rel="apple-touch-icon" href="https://static.neopse.com/thumbs/p/2755/site/c9/59/be/c959be76e2df582a172b31c468cded04436ad684.png?v=v1">
80                    <link rel="icon" href="https://static.neopse.com/thumbs/p/2755/site/c9/59/be/c959be76e2df582a172b31c468cded04436ad684.png?v=v1">
81                
82                <link rel="preconnect" href="https://fonts.googleapis.com">
83                <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
84                <link href="https://fonts.googleapis.com/css?family=Montserrat:400,500,600,700|Material+Icons" rel="stylesheet">
85                <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;700&family=Jost:wght@400;700&family=Lato:wght@400;700&family=Lora:wght@400;700&family=Merriweather:wght@400;700&family=Montserrat:wght@400;700&family=Nunito:wght@400;700&family=Open+Sans:wght@400;700&family=Outfit:wght@400;700&family=Roboto:wght@400;700&family=Roboto+Condensed:wght@400;700&family=Roboto+Slab:wght@400;700&display=swap" rel="stylesheet">
86
87                <link href='/dist/owlcarousel/css/owl.carousel.min.css' rel='stylesheet' type='text/css'>
88                <link href='/dist/owlcarousel/css/owl.theme.default.min.css' rel='stylesheet' type='text/css'>
89                <link href='/dist/slick/slick.css' rel='stylesheet' type='text/css'>
90                <link href='/dist/slick/slick-theme.css' rel='stylesheet' type='text/css'>
91                <link href='/dist/scrollbar/jquery.scrollbar.css' rel='stylesheet' type='text/css'>
92                <link href='/dist/fullcalendar/fullcalendar.min.css' rel='stylesheet' type='text/css'>
93                <link rel="stylesheet"
94                      href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.13.2/css/bootstrap-select.min.css">
95                <link href="/tpl/1/css/style.css" rel="stylesheet" type='text/css'>
96                <link rel="stylesheet"
97                      href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.13/css/bootstrap-multiselect.css"/>
98
99                <link href="/lib/splide-4.0.1/css/splide.min.css" rel="stylesheet" type="text/css"/>
100                <link href="/lib/splide-4.0.1/css/splide-custom.css" rel="stylesheet" type="text/css"/>
101                                    <style class="notranslate" title="customCss" type="text/css"
102                           rel="stylesheet">.bg_bloc { background-color: #90E193 !important; } .table td, .table, .table thead th { border-color: #90E193 !important; } .bg_bloc .dropdown-toggle, .bg_bloc .dropdown-menu {background-color: #90E193 !important;border-color: #90E193 !important;} .fc-unthemed th, .fc-unthemed td, .fc-unthemed thead, .fc-unthemed tbody, .fc-unthemed .fc-divider,  .fc-unthemed .fc-row, .fc-unthemed .fc-content, .fc-unthemed .fc-popover, .fc-unthemed .fc-list-view,  .fc-unthemed .fc-list-heading td{border-color: #90E193 !important;} .fc-unthemed thead.fc-head, .fc-unthemed .fc-popover .fc-header{ background-color: #90E193 !important; } .fc-unthemed td.fc-today{background: #90E193 !important;} .cookies .btn{ color: #90E193 !important; }body { background-color: #FFFFFF; }.bg_wrapper { background-color: #52AF43 !important; }.c_btn, .c_btn:hover, .c_btn:focus, .c_btn:active { color: #A70F24; } .c_btn:before { background-color: #A70F24 !important; } .owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span, .carousel-indicators .active {background: #A70F24;opacity: 1;} .carousel-indicators li, .owl-theme .owl-dots .owl-dot span{background-color: #A70F24;opacity: 0.5;} .fc-event{ color: #A70F24 !important;}.text_bloc {color:#FFFFFF !important;} .text_bloc .title:before {background-color:#FFFFFF!important;} .bg_bloc .c_text {color:#FFFFFF !important;} .bg_bloc .dropdown-toggle, .bg_bloc .dropdown-menu, .bg_bloc.bootstrap-select .dropdown-toggle::after {color:#FFFFFF !important;} .fc-unthemed thead.fc-head{ color: #FFFFFF !important; } .fc-unthemed td.fc-today{color: #FFFFFF !important;} .cookies .btn{ background-color: #FFFFFF !important; }.footer.bg { background-color: #52AF43; }nav.navbar.bg { background-color: #52AF43; }nav.navbar.bg { background-image: url(https://static.neopse.com/assets/img/textures/black-thread-light.png?v=v1); background-position: center; background-repeat: repeat; }body, .c_text, .container, .carousel-caption .title, .dropdown-item.c_text, .newsletter .requirements { color: #000000; } .slick-prev:before, .slick-next:before { color: #000000; } .c_text.navbar-toggler{ border-color: #000000 !important; } .title:before{ background-color: #000000 !important; } .intern-page .en-tete{ border-left-color: #000000;} .bootstrap-select .dropdown-menu li a{color: #000000;} .bootstrap-select .dropdown-toggle::after{color: #000000;} .fc-button{color: #000000 !important;}.footer .c_btn, .footer .c_btn:hover, .footer .c_btn:focus, .footer .c_btn:active { color: #E9BB0A; } .footer .c_btn:before { background-color: #E9BB0A !important; }nav.navbar .c_btn, nav.navbar .c_btn:hover, nav.navbar .c_btn:focus, nav.navbar .c_btn:active { color: #FFFFFF; }nav.navbar .dropdown-menu { background-color: #52AF43; }.footer .c_text { color: #FFFFFF; }nav.navbar .c_text { color: #FFFFFF; }nav.navbar .h_text:hover { color: #FFFFFF; }.footer .c_title { color: #FFFFFF; } .footer .c_title:before { background-color: #FFFFFF !important; }.breadcrumb.bg { background-color: #A70F24; }nav.navbar .dropdown-menu .c_text { color: #FFFFFF; }nav.navbar .dropdown-menu .h_text:hover { color: #FFFFFF; }nav.navbar .h_text:hover { background-color: #90E193; }body .bg_btn { background-color: #FFFFFF; } body .bg_btn:hover, body .bg_btn:active, body .bg_btn:focus { background-color: #FFFFFF; } .fc-event{ background-color: #FFFFFF !important; border-color: #FFFFFF !important; }#w_headline { background-color: #A70F24; }#w_0zt4n7hl8 .bg { background-color: #90E193; }#w_0zt4n7hl8 .bg { background-image: url(https://static.neopse.com/assets/img/textures/diagonales-decalees.png?v=v1); background-position:center; background-repeat: repeat;}#w_429770mmd .bg { background-color: #A70F24; }#w_429770mmd .bg { background-image: url(https://static.neopse.com/assets/img/textures/black-thread-light.png?v=v1); background-position: center; background-repeat: repeat; }#w_5yupcqsm2 .bg { background-color: #E9BB0A; }#w_5yupcqsm2 .bg { background-image: url(https://static.neopse.com/assets/img/textures/cubes.png?v=v1); background-position: center; background-repeat: repeat; }#w_aosbsketb .bg { background-color: #A70F24; }#w_fs59045t0 .bg { background-color: #A70F24; }#w_fs59045t0 .bg { background-image: url(https://static.neopse.com/assets/img/textures/black-thread-light.png?v=v1); background-position: center; background-repeat: repeat; }#w_headline .c_btn, #w_headline .c_btn:hover, #w_headline .c_btn:focus, #w_headline .c_btn:active { color: #A70F24; } #w_headline .c_btn:before { background-color: #A70F24 !important; } #w_headline .owl-theme .owl-dots .owl-dot.active span,#w_headline .owl-theme .owl-dots .owl-dot:hover span, #w_headline .carousel-indicators .active {background: #A70F24;opacity: 1;} #w_headline .carousel-indicators li, #w_headline .owl-theme .owl-dots .owl-dot span{background-color: #A70F24;opacity: 0.5;}.breadcrumb.bg .c_text { color: #FFFFFF; }nav.navbar .bg_btn, nav.navbar .bg_btn:hover, nav.navbar .bg_btn:active, nav.navbar .bg_btn:focus{ background-color: #90E193; }nav.navbar .dropdown-menu .h_text:hover { background-color: #A70F24; }#w_429770mmd .c_btn, #w_429770mmd .c_btn:hover, #w_429770mmd .c_btn:focus, #w_429770mmd .c_btn:active, #w_429770mmd .card-icon-date .day { color: #E9BB0A; border-color: #E9BB0A; } #w_429770mmd .c_btn:before, #w_429770mmd .owl-theme .owl-dots .owl-dot.active span, #w_429770mmd .owl-theme .owl-dots .owl-dot:hover span, #w_429770mmd .slick-dots .slick-active button:before, #w_429770mmd .card-icon-date .month {background-color: #E9BB0A !important;opacity: 1;} #w_429770mmd .carousel-indicators li, #w_429770mmd .owl-theme .owl-dots .owl-dot span, #w_429770mmd .slick-dots li button:before {background-color: #E9BB0A; opacity: 0.5;}#w_5yupcqsm2 .c_btn, #w_5yupcqsm2 .c_btn:hover, #w_5yupcqsm2 .c_btn:focus, #w_5yupcqsm2 .c_btn:active { color: #000000; } #w_5yupcqsm2 .c_btn.dark:before { background-color: #000000 !important; } #w_5yupcqsm2 .owl-theme .owl-dots .owl-dot.active span, #w_5yupcqsm2 .owl-theme .owl-dots .owl-dot:hover span {background: #000000;opacity: 1;} #w_5yupcqsm2 .carousel-indicators li, #w_5yupcqsm2 .owl-theme .owl-dots .owl-dot span{background-color: #000000;opacity: 0.5;}#w_headline .c_text { color: rgb(167,15,36); } #w_headline .title.c_text:before { background-color: rgb(167,15,36) !important; }.breadcrumb.bg .c_title { color: #FFFFFF; } .breadcrumb.bg .c_title:before { background-color: #FFFFFF !important; }#w_0zt4n7hl8 .c_text { color: #FFFFFF; }#w_429770mmd .c_text { color: #FFFFFF; }#w_5yupcqsm2 .c_text { color: #000000; }#w_0zt4n7hl8 .c_title { color: #A70F24; } #w_0zt4n7hl8 .c_title:before { background-color: #A70F24 !important; }#w_429770mmd .c_title { color: #FFFFFF; } #w_429770mmd .c_title:before { background-color: #FFFFFF !important; }#w_5yupcqsm2 .c_title { color: #FFFFFF !important; } #w_5yupcqsm2 .c_title.dark:before { background-color: #FFFFFF !important; }#w_aosbsketb .c_title { color: #FFFFFF; } #w_aosbsketb .c_title:before { background-color: #FFFFFF !important; }#w_fs59045t0 .c_title { color: #FFFFFF; } #w_fs59045t0 .c_title:before { background-color: #FFFFFF !important; }#w_0zt4n7hl8 .c_title { display: inline-block; }#w_aosbsketb .c_title { display: inline-block; }#w_429770mmd .bg_text { background-color: #FFFFFF; }#w_headline .c_text_responsive { color: #A70F24; } #w_headline .title.c_text_responsive:before { background-color: #A70F24 !important; }/*np-dropdowns*/.bootstrap-select{background-color:#90E193!important;}.bootstrap-select .dropdown-menu{background-color:#90E193!important;border-color:#90E193!important;}.bootstrap-select .dropdown-menu .dropdown-item,.bootstrap-select .dropdown-menu li a,.bootstrap-select .dropdown-menu .dropdown-item:hover,.bootstrap-select .dropdown-menu .dropdown-item:focus,.bootstrap-select .dropdown-menu .dropdown-item.active,.bootstrap-select .dropdown-menu .dropdown-item.selected{background-color:#90E193!important;}.bootstrap-select,.bootstrap-select .dropdown-toggle,.bootstrap-select .dropdown-toggle::after,.bootstrap-select .dropdown-menu,.bootstrap-select .dropdown-menu .c_text,.bootstrap-select .dropdown-menu .dropdown-item,.bootstrap-select .dropdown-menu .dropdown-item:hover,.bootstrap-select .dropdown-menu .dropdown-item:focus,.bootstrap-select .dropdown-menu .dropdown-item.active,.bootstrap-select .dropdown-menu .dropdown-item.selected,.bootstrap-select .dropdown-menu li a,.bootstrap-select .dropdown-menu .text{color:#FFFFFF!important;}</style>
103                            
104    
105        
105<script src="/js/vendor/jquery-3.2.1.min.js"></script>
105
106        
106<script>tarteaucitron.user.matomoHost = '//matomo.neopse.com/';</script>
106
107    </head>
108    <body>
109
110        <header role="banner"><!-- Top navbar -->
111<nav role="navigation" class="navbar fixed-top navbar-expand-lg bg">
112    <div class="ov"></div>
113    <div class="container">
114        <a class="navbar-brand c_text" aria-label="Accueil" href="/fr/">
115                            <h1 class="img">
116                    <picture>
117                        <source media="(max-width: 991.98px)" srcset="https://static.neopse.com/medias/p/2755/site/4c/9d/96/4c9d9637b5fb19a3313641044b5569ea550e9329.png">
118                        <img role="img" src="https://static.neopse.com/medias/p/2755/site/4c/9d/96/4c9d9637b5fb19a3313641044b5569ea550e9329.png" alt="Logo Commune de Villainville" loading="eager">
119                    </picture>
120                    <span>Commune de Villainville</span>
121                </h1>
122                    </a>
123        <button class="navbar-toggler c_text h_text" type="button" data-toggle="collapse"
124                data-target="#navbarNavDropdown"
125                aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation" style="z-index: 100;">
126            <span class="navbar-toggler-icon">
127                <i class="material-icons notranslate">menu</i>
128            </span>
129        </button>
130        <div class="collapse navbar-collapse" id="navbarNavDropdown">
131            <ul class="navbar-nav ml-auto">
132                <li class="nav-item dropdown">
133                    <a class="nav-link c_text h_text px-3" href="/" role="button">
134                        <i class="material-icons">home</i>
135                    </a>
136                </li>
137                                                            <li class="nav-item dropdown">
138                            <a class="nav-link c_text h_text dropdown-toggle" href="#" id="menuDropdown0" role="button"
139                               data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
140                                Accueil
141                            </a>
142                            <div class="dropdown-menu container bg_text" aria-labelledby="menuDropdown0">
143                                                                    <div class="dropdown-menu-image" aria-hidden="true"
144                                         style="background-image: url(https://static.neopse.com/thumbs/p/2755/site/10/91/9e/10919e0e43fdd55f9e6909d14a62e544e85636e3.png?v=v1);"></div>
145                                
146                                <div class="container mega-dropdown-menu">
147                                    <div class="divider">
148                                                                                                                        
149                                        
150                                                                                    <a class="dropdown-item c_text h_text bg_h_text" role="menuitem"
151                                               href="/fr/ct/1722346/contacts-1074">
152                                                Contacts
153                                            </a>
154                                        
155                                        
156                                                                                                                                                                
157                                                                                    <a class="dropdown-item c_text h_text bg_h_text" role="menuitem"
158                                               href="/fr/rb/1292449/presentation-de-villainville">
159                                                Présentation de Villainville
160                                            </a>
161                                        
162                                        
163                                        
164                                                                                                                                                                
165                                        
166                                                                                    <a class="dropdown-item c_text h_text bg_h_text" role="menuitem"
167                                               href="/fr/tb/1723087/le-conseil-municipal-55">
168                                                Le conseil municipal
169                                            </a>
170                                        
171                                        
172                                                                                                                                                                
173                                        
174                                                                                    <a class="dropdown-item c_text h_text bg_h_text" role="menuitem"
175                                               href="/fr/nw/1722424/actualites-1186">
176                                                Actualités
177                                            </a>
178                                        
179                                        
180                                                                                                                                                                
181                                        
182                                                                                    <a class="dropdown-item c_text h_text bg_h_text" role="menuitem"
183                                               href="/fr/lk/1722541/les-partenaires-de-la-commune">
184                                                Les partenaires de la commune
185                                            </a>
186                                        
187                                        
188                                                                                                                                                                
189                                        
190                                                                                    <a class="dropdown-item c_text h_text bg_h_text" role="menuitem"
191                                               href="/fr/rp/1722892/comptes-rendus-706">
192                                                Comptes rendus
193                                            </a>
194                                        
195                                        
196                                                                                                                                                                
197                                                                                    <a class="dropdown-item c_text h_text bg_h_text" role="menuitem"
198                                               href="/fr/rb/1577474/plan-local-durbanisme-plu-27">
199                                                Plan Local d&#039;Urbanisme (PLU)
200                                            </a>
201                                        
202                                        
203                                        
204                                                                                                                    </div>
205                                </div>
206                            </div>
207                        </li>
208                    
209
210                                                            <li class="nav-item dropdown">
211                            <a class="nav-link c_text h_text dropdown-toggle" href="#" id="menuDropdown1" role="button"
212                               data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
213                                Les partenaires
214                            </a>
215                            <div class="dropdown-menu container bg_text" aria-labelledby="menuDropdown1">
216                                                                    <div class="dropdown-menu-image" aria-hidden="true"
217                                         style="background-image: url(https://static.neopse.com/thumbs/p/2755/site/01/0d/85/010d85908e7bb3ce846804514da827ded2d1d483.png?v=v1);"></div>
218                                
219                                <div class="container mega-dropdown-menu">
220                                    <div class="divider">
221                                                                                                                        
222                                                                                    <a class="dropdown-item c_text h_text bg_h_text" role="menuitem"
223                                               href="/fr/rb/1291916/les-partenaires-publics">
224                                                Les partenaires publics
225                                            </a>
226                                        
227                                        
228                                        
229                                                                                                                                                                
230                                                                                    <a class="dropdown-item c_text h_text bg_h_text" role="menuitem"
231                                               href="/fr/rb/1298234/les-artisans-de-villainville">
232                                                Les artisans de Villainville
233                                            </a>
234                                        
235                                        
236                                        
237                                                                                                                    </div>
238                                </div>
239                            </div>
240                        </li>
241                    
242
243                                                            <li class="nav-item dropdown">
244                            <a class="nav-link c_text h_text dropdown-toggle" href="#" id="menuDropdown2" role="button"
245                               data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
246                                Vie pratique
247                            </a>
248                            <div class="dropdown-menu container bg_text" aria-labelledby="menuDropdown2">
249                                                                    <div class="dropdown-menu-image" aria-hidden="true"
250                                         style="background-image: url(https://static.neopse.com/thumbs/p/2755/site/5b/e2/40/5be24085a12ce2edea4fc9073268c799a75eb9f3.png?v=v1);"></div>
251                                
252                                <div class="container mega-dropdown-menu">
253                                    <div class="divider">
254                                                                                                                        
255                                                                                    <a class="dropdown-item c_text h_text bg_h_text" role="menuitem"
256                                               href="/fr/rb/1291994/se-deplacer-26">
257                                                Se déplacer
258                                            </a>
259                                        
260                                        
261                                        
262                                                                                                                                                                
263                                                                                    <a class="dropdown-item c_text h_text bg_h_text" role="menuitem"
264                                               href="/fr/rb/1292072/ou-se-loger-2">
265                                                Où se loger ?
266                                            </a>
267                                        
268                                        
269                                        
270                                                                                                                                                                
271                                                                                    <a class="dropdown-item c_text h_text bg_h_text" role="menuitem"
272                                               href="/fr/rb/1291968/gestion-des-dechets-75">
273                                                Gestion des déchets
274                                            </a>
275                                        
276                                        
277                                        
278                                                                                                                                                                
279                                                                                    <a class="dropdown-item c_text h_text bg_h_text" role="menuitem"
280                                               href="/fr/rb/1292358/les-demarches-administratives-4">
281                                                Les démarches administratives
282                                            </a>
283                                        
284                                        
285                                        
286                                                                                                                                                                
287                                                                                    <a class="dropdown-item c_text h_text bg_h_text" role="menuitem"
288                                               href="/fr/rb/1292033/les-marches-autour-de-villainville">
289                                                Les marchés autour de Villainville...
290                                            </a>
291                                        
292                                        
293                                        
294                                                                                                                                                                
295                                                                                    <a class="dropdown-item c_text h_text bg_h_text" role="menuitem"
296                                               href="/fr/rb/1292085/assistantes-maternelles-46">
297                                                Assistantes maternelles
298                                            </a>
299                                        
300                                        
301                                        
302                                                                                                                                                                
303                                                                                    <a class="dropdown-item c_text h_text bg_h_text" role="menuitem"
304                                               href="/fr/rb/1292098/la-salle-polyvalente">
305                                                La salle polyvalente
306                                            </a>
307                                        
308                                        
309                                        
310                                                                                                                                                                
311                                                                                    <a class="dropdown-item c_text h_text bg_h_text" role="menuitem"
312                                               href="/fr/rb/1292124/eglise-cimetiere-1">
313                                                Église-Cimetière
314                                            </a>
315                                        
316                                        
317                                        
318                                                                                                                                                                
319                                                                                    <a class="dropdown-item c_text h_text bg_h_text" role="menuitem"
320                                               href="/fr/rb/1509536/communications-1">
321                                                Communications
322                                            </a>
323                                        
324                                        
325                                        
326                                                                                                                                                                
327                                                                                    <a class="dropdown-item c_text h_text bg_h_text" role="menuitem"
328                                               href="/fr/rb/1510316/sante-93">
329                                                Santé
330                                            </a>
331                                        
332                                        
333                                        
334                                                                                                                                                                
335                                                                                    <a class="dropdown-item c_text h_text bg_h_text" role="menuitem"
336                                               href="/fr/rb/1510381/au-jardin">
337                                                Au jardin...
338                                            </a>
339                                        
340                                        
341                                        
342                                                                                                                    </div>
343                                </div>
344                            </div>
345                        </li>
346                    
347
348                                                            <li class="nav-item dropdown">
349                            <a class="nav-link c_text h_text dropdown-toggle" href="#" id="menuDropdown3" role="button"
350                               data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
351                                Autour de l&#039;école
352                            </a>
353                            <div class="dropdown-menu container bg_text" aria-labelledby="menuDropdown3">
354                                                                    <div class="dropdown-menu-image" aria-hidden="true"
355                                         style="background-image: url(https://static.neopse.com/thumbs/p/2755/site/92/65/b8/9265b80c4e8c9818d27114a5e3a419773d26daaa.png?v=v1);"></div>
356                                
357                                <div class="container mega-dropdown-menu">
358                                    <div class="divider">
359                                                                                                                        
360                                                                                    <a class="dropdown-item c_text h_text bg_h_text" role="menuitem"
361                                               href="/fr/rb/1292228/garderie-periscolaire-19">
362                                                Garderie périscolaire
363                                            </a>
364                                        
365                                        
366                                        
367                                                                                                                                                                
368                                                                                    <a class="dropdown-item c_text h_text bg_h_text" role="menuitem"
369                                               href="/fr/rb/1292267/restauration-scolaire-70">
370                                                Restauration scolaire
371                                            </a>
372                                        
373                                        
374                                        
375                                                                                                                                                                
376                                                                                    <a class="dropdown-item c_text h_text bg_h_text" role="menuitem"
377                                               href="/fr/rb/1292319/vie-de-lecole">
378                                                Vie de l&#039;école
379                                            </a>
380                                        
381                                        
382                                        
383                                                                                                                    </div>
384                                </div>
385                            </div>
386                        </li>
387                    
388
389                                                            <li class="nav-item dropdown">
390                            <a class="nav-link c_text h_text dropdown-toggle" href="#" id="menuDropdown4" role="button"
391                               data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
392                                Services aux habitants
393                            </a>
394                            <div class="dropdown-menu container bg_text" aria-labelledby="menuDropdown4">
395                                
396                                <div class="container mega-dropdown-menu">
397                                    <div class="divider">
398                                                                                                                        
399                                                                                    <a class="dropdown-item c_text h_text bg_h_text" role="menuitem"
400                                               href="/fr/rb/1515490/maisons-du-territoire-1">
401                                                Maisons du territoire
402                                            </a>
403                                        
404                                        
405                                        
406                                                                                                                                                                
407                                                                                    <a class="dropdown-item c_text h_text bg_h_text" role="menuitem"
408                                               href="/fr/rb/1515516/facilitez-vos-paiements">
409                                                Facilitez vos paiements
410                                            </a>
411                                        
412                                        
413                                        
414                                                                                                                    </div>
415                                </div>
416                            </div>
417                        </li>
418                    
419
420                
421                                    <li class="nav-item">
422                        <a href="#search-form-collapse" role="button" class="search-button btn c_text h_text" data-toggle="collapse"
423                           data-target="#search-form-collapse" aria-expanded="false">
424                            <i class="material-icons">search</i>
425                        </a>
426                    </li>
427                    <form action="/fr/search" class="form-inline nav-link c_text" method="post">
428                        <div class="toggled row collapse" id="search-form-collapse">
429                            <input id="search-form" class="form-control col-lg-8 col-8" type="search" placeholder="Recherche"
430                                   aria-label="Search" name="keywords">
431                            <button type="submit" class="form-control col-lg-4 col-4 bg_btn c_btn"><i class="material-icons notranslate">search</i></button>
432                        </div>
433                    </form>
434                
435                                    <li class="nav-item position-relative">
436                        <div role="button" class="cursor-pointer nav-link c_text" data-toggle="collapse"
437                             data-target="#google_translate_element" aria-expanded="false" aria-label="Choisir la langue du site"
438                             aria-controls="google_translate_element"><i class="material-icons notranslate">language</i>
439                        </div>
440                        <div id="google_translate_element" class="collapse">
441                            <div id="google_translate"></div>
442                            <div class="google_translate_consent" style="width: 200px; height: 60px;"></div>
443                        </div>
444                    </li>
445                
446            </ul>
447        </div>
448    </div>
449</nav>
450</header>
451
452        <main role="main">
453                <div class="main intern-page">
454        <header class="breadcrumb container d-flex align-items-center bg">
455    <div class="ov"></div>
456    <div class="container">
457        <h1 class="title dark c_title">Contacts</h1>
458
459                        <nav class="ariane c_text">
460    <span><a href="/fr/" class="font-weight-bold">Accueil</a></span>
461            / <a href="/fr/">Accueil</a>
462            / <a href="/fr/ct/1722346/contacts-1074">Contacts</a>
463    </nav>
464
465                </div>
466</header>
467        <!-- Contenu -->
468        <section class="container wrapper bg_wrapper c_wrapper">
469            <div class="ov bgw"></div>
470
471            <div class="main-content dynamicContent">
472
473                <div class="row">
474                    <div class="col col-lg contenu">
475
476                                                <div>
477                                                            <div class="mb-3">
478                                    <h2 class="title dark">Commune de Villainville</h2>
479                                    <p>Mairie de Villainville</p>
480                                </div>
481                            
482                                                            <div class="mb-3">
483                                    <p class="mb-0">704, route d&#039;Étretat</p>
484                                    <p class="mb-0">76280 Villainville</p>
485                                                                            <p class="mb-0 text-uppercase">France</p>
486                                                                    </div>
487                            
488                                                            <div class="mb-3">
489                                    <p class="mb-0"><a
490                                                href="tel:+33235298559">+33 2 35 29 85 59</a>
491                                        </p>                                                                                                        </div>
492                            
493                                                            <div class="mb-3"><p class="mb-0"><a class="btn btn-primary c_btn bg_btn py-2 px-4" href="#" data-toggle="modal"
494                                                                     data-target="#contactFormContact">Contact par formulaire</a></p></div>
495
496                            
497                            
498                                                            <div class="my-5 ckeditor_info">
499                                    <h2 class="title dark">Horaires et permanences</h2>
500                                    <p><strong><span style="color:#f39c12">Accueil public par la secr&eacute;taire de mairie:&nbsp;</span></strong><br />
501Lundi:9h00-12h/13h30-16h00<br />
502Mardi:9h00-12h/13h30-16h00<br />
503Jeudi:9h00-12h<br />
504<br />
505<span style="color:#f39c12"><strong>Accueil public&nbsp;</strong>avec Monsieur le Maire ou adjoint</span>:<br />
506les samedis de 9h30 &agrave; 11h00.<br />
507Pour les d&eacute;p&ocirc;ts de dossiers d&rsquo;urbanisme, location de salle, &eacute;tat civil, recensement citoyen, RDV avec Monsieur le Maire ou adjoints...<br />
508<br />
509Pour prendre rendez-vous, vous devez contacter la mairie de Villainville par courriel &agrave; : <span style="color:#bdc3c7"><strong>[email protected]</strong></span><br />
510<br />
511&nbsp;</p>
512                                </div>
513                            
514                                                    </div>
515
516                    </div>
517
518                    
519                </div>
520
521            </div>
522        </section>
523
524        <div class="modal fade" id="contactFormContact" tabindex="-1" role="dialog" aria-labelledby="modalContact-label" aria-hidden="true"
525     style="color:initial;-webkit-transform: translateZ(0);transform: translateZ(0);">
526    <div class="modal-dialog" role="document">
527        <div class="modal-content">
528            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
529                <span aria-hidden="true">&times;</span>
530            </button>
531
532            <div class="modal-header bg_bloc">
533                <h5 id="modalContact-label" class="modal-title font-weight-bold dark text_bloc">Contact Mairie</h5>
534            </div>
535            <form id="contactForm" action="/formMdContact" method="post"
536                  novalidate enctype="multipart/form-data">
537                <div class="modal-body pb-0">
538
539                                            <div class="field-wrapper"><p class="title">Contact Mairie</p></div>
540                                            <div class="field-wrapper">
541    <div><label class="control-label generalLabel font-weight-bold mr-1">Destinataire de votre message <span
542                class="cursor-pointer" data-toggle="popover" data-content="Sélectionnez"><i
543                            class="material-icons align-top">info_outline</i></span>        </label><span>*</span></div>
544
545            <div class="form-check d-block">
546            <label class="form-check-label"><input class="form-check-input" type="checkbox" name="2_check_list[]" value="Karine Ramain- Maire">Karine Ramain- Maire<span
547                        class="form-check-sign"><span class="check"></span></span></label>
548        </div>
549            <div class="form-check d-block">
550            <label class="form-check-label"><input class="form-check-input" type="checkbox" name="2_check_list[]" value="Agnès Lenormand- 1ère adjointe">Agnès Lenormand- 1ère adjointe<span
551                        class="form-check-sign"><span class="check"></span></span></label>
552        </div>
553            <div class="form-check d-block">
554            <label class="form-check-label"><input class="form-check-input" type="checkbox" name="2_check_list[]" value="Secretariat de mairie ">Secretariat de mairie <span
555                        class="form-check-sign"><span class="check"></span></span></label>
556        </div>
557        <span class="form-error requirements" id="2_check_list-error" role="alert">Ce champ est obligatoire</span>
558</div>
559                                            <div class="form-group">
560    <div><label for="3_email">Votre adresse e-mail</label><span>*</span></div>
561    <input type="email" name="3_email" class="form-control" id="3_email"
562           aria-label="Votre adresse e-mail">
563    <span class="help-message cursor-pointer" data-toggle="popover" data-content="Veuillez"><i
564                class="material-icons">info_outline</i></span>    <span class="form-error requirements" id="3_email-error" role="alert">Ce champ est obligatoire</span>
565</div>
566
567                                            <div class="form-group">
568    <div><label for="4_date" id="4_dateLabel">Date</label><span>*</span></div>
569    <div class="d-flex align-items-end">
570        <div class="col-10 col-md-5 mr-3 px-0">
571            <input type="date" name="4_date" class="form-control" id="4_date" aria-describedby="4_dateLabel" placeholder="Date">
572            <span class="help-message"><i class="material-icons notranslate">date_range</i></span>
573        </div>
574        <div data-toggle="popover" data-content="">
575                    </div>
576    </div>
577    <span class="form-error requirements" id="4_date-error" role="alert">Ce champ est obligatoire</span>
578</div>
579
580                                            <div class="form-group">
581    <div><label for="5_textarea">Nom</label><span></span>
582    </div>
583    <textarea name="5_textarea" class="form-control pl-0" id="5_textarea" rows="3"></textarea>
584        <span class="form-error requirements" id="5_textarea-error" role="alert">Ce champ est obligatoire</span>
585</div>
586                    
587                    <div class="form-group">
588    <div class="h-recaptcha m-auto d-inline-block"></div>
589    <div class="form-error requirements" id="h-captcha-response-error" role="alert">Ce champ est obligatoire
590    </div>
591</div>                </div>
592                <div class="modal-footer">
593                    <button id="formContactForm" type="submit" class="btn bg_btn c_btn formContactForm" aria-label="Envoyer">ENVOYER</button>
594                </div>
595                <div class="m-3">
596                    Les informations recueillies &agrave; partir de ce formulaire sont n&eacute;cessaires &agrave; la gestion de votre demande par notre Structure qui est responsable du traitement de vos donn&eacute;es personnelles collect&eacute;es.<br />
597Vos donn<span style="color:null"><span style="background-color:null">&eacute;es personnelles re&ccedil;ues sont conserv&eacute;es par notre Structure pendant toute la dur&eacute;e n&eacute;cessaire au traitement de votre demande ou bien pour une dur&eacute;e de [&hellip;&hellip;.] mois maximum &agrave; compter du dernier contact. Dans la limite de leurs attributions respectives, sont destinataires de tout ou partie des donn&eacute;es les services et repr&eacute;sentants de notre Structure en charge des r&eacute;ponses aux demandes &eacute;mises via ce formulaire. Aucun transfert de vos donn&eacute;es hors de l&#39;Union europ&eacute;enne n&#39;est r&eacute;alis&eacute;. </span><br />
598<span style="background-color:null">Vous pouvez &agrave; tout moment demander l&rsquo;acc&egrave;s, la rectification, l&rsquo;effacement, la portabilit&eacute; ou la limitation de vos donn&eacute;es, ou bien vous opposer &agrave; leur traitement, en contactant le D&eacute;l&eacute;gu&eacute; &agrave; la Protection des Donn&eacute;es de notre structure : </span><br />
599<span style="background-color:null">- Par voie &eacute;lectronique &agrave; l&rsquo;adresse : [&hellip;&hellip;.] ; </span><br />
600<span style="background-color:null">- Par voie postale &agrave; l&rsquo;attention du D&eacute;l&eacute;gu&eacute; &agrave; la Protection des Donn&eacute;es et &agrave; l&rsquo;adresse suivante : [&hellip;&hellip;.]. </span><br />
601<span style="background-color:null">Si vous estimez, apr&egrave;s nous avoir contact&eacute;s, que vos droits sur vos donn&eacute;es personnelles ne sont pas respect&eacute;s, vous pou</span></span>vez adresser une r&eacute;clamation &agrave; la CNIL.
602                </div>
603            </form>
604
605            <div id="messageSendedForm" class="form-message-sent" style="display: none">
606                <p>Le message a bien été envoyé à son destinataire. Merci.</p>
607            </div>
608        </div>
609    </div>
610</div>
611
612    </div>
613
614        </main>
615
616                    <div id="previewModalImage" class="modal">
617
618                <!-- The Close Button -->
619                <span id="closePreviewImage" class="close">&times;</span>
620
621                <!-- Navigation Buttons -->
622                <a id="prevImage" class="modal-nav prev" href="javascript:void(0)">&#10094;</a>
623                <a id="nextImage" class="modal-nav next" href="javascript:void(0)">&#10095;</a>
624
625                <!-- Image Counter -->
626                <div id="imageCounter" class="image-counter"></div>
627
628                <!-- Modal Content (The Image) -->
629                <div id="containerPreviewImage"><img role="img" class="modal-content" alt=""></div>
630
631                <!-- Modal Caption (Image Text) -->
632                <div id="captionPreviewImage"></div>
633            </div>
634        
635                    
635<script>
636                (function() {
637                    // Get the modal elements
638                    const modal = document.getElementById('previewModalImage');
639                    const modalImg = modal.querySelector('img');
640                    const captionText = document.getElementById('captionPreviewImage');
641                    const closePreviewImage = document.getElementById('closePreviewImage');
642                    const prevBtn = document.getElementById('prevImage');
643                    const nextBtn = document.getElementById('nextImage');
644                    const imageCounter = document.getElementById('imageCounter');
645                    
646                    let currentImages = [];
647                    let currentIndex = 0;
648
649                    // Helper function to check if element is visible
650                    function isVisible(element) {
651                        return element && element.offsetParent !== null;
652                    }
653
654                    // Helper function to toggle element visibility
655                    function toggleElement(element, show) {
656                        if (element) {
657                            element.style.display = show ? 'block' : 'none';
658                        }
659                    }
660
661                    // Function to update the modal with a specific image
662                    function updateModal(index) {
663                        if (currentImages.length === 0) return;
664                        
665                        currentIndex = index;
666                        const img = currentImages[currentIndex];
667                        modalImg.setAttribute('src', img.src);
668                        modalImg.setAttribute('alt', img.alt || '');
669                        captionText.innerHTML = img.alt || '';
670                        
671                        // Update counter
672                        imageCounter.textContent = (currentIndex + 1) + ' / ' + currentImages.length;
673                        
674                        // Show/hide navigation buttons
675                        const showNav = currentImages.length > 1;
676                        toggleElement(prevBtn, showNav);
677                        toggleElement(nextBtn, showNav);
678                        toggleElement(imageCounter, showNav);
679                    }
680
681                    // Function to show next image
682                    function showNext() {
683                        if (currentImages.length === 0) return;
684                        currentIndex = (currentIndex + 1) % currentImages.length;
685                        updateModal(currentIndex);
686                    }
687
688                    // Function to show previous image
689                    function showPrev() {
690                        if (currentImages.length === 0) return;
691                        currentIndex = (currentIndex - 1 + currentImages.length) % currentImages.length;
692                        updateModal(currentIndex);
693                    }
694
695                    // Helper function to find closest ancestor with class
696                    function closest(element, selector) {
697                        if (!element) return null;
698                        
699                        // For class selector (e.g., '.splide__slide')
700                        if (selector.startsWith('.')) {
701                            const className = selector.slice(1);
702                            let current = element;
703                            while (current && current !== document) {
704                                if (current.classList && current.classList.contains(className)) {
705                                    return current;
706                                }
707                                current = current.parentElement;
708                            }
709                        }
710                        return null;
711                    }
712
713                    // When clicking on an image
714                    document.addEventListener('click', function(e) {
715                        const target = e.target;
716                        // Check if clicked element is an image with class .img or .main-img inside .splide
717                        if (target.tagName === 'IMG' && 
718                            (target.classList.contains('img') || target.classList.contains('main-img')) &&
719                            closest(target, '.splide')) {
720                            
721                            // Find the clicked image's parent slide
722                            const clickedSlide = closest(target, '.splide__slide');
723                            if (!clickedSlide) return;
724                            
725                            // Find the list that contains this slide
726                            const splideList = closest(clickedSlide, '.splide__list');
727                            if (!splideList) return;
728                            
729                            // Get all slides from this specific list
730                            const allSlides = splideList.querySelectorAll('.splide__slide');
731                            
732                            // Get all images from these slides only, deduplicating by src
733                            // (Splide duplicates slides in loop mode, so we need to filter duplicates)
734                            currentImages = [];
735                            const seenSrcs = new Set();
736                            const clickedSrc = target.src;
737                            
738                            allSlides.forEach(function(slide) {
739                                const slideImg = slide.querySelector('.img, .main-img');
740                                if (slideImg) {
741                                    const imgSrc = slideImg.src;
742                                    // Only add if we haven't seen this src before
743                                    if (!seenSrcs.has(imgSrc)) {
744                                        seenSrcs.add(imgSrc);
745                                        currentImages.push(slideImg);
746                                    }
747                                }
748                            });
749                            
750                            // Find the index of the clicked image by src (to handle duplicates)
751                            currentIndex = currentImages.findIndex(function(img) {
752                                return img.src === clickedSrc;
753                            });
754                            
755                            if (currentIndex === -1) {
756                                currentIndex = 0; // Fallback to first image
757                            }
758                            
759                            // Update and show modal
760                            updateModal(currentIndex);
761                            modal.style.display = 'block';
762                        }
763                    });
764
765                    // Navigation button handlers
766                    if (nextBtn) {
767                        nextBtn.addEventListener('click', function (e) {
768                            e.preventDefault();
769                            e.stopPropagation();
770                            showNext();
771                        });
772                    }
773
774                    if (prevBtn) {
775                        prevBtn.addEventListener('click', function (e) {
776                            e.preventDefault();
777                            e.stopPropagation();
778                            showPrev();
779                        });
780                    }
781
782                    // Keyboard navigation
783                    document.addEventListener('keydown', function (e) {
784                        // Check if modal is visible by checking display style
785                        const isModalVisible = modal.style.display !== 'none' && 
786                                             (modal.style.display === 'block' || 
787                                              window.getComputedStyle(modal).display !== 'none');
788                        
789                        if (isModalVisible) {
790                            if (e.key === 'ArrowRight' || e.keyCode === 39) {
791                                e.preventDefault();
792                                showNext();
793                            } else if (e.key === 'ArrowLeft' || e.keyCode === 37) {
794                                e.preventDefault();
795                                showPrev();
796                            } else if (e.key === 'Escape' || e.keyCode === 27) {
797                                e.preventDefault();
798                                e.stopPropagation();
799                                modal.style.display = 'none';
800                            }
801                        }
802                    });
803
804                    // When the user clicks on <span> (x), close the modal
805                    if (closePreviewImage) {
806                        closePreviewImage.addEventListener('click', function () {
807                            modal.style.display = 'none';
808                        });
809                    }
810
811                    // Close modal when clicking outside the image
812                    modal.addEventListener('click', function (e) {
813                        if (e.target === modal) {
814                            modal.style.display = 'none';
815                        }
816                    });
817                })();
818            </script>
818
819        
820        
821                    
822        
823        <!-- Footer -->
824<footer role="contentinfo" class="footer bg footer1">
825    <div class="ov"></div>
826    <div class="container d-flex flex-wrap justify-content-between">
827        <div class="footer-container">
828            <h2 class="title light c_title d_title btn-line"><a
829        href="/fr/ct/1722346/contacts-1074">Contacts</a></h2>
830<div class="footer-box">
831    <div class="contact c_text">
832        <p class="font-weight-bold mb-0" aria-label="Nom du structure">Commune de Villainville</p>
833        <p class="mb-0" aria-label="adresse">704, route d&#039;Étretat</p>
834        <p class="mb-0" aria-label="adresse 2">76280 Villainville - FRANCE</p>
835         <p class="mb-0"><a href="tel:+33235298559" title="Numéro de téléphone">+33 2 35 29 85 59</a></p>
836                    <p class="mb-0"><a style="display:initial;" class="btn-line footer-btn light c_btn" href="#" data-toggle="modal" data-target="#contactFormContactFooter" aria-label="Afficher le formulaire">Contact par formulaire</a>
837            </p>
838        
839                    <div class="mt-4">
840                <p style="margin:0;"><strong>HORAIRES</strong></p>
841                <p><strong><span style="color:#f39c12">Accueil public par la secr&eacute;taire de mairie:</span></strong><br />
842Lundi:9h00-12h/13h30-16h00<br />
843Mardi:9h00-12h/13h30-16h00<br />
844Jeudi:9h00-12h<br />
845<br />
846<strong><span style="color:#f39c12">Accueil public avec Monsieur le Maire ou adjoint:</span></strong><br />
847les samedis de 9h30 &agrave; 11h00.<br />
848<br />
849Pour les d&eacute;p&ocirc;ts de dossiers d&rsquo;urbanisme, location de salle, &eacute;tat civil, recensement citoyen, RDV avec Monsieur le Maire ou adjoints...<br />
850<br />
851Pour prendre rendez-vous, vous devez contacter la mairie de Villainville par courriel &agrave; : [email protected]</p>
852            </div>
853            </div>
854
855
856</div>
857
858
859
860            <div class="social-media">
861    <ul class="c_text">
862                                                                                                                                                            </ul>
863</div>
864
865            
866        </div>
867        
868        
869    </div>
870    <div class="container d-flex flex-wrap position-relative c_text">
871        <p class="mr-2 c_text"><a href="/fr/li/1722385/mentions-legales-1238">Mentions légales</a>
872</p> -
873        <p class="mr-2 ml-2 c_text"><a href="/fr/1722385/politique-confidentialite">Politique de confidentialité</a>
874</p> -
875        <p class="mr-2 ml-2 c_text"><a href="/fr/accessibilite">Accessibilité</a>
876</p> -
877        
878        <p class="mr-2 ml-2 c_text">
879            <a href="/fr/sm/71622/plan-du-site-1">
880                Plan du site</a></p>-
881        <p class="ml-2 c_text"><a href="#tarteaucitron">Gestion des cookies</a></p>
882    </div>
883</footer>
884
885<div class="modal fade" id="contactFormContactFooter" tabindex="-1" role="dialog" aria-labelledby="modalFooter-label" aria-hidden="true"
886     style="color:initial;-webkit-transform: translateZ(0);transform: translateZ(0);">
887    <div class="modal-dialog" role="document">
888        <div class="modal-content">
889            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
890                <span aria-hidden="true">&times;</span>
891            </button>
892
893            <div class="modal-header bg_bloc">
894                                <h4 id="modalFooter-label" class="modal-title font-weight-bold dark text_bloc">Contact Mairie</h4>
895                            </div>
896            <form id="contactFormFooter" action="/formMdContact" method="post"
897                  novalidate enctype="multipart/form-data">
898                <div class="modal-body pb-0">
899
900                                            <div class="field-wrapper"><p class="title">Contact Mairie</p></div>                                            <div class="field-wrapper">
901    <div><label class="control-label generalLabel font-weight-bold mr-1">Destinataire de votre message <span
902                class="cursor-pointer" data-toggle="popover" data-content="Sélectionnez"><i
903                            class="material-icons align-top">info_outline</i></span>        </label><span>*</span></div>
904
905            <div class="form-check d-block">
906            <label class="form-check-label"><input class="form-check-input" type="checkbox" name="2_check_list[]" value="Karine Ramain- Maire">Karine Ramain- Maire<span
907                        class="form-check-sign"><span class="check"></span></span></label>
908        </div>
909            <div class="form-check d-block">
910            <label class="form-check-label"><input class="form-check-input" type="checkbox" name="2_check_list[]" value="Agnès Lenormand- 1ère adjointe">Agnès Lenormand- 1ère adjointe<span
911                        class="form-check-sign"><span class="check"></span></span></label>
912        </div>
913            <div class="form-check d-block">
914            <label class="form-check-label"><input class="form-check-input" type="checkbox" name="2_check_list[]" value="Secretariat de mairie ">Secretariat de mairie <span
915                        class="form-check-sign"><span class="check"></span></span></label>
916        </div>
917        <span class="form-error requirements" id="2_check_list-error" role="alert">Ce champ est obligatoire</span>
918</div>                                            <div class="form-group">
919    <div><label for="3_email">Votre adresse e-mail</label><span>*</span></div>
920    <input type="email" name="3_email" class="form-control" id="3_email"
921           aria-label="Votre adresse e-mail">
922    <span class="help-message cursor-pointer" data-toggle="popover" data-content="Veuillez"><i
923                class="material-icons">info_outline</i></span>    <span class="form-error requirements" id="3_email-error" role="alert">Ce champ est obligatoire</span>
924</div>
925                                            <div class="form-group">
926    <div><label for="4_date" id="4_dateLabel">Date</label><span>*</span></div>
927    <div class="d-flex align-items-end">
928        <div class="col-10 col-md-5 mr-3 px-0">
929            <input type="date" name="4_date" class="form-control" id="4_date" aria-describedby="4_dateLabel" placeholder="Date">
930            <span class="help-message"><i class="material-icons notranslate">date_range</i></span>
931        </div>
932        <div data-toggle="popover" data-content="">
933                    </div>
934    </div>
935    <span class="form-error requirements" id="4_date-error" role="alert">Ce champ est obligatoire</span>
936</div>
937                                            <div class="form-group">
938    <div><label for="5_textarea">Nom</label><span></span>
939    </div>
940    <textarea name="5_textarea" class="form-control pl-0" id="5_textarea" rows="3"></textarea>
941        <span class="form-error requirements" id="5_textarea-error" role="alert">Ce champ est obligatoire</span>
942</div>                    
943                    <div class="form-group">
944    <div class="h-recaptcha m-auto d-inline-block"></div>
945    <div class="form-error requirements" id="h-captcha-response-error" role="alert">Ce champ est obligatoire
946    </div>
947</div>                </div>
948                <div class="modal-footer">
949                    <button id="formContactForm" type="submit" class="btn bg_btn c_btn formContactForm" aria-label="Envoyer">ENVOYER</button>
950                </div>
951                <div class="m-3">
952                    Les informations recueillies &agrave; partir de ce formulaire sont n&eacute;cessaires &agrave; la gestion de votre demande par notre Structure qui est responsable du traitement de vos donn&eacute;es personnelles collect&eacute;es.<br />
953Vos donn<span style="color:null"><span style="background-color:null">&eacute;es personnelles re&ccedil;ues sont conserv&eacute;es par notre Structure pendant toute la dur&eacute;e n&eacute;cessaire au traitement de votre demande ou bien pour une dur&eacute;e de [&hellip;&hellip;.] mois maximum &agrave; compter du dernier contact. Dans la limite de leurs attributions respectives, sont destinataires de tout ou partie des donn&eacute;es les services et repr&eacute;sentants de notre Structure en charge des r&eacute;ponses aux demandes &eacute;mises via ce formulaire. Aucun transfert de vos donn&eacute;es hors de l&#39;Union europ&eacute;enne n&#39;est r&eacute;alis&eacute;. </span><br />
954<span style="background-color:null">Vous pouvez &agrave; tout moment demander l&rsquo;acc&egrave;s, la rectification, l&rsquo;effacement, la portabilit&eacute; ou la limitation de vos donn&eacute;es, ou bien vous opposer &agrave; leur traitement, en contactant le D&eacute;l&eacute;gu&eacute; &agrave; la Protection des Donn&eacute;es de notre structure : </span><br />
955<span style="background-color:null">- Par voie &eacute;lectronique &agrave; l&rsquo;adresse : [&hellip;&hellip;.] ; </span><br />
956<span style="background-color:null">- Par voie postale &agrave; l&rsquo;attention du D&eacute;l&eacute;gu&eacute; &agrave; la Protection des Donn&eacute;es et &agrave; l&rsquo;adresse suivante : [&hellip;&hellip;.]. </span><br />
957<span style="background-color:null">Si vous estimez, apr&egrave;s nous avoir contact&eacute;s, que vos droits sur vos donn&eacute;es personnelles ne sont pas respect&eacute;s, vous pou</span></span>vez adresser une r&eacute;clamation &agrave; la CNIL.
958                </div>
959            </form>
960
961            <div id="messageSendedFormContactFooter" class="form-message-sent" style="display: none">
962                <p role="status">Le message a bien été envoyé à son destinataire. Merci.</p>
963            </div>
964        </div>
965    </div>
966</div>
967
968        <div class="footer-bottom" style="position: relative;">
969    <div class="container">
970        <p>
971            <a href="https://reseaudescommunes.fr/?utm_source=rdcclients&utm_medium=footerlink" target="_blank">
972                <img role="img" src="/images/rdc-logo-footer-2.png" alt="logo Réseau des Communes" class="img-fluid">
973                Site créé en partenariat avec Réseau des Communes
974            </a>
975        </p>
976    </div>
977</div>
978        <div class="modal fade pdfModal" id="pdfModal" tabindex="-1" role="dialog" aria-label="Prévisualisation du PDF" aria-hidden="true">
979    <div class="modal-dialog" role="document">
980        <div class="modal-content">
981            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
982                <span aria-hidden="true">&times;</span>
983            </button>
984
985            <embed type="application/pdf">
986        </div>
987    </div>
988</div>
989
990        
991                        
991<script src="/js/vendor/popper.min.js"></script>
991
992            
992<script src="/js/vendor/bootstrap.min.js"></script>
992
993
994            <!-- Carousel -->
995            
995<script src='/dist/owlcarousel/js/owl.carousel.min.js'></script>
995
996            
996<script src='/dist/owlcarousel/js/owl.linked.js'></script>
996
997
998            
998<script src="/lib/splide-4.0.1/js/splide.min.js"></script>
998
999            
999<script src="/lib/splide-4.0.1/extensions/autoscroll/js/splide-extension-auto-scroll.min.js"></script>
999
1000
1001            
1001<script src='/dist/slick/slick.js'></script>
1001
1002            
1002<script src='/dist/scrollbar/jquery.scrollbar.min.js'></script>
1002
1003
1004                        
1004<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.13.2/js/bootstrap-select.min.js"></script>
1004
1005
1006                        
1006<script src='/dist/pagination.min.js'></script>
1006
1007
1008            
1008<script src="/js/shared.js?v1"></script>
1008
1009            
1009<script src="/tpl/1/js/main.js"></script>
1009
1010            
1010<script src="/lib/chartjs/Chart.js"></script>
1010
1011            
1011<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.13/js/bootstrap-multiselect.js"></script>
1011
1012
1013                        
1013<script type="text/javascript">
1014
1015                tarteaucitron.user.matomoId = 6;
1016                (tarteaucitron.job = tarteaucitron.job || []).push('matomohightrack');
1017
1018
1019                (tarteaucitron.job = tarteaucitron.job || []).push('youtube');
1020                (tarteaucitron.job = tarteaucitron.job || []).push('dailymotion');
1021                (tarteaucitron.job = tarteaucitron.job || []).push('vimeo');
1022                (tarteaucitron.job = tarteaucitron.job || []).push('othervideo');
1023
1024                                                tarteaucitron.user.googleTranslateCallback = function () {
1025                    new google.translate.TranslateElement({pageLanguage: 'fr'}, 'google_translate');
1026                };
1027                (tarteaucitron.job = tarteaucitron.job || []).push('googletranslate');
1028                            </script>
1028
1029
1030        
1031
1032    
1032<script>
1033        $(document).ready(function () {
1034
1035            var input = $('input[type=file]');
1036
1037            input.on('change', function () {
1038                var list = $(this).parent().parent().parent().parent().find($('.listFiles'));
1039                list.empty();
1040
1041                for (var x = 0; x < this.files.length; x++) {
1042                    var newFile = '<li>Fichier joint :  ' + this.files[x].name + ' (' + humanFileSize(this.files[x].size) + ')</li>';
1043//                    li.innerHTML = 'File ' + (x + 1) + ':  ' + input.files[x].name;
1044                    list.append(newFile);
1045                }
1046            });
1047
1048            $('.form-error').hide();
1049            $('#contactForm').submit(function (e) {
1050                let form = $(this);
1051
1052                $.ajax({
1053                    type: "POST",
1054                    url: form.attr('action'),
1055                    data: new FormData(form[0]),
1056                    contentType: false,
1057                    processData: false,
1058                    beforeSend: function () {
1059                        form.find('.form-error').hide();
1060                        $('#formContactForm').attr('disabled', true);
1061                    },
1062                    success: function (response) {
1063                        hcaptcha.reset();
1064
1065                        if (response.status === 'KO') {
1066                            let errors = response.errors;
1067                            for (let index in errors) {
1068                                if (errors.hasOwnProperty(index)) {
1069                                    let attr = errors[index];
1070                                    let error = attr[Object.keys(attr)[0]];
1071                                    form.find('#' + index + '-error').text(error).show();
1072                                }
1073                            }
1074                        } else {
1075
1076                            $('#contactForm').css('display', 'none');
1077                            $('#messageSendedForm').css('display', '');
1078                            form[0].reset();
1079                        }
1080                    },
1081                    complete: function () {
1082
1083                        $('#formContactForm').removeAttr('disabled');
1084                    }
1085                });
1086
1087                return false;
1088            });
1089
1090            $('#contactFormContact').on('hidden.bs.modal', function () {
1091                $('#contactForm')[0].reset();
1092                $('#contactFormFooter')[0].reset();
1093
1094                $('#contactForm').css('display', '');
1095                $('#contactFormFooter').css('display', '');
1096
1097                $('#messageSendedForm').css('display', 'none');
1098
1099                $('.form-error').hide();
1100
1101                $('.listFiles').empty();
1102
1103                hcaptcha.reset();
1104            });
1105        });
1106
1107        function humanFileSize(size) {
1108            var i = Math.floor(Math.log(size) / Math.log(1024));
1109            return (size / Math.pow(1024, i)).toFixed(1) * 1 + ' ' + ['B', 'kB', 'MB', 'GB', 'TB'][i];
1110        }
1111    </script>
1111
1112
1113                    
1113<script type="text/javascript">
1114                $(document).ready(function () {
1115                                    });
1116
1117            </script>
1117
1118        
1119
1120        
1120<script>
1121            (function (i, s, o, g, r, a, m) {
1122                i['InstanaEumObject'] = r;
1123                i[r] = i[r] || function () {
1124                    (i[r].q = i[r].q || []).push(arguments)
1125                }, i[r].l = 1 * new Date();
1126                a = s.createElement(o),
1127                    m = s.getElementsByTagName(o)[0];
1128                a.async = 1;
1129                a.src = g;
1130                m.parentNode.insertBefore(a, m)
1131            })(window, document, 'script', '//eum.instana.io/eum.min.js', 'ineum');
1132            ineum('reportingUrl', 'https://eum-eu-west-1.instana.io');
1133            ineum('apiKey', '9yG9cnlKTcS4le-zMVtBJA');
1134
1135            // set the name of a page on which this load/errors/calls happened
1136            ineum('page', 'front-site');
1137        </script>
1137
1138
1139
1140        
1140<script src="https://js.hcaptcha.com/1/api.js?hl=fr&onload=CaptchaCallback&render=explicit" async defer></script>
1140
1141
1142        
1142<script type="text/javascript">
1143            var CaptchaCallback = function () {
1144                $('.h-recaptcha').each(function (index, el) {
1145                    hcaptcha.render(el, {'sitekey': 'f5095cfb-139b-47da-88e2-f0d2e7485392'});
1146                });
1147            };
1148
1149            var originalStyle = false;
1150
1151            $(window).on('shown.bs.modal', function () {
1152                originalStyle = $('body').attr('style');
1153
1154                $('body').attr('style', '');
1155            });
1156
1157            $(window).on('hidden.bs.modal', function () {
1158                $('body').attr('style', originalStyle);
1159
1160            });
1161
1162        </script>
1162
1163
1164        
1164<script>
1165            $(document).ready(function () {
1166
1167                $('.selectpicker').selectpicker();
1168
1169                var input = $('input[type=file]');
1170
1171                input.on('change', function () {
1172                    var list = $(this).parent().parent().parent().parent().find($('.listFiles'));
1173                    list.empty();
1174
1175                    for (var x = 0; x < this.files.length; x++) {
1176                        var newFile = '<li>Fichier joint :  ' + this.files[x].name + ' (' + humanFileSize(this.files[x].size) + ')</li>';
1177//                    li.innerHTML = 'File ' + (x + 1) + ':  ' + input.files[x].name;
1178                        list.append(newFile);
1179                    }
1180                });
1181
1182                $('.form-error').hide();
1183                $('#contactFormFooter').submit(function (e) {
1184                    let form = $(this);
1185
1186                    $.ajax({
1187                        type: "POST",
1188                        url: form.attr('action'),
1189                        data: new FormData(form[0]),
1190                        contentType: false,
1191                        processData: false,
1192                        beforeSend: function () {
1193                            form.find('.form-error').hide();
1194                            $('.formContactForm').attr('disabled', true);
1195                        },
1196                        success: function (response) {
1197                            hcaptcha.reset();
1198
1199                            if (response.status === 'KO') {
1200                                let errors = response.errors;
1201                                for (let index in errors) {
1202                                    if (errors.hasOwnProperty(index)) {
1203                                        let attr = errors[index];
1204                                        let error = attr[Object.keys(attr)[0]];
1205                                        form.find('#' + index + '-error').text(error).show();
1206                                    }
1207                                }
1208                            } else {
1209
1210                                $('#contactFormFooter').css('display', 'none');
1211                                $('#messageSendedFormContactFooter').css('display', '');
1212                                form[0].reset();
1213                            }
1214                        },
1215                        complete: function () {
1216
1217                            $('.formContactForm').removeAttr('disabled');
1218                        }
1219                    });
1220
1221                    return false;
1222                });
1223
1224                $('#contactFormContactFooter').on('hidden.bs.modal', function () {
1225                    $('#contactFormFooter')[0].reset();
1226
1227                    $('#contactFormFooter').css('display', '');
1228
1229                    $('#messageSendedFormContactFooter').css('display', 'none');
1230
1231                    $('.form-error').hide();
1232
1233                    $('.listFiles').empty();
1234
1235                    hcaptcha.reset();
1236                });
1237
1238
1239            });
1240
1241            function humanFileSize(size) {
1242                var i = Math.floor(Math.log(size) / Math.log(1024));
1243                return (size / Math.pow(1024, i)).toFixed(1) * 1 + ' ' + ['B', 'kB', 'MB', 'GB', 'TB'][i];
1244            }
1245        </script>
1245
1246
1247        
1247<script>
1248            $(function () {
1249
1250
1251                var numberAlerts = false;
1252
1253                var allAlerts = $('#alertsModal').find($('.alertsInfo'));
1254
1255                numberAlerts = allAlerts.length;
1256
1257                allAlerts.each(function (e) {
1258
1259                    if (!sessionStorage.getItem("_nps_cookie_accept_alerts" + $(this).attr('data-id') + "")) {
1260                        $('#alertsModal').modal('show');
1261                    } else {
1262                        $(this).remove();
1263                        numberAlerts = numberAlerts - 1;
1264                        setActiveAndDecrementNumber();
1265                    }
1266
1267                });
1268
1269                $('.acceptCookiesAlerts').on('click', function (e) {
1270                    e.preventDefault();
1271
1272                    var currentDataId = $(this).attr('data-id');
1273
1274                    sessionStorage.setItem('_nps_cookie_accept_alerts' + currentDataId + '', '1');
1275
1276                    numberAlerts = numberAlerts - 1;
1277
1278                    var currentParentNode = $(this).parent().parent().parent();
1279
1280                    currentParentNode.removeClass('active');
1281                    currentParentNode.remove();
1282
1283                    setActiveAndDecrementNumber();
1284
1285                });
1286
1287                function setActiveAndDecrementNumber() {
1288                    var newListOfAlerts = $('#alertsModal').find($('.alertsInfo'));
1289
1290                    newListOfAlerts.each(function (index, e) {
1291                        if (index == 0) {
1292                            $(this).addClass('active');
1293                        }
1294                    });
1295
1296                    if (numberAlerts == 0) {
1297                        $('#alertsModal').modal('hide');
1298                    }
1299                }
1300
1301                var currentColorControl = '#212529';
1302
1303                $('#controlPrev').css('color', 'initial !important');
1304                $('#controlNext').css('color', 'initial !important');
1305
1306                $('#controlPrev').on('mouseover', function () {
1307
1308                    $(this).css('color', 'initial !important');
1309                });
1310
1311                $('#controlNext').on('mouseover', function () {
1312
1313                    $(this).css('color', 'initial !important');
1314                });
1315
1316            });
1317        </script>
1317
1318    </body>
1319</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.