PageSourceSearch

https://www.santantonidevilamajor.cat/ajuntament/salutacio-de-lalcalde

html santantonidevilamajor.cat collected 2026-10-02 12:42:57 UTC 125,281 bytes, 1,718 lines download raw bytes

1<!DOCTYPE HTML>
2<html lang="ca" xmlns="http://www.w3.org/1999/xhtml" xml:lang="ca" >
3    <head>
4        <!-- METADATA -->
5<meta charset="utf-8">
6<meta name="viewport" content="width=device-width, initial-scale=1">
7<meta name="title" lang="ca" content="Salutació de l&#039;Alcalde - Ajuntament de Sant Antoni de Vilamajor">
8<meta name="description" lang="ca" content="">
9<meta name="author" lang="ca" content="Ajuntament de Sant Antoni de Vilamajor">
10<meta name="date" lang="ca" content="2020-09-24 15:00:18">
11<meta name="generator" lang="ca" content="Ajuntament de Sant Antoni de Vilamajor">
12<meta name="robots" content="index, follow">
13
14        <title>Salutació de l'Alcalde - Ajuntament de Sant Antoni de Vilamajor</title>
15
16        <!-- Global Site Tag (gtag.js) - Google Analytics v4-->
vendor: 124 bytes, lines 16-17
16
17<script type="text/plain" data-type="text/javascript" data-name="ga" data-src="https://www.googletagmanager.com/gtag/js?id=
17G-0NH4VJXY1L
vendor: 12 bytes, line 17
17"></script>
18<script type="text/plain" data-type="text/javascript" data-name="ga">
19    
vendor: 140 bytes, lines 19-23
19window.dataLayer = window.dataLayer || [];
20    function gtag(){dataLayer.push(arguments);}
21    gtag('js', new Date());
22
23    gtag('config', '
23G-0NH4VJXY1L
vendor: 8 bytes, lines 23-24
23');
24    
24// Creates the default tracker.
25    gtag('event', 'page_view', { 'send_to': 'G-0NH4VJXY1L' });
26</script>
26
27<!-- End of code Global Site Tag (gtag.js) - Google Analytics v4--><!-- Global Site Tag (gtag.js) - Google Analytics v4-->
vendor: 124 bytes, lines 27-28
27
28<script type="text/plain" data-type="text/javascript" data-name="ga" data-src="https://www.googletagmanager.com/gtag/js?id=
28UA-117343766-1
vendor: 12 bytes, line 28
28"></script>
29<script type="text/plain" data-type="text/javascript" data-name="ga">
30    
vendor: 140 bytes, lines 30-34
30window.dataLayer = window.dataLayer || [];
31    function gtag(){dataLayer.push(arguments);}
32    gtag('js', new Date());
33
34    gtag('config', '
34UA-117343766-1
vendor: 8 bytes, lines 34-35
34');
35    
35// Creates the default tracker.
36    gtag('event', 'page_view', { 'send_to': 'UA-117343766-1' });
37</script>
37
38<!-- End of code Global Site Tag (gtag.js) - Google Analytics v4-->
39        <link rel="canonical" href="/ajuntament/salutacio-de-lalcalde">
40
41        <link rel="stylesheet" href="/front/view/js/bower_components/bootstrap/dist/css/bootstrap.min.css?ver=1790944972">
42<link rel="stylesheet" href="/front/view/js/bower_components/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css?ver=1790944972">
43<link rel="stylesheet" href="/front/view/js/bower_components/bootstrap-icons.min/index.css?ver=1790944972">
44<link rel="stylesheet" href="/front/view/js/bower_components/tempus-dominus.min.css/index.css?ver=1790944972">
45<link rel="stylesheet" href="/common/bower_components/select2/dist/css/select2.min.css?ver=1790944972">
46
47        <!-- Real Favicon Genenrator-->
48<link rel="apple-touch-icon" href="/themes/santantonidevilamajor/images/favicons/apple-touch-icon.png">
49<link rel="icon" type="image/png" href="/themes/santantonidevilamajor/images/favicons/favicon-16x16.png" sizes="16x16">
50<link rel="icon" type="image/png" href="/themes/santantonidevilamajor/images/favicons/favicon-32x32.png" sizes="32x32">
51<link rel="shortcut icon" href="/themes/santantonidevilamajor/images/favicons/favicon.ico">
52        
52<script src="/front/controller/klaro-config.php"></script>
vendor: 1 bytes, line 52
52
53<script>
54	// Fallback defensiu: si per algun motiu el PHP no retorna la configuració,
55	// assegurem una configuració mínima perquè Klaro no falli i mostri el banner.
56	window.klaroConfig = window.klaroConfig || {
57		version: '1.0',
58		elementID: 'klaro',
59		storageMethod: 'cookie',
60		storageName: 'klaro',
61		cookieName: 'klaro',
62		htmlTexts: true,
63		acceptAll: true,
64		hideDeclineAll: false,
65		services: []
66	};
67</script>
vendor: 1 bytes, line 67
67
68<script src="/front/view/js/klaro.min.js?ver=1790944972"></script>
vendor: 1 bytes, line 68
68
69<script src="/front/view/js/klaro-init.js?ver=1790944972"></script>
69
70
71        <!-- Twitter Card data -->
72<meta name="twitter:card" content="summary">
73<meta name="twitter:site" content="@savilamajor_cat">
74<meta name="twitter:title" content="Salutació de l&#039;Alcalde">
75<meta name="twitter:description" content="Web oficial de l&#039;Ajuntament de Sant Antoni de Vilamajor: informació municipal, tràmits, notícies, agenda... Pl. Montseny, 5. 08459. Tel. 938 452 400">
76<meta name="twitter:image" content="https://www.santantonidevilamajor.cat/media/repository/consistori/govern_2019-2023/no_utilitzats/alcaldeok2.jpg">
77    <meta name="twitter:image:alt" content="Alcaldeok2">
78        <meta property="fb:admins" content="Ajuntament de Sant Antoni de Vilamajor">
79<!-- Open Graph data -->
80<meta property="og:title" content="Salutació de l&#039;Alcalde">
81<meta property="og:type" content="website">
82<meta property="og:url" content="https://www.santantonidevilamajor.cat/ajuntament/salutacio-de-lalcalde">
83<meta property="og:image" content="https://www.santantonidevilamajor.cat/media/repository/consistori/govern_2019-2023/no_utilitzats/alcaldeok2.jpg">
84    <meta property="og:image:alt" content="Alcaldeok2">
85    <meta property="og:description" content="Web oficial de l&#039;Ajuntament de Sant Antoni de Vilamajor: informació municipal, tràmits, notícies, agenda... Pl. Montseny, 5. 08459. Tel. 938 452 400">
86<meta property="og:site_name" content="Ajuntament de Sant Antoni de Vilamajor">
87
88        <!-- HTML5 compatible tags -->
89<script>
90    document.createElement('header');
91    document.createElement('footer');
92    document.createElement('section');
93    document.createElement('aside');
94    document.createElement('nav');
95    document.createElement('article');
96    document.createElement('hgroup');
97    document.createElement('lh');
98</script>
98
99        
99<script>window.mapsConfig = { layerType: 'OpenStreetMap_Mapnik' };</script>
99
100<link rel="stylesheet" href="/front/view/js/bower_components/FreezeUI/freeze-ui.min.css">
101<link rel="stylesheet" href="/front/view/js/bower_components/Leaflet/default/leaflet.css">
102<link rel="stylesheet" href="/front/view/js/bower_components/Leaflet/default/Control.Loading.css">
103<script  src="/front/view/js/bower_components/FreezeUI/freeze-ui.min.js"></script>
vendor: 1 bytes, line 103
103
104<script  src="/front/view/js/bower_components/Leaflet/default/leaflet.js"></script>
vendor: 1 bytes, line 104
104
105<script src="/front/view/js/bower_components/es6-promise/es6-promise.min.js"></script>
vendor: 1 bytes, line 105
105
106<script>ES6Promise.polyfill();</script>
vendor: 1 bytes, line 106
106
107<script  src='/front/view/js/bower_components/Leaflet/default/Leaflet.GoogleMutant.js'></script>
vendor: 1 bytes, line 107
107
108<script src="/front/view/js/googleMapsInit.js"></script>
vendor: 1 bytes, line 108
108
109<script type="text/plain" data-type="text/javascript" data-name="maps" data-src="https://maps.google.com/maps/api/js?key=AIzaSyDzMQfPcdyACxfYosZzQs43alxB8BKfkx8&amp;loading=async&amp;callback=onGoogleMapsReady"></script>
vendor: 1 bytes, line 109
109
110<script  src="/front/view/js/bower_components/Leaflet/default/leaflet.maps.js"></script>
vendor: 1 bytes, line 110
110
111<script  src="/front/view/js/bower_components/Leaflet/default/leaflet.clone.js"></script>
vendor: 1 bytes, line 111
111
112<script  src="/front/view/js/bower_components/Leaflet/default/Control.Loading.js"></script>
vendor: 1 bytes, line 112
112
113<script src="/front/view/js/bower_components/jquery.min/index.js"></script>
vendor: 1 bytes, line 113
113
114<script src="/front/view/js/maps.js"></script>
114        <!-- Init addHeadExtraStyles -->
115        <style>html body{font-size:1em !important;} </style>
116        <!-- End addHeadExtraStyles -->
117        <!-- Font Awesome 7 + v4-shims for backward compatibility -->
118        <link href="https://cdn.jsdelivr.net/npm/@fortawesome/[email protected]/css/all.min.css" rel="stylesheet">
119        <link href="https://cdn.jsdelivr.net/npm/@fortawesome/[email protected]/css/v4-shims.min.css" rel="stylesheet">
120        <!-- Popperjs + Tempus Dominus -->
121        
121<script src="/front/view/js/bower_components/popper.min/index.js?ver=1790944972"></script>
vendor: 1 bytes, line 121
121
122<script src="/front/view/js/bower_components/tempus-dominus.min.js/index.js?ver=1790944972"></script>
122
123                <link rel="stylesheet" media="all" href="/themes/santantonidevilamajor/styles/style.min.css?ver=1790944972">
124            </head>
125    <body class="page id-12">
126        <nav class="skip-links" aria-label="Dreceres d&#039;accessibilitat"><ul><li><a href="#site-header">Saltar a la capçalera</a></li><li><a href="#readspeakerPage">Saltar al contingut</a></li><li><a href="#footer-content">Saltar al peu de pàgina</a></li></ul></nav>        <header id="site-header" tabindex="-1">
127                                    <div class="toolbar clearfix">
128    <div class="container-xl">
129                <div class="fright">
130            <div class="toolbarItem">
131    </div>                        <div id="social" class="toolbarItem">
132                  
133    <a target="_blank" aria-label="Facebook" href="https://www.facebook.com/savilamajor/" title="Obre en finestra nova: Facebook">
134        <span style="display: none">Facebook</span>
135        <img src="/front/view/images/icons/social/facebook.png" alt="Facebook" width="32" height="32">
136    </a>
137  
138    <a target="_blank" aria-label="Youtube" href="https://www.youtube.com/channel/UC_OzkYjrR0K2WoqpmCvlpTQ/featured" title="Obre en finestra nova: Youtube">
139        <span style="display: none">Youtube</span>
140        <img src="/front/view/images/icons/social/youtube.png" alt="Youtube" width="32" height="32">
141    </a>
142  
143    <a target="_blank" aria-label="Instagram" href="https://www.instagram.com/ajuntament_sav/" title="Obre en finestra nova: Instagram">
144        <span style="display: none">Instagram</span>
145        <img src="/front/view/images/icons/social/instagram.png" alt="Instagram" width="32" height="32">
146    </a>
147  
148    <a target="_blank" aria-label="Whatsapp" href="https://whatsapp.com/channel/0029Vb8ZDuf3WHTcmEgQwu3V" title="Obre en finestra nova: Whatsapp">
149        <span style="display: none">Whatsapp</span>
150        <img src="/front/view/images/icons/social/whatsapp.png" alt="Whatsapp" width="32" height="32">
151    </a>
152            </div>
153                        <div class="toolbarItem">
154                <div id="toolbarLanguages">
155    <ul id="languages">
156        <li><a href="#" role="button" aria-expanded="false" aria-controls="languagesList" id="languagesToggle">Idiomes</a>
157            <ul id="languagesList">
158                                    <li><a class="link-language" href="https://www.santantonidevilamajor.cat/ajuntament/salutacio-de-lalcalde?lang=ca" data-target="https://www.santantonidevilamajor.cat/ajuntament/salutacio-de-lalcalde?lang=ca">Català</a></li>
159                                    <li><a class="link-language" href="https://translate.google.es/translate?js=y&amp;prev=_t&amp;hl=esie=UTF-8&amp;u=https://www.santantonidevilamajor.cat/ajuntament/salutacio-de-lalcalde&amp;sl=ca&amp;tl=es" data-target="https://translate.google.es/translate?js=y&amp;prev=_t&amp;hl=esie=UTF-8&amp;u=https://www.santantonidevilamajor.cat/ajuntament/salutacio-de-lalcalde&amp;sl=ca&amp;tl=es">Castellà</a></li>
160                                    <li><a class="link-language" href="https://translate.google.es/translate?js=y&amp;prev=_t&amp;hl=enie=UTF-8&amp;u=https://www.santantonidevilamajor.cat/ajuntament/salutacio-de-lalcalde&amp;sl=ca&amp;tl=en" data-target="https://translate.google.es/translate?js=y&amp;prev=_t&amp;hl=enie=UTF-8&amp;u=https://www.santantonidevilamajor.cat/ajuntament/salutacio-de-lalcalde&amp;sl=ca&amp;tl=en">Anglès</a></li>
161                                    <li><a class="link-language" href="https://translate.google.es/translate?js=y&amp;prev=_t&amp;hl=deie=UTF-8&amp;u=https://www.santantonidevilamajor.cat/ajuntament/salutacio-de-lalcalde&amp;sl=ca&amp;tl=de" data-target="https://translate.google.es/translate?js=y&amp;prev=_t&amp;hl=deie=UTF-8&amp;u=https://www.santantonidevilamajor.cat/ajuntament/salutacio-de-lalcalde&amp;sl=ca&amp;tl=de">Alemany</a></li>
162                                    <li><a class="link-language" href="https://translate.google.es/translate?js=y&amp;prev=_t&amp;hl=frie=UTF-8&amp;u=https://www.santantonidevilamajor.cat/ajuntament/salutacio-de-lalcalde&amp;sl=ca&amp;tl=fr" data-target="https://translate.google.es/translate?js=y&amp;prev=_t&amp;hl=frie=UTF-8&amp;u=https://www.santantonidevilamajor.cat/ajuntament/salutacio-de-lalcalde&amp;sl=ca&amp;tl=fr">Francès</a></li>
163                            </ul>
164        </li>
165    </ul>
166</div>
167<script>
168(function () {
169    var toggle = document.getElementById('languagesToggle');
170    if (!toggle) return;
171    var li = toggle.parentElement;
172    var submenu = li.querySelector('ul');
173    var links = Array.prototype.slice.call(submenu.querySelectorAll('a'));
174
175    function keyName(e) {
176        return e.key || e.code || e.keyCode;
177    }
178
179    function isSpaceKey(e) {
180        var key = keyName(e);
181        return key === ' ' || key === 'Spacebar' || key === 'Space' || key === 32;
182    }
183
184    function open(focusFirst) {
185        li.classList.add('is-open');
186        submenu.style.display = 'block';
187        submenu.style.padding = '1em';
188        toggle.setAttribute('aria-expanded', 'true');
189        if (focusFirst && links.length) links[0].focus();
190    }
191
192    function close() {
193        li.classList.remove('is-open');
194        submenu.style.display = '';
195        submenu.style.padding = '';
196        toggle.setAttribute('aria-expanded', 'false');
197    }
198
199    function isOpen() {
200        return toggle.getAttribute('aria-expanded') === 'true';
201    }
202
203    function focusLink(index) {
204        if (!links.length) return;
205        links[(index + links.length) % links.length].focus();
206    }
207
208    function focusedLinkIndex() {
209        return links.indexOf(document.activeElement);
210    }
211
212    toggle.addEventListener('click', function (e) {
213        e.preventDefault();
214        isOpen() ? close() : open(false);
215    });
216
217    toggle.addEventListener('keydown', function (e) {
218        var key = keyName(e);
219        if (key === 'Enter' || isSpaceKey(e)) {
220            e.preventDefault();
221            isOpen() ? close() : open(false);
222        } else if (key === 'ArrowDown' || key === 40) {
223            e.preventDefault();
224            open(true);
225        } else if (key === 'ArrowUp' || key === 38) {
226            e.preventDefault();
227            open(false);
228            focusLink(links.length - 1);
229        } else if (key === 'Escape' || key === 'Esc' || key === 27) {
230            if (isOpen()) {
231                e.preventDefault();
232                close();
233            }
234        }
235    });
236
237    submenu.addEventListener('keydown', function (e) {
238        var key = keyName(e);
239        var index = focusedLinkIndex();
240
241        if (key === 'ArrowDown' || key === 40) {
242            e.preventDefault();
243            focusLink(index + 1);
244        } else if (key === 'ArrowUp' || key === 38) {
245            e.preventDefault();
246            focusLink(index - 1);
247        } else if (key === 'Home' || key === 36) {
248            e.preventDefault();
249            focusLink(0);
250        } else if (key === 'End' || key === 35) {
251            e.preventDefault();
252            focusLink(links.length - 1);
253        } else if (isSpaceKey(e)) {
254            e.preventDefault();
255            if (document.activeElement && document.activeElement.click) {
256                document.activeElement.click();
257            }
258        } else if (key === 'Escape' || key === 'Esc' || key === 27) {
259            e.preventDefault();
260            close();
261            toggle.focus();
262        }
263    });
264
265    li.addEventListener('focusout', function () {
266        window.setTimeout(function () {
267            if (!li.contains(document.activeElement)) close();
268        }, 0);
269    });
270
271    document.addEventListener('click', function (e) {
272        if (!li.contains(e.target)) close();
273    });
274})();
275</script>
275
276                <div class="currentDate" style='padding:9px;color:white'>
277    <span id="clock" class="clock" title='Data i hora oficial' >
278        02.10.2026 | 14:42    </span>
279</div>            </div>
280        </div>
281    </div>
282</div>
283<div class="header ">
284    <div class="branding">
285        <div class="container-xl">
286            <div class="row">
287                <div class="col-md-8 col-sm-8 col-lg-8 logo_box">
288    <a class="logo" href="/" aria-label="Ajuntament de Sant Antoni de Vilamajor - Pàgina d'inici">
289        <img src="/themes/santantonidevilamajor/images/logos/header.png" alt="" width="355" height="111" id="mainLogo">
290    </a>
291    </div>                <div class="col-md-4 col-sm-4 col-lg-4 middle search_box">
292    <form id="search_box" aria-label="Cercar:" name="search_box" method="get" action="/search">
293        <label for="search" accesskey="4">
294            <span class="visually-hidden">Cercar:</span>
295        </label>
296        <input id="search" name="search" type="text" aria-label="Cercar:" title="Cerca a tot el web" value="" placeholder="Cercar...">
297        <button type="submit" class="search-button" aria-label="Cerca"><i class="fa fa-search"></i></button>
298    </form>
299</div>
300            </div>
301        </div>
302    </div>
303        <div id="navbar-top" class="navbar navbar-expand-lg navbar-dark"><div class="nav"><div class="container-xl"><div class="row"><div class="col"><nav class="menu_principal" aria-label="menú"><div class="menu-flexible__wrapper menu-font-medium menu-alignment-left menu-spacing-normal menu-animation-fade menu-text-transform-none menu-columns-1" style="--menu-cols:1;--menu-submenu-width:200px;--menu-hover-delay:300ms;--menu-image-width:160px;" data-menu-columns="1" data-expand-type="hover" data-menu-sticky="false" data-menu-alignment="left" data-menu-spacing="normal" data-menu-animation="fade" data-menu-external-icon="auto" data-menu-external-dim="false" data-menu-text-transform="none"><div class="menu-flexible__topbar"><a href="#" class="menu-flexible__toggle phoneMenuButton" aria-label="Menú" aria-expanded="false"><i class="fa fa-bars"></i></a></div><ul class="menu-flexible menu-flexible__list"><li class="menu-flexible__item page-1 level1"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament" ><span class="menu-flexible__item-text">Ajuntament</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-226 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/govern" ><span class="menu-flexible__item-text">Govern</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-8 level3"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/govern/consistori" ><span class="menu-flexible__item-text">Consistori</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-229 level4"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern/consistori/grups-municipals" ><span class="menu-flexible__item-text">Grups municipals</span></a></li><li class="menu-flexible__item page-185 level4"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern/consistori/opinio-dels-grups-politics-municipals" ><span class="menu-flexible__item-text">Opinió dels Grups Polítics Municipals</span></a></li></ul></li><li class="menu-flexible__item page-149 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern/regidories" ><span class="menu-flexible__item-text">Regidories</span></a></li><li class="menu-flexible__item page-285 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern/agenda-alcalde" ><span class="menu-flexible__item-text">Agenda alcalde</span></a></li><li class="menu-flexible__item page-247 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern/ambits-dactuacio" ><span class="menu-flexible__item-text">Àmbits d&#039;actuació</span></a></li><li class="menu-flexible__item page-177 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern/retribucions-dels-membres-de-la-corporacio" ><span class="menu-flexible__item-text">Retribucions dels membres de la corporació</span></a></li><li class="menu-flexible__item page-146 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern/organigrama-i-decrets-dorganitzacio" ><span class="menu-flexible__item-text">Organigrama i decrets d&#039;organització</span></a></li></ul></li><li class="menu-flexible__item page-12 level2"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/salutacio-de-lalcalde" ><span class="menu-flexible__item-text">Salutació de l&#039;Alcalde</span></a></li><li class="menu-flexible__item page-230 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/organs-de-govern" ><span class="menu-flexible__item-text">Òrgans de govern</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-184 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/organs-de-govern/ple-de-lajuntament" ><span class="menu-flexible__item-text">Ple de l&#039;Ajuntament</span></a></li><li class="menu-flexible__item page-20 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/organs-de-govern/junta-de-govern-local" ><span class="menu-flexible__item-text">Junta de Govern Local</span></a></li><li class="menu-flexible__item page-183 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/organs-de-govern/comissio-especial-de-comptes" ><span class="menu-flexible__item-text">Comissió Especial de Comptes</span></a></li><li class="menu-flexible__item page-182 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/organs-de-govern/comissio-informativa-general" ><span class="menu-flexible__item-text">Comissió Informativa General</span></a></li></ul></li><li class="menu-flexible__item page-231 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/organitzacio-interna" ><span class="menu-flexible__item-text">Organització interna</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-17 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/organitzacio-interna/tecnics-de-la-corporacio" ><span class="menu-flexible__item-text">Tècnics de la Corporació</span></a></li><li class="menu-flexible__item page-147 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/organitzacio-interna/relacio-de-llocs-de-treball" ><span class="menu-flexible__item-text">Relació de llocs de treball</span></a></li><li class="menu-flexible__item page-148 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/organitzacio-interna/convocatories-de-personal" ><span class="menu-flexible__item-text">Convocatòries de personal</span></a></li><li class="menu-flexible__item page-251 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/organitzacio-interna/convenis-acords-pactes-de-caracter-funcionarial-laboral-o-sindical" ><span class="menu-flexible__item-text">Convenis, acords, pactes de caràcter funcionarial, laboral o sindical</span></a></li></ul></li><li class="menu-flexible__item page-186 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/informacio-pressupostaria-i-fiscal" ><span class="menu-flexible__item-text">Informació pressupostària i fiscal</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-417 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/informacio-pressupostaria-i-fiscal/plans-anual
303s-de-control-financer" ><span class="menu-flexible__item-text">Plans Anuals de Control Financer</span></a></li><li class="menu-flexible__item page-198 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/informacio-pressupostaria-i-fiscal/pressupost-municipal" ><span class="menu-flexible__item-text">Pressupost municipal</span></a></li><li class="menu-flexible__item page-307 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/informacio-pressupostaria-i-fiscal/control-intern" ><span class="menu-flexible__item-text">Control intern</span></a></li><li class="menu-flexible__item page-260 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/informacio-pressupostaria-i-fiscal/pla-economic-financer-2019-2020" ><span class="menu-flexible__item-text">Pla econòmic financer 2019-2020</span></a></li><li class="menu-flexible__item page-303 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/informacio-pressupostaria-i-fiscal/periode-mitja-de-pagament-a-proveidors" ><span class="menu-flexible__item-text">Període mitjà de pagament a proveïdors</span></a></li><li class="menu-flexible__item page-197 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/informacio-pressupostaria-i-fiscal/calendari-fiscal" ><span class="menu-flexible__item-text">Calendari fiscal</span></a></li></ul></li><li class="menu-flexible__item page-153 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/anuncis-resolucions-i-convenis" ><span class="menu-flexible__item-text">Anuncis, resolucions i convenis</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-18 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/anuncis-resolucions-i-convenis/anuncis-edictes" ><span class="menu-flexible__item-text">Anuncis / Edictes</span></a></li><li class="menu-flexible__item page-214 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/anuncis-resolucions-i-convenis/convenis-de-collaboracio-i-encarrecs-de-gestio" ><span class="menu-flexible__item-text">Convenis de col·laboració i encàrrecs de gestió</span></a></li><li class="menu-flexible__item page-252 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/anuncis-resolucions-i-convenis/mocions" ><span class="menu-flexible__item-text">Mocions</span></a></li><li class="menu-flexible__item page-88 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/anuncis-resolucions-i-convenis/perfil-de-contractant" ><span class="menu-flexible__item-text">Perfil de contractant</span></a></li><li class="menu-flexible__item page-154 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/anuncis-resolucions-i-convenis/resolucions-i-decrets" ><span class="menu-flexible__item-text">Resolucions i Decrets</span></a></li><li class="menu-flexible__item page-368 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/anuncis-resolucions-i-convenis/resolucions-judicials" ><span class="menu-flexible__item-text">Resolucions judicials</span></a></li><li class="menu-flexible__item page-408 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/anuncis-resolucions-i-convenis/cido-cercador-dinformacio-i-documentacio-oficials" ><span class="menu-flexible__item-text">CIDO - Cercador d&#039;Informació i Documentació Oficials</span></a></li></ul></li><li class="menu-flexible__item page-398 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/cartes-de-serveis" ><span class="menu-flexible__item-text">Cartes de serveis</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-355 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/cartes-de-serveis/carta-de-serveis-de-loficina-datencio-a-la-ciutadania-oac" ><span class="menu-flexible__item-text">Carta de Serveis de l&#039;Oficina d&#039;Atenció a la Ciutadania (OAC)</span></a></li><li class="menu-flexible__item page-392 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/cartes-de-serveis/carta-de-serveis-de-larea-de-benestar-i-familia" ><span class="menu-flexible__item-text">Carta de Serveis de l&#039;àrea de Benestar i Família</span></a></li></ul></li><li class="menu-flexible__item page-394 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/protocols" ><span class="menu-flexible__item-text">Protocols</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-357 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/protocols/protocol-de-prevencio-sobre-drogues-com-a-alternativa-a-la-sancio-administrativa-ppd-asa" ><span class="menu-flexible__item-text">Protocol de prevenció sobre drogues com a alternativa a la sanció administrativa - PPD-ASA</span></a></li><li class="menu-flexible__item page-331 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/protocols/protocol-dus-dels-recursos-informatics" ><span class="menu-flexible__item-text">Protocol d&#039;ús dels recursos informàtics</span></a></li><li class="menu-flexible__item page-333 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/protocols/protocol-per-a-la-prevencio-la-deteccio-lactuacio-i-la-resolucio-de-situacions-dassetjament-psicologic-laboral" ><span class="menu-flexible__item-text">Protocol per a la prevenció, la detecció, l&#039;actuació i la resolució de situacions d&#039;assetjament psicològic laboral</span></a></li><li class="menu-flexible__item page-332 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/protocols/protocol-per-a-la-prevencio-de-lassetjament-sexual-" ><span class="menu-flexible__item-text">Protocol per a la prevenció de l&#039;assetjament sexual </span></a></li><li class="menu-flexible__item page-359 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/protocols/359-protocol-dactuacions-contra-la-violencia-masclista-e
303n-espais-doci" ><span class="menu-flexible__item-text">Protocol d&#039;actuacions contra la violència masclista en espais d&#039;oci</span></a></li><li class="menu-flexible__item page-420 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/protocols/protocol-dactuacio-per-prevenir-els-efectes-derivats-de-lestres-termic-en-el-personal-de-la-brigada-municipal" ><span class="menu-flexible__item-text">Protocol d&#039;actuació per prevenir els efectes derivats de l&#039;estrès tèrmic en el personal de la brigada municipal</span></a></li></ul></li><li class="menu-flexible__item page-234 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/plans-programes-i-manuals" ><span class="menu-flexible__item-text">Plans, programes i manuals</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-275 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/plans-programes-i-manuals/pla-daccio-de-la-biblioteca-municipal-sav-" ><span class="menu-flexible__item-text">Pla d&#039;acció de la Biblioteca municipal SAV </span></a></li><li class="menu-flexible__item page-325 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/plans-programes-i-manuals/pla-local-de-joventut-" ><span class="menu-flexible__item-text">Pla local de Joventut </span></a></li><li class="menu-flexible__item page-327 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/plans-programes-i-manuals/pla-local-de-salut-" ><span class="menu-flexible__item-text">Pla local de Salut </span></a></li><li class="menu-flexible__item page-326 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/plans-programes-i-manuals/pla-local-de-seguretat-" ><span class="menu-flexible__item-text">Pla local de Seguretat </span></a></li><li class="menu-flexible__item page-330 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/plans-programes-i-manuals/pla-intern-digualtat-de-tracte-i-oportunitats-" ><span class="menu-flexible__item-text">Pla intern d&#039;Igualtat de tracte i oportunitats </span></a></li><li class="menu-flexible__item page-407 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/plans-programes-i-manuals/pla-de-dinamitzacio-de-lequipament-juvenil-espai-jove" ><span class="menu-flexible__item-text">Pla de Dinamització de l&#039;equipament juvenil Espai Jove</span></a></li><li class="menu-flexible__item page-324 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/plans-programes-i-manuals/manual-de-llenguatge-no-sexista" ><span class="menu-flexible__item-text">Manual de llenguatge no sexista</span></a></li><li class="menu-flexible__item page-352 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/plans-programes-i-manuals/declaracio-institucional-i-pla-de-mesures-antifrau" ><span class="menu-flexible__item-text">Declaració Institucional i Pla de Mesures Antifrau</span></a></li><li class="menu-flexible__item page-356 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/plans-programes-i-manuals/pacte-de-les-alcaldies-pel-clima-i-lenergia" ><span class="menu-flexible__item-text">Pacte de les alcaldies pel clima i l&#039;energia</span></a></li><li class="menu-flexible__item page-362 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/plans-programes-i-manuals/codi-etic-i-de-conducta-per-al-bon-govern" ><span class="menu-flexible__item-text">Codi Ètic i de Conducta per al Bon Govern</span></a></li><li class="menu-flexible__item page-365 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/plans-programes-i-manuals/duprocim-document-unic-de-proteccio-civil-municipal-" ><span class="menu-flexible__item-text">DUPROCIM - Document únic de Protecció Civil Municipal </span></a></li><li class="menu-flexible__item page-399 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/plans-programes-i-manuals/pla-de-transicio-energetica-de-sant-antoni-de-vilamajor" ><span class="menu-flexible__item-text">Pla de transició energètica de Sant Antoni de Vilamajor</span></a></li></ul></li><li class="menu-flexible__item page-236 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/normativa" ><span class="menu-flexible__item-text">Normativa</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-334 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/normativa/bonificacions-i-exempcions-dels-tributs-municipals" ><span class="menu-flexible__item-text">Bonificacions i exempcions dels tributs municipals</span></a></li><li class="menu-flexible__item page-195 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/normativa/ordenances-generals" ><span class="menu-flexible__item-text">Ordenances generals</span></a></li><li class="menu-flexible__item page-196 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/normativa/ordenances-fiscals-i-normes-reguladores-de-preus-publics" ><span class="menu-flexible__item-text">Ordenances fiscals i normes reguladores de preus públics</span></a></li><li class="menu-flexible__item page-245 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/normativa/reglaments-organitzatius-i-de-servei" ><span class="menu-flexible__item-text">Reglaments organitzatius i de servei</span></a></li><li class="menu-flexible__item page-207 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/normativa/informacio-urbanistica-i-ambiental" ><span class="menu-flexible__item-text">Informació urbanística i ambiental</span></a></li><li class="menu-flexible__item page-360 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/normativa/normativa-en-tramit-daprovacio" ><span class="menu-flexible__item-text">Normativa en tràmit d&#039;aprovació</span></a></li></ul></li><li class="menu-flexible__item page-156 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/patrimoni" ><span class="menu-flexible__item-text">Patrimoni</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-369 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/patrimoni/relacio-de-vehicles" ><span class="menu-flexible__item-text">Relació de vehicles</span></a></li><li class="menu-flexible__item page-370 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/patrimoni/inventari-de-bens-i-drets" ><span class="menu-flexible__item-text">Inventari de béns i drets</span></a></li></ul></li><li class="menu-flexible__item page-335 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/projectes-municipals" ><span class="menu-flexible__item-text">Projectes municipals</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-358 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/projectes-municipals/projectes-en-tramit-dinformacio-publica" ><span class="menu-flexible__item-text">Projectes en tràmit d&#039;informació pública</span></a></li><li class="menu-flexible__item page-354 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/projectes-municipals/projectes-municipals-aprovats" ><span class="menu-flexible__item-text">Projectes municipals aprovats</span></a></li></ul></li><li class="menu-flexible__item page-122 level2"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/seu-electronica" ><span class="menu-flexible__item-text">Seu electrònica</span></a></li><li class="menu-flexible__item page-302 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/participacio-ciutadana" ><span class="menu-flexible__item-text">Participació ciutadana</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-405 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/participacio-ciutadana/plataforma-participa-311-" ><span class="menu-flexible__item-text">Plataforma Participa 311 </span></a></li><li class="menu-flexible__item page-406 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/participacio-ciutadana/pressupostos-participatius-2024-sav" ><span class="menu-flexible__item-text">Pressupostos Participatius 2024 SAV</span></a></li></ul></li><li class="menu-flexible__item page-389 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/389-eleccions" ><span class="menu-flexible__item-text">Eleccions</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-213 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/389-eleccions/eleccions" ><span class="menu-flexible__item-text">Eleccions</span></a></li><li class="menu-flexible__item page-401 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/389-eleccions/eleccions-al-parlament-de-catalunya-del-12-de-maig-de
303-2024-" ><span class="menu-flexible__item-text">Eleccions al Parlament de Catalunya del 12 de maig de 2024 </span></a></li></ul></li><li class="menu-flexible__item page-93 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/portal-de-transparencia" ><span class="menu-flexible__item-text">Portal de Transparència   </span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-123 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/portal-de-transparencia/transparencia" ><span class="menu-flexible__item-text">Transparència</span></a></li><li class="menu-flexible__item page-301 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/portal-de-transparencia/segell-infoparticipa" ><span class="menu-flexible__item-text">Segell Infoparticipa</span></a></li></ul></li><li class="menu-flexible__item page-350 level2"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/comunicacio" ><span class="menu-flexible__item-text">Comunicació</span></a></li><li class="menu-flexible__item page-366 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/empresa-de-serveis-de-vilamajor-la-municipal-slu" ><span class="menu-flexible__item-text">Empresa de serveis de Vilamajor, La Municipal SLU</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-375 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/empresa-de-serveis-de-vilamajor-la-municipal-slu/organs-de-govern-i-actes" ><span class="menu-flexible__item-text">Òrgans de govern i actes</span></a></li><li class="menu-flexible__item page-377 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/empresa-de-serveis-de-vilamajor-la-municipal-slu/neteja-dedificis-municipals-i-encarrecs-de-gestio" ><span class="menu-flexible__item-text">Neteja d&#039;edificis municipals i encàrrecs de gestió</span></a></li></ul></li></ul></li><li class="menu-flexible__item page-233 level1"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/serveis-i-tramits" ><span class="menu-flexible__item-text">Serveis i tràmits</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-314 level2"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/314-oficines-municipals" ><span class="menu-flexible__item-text">Oficines municipals</span></a></li><li class="menu-flexible__item page-297 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/serveis-i-tramits/297-seu-electronica" ><span class="menu-flexible__item-text">Seu electrònica</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-310 level3"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://santantonidevilamajor.eadministracio.cat/" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Accés a la Seu Electrònica</span><i class="align-middle fa fa-external-link ms-2"></i></a></li><li class="menu-flexible__item page-304 level3"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/297-seu-electronica/manual-dacces-a-la-seu-electronica" ><span class="menu-flexible__item-text">Manual d&#039;accés a la Seu Electrònica</span></a></li><li class="menu-flexible__item page-305 level3"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/297-seu-electronica/model-autoritzacio-per-actuar-en-nom-duna-persona-fisica" ><span class="menu-flexible__item-text">Model Autorització per actuar en nom d&#039;una persona física</span></a></li><li class="menu-flexible__item page-410 level3"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://valid.aoc.cat/o/oauth2/auth?scope=autenticacio_usuari&amp;response_type=code&amp;client_id=representa.cat&amp;approval_prompt=auto&amp;access_type=offline&amp;redirect_uri=https://representa.cat/representa/auth/valid/postLogin&amp;state=9821920002" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Representa</span><i class="align-middle fa fa-external-link ms-2"></i></a></li></ul></li><li class="menu-flexible__item page-414 level2"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://tauler.seu-e.cat/inici?idEns=819820002" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">E-tauler</span><i class="align-middle fa fa-external-link ms-2"></i></a></li><li class="menu-flexible__item page-140 level2"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/cataleg-de-serveis" ><span class="menu-flexible__item-text">Catàleg de Serveis</span></a></li><li class="menu-flexible__item page-253 level2"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/enllacos-a-diputacio" ><span class="menu-flexible__item-text">Enllaços a Diputació</span></a></li><li class="menu-flexible__item page-312 level2"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/carpeta-ciutadana" ><span class="menu-flexible__item-text">Carpeta ciutadana</span></a></li><li class="menu-flexible__item page-311 level2"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/notificacions-electroniques" ><span class="menu-flexible__item-text">Notificacions electròniques</span></a></li><li class="menu-flexible__item page-238 level2"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://santantonidevilamajor.eadministracio.cat/document-validation.2" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Validació de documents</span><i class="align-middle fa fa-external-link ms-2"></i></a></li><li class="menu-flexible__item page-221 level2"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/factura-electronica" ><span class="menu-flexible__item-text">Factura electrònica</span></a></li><li class="menu-flexible__item page-242 level2"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/impostos" ><span class="menu-flexible__item-text">Impostos</span></a></li><li class="menu-flexible__item page-373 level2"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/queixes-i-suggeriments" ><span class="menu-flexible__item-text">Queixes i suggeriments</span></a></li></ul></li><li class="menu-flexible__item page-2 level1"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/el-municipi" ><span class="menu-flexible__item-text">El municipi</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-363 level2"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/festius-locals" ><span class="menu-flexible__item-text">Festius locals</span></a></li><li class="menu-flexible__item page-34 level2"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/com-arribar-hi" ><span class="menu-flexible__item-text">Com arribar-hi</span></a></li><li class="menu-flexible__item page-3 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/el-municipi/guia-del-municipi" ><span class="menu-flexible__item-text">Guia del municipi</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-175 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-del-municipi/planol-guia-de-carrers" ><span class="menu-flexible__item-text">Plànol / Guia de carrers</span></a></li><li class="menu-flexible__item page-39 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-del-municipi/empreses-i-comercos-locals" ><span class="menu-flexible__item-text">Empreses i comerços locals</span></a></li><li class="menu-flexible__item page-40 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-del-municipi/entitats-i-associacions" ><span class="menu-flexible__item-text">Entitats i associacions</span></a></li><li class="menu-flexible__item page-37 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-del-municipi/equipaments-" ><span class="menu-flexible__item-text">Equipaments </span></a></li></ul></li><li class="menu-flexible__item page-7 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/el-municipi/informacio-del-municipi" ><span class="menu-flexible__item-text">Informació del municipi</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-47 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/informacio-del-municipi/el-municipi-en-xifres" ><span class="menu-flexible__item-text">El municipi en xifres</span></a></li><li class="menu-flexible__item page-49 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/informacio-del-municipi/49-informacio-geografica" ><span class="menu-flexible__item-text">Informació geogràfica</span></a></li><li class="menu-flexible__item page-161 level3"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://santantonidevilamajor.eadministracio.cat/calendar.1" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Calendari i festes locals</span><i class="align-middle fa fa-external-link ms-2"></i></a></li></ul></li><li class="menu-flexible__item page-131 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/el-municipi/turisme" ><span class="menu-flexible__item-text">Turisme</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-336 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/turisme/on-menjar" ><span class="menu-flexible__item-text">On menjar</span></a></li><li class="menu-flexible__item page-337 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/turisme/on-dormir" ><span class="menu-flexible__item-text">On dormir</span></a></li><li class="menu-flexible__item page-50 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/turisme/festes-fires-i-mercats" ><span class="menu-flexible__item-text">Festes, fires i mercats</span></a></li><li class="menu-flexible__item page-41 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/turisme/llocs-dinteres" ><span class="menu-flexible__item-text">Llocs d&#039;interès</span></a></li><li class="menu-flexible__item page-129 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/turisme/rutes" ><span class="menu-flexible__item-text">Rutes</span></a></li></ul></li><li class="menu-flexible__item page-381 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/el-municipi/381-historia" ><span class="menu-flexible__item-text">Història</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-46 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/381-historia/historia" ><span class="menu-flexible__item-text">Història</span></a></li><li class="menu-flexible__item page-339 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/381-historia/bicentenari-de-la-creacio-del-primer-ajuntament-de-la-vilanova-de-vilamajor" ><span class="menu-flexible__item-text">Bicentenari de la creació del primer Ajuntament de la Vilanova de Vilamajor</span></a></li><li class="menu-flexible__item page-385 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/381-historia/historia-joan-casas-i-canudas-1876-1960" ><span class="menu-flexible__item-text">Història Joan Casas i Canudas (1876 -1960)</span></a></li></ul></li><li class="menu-flexible__item page-250 level2"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/programes-de-festa-major-" ><span class="menu-flexible__item-text">Programes de Festa Major </span></a></li></ul></li><li class="menu-flexible__item page-4 level1"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/actualitat" ><span class="menu-flexible__item-text">Actualitat</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-308 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/festa-major-2026" ><span class="menu-flexible__item-text">Festa Major 2026</span></a></li><li class="menu-flexible__item page-53 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/noticies" ><span class="menu-flexible__item-text">Notícies</span></a></li><li class="menu-flexible__item page-54 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/agenda" ><span class="menu-flexible__item-text">Agenda</span></a></li><li class="menu-flexible__item page-128 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/avisos" ><span class="menu-flexible__item-text">Avisos</span></a></li><li class="menu-flexible__item page-412 level2"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://consum.gencat.cat/ca/lagencia/atencio-al-consumidor/alertes-i-avisos-de-seguretat/" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Alertes i avisos de seguretat</span><i class="align-middle fa fa-external-link ms-2"></i></a></li><li class="menu-flexible__item page-243 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/cursos-i-taller
303s-culturals" ><span class="menu-flexible__item-text">Cursos i tallers culturals</span></a></li><li class="menu-flexible__item page-378 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/sequera-a-sant-antoni-de-vilamajor" ><span class="menu-flexible__item-text">Sequera a Sant Antoni de Vilamajor</span></a></li><li class="menu-flexible__item page-56 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/butlleti-municipal-sav" ><span class="menu-flexible__item-text">Butlletí municipal SAV</span></a></li><li class="menu-flexible__item page-57 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/rss" ><span class="menu-flexible__item-text">Rss</span></a></li><li class="menu-flexible__item page-55 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/butlleti-digital" ><span class="menu-flexible__item-text">Butlletí digital</span></a></li><li class="menu-flexible__item page-58 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/hemeroteca" ><span class="menu-flexible__item-text">Hemeroteca</span></a></li></ul></li><li class="menu-flexible__item page-268 level1"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/temes" ><span class="menu-flexible__item-text">Temes</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-315 level2"><a class="menu-flexible__link" aria-expanded="false" href="/temes/atencio-a-les-persones" ><span class="menu-flexible__item-text">Atenció a les persones</span></a></li><li class="menu-flexible__item page-316 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/temes/gent-gran" ><span class="menu-flexible__item-text">Gent gran</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-342 level3"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://www.santantonidevilamajor.cat/el-municipi/guia-del-municipi/equipaments-/casal-de-la-gent-gran-can-monteys-.html" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Casal de la gent gran &quot;Can Monteys&quot;</span><i class="align-middle fa fa-external-link ms-2"></i></a></li></ul></li><li class="menu-flexible__item page-317 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/temes/ocupacio-i-promocio-economica" ><span class="menu-flexible__item-text">Ocupació i promoció econòmica</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-341 level3"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://www.santantonidevilamajor.cat/serveis-i-tramits/cataleg-de-serveis/vilamajor-activa-servei-local-docupacio.html" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Servei Local d&#039;Ocupació - Vilamajor Activa</span><i class="align-middle fa fa-external-link ms-2"></i></a></li><li class="menu-flexible__item page-364 level3"><a class="menu-flexible__link" aria-expanded="false" href="/temes/ocupacio-i-promocio-economica/promocio-economica" ><span class="menu-flexible__item-text">Promoció econòmica</span></a></li></ul></li><li class="menu-flexible__item page-318 level2"><a class="menu-flexible__link" aria-expanded="false" href="/temes/318-joventut" ><span class="menu-flexible__item-text">Joventut</span></a></li><li class="menu-flexible__item page-319 level2"><a class="menu-flexible__link" aria-expanded="false" href="/temes/cultura-festes-i-esdeveniments" ><span class="menu-flexible__item-text">Cultura, festes i esdeveniments</span></a></li><li class="menu-flexible__item page-320 level2"><a class="menu-flexible__link" aria-expanded="false" href="/temes/esports" ><span class="menu-flexible__item-text">Esports</span></a></li><li class="menu-flexible__item page-321 level2"><a class="menu-flexible__link" aria-expanded="false" href="/temes/obres-i-serveis" ><span class="menu-flexible__item-text">Obres i serveis</span></a></li><li class="menu-flexible__item page-270 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/temes/medi-ambient-i-sostenibilitat" ><span class="menu-flexible__item-text">Medi ambient i Sostenibilitat</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-409 level3"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://www.santantonidevilamajor.cat/actualitat/noticies/inscripcions-al-registre-dexplotacions-ramaderes-de-les-petites-capacitats-dequids-o-explotacions-avicoles-dautoconsum.html" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Inscripcions al registre d&#039;explotacions ramaderes de les petites capacitats d&#039;èquids o explotacions avícoles d&#039;autoconsum</span><i class="align-middle fa fa-external-link ms-2"></i></a></li></ul></li><li class="menu-flexible__item page-271 level2"><a class="menu-flexible__link" aria-expanded="false" href="/temes/igualtat" ><span class="menu-flexible__item-text">Igualtat</span></a></li><li class="menu-flexible__item page-322 level2"><a class="menu-flexible__link" aria-expanded="false" href="/temes/seguretat-ciutadana" ><span class="menu-flexible__item-text">Seguretat ciutadana</span></a></li><li class="menu-flexible__item page-273 level2"><a class="menu-flexible__link" aria-expanded="false" href="/temes/urbanitzacions" ><span class="menu-flexible__item-text">Urbanitzacions</span></a></li></ul></li><li class="menu-flexible__item page-5 level1"><a class="menu-flexible__link" aria-expanded="false" href="/adrecestelefons" ><span class="menu-flexible__item-text">Directori</span></a></li></ul></div>
303<script>(function() {
304    'use strict';
305
306    // Mega panel
307
308    function initMegaPanels(navContainer) {
309        var menuItems = Array.prototype.slice.call(navContainer.querySelectorAll('[data-mega-id]'));
310        if (!menuItems.length) return;
311
312        var navUl    = navContainer.querySelector('ul');
313        var topItems = navUl
314            ? menuItems.filter(function(el) { return el.parentElement === navUl; })
315            : menuItems;
316
317        var wrapper    = navContainer.closest('.menu-flexible__wrapper');
318        var isClick    = wrapper && wrapper.getAttribute('data-expand-type') === 'click';
319
320        menuItems.forEach(function(item) {
321            var panel = getPanelForItem(item, navContainer);
322            if (!panel) return;
323
324            if (isClick) {
325                var link = item.querySelector('a');
326                if (link) {
327                    link.addEventListener('click', function(e) {
328                        // En mòbil, els elements naveguen directament sense desplegar submenús
329                        if (window.innerWidth <= 992) return;
330                        if (panel.classList.contains('mf-mega-visible')) {
331                            // Segon clic: navegar
332                            return;
333                        }
334                        e.preventDefault();
335                        hideAllMegaPanels(navContainer);
336                        showPanel(item, panel);
337                    });
338                }
339            } else {
340                var hoverDelay = parseInt(
341                    getComputedStyle(wrapper).getPropertyValue('--menu-hover-delay'), 10
342                ) || 0;
343                var hoverTimer = null;
344
345                var leaveTimer = null;
346
347                item.addEventListener('mouseenter', function() {
348                    clearTimeout(hoverTimer);
349                    clearTimeout(leaveTimer);
350                    if (hoverDelay > 0) {
351                        hoverTimer = setTimeout(function() { showPanel(item, panel); }, hoverDelay);
352                    } else {
353                        showPanel(item, panel);
354                    }
355                });
356                item.addEventListener('mouseleave', function(e) {
357                    clearTimeout(hoverTimer);
358                    if (!panel.contains(e.relatedTarget)) {
359                        leaveTimer = setTimeout(function() { hidePanel(item, panel); }, 300);
360                    }
361                });
362                panel.addEventListener('mouseenter', function() {
363                    clearTimeout(leaveTimer);
364                });
365                panel.addEventListener('mouseleave', function(e) {
366                    clearTimeout(hoverTimer);
367                    clearTimeout(leaveTimer);
368                    if (!item.contains(e.relatedTarget)) hidePanel(item, panel);
369                });
370
371                // Tàctil: fallback quan hover no disponible (només escriptori tàctil)
372                var link = item.querySelector('a');
373                if (link) {
374                    link.addEventListener('click', function(e) {
375                        if (window.matchMedia('(hover: none)').matches && window.innerWidth > 992) {
376                            if (panel.classList.contains('mf-mega-visible')) {
377                                // Segon clic en tàctil: navegar
378                                return;
379                            }
380                            e.preventDefault();
381                            hideAllMegaPanels(navContainer);
382                            showPanel(item, panel);
383                        }
384                    });
385                }
386            }
387        });
388
389        navContainer.addEventListener('keydown', function(e) {
390            handleMegaKeydown(e, navContainer, topItems);
391        });
392
393        if (!isClick) {
394            navContainer.addEventListener('focusin', function(e) {
395                var item = e.target.closest('[data-mega-id]');
396                if (!item) return;
397                var panel = getPanelForItem(item, navContainer);
398                if (!panel) return;
399                hideAllMegaPanels(navContainer);
400                showPanel(item, panel);
401            });
402        }
403
404        navContainer.addEventListener('focusout', function() {
405            setTimeout(function() {
406                if (!navContainer.contains(document.activeElement)) {
407                    hideAllMegaPanels(navContainer);
408                }
409            }, 0);
410        });
411
412        document.addEventListener('click', function(e) {
413            if (!navContainer.contains(e.target)) {
414                hideAllMegaPanels(navContainer);
415            }
416        });
417    }
418
419    function handleMegaKeydown(e, navContainer, topItems) {
420        var focused = document.activeElement;
421        if (!focused) return;
422
423        var currentItem = focused.closest('[data-mega-id]');
424        var currentPanel = focused.closest('.menu-flexible__mega-panel');
425        var key = e.key || e.code || e.keyCode;
426
427        function directLink(item) {
428            if (!item) return null;
429            return Array.prototype.slice.call(item.children).find(function(el) {
430                return el.tagName === 'A';
431            }) || item.querySelector('a');
432        }
433
434        function itemForPanel(panel) {
435            if (!panel) return null;
436            var id = panel.getAttribute('data-mega-id');
437            return id ? navContainer.querySelector('li[data-mega-id="' + id + '"]') : null;
438        }
439
440        function focusPanelLink(panel, index) {
441            var links = Array.prototype.slice.call(panel.querySelectorAll('a'));
442            if (!links.length) return;
443            links[(index + links.length) % links.length].focus();
444        }
445
446        function focusPanelSibling(panel, offset) {
447            var links = Array.prototype.slice.call(panel.querySelectorAll('a'));
448            var idx = links.indexOf(focused);
449            if (idx === -1) return;
450            links[(idx + offset + links.length) % links.length].focus();
451        }
452
453        function panelColumnForLink(link) {
454            return link ? link.closest('.menu-flexible__mega-col') : null;
455        }
456
457        function focusAdjacentPanelColumn(panel, offset) {
458            var columns = Array.prototype.slice.call(panel.querySelectorAll('.menu-flexible__mega-col'));
459            var currentColumn = panelColumnForLink(focused);
460            var idx = columns.indexOf(currentColumn);
461            if (idx === -1) return false;
462
463            var targetColumn = columns[(idx + offset + columns.length) % columns.length];
464            var targetLink = targetColumn.querySelector('a');
465            if (targetLink) {
466                targetLink.focus();
467                return true;
468            }
469
470            return false;
471        }
472
473        function focusTopItem(item, offset) {
474            var idx = topItems.indexOf(item);
475            if (idx === -1) return;
476
477            var next = topItems[(idx + offset + topItems.length) % topItems.length];
478            hideAllMegaPanels(navContainer);
479
480            var nextLink = directLink(next);
481            if (nextLink) {
482                nextLink.focus();
483                var nextPanel = getPanelForItem(next, navContainer);
484                if (nextPanel) showPanel(next, nextPanel);
485            }
486        }
487
488        switch (key) {
489            case 'Escape':
490            case 'Esc':
491            case 27: {
492                e.preventDefault();
493                hideAllMegaPanels(navContainer);
494                if (currentPanel) {
495                    var item = itemForPanel(currentPanel);
496                    var lnk = directLink(item);
497                    if (lnk) lnk.focus();
498                }
499                break;
500            }
501
502            case 'ArrowRight':
503            case 39:
504            case 'ArrowLeft':
505            case 37: {
506                var direction = (key === 'ArrowRight' || key === 39) ? 1 : -1;
507                e.preventDefault();
508
509                if (currentPanel) {
510                    if (!focusAdjacentPanelColumn(currentPanel, direction)) {
511                        var ownerItem = itemForPanel(currentPanel);
512                        focusTopItem(ownerItem, direction);
513                    }
514                    break;
515                }
516
517                if (!currentItem) return;
518                focusTopItem(currentItem, direction);
519                break;
520            }
521
522            case 'ArrowDown':
523            case 40: {
524                e.preventDefault();
525                if (currentPanel) {
526                    focusPanelSibling(currentPanel, 1);
527                    break;
528                }
529                if (!currentItem) return;
530                var panel = getPanelForItem(currentItem, navContainer);
531                if (!panel) return;
532                if (!panel.classList.contains('mf-mega-visible')) {
533                    hideAllMegaPanels(navContainer);
534                    showPanel(currentItem, panel);
535                }
536                focusPanelLink(panel, 0);
537                break;
538            }
539
540            case ' ':
541            case 'Space':
542            case 'Spacebar':
543            case 32: {
544                if (currentPanel || !currentItem) return;
545                var spacePanel = getPanelForItem(currentItem, navContainer);
546                if (!spacePanel) return;
547
548                e.preventDefault();
549                if (spacePanel.classList.contains('mf-mega-visible')) {
550                    hidePanel(currentItem, spacePanel);
551                } else {
552                    hideAllMegaPanels(navContainer);
553                    showPanel(currentItem, spacePanel);
554                }
555                break;
556            }
557
558            case 'ArrowUp':
559            case 38: {
560                if (!currentPanel) return;
561                e.preventDefault();
562                var panelLinks = Array.prototype.slice.call(currentPanel.querySelectorAll('a'));
563                var focusedIndex = panelLinks.indexOf(focused);
564
565                if (focusedIndex > 0) {
566                    focusPanelLink(currentPanel, focusedIndex - 1);
567                } else {
568                    var parentItem = itemForPanel(currentPanel);
569                    var parentLink = directLink(parentItem);
570                    if (parentLink) parentLink.focus();
571                    if (parentItem) hidePanel(parentItem, currentPanel);
572                }
573                break;
574            }
575        }
576    }
577
578    function getPanelForItem(item, navContainer) {
579        var id = item.getAttribute('data-mega-id');
580        return id
581            ? navContainer.querySelector('.menu-flexible__mega-panel[data-mega-id="' + id + '"]')
582            : null;
583    }
584
585    function showPanel(item, panel) {
586        panel.classList.add('mf-mega-visible');
587        panel.setAttribute('aria-hidden', 'false');
588        var link = item.querySelector('a');
589        if (link) link.setAttribute('aria-expanded', 'true');
590    }
591
592    function hidePanel(item, panel) {
593        panel.classList.remove('mf-mega-visible');
594        panel.setAttribute('aria-hidden', 'true');
595        var link = item.querySelector('a');
596        if (link) link.setAttribute('aria-expanded', 'false');
597    }
598
599    function hideAllMegaPanels(navContainer) {
600        navContainer.querySelectorAll('.menu-flexible__mega-panel.mf-mega-visible')
601            .forEach(function(panel) {
602                var id   = panel.getAttribute('data-mega-id');
603                var item = id ? navContainer.querySelector('li[data-mega-id="' + id + '"]') : null;
604                if (item) {
605                    hidePanel(item, panel);
606                } else {
607                    panel.classList.remove('mf-mega-visible');
608                    panel.setAttribute('aria-hidden', 'true');
609                }
610            });
611    }
612
613
614    // Tecles de fletxa (menú estàndard)
615
616    function initStandardKeyboard(wrapper) {
617        var menu = wrapper.querySelector('.menu-flexible__list');
618        if (!menu) return;
619
620        function closeAll() {
621            Array.prototype.slice.call(menu.querySelectorAll('.menu-flexible__item[focus="true"]'))
622                .forEach(function(item) {
623                    item.setAttribute('focus', 'false');
624                    var submenu = Array.prototype.slice.call(item.children).find(function(el) {
625                        return el.classList && el.classList.contains('menu-flexible__submenu');
626                    });
627                    if (submenu) {
628                        submenu.style.left = '';
629                        submenu.style.opacity = '';
630                        submenu.style.visibility = '';
631                        submenu.style.pointerEvents = '';
632                        submenu.style.transform = '';
633                    }
634                    var link = Array.prototype.slice.call(item.children).find(function(el) {
635                        return el.tagName === 'A';
636                    });
637                    if (link && link.classList.contains('menu-flexible__link--dropdown')) {
638                        link.setAttribute('aria-expanded', 'false');
639                    }
640                });
641        }
642
643        wrapper.addEventListener('keydown', function(e) {
644            handleStandardKeydown(e, menu);
645        });
646
647        wrapper.addEventListener('focusout', function() {
648            setTimeout(function() {
649                if (!wrapper.contains(document.activeElement)) {
650                    closeAll();
651                }
652            }, 0);
653        });
654    }
655
656    function handleStandardKeydown(e, menu) {
657        var focused = document.activeElement;
658        if (!focused || !menu.contains(focused)) return;
659
660        var itemSel = '.menu-flexible__item';
661        var linkSel = '.menu-flexible__link';
662
663        var currentLi = focused.closest(itemSel);
664        if (!currentLi) return;
665
666        var parentUl = currentLi.parentElement;
667        var isLevel1 = parentUl === menu;
668
669        function directLink(li) {
670            var direct = Array.prototype.slice.call(li.children).find(function(el) {
671                return el.tagName === 'A';
672            });
673            return direct || li.querySelector(linkSel);
674        }
675
676        function siblingItems(ul) {
677            return Array.prototype.slice.call(ul.children).filter(function(el) {
678                return el.matches(itemSel);
679            });
680        }
681
682        function childMenu(li) {
683            return Array.prototype.slice.call(li.children).find(function(el) {
684                return el.classList && el.classList.contains('menu-flexible__submenu');
685            });
686        }
687
688        function setSubmenuVisible(li, visible) {
689            var submenu = childMenu(li);
690            if (!submenu) return;
691
692            if (visible) {
693                submenu.style.left = li.parentElement === menu ? '0' : '100%';
694                submenu.style.opacity = '1';
695                submenu.style.visibility = 'visible';
696                submenu.style.pointerEvents = 'auto';
697                submenu.style.transform = 'none';
698            } else {
699                submenu.style.left = '';
700                submenu.style.opacity = '';
701                submenu.style.visibility = '';
702                submenu.style.pointerEvents = '';
703                submenu.style.transform = '';
704            }
705        }
706
707        function setExpanded(li, expanded) {
708            li.setAttribute('focus', expanded ? 'true' : 'false');
709            setSubmenuVisible(li, expanded);
710            var lnk = directLink(li);
711            if (lnk && lnk.classList.contains('menu-flexible__link--dropdown')) {
712                lnk.setAttribute('aria-expanded', expanded ? 'true' : 'false');
713            }
714            if (!expanded) {
715                Array.prototype.slice.call(li.querySelectorAll(itemSel + '[focus="true"]'))
716                    .forEach(function(item) {
717                        item.setAttribute('focus', 'false');
718                        setSubmenuVisible(item, false);
719                        var childLink = directLink(item);
720                        if (childLink && childLink.classList.contains('menu-flexible__link--dropdown')) {
721                            childLink.setAttribute('aria-expanded', 'false');
722                        }
723                    });
724            }
725        }
726
727        function closeSiblings(li) {
728            Array.prototype.slice.call(li.parentElement.children)
729                .filter(function(item) {
730                    return item !== li && item.matches(itemSel);
731                })
732                .forEach(function(item) {
733                    setExpanded(item, false);
734                });
735        }
736
737        function openChild(li) {
738            var submenu = childMenu(li);
739            if (!submenu) return false;
740            closeSiblings(li);
741            setExpanded(li, true);
742            var firstChild = submenu.querySelector(linkSel);
743            if (firstChild) firstChild.focus();
744            return true;
745        }
746
747        function focusSibling(offset) {
748            var sibs = siblingItems(parentUl);
749            var idx  = sibs.indexOf(currentLi);
750            var lnk  = directLink(sibs[(idx + offset + sibs.length) % sibs.length]);
751            if (lnk) lnk.focus();
752        }
753
754        var key = e.key || e.code || e.keyCode;
755
756        switch (key) {
757            case 'ArrowRight':
758            case 39: {
759                if (!isLevel1) return;
760                e.preventDefault();
761                setExpanded(currentLi, false);
762                focusSibling(1);
763                break;
764            }
765            case 'ArrowLeft':
766            case 37: {
767                if (!isLevel1) return;
768                e.preventDefault();
769                setExpanded(currentLi, false);
770                focusSibling(-1);
771                break;
772            }
773            case 'ArrowDown':
774            case 40: {
775                e.preventDefault();
776                if (focused === directLink(currentLi) && openChild(currentLi)) {
777                    break;
778                }
779                var sibsDown = siblingItems(parentUl);
780                var idxDown  = sibsDown.indexOf(currentLi);
781                if (idxDown < sibsDown.length - 1) {
782                    var lnkDown = directLink(sibsDown[idxDown + 1]);
783                    if (lnkDown) lnkDown.focus();
784                }
785                break;
786            }
787            case 'ArrowUp':
788            case 38: {
789                e.preventDefault();
790                var sibsUp = siblingItems(parentUl);
791                var idxUp  = sibsUp.indexOf(currentLi);
792                if (idxUp > 0) {
793                    var lnkUp = directLink(sibsUp[idxUp - 1]);
794                    if (lnkUp) lnkUp.focus();
795                } else if (!isLevel1) {
796                    var parentItemUp = parentUl.closest(itemSel);
797                    if (parentItemUp) {
798                        setExpanded(parentItemUp, false);
799                        var parentLinkUp = directLink(parentItemUp);
800                        if (parentLinkUp) parentLinkUp.focus();
801                    }
802                }
803                break;
804            }
805            case ' ':
806            case 'Space':
807            case 'Spacebar':
808            case 32: {
809                if (!focused.classList.contains('menu-flexible__link--dropdown')) return;
810                e.preventDefault();
811                currentLi.getAttribute('focus') === 'true'
812                    ? setExpanded(currentLi, false)
813                    : openChild(currentLi);
814                break;
815            }
816            case 'Escape':
817            case 'Esc':
818            case 27: {
819                if (isLevel1 && currentLi.getAttribute('focus') !== 'true') return;
820                e.preventDefault();
821                if (!isLevel1) {
822                    var parentItemEsc = parentUl.closest(itemSel);
823                    if (parentItemEsc) {
824                        setExpanded(parentItemEsc, false);
825                        var parentLinkEsc = directLink(parentItemEsc);
826                        if (parentLinkEsc) parentLinkEsc.focus();
827                    }
828                } else {
829                    setExpanded(currentLi, false);
830                }
831                break;
832            }
833        }
834    }
835
836
837    // Click mode: expandir submenús via [focus=true]
838
839    function initClickExpand(wrapper) {
840        var menu = wrapper.querySelector('.menu-flexible__list');
841        if (!menu) return;
842
843        var itemSel        = '.menu-flexible__item';
844        var dropdownSel    = '.menu-flexible__link--dropdown';
845
846        function closeAll(container) {
847            Array.prototype.slice.call(container.querySelectorAll(itemSel + '[focus="true"]'))
848                .forEach(function(el) { el.setAttribute('focus', 'false'); });
849        }
850
851        function closeSiblings(item) {
852            var parentUl = item.parentElement;
853            Array.prototype.slice.call(parentUl.children)
854                .filter(function(el) {
855                    return el !== item
856                        && el.matches(itemSel)
857                        && el.getAttribute('focus') === 'true';
858                })
859                .forEach(function(el) {
860                    el.setAttribute('focus', 'false');
861                    closeAll(el);
862                });
863        }
864
865        menu.addEventListener('click', function(e) {
866            var link = e.target.closest(dropdownSel);
867            if (!link || !menu.contains(link)) return;
868
869            var item = link.parentElement;
870            if (!item || !item.matches(itemSel)) return;
871
872            // En mòbil, els elements naveguen directament sense desplegar submenús
873            if (window.innerWidth <= 992) return;
874
875            var isOpen = item.getAttribute('focus') === 'true';
876
877            if (isOpen) {
878                // Segon clic: navegar
879                return;
880            }
881
882            e.preventDefault();
883            closeSiblings(item);
884            item.setAttribute('focus', 'true');
885        });
886
887        document.addEventListener('click', function(e) {
888            var openItem = menu.querySelector(itemSel + '[focus="true"]');
889            if (!openItem) return;
890            if (!openItem.contains(e.target)) {
891                closeAll(menu);
892            }
893        });
894    }
895
896
897    // Hamburger (mòbil ≤992px)
898
899    class MenuFlexible {
900        constructor(wrapper) {
901            this.wrapper   = wrapper;
902            this.hamburger = wrapper.querySelector('.menu-flexible__toggle');
903            this.menu      = wrapper.querySelector('.menu-flexible__list');
904
905            if (!this.hamburger || !this.menu) return;
906
907            var parent  = this.menu.parentElement;
908            this.isMega = parent && parent.classList.contains('menu-flexible__nav-container');
909            this.target = this.isMega ? parent : this.menu;
910
911            // Ancestre que en mòbil és barra fixa de 44px amb overflow:clip i retalla
912            // el menú desplegat. En obrir, l'eixamplem; en tancar, el restaurem.
913            this.clipper = wrapper.closest('.nav');
914
915            this.init();
916            window.addEventListener('resize', () => this.handleResize());
917        }
918
919        init() {
920            this.hamburger.addEventListener('click', (e) => {
921                e.preventDefault();
922                e.stopPropagation();
923                this.toggleMenu();
924            });
925
926            document.addEventListener('click', (e) => {
927                if (!this.wrapper.contains(e.target) && this.isOpen()) {
928                    this.closeMenu();
929                }
930            });
931
932            this.menu.querySelectorAll('a').forEach(link => {
933                link.addEventListener('click', () => {
934                    if (window.innerWidth <= 992 && this.isOpen()) {
935                        this.closeMenu();
936                    }
937                });
938            });
939        }
940
941        isOpen()     { return this.target.classList.contains('show'); }
942        toggleMenu() { this.isOpen() ? this.closeMenu() : this.openMenu(); }
943
944        liftClip() {
945            if (this.clipper && window.innerWidth <= 992) {
946                this.clipper.style.height = 'auto';
947                this.clipper.style.maxHeight = 'none';
948                this.clipper.style.overflow = 'visible';
949            }
950        }
951
952        restoreClip() {
953            if (this.clipper) {
954                this.clipper.style.height = '';
955                this.clipper.style.maxHeight = '';
956                this.clipper.style.overflow = '';
957            }
958        }
959
960        openMenu() {
961            this.target.classList.add('show');
962            this.target.style.display = this.isMega ? 'block' : 'flex';
963            if (this.isMega) this.menu.style.display = 'flex';
964            this.liftClip();
965            this.hamburger.classList.add('active');
966            this.hamburger.setAttribute('aria-expanded', 'true');
967        }
968
969        closeMenu() {
970            this.target.classList.remove('show');
971            this.target.style.display = 'none';
972            if (this.isMega) {
973                this.menu.style.display = '';
974                var nc = this.wrapper.querySelector('.menu-flexible__nav-container');
975                if (nc) hideAllMegaPanels(nc);
976            }
977            this.restoreClip();
978            this.hamburger.classList.remove('active');
979            this.hamburger.setAttribute('aria-expanded', 'false');
980        }
981
982        handleResize() {
983            if (window.innerWidth > 992) {
984                this.target.classList.remove('show');
985                this.target.style.display = '';
986                if (this.isMega) this.menu.style.display = '';
987                this.restoreClip();
988                this.hamburger.classList.remove('active');
989                this.hamburger.setAttribute('aria-expanded', 'false');
990            }
991        }
992    }
993
994
995    // Init
996
997    function init() {
998        document.querySelectorAll('.menu-flexible__wrapper').forEach(function(wrapper) {
999            var navContainer = wrapper.querySelector('.menu-flexible__nav-container');
1000            if (navContainer) {
1001                initMegaPanels(navContainer);
1002            } else {
1003                initStandardKeyboard(wrapper);
1004                if (wrapper.getAttribute('data-expand-type') === 'click') {
1005                    initClickExpand(wrapper);
1006                }
1007            }
1008            new MenuFlexible(wrapper);
1009            if (wrapper.getAttribute('data-menu-sticky') === 'true') {
1010                var stickyTarget = wrapper.closest('#navbar-top')
1011                                || wrapper.closest('.navbar')
1012                                || wrapper.closest('nav');
1013                if (stickyTarget) {
1014                    stickyTarget.classList.add('menu-sticky-enabled');
1015                    document.body.classList.add('has-sticky-menu');
1016
1017                    var navbarHeight   = stickyTarget.offsetHeight;
1018                    var navbarTop      = stickyTarget.getBoundingClientRect().top + window.scrollY;
1019                    var bodyPadApplied = false;
1020
1021                    function updateStickyOffset() {
1022                        navbarHeight = stickyTarget.offsetHeight;
1023                        document.documentElement.style.setProperty('--skip-links-sticky-offset', navbarHeight + 'px');
1024
1025                        if (bodyPadApplied) {
1026                            document.body.style.paddingTop = navbarHeight + 'px';
1027                        }
1028                    }
1029
1030                    function getTargetFromHash(hash) {
1031                        if (!hash || hash.charAt(0) !== '#') {
1032                            return null;
1033                        }
1034
1035                        try {
1036                            return document.getElementById(decodeURIComponent(hash.substring(1)));
1037                        } catch (error) {
1038                            return document.getElementById(hash.substring(1));
1039                        }
1040                    }
1041
1042                    function scrollToSkipTarget(hash) {
1043                        var target = getTargetFromHash(hash);
1044                        if (!target) {
1045                            return;
1046                        }
1047
1048                        updateStickyOffset();
1049
1050                        var expectedTop = target.getBoundingClientRect().top + window.scrollY - navbarHeight;
1051                        if (expectedTop > navbarTop) {
1052                            applyFixed();
1053                        } else {
1054                            removeFixed();
1055                        }
1056
1057                        try {
1058                            target.focus({ preventScroll: true });
1059                        } catch (error) {
1060                            target.focus();
1061                        }
1062
1063                        var targetTop = target.getBoundingClientRect().top + window.scrollY;
1064                        window.scrollTo(0, Math.max(targetTop - navbarHeight, 0));
1065                    }
1066
1067                    document.querySelectorAll('.skip-links a[href^="#"]').forEach(function(link) {
1068                        link.addEventListener('click', function(event) {
1069                            var hash = link.getAttribute('href');
1070                            var target = getTargetFromHash(hash);
1071                            if (!target) {
1072                                return;
1073                            }
1074
1075                            event.preventDefault();
1076
1077                            if (window.history && window.history.pushState) {
1078                                window.history.pushState(null, '', hash);
1079                            } else {
1080                                window.location.hash = hash;
1081                            }
1082
1083                            scrollToSkipTarget(hash);
1084                        });
1085                    });
1086
1087                    updateStickyOffset();
1088
1089                    function applyFixed() {
1090                        if (!stickyTarget.classList.contains('fixed-top')) {
1091                            updateStickyOffset();
1092                            stickyTarget.classList.add('fixed-top');
1093                            document.body.style.paddingTop = navbarHeight + 'px';
1094                            bodyPadApplied = true;
1095                        }
1096                    }
1097
1098                    function removeFixed() {
1099                        if (stickyTarget.classList.contains('fixed-top')) {
1100                            stickyTarget.classList.remove('fixed-top');
1101                            document.body.style.paddingTop = '';
1102                            bodyPadApplied = false;
1103                        }
1104                    }
1105
1106                    window.addEventListener('scroll', function() {
1107                        if (window.scrollY > navbarTop) {
1108                            applyFixed();
1109                        } else {
1110                            removeFixed();
1111                        }
1112                    });
1113
1114                    window.addEventListener('resize', function() {
1115                        updateStickyOffset();
1116                        if (!stickyTarget.classList.contains('fixed-top')) {
1117                            navbarTop = stickyTarget.getBoundingClientRect().top + window.scrollY;
1118                        }
1119                    });
1120
1121                    if ('ResizeObserver' in window) {
1122                        new ResizeObserver(updateStickyOffset).observe(stickyTarget);
1123                    }
1124
1125                    stickyTarget.querySelectorAll('img').forEach(function(image) {
1126                        if (!image.complete) {
1127                            image.addEventListener('load', updateStickyOffset, { once: true });
1128                        }
1129                    });
1130
1131                    window.addEventListener('load', updateStickyOffset);
1132
1133                    if (window.scrollY > navbarTop) applyFixed();
1134
1135                    if (window.location.hash) {
1136                        window.setTimeout(function() {
1137                            scrollToSkipTarget(window.location.hash);
1138                        }, 0);
1139                    }
1140                }
1141            }
1142        });
1143    }
1144
1145    if (document.readyState === 'loading') {
1146        document.addEventListener('DOMContentLoaded', init);
1147    } else {
1148        init();
1149    }
1150})();
1151</script>
1151</nav></div></div></div></div></div>        </div>        </header>
1152                <main id="main-content" tabindex="-1">
1153            <div class="content">
1154                <div class="container-xl columns " id="Path">
1155    <div class="row">
1156        <nav aria-label="breadcrumb">
1157            <ol class="breadcrumb">
1158            <li class="breadcrumb-item">
1159    <a href="/" target="_self">
1160        <span style="display: none">home</span><i class="fa fa-home" aria-hidden="true"></i>    </a>
1161    </li>
1162<li class="breadcrumb-item">
1163    <a href="/ajuntament" target="_self">
1164        Ajuntament    </a>
1165        <button class="btn dropdown-toggle" type="button" id="defaultDropdow1" data-bs-toggle="dropdown" data-bs-auto-close="true" aria-expanded="false" aria-label="Desplega"></button>
1166    <ul class="dropdown-menu" aria-label="defaultDropdown1">
1167                    <li><a class="dropdown-item" href="/ajuntament/govern">Govern</a></li>
1168                    <li><a class="dropdown-item" href="/ajuntament/salutacio-de-lalcalde">Salutació de l'Alcalde</a></li>
1169                    <li><a class="dropdown-item" href="/ajuntament/organs-de-govern">Òrgans de govern</a></li>
1170                    <li><a class="dropdown-item" href="/ajuntament/organitzacio-interna">Organització interna</a></li>
1171                    <li><a class="dropdown-item" href="/ajuntament/informacio-pressupostaria-i-fiscal">Informació pressupostària i fiscal</a></li>
1172                    <li><a class="dropdown-item" href="/ajuntament/anuncis-resolucions-i-convenis">Anuncis, resolucions i convenis</a></li>
1173                    <li><a class="dropdown-item" href="/ajuntament/cartes-de-serveis">Cartes de serveis</a></li>
1174                    <li><a class="dropdown-item" href="/ajuntament/protocols">Protocols</a></li>
1175                    <li><a class="dropdown-item" href="/ajuntament/plans-programes-i-manuals">Plans, programes i manuals</a></li>
1176                    <li><a class="dropdown-item" href="/ajuntament/normativa">Normativa</a></li>
1177                    <li><a class="dropdown-item" href="/ajuntament/patrimoni">Patrimoni</a></li>
1178                    <li><a class="dropdown-item" href="/ajuntament/projectes-municipals">Projectes municipals</a></li>
1179                    <li><a class="dropdown-item" href="/ajuntament/seu-electronica">Seu electrònica</a></li>
1180                    <li><a class="dropdown-item" href="/ajuntament/participacio-ciutadana">Participació ciutadana</a></li>
1181                    <li><a class="dropdown-item" href="/ajuntament/389-eleccions">Eleccions</a></li>
1182                    <li><a class="dropdown-item" href="/ajuntament/portal-de-transparencia">Portal de Transparència   </a></li>
1183                    <li><a class="dropdown-item" href="/ajuntament/comunicacio">Comunicació</a></li>
1184                    <li><a class="dropdown-item" href="/ajuntament/empresa-de-serveis-de-vilamajor-la-municipal-slu">Empresa de serveis de Vilamajor, La Municipal SLU</a></li>
1185            </ul>
1186    </li>
1187            </ol>
1188        </nav>
1189    </div>
1190</div>
1191                <div class="container-xl columns">
1192                                        <div class="row">
1193    <div class="col-xs-12 col-sm-12 col-md-3 col-lg-3 leftSidebar responsiveHeight" data-nosnippet>
1194        <nav class="menuLeft" id="Menuleft_page" aria-label="Menú Salutació de l'Alcalde">
1195                    <ul>
1196                <li class="subMenuPage-226 level2">
1197    <a href="/ajuntament/govern" target="_self">
1198        Govern            </a>
1199
1200    </li>
1201<li class="subMenuPage-12 current level2">
1202    <a href="/ajuntament/salutacio-de-lalcalde" target="_self" aria-current="page">
1203        Salutació de l'Alcalde            </a>
1204
1205    </li>
1206<li class="subMenuPage-230 level2">
1207    <a href="/ajuntament/organs-de-govern" target="_self">
1208        Òrgans de govern            </a>
1209
1210    </li>
1211<li class="subMenuPage-231 level2">
1212    <a href="/ajuntament/organitzacio-interna" target="_self">
1213        Organització interna            </a>
1214
1215    </li>
1216<li class="subMenuPage-186 level2">
1217    <a href="/ajuntament/informacio-pressupostaria-i-fiscal" target="_self">
1218        Informació pressupostària i fiscal            </a>
1219
1220    </li>
1221<li class="subMenuPage-153 level2">
1222    <a href="/ajuntament/anuncis-resolucions-i-convenis" target="_self">
1223        Anuncis, resolucions i convenis            </a>
1224
1225    </li>
1226<li class="subMenuPage-398 level2">
1227    <a href="/ajuntament/cartes-de-serveis" target="_self">
1228        Cartes de serveis            </a>
1229
1230    </li>
1231<li class="subMenuPage-394 level2">
1232    <a href="/ajuntament/protocols" target="_self">
1233        Protocols            </a>
1234
1235    </li>
1236<li class="subMenuPage-234 level2">
1237    <a href="/ajuntament/plans-programes-i-manuals" target="_self">
1238        Plans, programes i manuals            </a>
1239
1240    </li>
1241<li class="subMenuPage-236 level2">
1242    <a href="/ajuntament/normativa" target="_self">
1243        Normativa            </a>
1244
1245    </li>
1246<li class="subMenuPage-156 level2">
1247    <a href="/ajuntament/patrimoni" target="_self">
1248        Patrimoni            </a>
1249
1250    </li>
1251<li class="subMenuPage-335 level2">
1252    <a href="/ajuntament/projectes-municipals" target="_self">
1253        Projectes municipals            </a>
1254
1255    </li>
1256<li class="subMenuPage-122 level2">
1257    <a href="/ajuntament/seu-electronica" target="_self">
1258        Seu electrònica            </a>
1259
1260    </li>
1261<li class="subMenuPage-302 level2">
1262    <a href="/ajuntament/participacio-ciutadana" target="_self">
1263        Participació ciutadana            </a>
1264
1265    </li>
1266<li class="subMenuPage-389 level2">
1267    <a href="/ajuntament/389-eleccions" target="_self">
1268        Eleccions            </a>
1269
1270    </li>
1271<li class="subMenuPage-93 level2">
1272    <a href="/ajuntament/portal-de-transparencia" target="_self">
1273        Portal de Transparència               </a>
1274
1275    </li>
1276<li class="subMenuPage-350 level2">
1277    <a href="/ajuntament/comunicacio" target="_self">
1278        Comunicació            </a>
1279
1280    </li>
1281<li class="subMenuPage-366 level2">
1282    <a href="/ajuntament/empresa-de-serveis-de-vilamajor-la-municipal-slu" target="_self">
1283        Empresa de serveis de Vilamajor, La Municipal SLU            </a>
1284
1285    </li>
1286            </ul>
1287                    </nav>
1288</div>
1289    <div class="col-xs-12 col-sm-9 col-md-6 col-lg-6 article responsiveHeight" id="readspeakerPage" tabindex="-1">
1290                <div class="containerPage">
1291                        <div class="hideTablets">
1292    </div>
1293<h1 class="title"  id='title0' data-attribute="Salutació de l&#039;Alcalde">Salutació de l'Alcalde</h1><div class="showTablets">
1294    </div>
1295<div>
1296        <div class="dinamic">
1297                                            
1298                                                                                                            <div class="ddbbtext">
1299                            <p>En nom de l'Ajuntament de Sant Antoni de Vilamajor i del municipi, us dono la benvinguda a aquest espai web. Una finestra des d'on obtindreu la informació més important del nostre poble. Un lloc de referència per a augmentar la participació i fomentar la interacció amb totes les vilamajorines i vilamajorins. Aquesta pàgina vol ser un mitjà de comunicació bidireccional, que fomenti la transparència,  les decisions compartides i el bon govern.</p>
1300
1301<p style="text-align: justify;">També un punt de trobada per aquelles i aquells que ens volgueu visitar, on cercar tota la informació relacionada amb el nostre municipi, des d'on comprar, menjar o dormir, fins als principals atractius turístics, els equipaments o serveis.</p>
1302
1303<p style="text-align: justify;">Estem molt contents que exploreu aquest espai a internet, però ho estarem molt més quan ens trobem pels carrers del poble i ens saludem personalment. La tecnologia ha de servir per això, per acostar-nos els uns amb els altres. Així que, de nou, benvinguts a aquesta visita virtual per Sant Antoni de Vilamajor, i fins ben aviat!</p>
1304                        </div>
1305                                        </div>                                        </div>
1306<div class="hideTablets">
1307                            </div>
1308<div id="share"><div class="js-widget o-widget clearfix boxBX  default "  >  <div class="o-widget-wrapper clearfix default-BX   row " ><div class="o-widget-container ">
1308<div class="o-share o-share--icones_rodones">
1309    
1310    <div class="o-share__list">
1311                    <a
1312                class="o-share__link o-share__link--whatsapp"
1313                href="https://wa.me/?text=Salutaci%C3%B3%20de%20l%27Alcalde%20https%3A%2F%2Fwww.santantonidevilamajor.cat%2Fajuntament%2Fsalutacio-de-lalcalde"
1314                target="_blank"
1315                rel="noopener"
1316                title="WhatsApp"
1317            >
1318                <span class="o-share__icon" aria-hidden="true">
1319                    <i class="fa-brands fa-whatsapp"></i>
1320                </span>
1321                <span class="visually-hidden">WhatsApp</span>
1322            </a>
1323                    <a
1324                class="o-share__link o-share__link--facebook"
1325                href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.santantonidevilamajor.cat%2Fajuntament%2Fsalutacio-de-lalcalde"
1326                target="_blank"
1327                rel="noopener"
1328                title="Facebook"
1329            >
1330                <span class="o-share__icon" aria-hidden="true">
1331                    <i class="fa-brands fa-facebook-f"></i>
1332                </span>
1333                <span class="visually-hidden">Facebook</span>
1334            </a>
1335            </div>
1336</div>
1337</div>  </div></div></div>
1338<span class="updated">Darrera actualització: 24.09.2020 | 15:00</span>
1339                    </div>
1340            </div>
1341        <div class="col-md-12 col-sm-12 col-lg-3 col-xs-12 responsiveHeight barraDreta">
1342                <div class="first-image"><div class="first-image">
1343    <a href="#" id="imageItem0" title="Alcaldeok2" onclick="openGallery(0)">
1344        <span class="visually-hidden">Alcaldeok2</span>
1345        <img id="imgItem0" src="/media/repository/consistori/govern_2019-2023/no_utilitzats/alcaldeok2.jpg" data-src="/consistori/govern_2019-2023/no_utilitzats/alcaldeok2.jpg" data-content="Ra&uuml;l Valent&iacute;n i del Valle"  alt="Alcaldeok2">
1346        <span class="name">Ra&uuml;l Valent&iacute;n i del Valle</span>
1347            </a>
1348</div>
1349</div>    </div>
1350</div>
1351                </div>
1352            </div>
1353        </main>
1354        <footer id="footer-content" tabindex="-1">
1355            <div class="footer">
1356    <div class="shortcuts">
1357    <div class="container-xl">            
1358        <div class="featuredItem responsiveHeight">
1359    <h2 class="title">RSS</h2>
1360    <p class="subtitle">L'actualitat a un clic</p>
1361    <ul id="cm_rss">
1362        <li style="background-image: url('/front/view/images/ico_16_rss.png');">
1363    <a href="/rss/12">
1364           Agenda    </a>
1365</li>
1366<li style="background-image: url('/front/view/images/ico_16_rss.png');">
1367    <a href="/rss/15">
1368           Agenda política    </a>
1369</li>
1370<li style="background-image: url('/front/view/images/ico_16_rss.png');">
1371    <a href="/rss/13">
1372           Avisos    </a>
1373</li>
1374<li style="background-image: url('/front/view/images/ico_16_rss.png');">
1375    <a href="/rss/11">
1376           Notícies    </a>
1377</li>
1378<li style="background-image: url('/front/view/images/ico_16_rss.png');">
1379    <a href="/rss/14">
1380           Publicacions    </a>
1381</li>
1382    </ul>
1383</div>
1384<div class="featuredItem responsiveHeight">
1385    <h2 class="title">Adreces i telèfons</h2>
1386    
1387    <img width="96" height="96" src="/front/view/images/icons/plugin_home.png" alt="">
1388
1389    <p class="elem_button">
1390        <a href="/adrecestelefons" aria-label="Adreces i telèfons">
1391            Accedeix        </a>
1392    </p>
1393</div>
1394<div class="featuredItem">
1395    <h2 class="title">Meteo</h2>
1396    <div id="cm_meteocat">
1397        <ul class="bxslider">
1398            <li>
1399    Dissabte, 3 d’octubre    <img width="80" height="80"
1400        alt="ruixat"
1401        src="/front/view/images/meteocat/pluja.png"
1402    >
1403    <p>
1404        T.Màx: 27&deg;
1405        <br>
1406        T.Min: 17&deg;
1407    </p>
1408    </li>
1409<li>
1410    Diumenge, 4 d’octubre    <img width="80" height="80"
1411        alt="plugim"
1412        src="/front/view/images/meteocat/plugim.png"
1413    >
1414    <p>
1415        T.Màx: 25&deg;
1416        <br>
1417        T.Min: 19&deg;
1418    </p>
1419            <p>
1420            Tarda
1421            <img alt="ruixat" width="24" height="24"
1422                src="/front/view/images/meteocat/pluja.png"
1423            >
1424        </p>
1425    </li>
1426        </ul>
1427        <div class="outside">
1428            <p><span id="slider-prev"></span><span id="slider-next"></span></p>
1429        </div>
1430
1431    </div>
1432</div>
1433<div class="featuredItem responsiveHeight">
1434    <h2 class="title">Butlletí digital</h2>
1435    <img width="96" height="96" src="/front/view/images/icons/plugin_newsletter.png" alt="">
1436    <p class="elem_button">
1437        <a href="/actualitat/butlleti-digital" aria-label="Butlletí digital">
1438            Subscriu-te        </a>
1439    </p>
1440</div>
1441<div id="cm_planol" class="featuredItem responsiveHeight">
1442    <h2 class="title">Plànol / Carrers</h2>
1443
1444    <img width="96" height="96" src="/front/view/images/icons/plugin_map.png" alt="">
1445
1446    <p class="elem_button">
1447        <a href="/el-municipi/guia-del-municipi/planol-guia-de-carrers/" aria-label="Plànol">
1448            Accedeix        </a>
1449    </p>
1450</div>
1451    </div>
1452</div>
1453    <div class="hightlights">
1454        <div class="container-xl">
1455            <div class="highlights">
1456    <ul class="bxslider">
1457        <li>
1458        <a href="https://www.facebook.com/AnimaLore-Vilamajor-293181804472904/" target="_blank" class="banner">
1459            <img src="/media/repository/baners_destacats/destacat/Animalore.png" alt="destacatsuperiorgossos" class="banner">
1460        Animalore Vilamajor        </a>
1461    </li>
1462<li>
1463        <a href="https://santantonidevilamajor.eadministracio.cat/calendar.0" target="_blank" class="banner">
1464            <img src="/media/repository/baners_destacats/destacat/Calendari_festes_locals.png" alt="Destacat Calendari Festes Locals" class="banner">
1465        Calendari Festes Locals         </a>
1466    </li>
1467<li>
1468        <a href="https://www.farmaguia.net/" target="_blank" class="banner">
1469            <img src="/media/repository/baners_destacats/portada_peu/farmacia_grd.png" alt="Farmàcies de guàrdia" class="banner">
1470        Farmàcies de guàrdia        </a>
1471    </li>
1472    </ul>
1473</div>        </div>
1474    </div>
1475    <nav class="menu" aria-label="Peu de menú">
1476        <ul class="container-xl sitemap">
1477            <li class="page-1 Inferior">  <a class="page-1" href="/ajuntament" target="_self" >Ajuntament  </a><ul id="footer-menu-1"><li class="subMenuPage-226">  <a class="subMenuPage-226" href="/ajuntament/govern" target="_self" >Govern  </a></li><li class="subMenuPage-12">  <a class="subMenuPage-12" href="/ajuntament/salutacio-de-lalcalde" target="_self" >Salutació de l'Alcalde  </a></li><li class="subMenuPage-230">  <a class="subMenuPage-230" href="/ajuntament/organs-de-govern" target="_self" >Òrgans de govern  </a></li><li class="subMenuPage-231">  <a class="subMenuPage-231" href="/ajuntament/organitzacio-interna" target="_self" >Organització interna  </a></li><li class="subMenuPage-186">  <a class="subMenuPage-186" href="/ajuntament/informacio-pressupostaria-i-fiscal" target="_self" >Informació pressupostària i fiscal  </a></li><li class="subMenuPage-153">  <a class="subMenuPage-153" href="/ajuntament/anuncis-resolucions-i-convenis" target="_self" >Anuncis, resolucions i convenis  </a></li><li class="subMenuPage-398">  <a class="subMenuPage-398" href="/ajuntament/cartes-de-serveis" target="_self" >Cartes de serveis  </a></li><li class="subMenuPage-394">  <a class="subMenuPage-394" href="/ajuntament/protocols" target="_self" >Protocols  </a></li><li class="subMenuPage-234">  <a class="subMenuPage-234" href="/ajuntament/plans-programes-i-manuals" target="_self" >Plans, programes i manuals  </a></li><li class="subMenuPage-236">  <a class="subMenuPage-236" href="/ajuntament/normativa" target="_self" >Normativa  </a></li><li class="subMenuPage-156">  <a class="subMenuPage-156" href="/ajuntament/patrimoni" target="_self" >Patrimoni  </a></li><li class="subMenuPage-335">  <a class="subMenuPage-335" href="/ajuntament/projectes-municipals" target="_self" >Projectes municipals  </a></li><li class="subMenuPage-122">  <a class="subMenuPage-122" href="/ajuntament/seu-electronica" target="_self" >Seu electrònica  </a></li><li class="subMenuPage-302">  <a class="subMenuPage-302" href="/ajuntament/participacio-ciutadana" target="_self" >Participació ciutadana  </a></li><li class="subMenuPage-389">  <a class="subMenuPage-389" href="/ajuntament/389-eleccions" target="_self" >Eleccions  </a></li><li class="subMenuPage-93">  <a class="subMenuPage-93" href="/ajuntament/portal-de-transparencia" target="_self" >Portal de Transparència     </a></li><li class="subMenuPage-350">  <a class="subMenuPage-350" href="/ajuntament/comunicacio" target="_self" >Comunicació  </a></li><li class="subMenuPage-366">  <a class="subMenuPage-366" href="/ajuntament/empresa-de-serveis-de-vilamajor-la-municipal-slu" target="_self" >Empresa de serveis de Vilamajor, La Municipal SLU  </a></li></ul></li><li class="page-93 Inferior">  <a class="page-93" href="/ajuntament/portal-de-transparencia" target="_self" >Portal de Transparència     </a><ul id="footer-menu-93"><li class="subMenuPage-123">  <a class="subMenuPage-123" href="/ajuntament/portal-de-transparencia/transparencia" target="_self" >Transparència  </a></li><li class="subMenuPage-301">  <a class="subMenuPage-301" href="/ajuntament/portal-de-transparencia/segell-infoparticipa" target="_self" >Segell Infoparticipa  </a></li></ul></li><li class="page-233 Inferior">  <a class="page-233" href="/serveis-i-tramits" target="_self" >Serveis i tràmits  </a><ul id="footer-menu-233"><li class="subMenuPage-314">  <a class="subMenuPage-314" href="/serveis-i-tramits/314-oficines-municipals" target="_self" >Oficines municipals  </a></li><li class="subMenuPage-297">  <a class="subMenuPage-297" href="/serveis-i-tramits/297-seu-electronica" target="_self" >Seu electrònica  </a></li><li class="subMenuPage-414">  <a class="subMenuPage-414" href="https://tauler.seu-e.cat/inici?idEns=819820002" target="_blank" rel="noopener noreferrer" >E-tauler<i class="fa fa-external-link"></i>
1477  </a></li><li class="subMenuPage-140">  <a class="subMenuPage-140" href="/serveis-i-tramits/cataleg-de-serveis" target="_self" >Catàleg de Serveis  </a></li><li class="subMenuPage-253">  <a class="subMenuPage-253" href="/serveis-i-tramits/enllacos-a-diputacio" target="_self" >Enllaços a Diputació  </a></li><li class="subMenuPage-312">  <a class="subMenuPage-312" href="/serveis-i-tramits/carpeta-ciutadana" target="_self" >Carpeta ciutadana  </a></li><li class="subMenuPage-311">  <a class="subMenuPage-311" href="/serveis-i-tramits/notificacions-electroniques" target="_self" >Notificacions electròniques  </a></li><li class="subMenuPage-238">  <a class="subMenuPage-238" href="https://santantonidevilamajor.eadministracio.cat/document-validation.2" target="_blank" rel="noopener noreferrer" >Validació de documents<i class="fa fa-external-link"></i>  </a></li><li class="subMenuPage-221">  <a class="subMenuPage-221" href="/serveis-i-tramits/factura-electronica" target="_self" >Factura electrònica  </a></li><li class="subMenuPage-242">  <a class="subMenuPage-242" href="/serveis-i-tramits/impostos" target="_self" >Impostos  </a></li><li class="subMenuPage-373">  <a class="subMenuPage-373" href="/serveis-i-tramits/queixes-i-suggeriments" target="_self" >Queixes i suggeriments  </a></li></ul></li><li class="page-2 Inferior">  <a class="page-2" href="/el-municipi" target="_self" >El municipi  </a><ul id="footer-menu-2"><li class="subMenuPage-363">  <a class="subMenuPage-363" href="/el-municipi/festius-locals" target="_self" >Festius locals  </a></li><li class="subMenuPage-34">  <a class="subMenuPage-34" href="/el-municipi/com-arribar-hi" target="_self" >Com arribar-hi  </a></li><li class="subMenuPage-3">  <a class="subMenuPage-3" href="/el-municipi/guia-del-municipi" target="_self" >Guia del municipi  </a></li><li class="subMenuPage-7">  <a class="subMenuPage-7" href="/el-municipi/informacio-del-municipi" target="_self" >Informació del municipi  </a></li><li class="subMenuPage-131">  <a class="subMenuPage-131" href="/el-municipi/turisme" target="_self" >Turisme  </a></li><li class="subMenuPage-381">  <a class="subMenuPage-381" href="/el-municipi/381-historia" target="_self" >Història  </a></li><li class="subMenuPage-250">  <a class="subMenuPage-250" href="/el-municipi/programes-de-festa-major-" target="_self" >Programes de Festa Major   </a></li></ul></li><li class="page-4 Inferior">  <a class="page-4" href="/actualitat" target="_self" >Actualitat  </a><ul id="footer-menu-4"><li class="subMenuPage-308">  <a class="subMenuPage-308" href="/actualitat/festa-major-2026" target="_self" >Festa Major 2026  </a></li><li class="subMenuPage-53">  <a class="subMenuPage-53" href="/actualitat/noticies" target="_self" >Notícies  </a></li><li class="subMenuPage-54">  <a class="subMenuPage-54" href="/actualitat/agenda" target="_self" >Agenda  </a></li><li class="subMenuPage-128">  <a class="subMenuPage-128" href="/actualitat/avisos" target="_self" >Avisos  </a></li><li class="subMenuPage-412">  <a class="subMenuPage-412" href="https://consum.gencat.cat/ca/lagencia/atencio-al-consumidor/alertes-i-avisos-de-seguretat/" target="_blank" rel="noopener noreferrer" >Alertes i avisos de seguretat<i class="fa fa-external-link"></i>  </a></li><li class="subMenuPage-243">  <a class="subMenuPage-243" href="/actualitat/cursos-i-tallers-culturals" target="_self" >Cursos i tallers culturals  </a></li><li class="subMenuPage-378">  <a class="subMenuPage-378" href="/actualitat/sequera-a-sant-antoni-de-vilamajor" target="_self" >Sequera a Sant Antoni de Vilamajor  </a></li><li class="subMenuPage-56">  <a class="subMenuPage-56" href="/actualitat/butlleti-municipal-sav" target="_self" >Butlletí municipal SAV  </a></li><li class="subMenuPage-57">  <a class="subMenuPage-57" href="/actualitat/rss" target="_self" >Rss  </a></li><li class="subMenuPage-55">  <a class="subMenuPage-55" href="/actualitat/butlleti-digital" target="_self" >Butlletí digital  </a></li><li class="subMenuPage-58">  <a class="subMenuPage-58" href="/actualitat/hemeroteca" target="_self" >Hemeroteca  </a></li></ul></li>        </ul>
1478    </nav>
1479    <div class="links">
1480        <div class="container-xl">
1481            <div class="row">
1482                <div class="xxss col-md-6 col-sm-6 col-lg-6 middle">                
1483                        <span class="titol">Xarxes socials:</span>
1484  
1485    <a target="_blank" aria-label="Facebook" href="https://www.facebook.com/savilamajor/" title="Obre en finestra nova: Facebook">
1486        <span style="display: none">Facebook</span>
1487        <img src="/front/view/images/icons/social/facebook.png" alt="Facebook" width="32" height="32">
1488    </a>
1489  
1490    <a target="_blank" aria-label="Youtube" href="https://www.youtube.com/channel/UC_OzkYjrR0K2WoqpmCvlpTQ/featured" title="Obre en finestra nova: Youtube">
1491        <span style="display: none">Youtube</span>
1492        <img src="/front/view/images/icons/social/youtube.png" alt="Youtube" width="32" height="32">
1493    </a>
1494  
1495    <a target="_blank" aria-label="Instagram" href="https://www.instagram.com/ajuntament_sav/" title="Obre en finestra nova: Instagram">
1496        <span style="display: none">Instagram</span>
1497        <img src="/front/view/images/icons/social/instagram.png" alt="Instagram" width="32" height="32">
1498    </a>
1499  
1500    <a target="_blank" aria-label="Whatsapp" href="https://whatsapp.com/channel/0029Vb8ZDuf3WHTcmEgQwu3V" title="Obre en finestra nova: Whatsapp">
1501        <span style="display: none">Whatsapp</span>
1502        <img src="/front/view/images/icons/social/whatsapp.png" alt="Whatsapp" width="32" height="32">
1503    </a>
1504                </div>
1505                <div class="col-md-6 col-sm-6 col-lg-6 middle">
1506                    <nav class="menu"><ul id="Inferior2"><li class="page-63">  <a href="/altres-continguts/credits" target="_self" >Crèdits  </a></li><li class="page-62">  <a href="/altres-continguts/contactar" target="_self" >Contactar  </a></li><li class="page-60">  <a href="/altres-continguts/proteccio-de-dades-i-politica-de-privacitat" target="_self" >Protecció de dades i política de privacitat  </a></li><li class="page-59">  <a href="/altres-continguts/avis-legal" target="_self" >Avís legal  </a></li><li class="page-61">  <a href="/altres-continguts/accessibilitat" target="_self" >Accessibilitat  </a></li></ul></nav>                </div>
1507            </div>
1508        </div>
1509    </div>
1510    <div class="contact">
1511        <div class="container-xl">
1512            <div class="row">
1513                <address class="address col-md-6 col-sm-6 col-lg-6">
1514    <div class="title">
1515        Ajuntament de Sant Antoni de Vilamajor    </div>
1516    Plaça Montseny, 5<br>08459 Sant Antoni de Vilamajor<br>Tel. 938 452 400<br>Fax 938 452 051<br>NIF P0819700F<br />[email protected]<br /><br></address><div class="diba col-md-6 col-sm-6 col-lg-6" id="diba-partner">
1517    <div class="title">
1518        Amb la col·laboració de:    </div>
1519    <a href="http://diba.cat/" target="_blank" aria-label="Anar a la web Diputació de Barcelona" title="Obre en finestra nova: Diputació de Barcelona">
1520        <span style="display: none">Diputació de Barcelona</span>
1521        <img src="/front/view//images/logoDiba/Blanc.svg" alt="Diputació de Barcelona" class="logo-diba">
1522    </a>
1523</div>            </div>
1524        </div>
1525    </div>
1526</div>
1527        </footer>
1528        <!-- Llibreries de tercers + js propis registrats a AssetManager (jQuery primer) -->
1529<script src="/front/view/js/bower_components/jquery/dist/jquery.min.js?ver=1790944972"></script>
vendor: 1 bytes, line 1529
1529
1530<script src="/front/view/js/bower_components/bootstrap/dist/js/bootstrap.bundle.min.js?ver=1790944972"></script>
vendor: 1 bytes, line 1530
1530
1531<script src="/front/view/js/bower_components/bxslider-4/dist/jquery.bxslider.js?ver=1790944972"></script>
vendor: 1 bytes, line 1531
1531
1532<script src="/front/view/js/bower_components/jscal/index.js?ver=1790944972"></script>
vendor: 1 bytes, line 1532
1532
1533<script src="/common/bower_components/select2/dist/js/select2.min.js?ver=1790944972"></script>
vendor: 1 bytes, line 1533
1533
1534<script src="/common/bower_components/select2/dist/js/i18n/ca.js?ver=1790944972"></script>
vendor: 1 bytes, line 1534
1534
1535<script src="/common/bower_components/strength.js/src/strength.min.js?ver=1790944972"></script>
vendor: 1 bytes, line 1535
1535
1536<script src="/front/view/js/bower_components/masonry-layout/dist/masonry.pkgd.min.js?ver=1790944972"></script>
vendor: 1 bytes, line 1536
1536
1537<script src="/front/view/js/constants.js?ver=1790944972"></script>
vendor: 1 bytes, line 1537
1537
1538<script src="/front/view/js/functions.js?ver=1790944972"></script>
vendor: 1 bytes, line 1538
1538
1539<script src="/front/view/js/functions/footer.js?ver=1790944972"></script>
vendor: 1 bytes, line 1539
1539
1540<script src="/front/view/js/bower_components/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js?ver=1790944972"></script>
vendor: 1 bytes, line 1540
1540
1541<script src="/front/view/js/bower_components/jquery.prettyPhoto/index.js?ver=1790944972"></script>
vendor: 1 bytes, line 1541
1541
1542<script>
1543    $(document).ready(function(){
1544                    $("a[rel^='prettyPhoto']").prettyPhoto();
1545            $("a[rel^='prettyFrame']").prettyPhoto();
1546            });
1547</script>
vendor: 1 bytes, line 1547
1547
1548<script>
1549        var TWITTER = null;
1550            var FACEBOOK = true;
1551        $(window).on("load", function() {
1552        start();
1553    });
1554        $(document).ready(function() {
1555        if (typeof articlesId !== 'undefined') {
1556            var today = new Date();
1557                        var date = today
1558                        articlesId.push('internal_calendar');
1559
1560            var oneYearAfter = new Date();
1561            oneYearAfter.setDate(oneYearAfter.getDate() + 365);
1562            for (id in articlesId) {
1563                Calendar.setup({
1564                    id: articlesId[id],
1565                    cont: "dv_calendar_" + articlesId[id],
1566                    fdow: 1,
1567                    date: date,
1568                    noScroll: true,
1569                    bottomBar: false,
1570                    max: oneYearAfter,
1571                    animation: false,
1572                    titleFormat: "%B %Y",
1573                    dateInfo: getDateInfo
1574                });
1575                setEqualContentColumns();
1576            }
1577        }
1578    });
1579
1580        
1581    // Initialize Select2 with icon support for category filter
1582    $(document).ready(function() {
1583        if ($('#categoryFilter').length) {
1584            $('#categoryFilter').select2({
1585                templateResult: function(option) {
1586                    if (!option.id) return option.text;
1587                    var icon = $(option.element).data('icon');
1588                    if (!icon) return option.text;
1589                    return $('<span><img src="' + icon + '" style="width: 16px; height: 16px; margin-right: 6px; vertical-align: middle;"> ' + option.text + '</span>');
1590                },
1591                templateSelection: function(option) {
1592                    if (!option.id) return option.text;
1593                    var icon = $(option.element).data('icon');
1594                    if (!icon) return option.text;
1595                    return $('<span><img src="' + icon + '" style="width: 16px; height: 16px; margin-right: 6px; vertical-align: middle;"> ' + option.text + '</span>');
1596                },
1597                allowHtml: true
1598            });
1599        }
1600    });
1601</script>
1601
1602        <!-- CSS final-->
1603
1604        
1604<script>
1605          const css = "";
1606          const style = document.createElement('style');
1607          style.textContent = css;
1608          document.head.appendChild(style);
1609        </script>
1609
1610
1611        <!-- Start Modal views-->
1612        <div class="modal fade" id="ImageModal" tabindex="-1" role="dialog" aria-hidden="true">
1613    <div class="modal-dialog modal-dialog-centered" role="document">
1614        <div class="modal-content">
1615            <div class="modal-header">
1616                <div class="title-head"></div>
1617            </div>
1618            <div class="modal-body">
1619                                    <img id="imageCarousel0" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="">
1620                            </div>
1621            <div class="modal-footer">
1622                <div id="imageText"></div>
1623                <div id="downloadImage"></div>
1624                <a id="closeModal" class="close" href="javascript:void(0)"><span style="display: none">X</span></a>
1625            </div>
1626        </div>
1627    </div>
1628</div>
1629
1630        <div class="modal fade" id="videoModal" tabindex="-1" role="dialog"  aria-hidden="true">
1631    <div class="modal-dialog modal-dialog-centered" role="document">
1632        <div class="modal-content">
1633            <div class="modal-header">
1634                <div class="title-head"></div>
1635            </div>
1636            <div class="modal-body">
1637                <div class="tiktok-div-embed"></div>
1638                <iframe id="iframeVideo" title="Vídeo" class="iframeVideo" allowfullscreen></iframe>
1639
1640            </div>
1641            <div class="modal-footer">
1642                <span id="titleVideo" class="titleVideo"></span>
1643                <a id="closeModalVideo" class="close" href="javascript:void(0)" data-bs-dismiss="modal"><span style="display: none">X</span></a>
1644
1645            </div>
1646        </div>
1647    </div>
1648</div>        <div class="modal fade" id="pdfModal" tabindex="-1" role="dialog"  aria-hidden="true">
1649    <div id="documentDialog" class="modal-dialog modal-dialog-centered" role="document">
1650        <div class="modal-content">
1651            <div class="modal-header">
1652                <div class="title-head"></div>
1653            </div>
1654            <div class="modal-body">
1655                <iframe id="iframePdf" title='Document' class="pdfview" style="width: 100%; height: 100%"></iframe>
1656            </div>
1657            <div class="modal-footer">
1658                <span id="titlePdf" class="titlePdf"></span>
1659                <a id="closeModalPDF" class="close" href="javascript:void(0)"><span style="display: none">X</span></a>
1660            </div>
1661        </div>
1662    </div>
1663</div>        <!-- End Modal views -->
1664        
1664<script src="/front/view/js/endScript.js?ver=1790944972"></script>
1664
1665        <!-- Només activar per desenvolupament
1666        
1666<script src="../../../node_modules/axe-core/axe.js"></script>
1666
1667        
1667<script src="../../../dist/my-first-webpack.bundle.js"></script>
1667
1668        -->
1669                
1669<script>
1670            $(document).ready(function () {
1671                startClock(1790944972);
1672                if (typeof (callMenuAfterJQueryLoaded) == "function") {
1673                    callMenuAfterJQueryLoaded();
1674                }
1675                
1676                datepickerInit();
1677                carouselControlSmall();
1678
1679                if (typeof (callMenuBeforeJQueryLoaded) == "function") {
1680                    callMenuBeforeJQueryLoaded();
1681                }
1682
1683                if (typeof (callMenuBeforeTopJQueryLoaded) == "function") {
1684                    callMenuBeforeTopJQueryLoaded();
1685                }
1686                addAttributesDivVcards();
1687                modalsImage();
1688                modalsPdf();
1689                translateWeb();
1690                var carousel = $('#carouselControls');
1691                carousel.on('slide.bs.carousel', function (event) {
1692                    toSlideImage(event);
1693                });
1694                /** Només activar per desenvolupament
1695                axe.configure({
1696                    locale: {
1697                        lang: 'es',
1698                    }
1699                });
1700
1701                axe.run().then(results => {
1702                        if (results.violations.length) {
1703                            console.log(results.violations);
1704                            throw new Error('Accessibility issues found');
1705                        }
1706                    })
1707                    .catch(err => {
1708                        console.log('Something bad happened:', err.message);
1709                    });
1710                */
1711            });
1712
1713            $(window).resize(function() {
1714                equalHeightIconTime();
1715            })
1716        </script>
1716
1717                    </body>
1718</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.