PageSourceSearch

https://www.montbui.cat/altra-informacio/contactar

html montbui.cat collected 2026-10-02 11:26:03 UTC 103,941 bytes, 1,674 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="Contactar - ">
8<meta name="description" lang="ca" content="">
9<meta name="author" lang="ca" content="Ajuntament de Santa Margarida de Montbui">
10<meta name="date" lang="ca" content="2025-02-18 10:04:54">
11<meta name="generator" lang="ca" content="">
12<meta name="robots" content="index, follow">
13
14        <title>Contactar - </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-C1TPPG2GF4
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-C1TPPG2GF4
vendor: 8 bytes, lines 23-24
23');
24    
24// Creates the default tracker.
25    gtag('event', 'page_view', { 'send_to': 'G-C1TPPG2GF4' });
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-126015970-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-126015970-1
vendor: 8 bytes, lines 34-35
34');
35    
35// Creates the default tracker.
36    gtag('event', 'page_view', { 'send_to': 'UA-126015970-1' });
37</script>
37
38<!-- End of code Global Site Tag (gtag.js) - Google Analytics v4-->
39        <link rel="canonical" href="/altra-informacio/contactar">
40
41        <link rel="stylesheet" href="/front/view/js/bower_components/bootstrap/dist/css/bootstrap.min.css?ver=1790940362">
42<link rel="stylesheet" href="/front/view/js/bower_components/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css?ver=1790940362">
43<link rel="stylesheet" href="/front/view/js/bower_components/bootstrap-icons.min/index.css?ver=1790940362">
44<link rel="stylesheet" href="/front/view/js/bower_components/tempus-dominus.min.css/index.css?ver=1790940362">
45<link rel="stylesheet" href="/common/bower_components/select2/dist/css/select2.min.css?ver=1790940362">
46
47        <!-- Real Favicon Genenrator-->
48<link rel="apple-touch-icon" href="/themes/santamargaridademontbui/images/favicons/apple-touch-icon.png">
49<link rel="icon" type="image/png" href="/themes/santamargaridademontbui/images/favicons/favicon-16x16.png" sizes="16x16">
50<link rel="icon" type="image/png" href="/themes/santamargaridademontbui/images/favicons/favicon-32x32.png" sizes="32x32">
51<link rel="shortcut icon" href="/themes/santamargaridademontbui/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=1790940362"></script>
vendor: 1 bytes, line 68
68
69<script src="/front/view/js/klaro-init.js?ver=1790940362"></script>
69
70
71        <!-- Twitter Card data -->
72<meta name="twitter:card" content="summary">
73<meta name="twitter:site" content="@ajmontbui">
74<meta name="twitter:title" content="Contactar">
75<meta name="twitter:description" content="">
76<meta name="twitter:image" content="https://www.montbui.cat/themes/santamargaridademontbui/images/logos/header.png">
77    <meta name="twitter:image:alt" content="Logo">
78        <!-- Open Graph data -->
79<meta property="og:title" content="Contactar">
80<meta property="og:type" content="website">
81<meta property="og:url" content="https://www.montbui.cat/altra-informacio/contactar">
82<meta property="og:image" content="https://www.montbui.cat/themes/santamargaridademontbui/images/logos/header.png">
83    <meta property="og:image:alt" content="Logo">
84    <meta property="og:image" content="https://www.montbui.cat/themes/santamargaridademontbui/images/logos/header_inv.png">
85    <meta property="og:image:alt" content="Logo invertit">
86    <meta property="og:description" content="">
87<meta property="og:site_name" content="Ajuntament de Santa Margarida de Montbui">
88
89        <!-- HTML5 compatible tags -->
90<script>
91    document.createElement('header');
92    document.createElement('footer');
93    document.createElement('section');
94    document.createElement('aside');
95    document.createElement('nav');
96    document.createElement('article');
97    document.createElement('hgroup');
98    document.createElement('lh');
99</script>
99
100        
100<script>window.mapsConfig = { layerType: 'OpenStreetMap_Mapnik' };</script>
100
101<link rel="stylesheet" href="/front/view/js/bower_components/FreezeUI/freeze-ui.min.css">
102<link rel="stylesheet" href="/front/view/js/bower_components/Leaflet/default/leaflet.css">
103<link rel="stylesheet" href="/front/view/js/bower_components/Leaflet/default/Control.Loading.css">
104<script  src="/front/view/js/bower_components/FreezeUI/freeze-ui.min.js"></script>
vendor: 1 bytes, line 104
104
105<script  src="/front/view/js/bower_components/Leaflet/default/leaflet.js"></script>
vendor: 1 bytes, line 105
105
106<script src="/front/view/js/bower_components/es6-promise/es6-promise.min.js"></script>
vendor: 1 bytes, line 106
106
107<script>ES6Promise.polyfill();</script>
vendor: 1 bytes, line 107
107
108<script  src='/front/view/js/bower_components/Leaflet/default/Leaflet.GoogleMutant.js'></script>
vendor: 1 bytes, line 108
108
109<script src="/front/view/js/googleMapsInit.js"></script>
vendor: 1 bytes, line 109
109
110<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 110
110
111<script  src="/front/view/js/bower_components/Leaflet/default/leaflet.maps.js"></script>
vendor: 1 bytes, line 111
111
112<script  src="/front/view/js/bower_components/Leaflet/default/leaflet.clone.js"></script>
vendor: 1 bytes, line 112
112
113<script  src="/front/view/js/bower_components/Leaflet/default/Control.Loading.js"></script>
vendor: 1 bytes, line 113
113
114<script src="/front/view/js/bower_components/jquery.min/index.js"></script>
vendor: 1 bytes, line 114
114
115<script src="/front/view/js/maps.js"></script>
115        <!-- Init addHeadExtraStyles -->
116        <style>html body{font-size:1em !important;} </style>
117        <!-- End addHeadExtraStyles -->
118        <!-- Font Awesome 7 + v4-shims for backward compatibility -->
119        <link href="https://cdn.jsdelivr.net/npm/@fortawesome/[email protected]/css/all.min.css" rel="stylesheet">
120        <link href="https://cdn.jsdelivr.net/npm/@fortawesome/[email protected]/css/v4-shims.min.css" rel="stylesheet">
121        <!-- Popperjs + Tempus Dominus -->
122        
122<script src="/front/view/js/bower_components/popper.min/index.js?ver=1790940362"></script>
vendor: 1 bytes, line 122
122
123<script src="/front/view/js/bower_components/tempus-dominus.min.js/index.js?ver=1790940362"></script>
123
124                <link rel="stylesheet" media="all" href="/themes/santamargaridademontbui/styles/style.min.css?ver=1790940362">
125            </head>
126    <body class="page id-62">
127        <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">
128                                    <div class="toolbar clearfix">
129    <div class="container-xl">
130                <div class="fright">
131            <div class="toolbarItem">
132    <div class="toolbarItem page-62 page-contactar current">
133    <a 
134        href="/altra-informacio/contactar"
135        target="_self"
136        rel=""
137            >
138        Contactar    </a>
139</div>
140</div>                        <div id="social" class="toolbarItem">
141                  
142    <a target="_blank" aria-label="Facebook" href="https://www.facebook.com/ajmontbui/" title="Obre en finestra nova: Facebook">
143        <span style="display: none">Facebook</span>
144        <img src="/front/view/images/icons/social/facebook.png" alt="Facebook" width="32" height="32">
145    </a>
146  
147    <a target="_blank" aria-label="Youtube" href="https://www.youtube.com/channel/UCjqVEXuDeLfW4I1pQM7xxJw" title="Obre en finestra nova: Youtube">
148        <span style="display: none">Youtube</span>
149        <img src="/front/view/images/icons/social/youtube.png" alt="Youtube" width="32" height="32">
150    </a>
151  
152    <a target="_blank" aria-label="Instagram" href="https://www.instagram.com/ajmontbui" title="Obre en finestra nova: Instagram">
153        <span style="display: none">Instagram</span>
154        <img src="/front/view/images/icons/social/instagram.png" alt="Instagram" width="32" height="32">
155    </a>
156  
157    <a target="_blank" aria-label="Tiktok" href="https://www.tiktok.com/@ajmontbui" title="Obre en finestra nova: Tiktok">
158        <span style="display: none">Tiktok</span>
159        <img src="/front/view/images/icons/social/tiktok.png" alt="Tiktok" width="32" height="32">
160    </a>
161  
162    <a target="_blank" aria-label="Whatsapp" href="https://whatsapp.com/channel/0029VaDQmgZ8qIzxjSLbXF2j" title="Obre en finestra nova: Whatsapp">
163        <span style="display: none">Whatsapp</span>
164        <img src="/front/view/images/icons/social/whatsapp.png" alt="Whatsapp" width="32" height="32">
165    </a>
166            </div>
167                        <div class="toolbarItem">
168                <div id="toolbarLanguages">
169    <ul id="languages">
170        <li><a href="#" role="button" aria-expanded="false" aria-controls="languagesList" id="languagesToggle">Idiomes</a>
171            <ul id="languagesList">
172                                    <li><a class="link-language" href="https://www.montbui.cat/altra-informacio/contactar?lang=ca" data-target="https://www.montbui.cat/altra-informacio/contactar?lang=ca">Català</a></li>
173                                    <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.montbui.cat/altra-informacio/contactar&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.montbui.cat/altra-informacio/contactar&amp;sl=ca&amp;tl=es">Castellà</a></li>
174                                    <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.montbui.cat/altra-informacio/contactar&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.montbui.cat/altra-informacio/contactar&amp;sl=ca&amp;tl=en">Anglès</a></li>
175                                    <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.montbui.cat/altra-informacio/contactar&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.montbui.cat/altra-informacio/contactar&amp;sl=ca&amp;tl=de">Alemany</a></li>
176                                    <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.montbui.cat/altra-informacio/contactar&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.montbui.cat/altra-informacio/contactar&amp;sl=ca&amp;tl=fr">Francès</a></li>
177                            </ul>
178        </li>
179    </ul>
180</div>
181<script>
182(function () {
183    var toggle = document.getElementById('languagesToggle');
184    if (!toggle) return;
185    var li = toggle.parentElement;
186    var submenu = li.querySelector('ul');
187    var links = Array.prototype.slice.call(submenu.querySelectorAll('a'));
188
189    function keyName(e) {
190        return e.key || e.code || e.keyCode;
191    }
192
193    function isSpaceKey(e) {
194        var key = keyName(e);
195        return key === ' ' || key === 'Spacebar' || key === 'Space' || key === 32;
196    }
197
198    function open(focusFirst) {
199        li.classList.add('is-open');
200        submenu.style.display = 'block';
201        submenu.style.padding = '1em';
202        toggle.setAttribute('aria-expanded', 'true');
203        if (focusFirst && links.length) links[0].focus();
204    }
205
206    function close() {
207        li.classList.remove('is-open');
208        submenu.style.display = '';
209        submenu.style.padding = '';
210        toggle.setAttribute('aria-expanded', 'false');
211    }
212
213    function isOpen() {
214        return toggle.getAttribute('aria-expanded') === 'true';
215    }
216
217    function focusLink(index) {
218        if (!links.length) return;
219        links[(index + links.length) % links.length].focus();
220    }
221
222    function focusedLinkIndex() {
223        return links.indexOf(document.activeElement);
224    }
225
226    toggle.addEventListener('click', function (e) {
227        e.preventDefault();
228        isOpen() ? close() : open(false);
229    });
230
231    toggle.addEventListener('keydown', function (e) {
232        var key = keyName(e);
233        if (key === 'Enter' || isSpaceKey(e)) {
234            e.preventDefault();
235            isOpen() ? close() : open(false);
236        } else if (key === 'ArrowDown' || key === 40) {
237            e.preventDefault();
238            open(true);
239        } else if (key === 'ArrowUp' || key === 38) {
240            e.preventDefault();
241            open(false);
242            focusLink(links.length - 1);
243        } else if (key === 'Escape' || key === 'Esc' || key === 27) {
244            if (isOpen()) {
245                e.preventDefault();
246                close();
247            }
248        }
249    });
250
251    submenu.addEventListener('keydown', function (e) {
252        var key = keyName(e);
253        var index = focusedLinkIndex();
254
255        if (key === 'ArrowDown' || key === 40) {
256            e.preventDefault();
257            focusLink(index + 1);
258        } else if (key === 'ArrowUp' || key === 38) {
259            e.preventDefault();
260            focusLink(index - 1);
261        } else if (key === 'Home' || key === 36) {
262            e.preventDefault();
263            focusLink(0);
264        } else if (key === 'End' || key === 35) {
265            e.preventDefault();
266            focusLink(links.length - 1);
267        } else if (isSpaceKey(e)) {
268            e.preventDefault();
269            if (document.activeElement && document.activeElement.click) {
270                document.activeElement.click();
271            }
272        } else if (key === 'Escape' || key === 'Esc' || key === 27) {
273            e.preventDefault();
274            close();
275            toggle.focus();
276        }
277    });
278
279    li.addEventListener('focusout', function () {
280        window.setTimeout(function () {
281            if (!li.contains(document.activeElement)) close();
282        }, 0);
283    });
284
285    document.addEventListener('click', function (e) {
286        if (!li.contains(e.target)) close();
287    });
288})();
289</script>
289
290                <div class="currentDate" style='padding:9px;color:white'>
291    <span id="clock" class="clock" title='Data i hora oficial' >
292        02.10.2026 | 13:26    </span>
293</div>            </div>
294        </div>
295    </div>
296</div>
297<div class="header ">
298    <div class="branding">
299        <div class="container-xl">
300            <div class="row">
301                <div class="col-md-8 col-sm-8 col-lg-8 logo_box">
302    <a class="logo" href="/" aria-label=" - Pàgina d'inici">
303        <img src="/themes/santamargaridademontbui/images/logos/header.png" alt="" width="400" height="111" id="mainLogo">
304    </a>
305    </div>                <div class="col-md-4 col-sm-4 col-lg-4 middle search_box">
306    <form id="search_box" aria-label="Cercar:" name="search_box" method="get" action="/search">
307        <label for="search" accesskey="4">
308            <span class="visually-hidden">Cercar:</span>
309        </label>
310        <input id="search" name="search" type="text" aria-label="Cercar:" title="Cerca a tot el web" value="" placeholder="Cercar...">
311        <button type="submit" class="search-button" aria-label="Cerca"><i class="fa fa-search"></i></button>
312    </form>
313</div>
314            </div>
315        </div>
316    </div>
317        <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="click" 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-134 level1"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/lajuntament" ><span class="menu-flexible__item-text">L&#039;Ajuntament</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-8 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/lajuntament/govern-municipal" ><span class="menu-flexible__item-text">Govern municipal</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-12 level3"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/lajuntament/govern-municipal/salutacio-de-lequip-de-govern" ><span class="menu-flexible__item-text">Salutació de l&#039;Equip de Govern</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-143 level4"><a class="menu-flexible__link" aria-expanded="false" href="/lajuntament/govern-municipal/salutacio-de-lequip-de-govern/lespai-de-lalcalde-" ><span class="menu-flexible__item-text">L&#039;Espai de l&#039;Alcalde </span></a></li></ul></li><li class="menu-flexible__item page-116 level3"><a class="menu-flexible__link" aria-expanded="false" href="/lajuntament/govern-municipal/agenda-de-lequip-de-govern" ><span class="menu-flexible__item-text">Agenda de l&#039;Equip de Govern</span></a></li><li class="menu-flexible__item page-14 level3"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/lajuntament/govern-municipal/14-consistori" ><span class="menu-flexible__item-text">Consistori</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-115 level4"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://www.seu-e.cat/ca/web/santamargaridademontbui/govern-obert-i-transparencia/informacio-institucional-i-organitzativa/organitzacio-politica-i-retribucions/alts-carrecs-personal-directiu-i-carrecs-eventuals" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Informació dels càrrecs electes</span></a></li><li class="menu-flexible__item page-15 level4"><a class="menu-flexible__link" aria-expanded="false" href="/lajuntament/govern-municipal/14-consistori/grups-municipals" ><span class="menu-flexible__item-text">Grups municipals</span></a></li></ul></li><li class="menu-flexible__item page-133 level3"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://www.seu-e.cat/ca/web/santamargaridademontbui/dades-obertes/-/dadesobertes/dataset/eleccions-municipals-resultats-historics-en-vots/resource/3539f7e6-4a48-4b57-9b55-b8c41079b3cd?p_auth=SiufxuBC" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Resultats electorals</span></a></li><li class="menu-flexible__item page-81 level3"><a class="menu-flexible__link" aria-expanded="false" href="/lajuntament/govern-municipal/organismes-depenents-o-vinculats" ><span class="menu-flexible__item-text">Organismes depenents o vinculats</span></a></li><li class="menu-flexible__item page-249 level3"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/lajuntament/govern-municipal/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-281 level4"><a class="menu-flexible__link" aria-expanded="false" href="/lajuntament/govern-municipal/organs-de-govern/organitzacio-municipal-acords-de-cartipas-i-delegacions" ><span class="menu-flexible__item-text">Organització municipal (acords de cartipàs i delegacions)</span></a></li><li class="menu-flexible__item page-19 level4"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://www.seu-e.cat/ca/web/santamargaridademontbui/govern-obert-i-transparencia/accio-de-govern-i-normativa/accio-de-govern-i-grups-politics/actes-de-ple" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Actes de ple</span></a></li><li class="menu-flexible__item page-20 level4"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://www.seu-e.cat/ca/web/santamargaridademontbui/govern-obert-i-transparencia/accio-de-govern-i-normativa/accio-de-govern-i-grups-politics/acords-de-junta-de-govern" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Actes de Juntes de Govern</span></a></li><li class="menu-flexible__item page-21 level4"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://www.seu-e.cat/ca/web/santamargaridademontbui/govern-obert-i-transparencia/accio-de-govern-i-normativa/accio-de-govern-i-grups-politics/convocatories-de-sessions-del-ple" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Convocatòries del Ple</span></a></li></ul></li></ul></li><li class="menu-flexible__item page-9 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/lajuntament/informacio-oficial" ><span class="menu-flexible__item-text">Informació oficial</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-276 level3"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/lajuntament/informacio-oficial/gestio-economica" ><span class="menu-flexible__item-text">Gestió Econòmica</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-277 level4"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://seu-e.cat/ca/web/santamargaridademontbui/govern-obert-i-transparencia/gestio-economica/pressupost/pressupost/despeses-per-programa" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Pressupost</span></a></li><li class="menu-flexible__item page-278 level4"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://seu-e.cat/ca/web/santamargaridademontbui/govern-obert-i-transparencia/gestio-economica/pressupost/liquid
317acio-del-pressupost/despeses-per-programa" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Liquidació del pressupost</span></a></li><li class="menu-flexible__item page-279 level4"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://seu-e.cat/ca/web/santamargaridademontbui/govern-obert-i-transparencia/gestio-economica/pressupost/compliment-dels-objectius-d-estabilitat-pressupostaria" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Compliment dels objectius d&#039;estabilitat pressupostària</span></a></li></ul></li><li class="menu-flexible__item page-257 level3"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/lajuntament/informacio-oficial/recursos-humans" ><span class="menu-flexible__item-text">Recursos Humans</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-120 level4"><a class="menu-flexible__link" aria-expanded="false" href="/lajuntament/informacio-oficial/recursos-humans/ofertes-de-treball" ><span class="menu-flexible__item-text">Ofertes de treball</span></a></li><li class="menu-flexible__item page-265 level4"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://www.seu-e.cat/ca/web/santamargaridademontbui/govern-obert-i-transparencia/informacio-institucional-i-organitzativa/empleats-publics/plantilla-empleats-publics" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Plantilla d&#039;empleats públics</span></a></li><li class="menu-flexible__item page-258 level4"><a class="menu-flexible__link menu-flexible__link--dropdown menu-link--external" aria-expanded="false" href="https://www.seu-e.cat/ca/web/santamargaridademontbui/govern-obert-i-transparencia/informacio-institucional-i-organitzativa/empleats-publics/relacio-de-llocs-de-treball-rlt" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Relació de Llocs de Treball</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-264 level5"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://www.seu-e.cat/ca/web/santamargaridademontbui/govern-obert-i-transparencia/informacio-institucional-i-organitzativa/empleats-publics/oferta-publica-d-ocupacio-208" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Oferta Pública d&#039;Ocupació</span></a></li></ul></li><li class="menu-flexible__item page-169 level4"><a class="menu-flexible__link" aria-expanded="false" href="/lajuntament/informacio-oficial/recursos-humans/servei-local-docupacio-ofertes" ><span class="menu-flexible__item-text">Servei Local d&#039;Ocupació (ofertes)</span></a></li></ul></li><li class="menu-flexible__item page-246 level3"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/lajuntament/informacio-oficial/contractacio" ><span class="menu-flexible__item-text">Contractació</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-26 level4"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://contractaciopublica.gencat.cat/ecofin_pscp/AppJava/cap.pscp?reqCode=viewDetail&amp;idCap=13027370" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Perfil de contractant</span></a></li></ul></li><li class="menu-flexible__item page-259 level3"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/lajuntament/informacio-oficial/normativa" ><span class="menu-flexible__item-text">Normativa</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-260 level4"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/lajuntament/informacio-oficial/normativa/ajuts-i-subvencions" ><span class="menu-flexible__item-text">Ajuts i subvencions</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-185 level5"><a class="menu-flexible__link" aria-expanded="false" href="/lajuntament/informacio-oficial/normativa/ajuts-i-subvencions/sollicitud-dajuts-per-a-arranjaments-dhabitatges-per-a-gent-gran-persones-amb-dificultats-de-mobilitat-o-en-risc-dexclusio-social-del-29-de-setembre-al-28-doctubre-de-2026" ><span class="menu-flexible__item-text">Sol·licitud d&#039;ajuts per a arranjaments d&#039;habitatges per a gent gran, persones amb dificultats de mobilitat o en risc d&#039;exclusió social (del 29 de setembre al 28 d&#039;octubre de 2026)</span></a></li></ul></li><li class="menu-flexible__item page-238 level4"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://www.seu-e.cat/ca/web/santamargaridademontbui/govern-obert-i-transparencia/accio-de-govern-i-normativa/normativa-plans-i-programes/plans-i-programes-sobre-les-politiques-publiques" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Plans i programes sobre les polítiques públiques</span></a></li><li class="menu-flexible__item page-27 level4"><a class="menu-flexible__link" aria-expanded="false" href="/lajuntament/informacio-oficial/normativa/ordenances-generals" ><span class="menu-flexible__item-text">Ordenances Generals</span></a></li><li class="menu-flexible__item page-240 level4"><a class="menu-flexible__link" aria-expanded="false" href="/lajuntament/informacio-oficial/normativa/participacio-en-ordenances-i-reglaments" ><span class="menu-flexible__item-text">Participació en ordenances i reglaments</span></a></li><li class="menu-flexible__item page-168 level4"><a class="menu-flexible__link" aria-expanded="false" href="/lajuntament/informacio-oficial/normativa/informacio-publica-" ><span class="menu-flexible__item-text">Informació pública </span></a></li><li class="menu-flexible__item page-202 level4"><a class="menu-flexible__link" aria-expanded="false" href="/lajuntament/informacio-oficial/normativa/normativa-admin-electronica" ><span class="menu-flexible__item-text">Normativa Admin. Electrònica</span></a></li><li class="menu-flexible__item page-22 level4"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/lajuntament/informacio-oficial/normativa/ordenances-fiscals" ><span class="menu-flexible__item-text">Ordenances Fiscals</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-164 level5"><a class="menu-flexible__link" aria-expanded="false" href="/lajuntament/informacio-oficial/normativa/ordenances-fiscals/calendari-fiscal" ><span class="menu-flexible__item-text">Calendari fiscal</span></a></li></ul></li><li class="menu-flexible__item page-28 level4"><a class="menu-flexible__link menu-flexible__link--dropdown menu-link--external" aria-expanded="false" href="https://www.seu-e.cat/web/santamargaridademontbui/govern-obert-i-transparencia/accio-de-govern-i-normativa/urbanisme" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Urbanisme</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-165 level5"><a class="menu-flexible__link" aria-expanded="false" href="/lajuntament/informacio-oficial/normativa/urbanisme/pla-dordenacio-urbanistica-municipal-poum" ><span class="menu-flexible__item-text">Pla d&#039;Ordenació Urbanística Municipal (POUM)</span></a></li></ul></li></ul></li><li class="menu-flexible__item page-274 level3"><a class="menu-flexible__link" aria-expanded="false" href="/lajuntament/informacio-oficial/next-generation-a-santa-margarida-de-montbui-" ><span class="menu-flexible__item-text">Next Generation a Santa Margarida de Montbui </span></a></li><li class="menu-flexible__item page-189 level3"><a class="menu-flexible__link" aria-expanded="false" href="/lajuntament/informacio-oficial/pla-de-mesures-antifrau" ><span class="menu-flexible__item-text">Pla de mesures antifrau</span></a></li><li class="menu-flexible__item page-170 level3"><a class="menu-flexible__link" aria-expanded="false" href="/lajuntament/informacio-oficial/acordsmocionsdeclaracions" ><span class="menu-flexible__item-text">Acords/Mocions/Declaracions</span></a></li><li class="menu-flexible__item page-161 level3"><a class="menu-flexible__link" aria-expanded="false" href="/lajuntament/informacio-oficial/pagament-a-proveidors" ><span class="menu-flexible__item-text">Pagament a proveïdors</span></a></li><li class="menu-flexible__item page-18 level3"><a class="menu-flexible__link" aria-expanded="false" href="/lajuntament/informacio-oficial/tauler-danuncis" ><span class="menu-flexible__item-text">Tauler d&#039;anuncis</span></a></li><li class="menu-flexible__item page-24 level3"><a class="menu-flexible__link" aria-expanded="false" href="/lajuntament/informacio-oficial/pressupostos-i-plantilles" ><span class="menu-flexible__item-text">Pressupostos i plantilles</span></a></li><li class="menu-flexible__item page-162 level3"><a class="menu-flexible__link" aria-expanded="false" href="/lajuntament/informacio-oficial/tramits-daudiencia" ><span class="menu-flexible__item-text">Tràmits d&#039;audiència</span></a></li></ul></li><li class="menu-flexible__item page-10 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/lajuntament/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-127 level3"><a class="menu-flexible__link" aria-expanded="false" href="/lajuntament/serveis-i-tramits/atencio-al-ciutada" ><span class="menu-flexible__item-text">Atenció al ciutadà</span></a></li><li class="menu-flexible__item page-150 level3"><a class="menu-flexible__link" aria-expanded="false" href="/lajuntament/serveis-i-tramits/com-et-podem-ajudar-" ><span class="menu-flexible__item-text">Com et podem ajudar ?</span></a></li><li class="menu-flexible__item page-33 level3"><a class="menu-flexible__link" aria-expanded="false" href="/lajuntament/serveis-i-tramits/serveis" ><span class="menu-flexible__item-text">Serveis</span></a></li><li class="menu-flexible__item page-31 level3"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://montbui.eadministracio.cat/info.0" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Tràmits i gestions</span></a></li><li class="menu-flexible__item page-90 level3"><a class="menu-flexible__link" aria-expanded="false" href="/lajuntament/serveis-i-tramits/carpeta-ciutadana" ><span class="menu-flexible__item-text">Carpeta ciutadana</span></a></li><li class="menu-flexible__item page-32 level3"><a class="menu-flexible__link" aria-expanded="false" href="/lajuntament/serveis-i-tramits/impostos" ><span class="menu-flexible__item-text">Impostos</span></a></li><li class="menu-flexible__item page-88 level3"><a class="menu-flexible__link" aria-expanded="false" href="/lajuntament/serveis-i-tramits/factura-electronica" ><span class="menu-flexible__item-text">Factura electrònica</span></a></li><li class="menu-flexible__item page-151 level3"><a class="menu-flexible__link" aria-expanded="false" href="/lajuntament/serveis-i-tramits/finestreta-unica-empresarial-fue" ><span class="menu-flexible__item-text">Finestreta Única Empresarial (FUE)</span></a></li></ul></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-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-34 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-del-municipi/com-arribar" ><span class="menu-flexible__item-text">Com arribar</span></a></li><li class="menu-flexible__item page-35 level3"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/el-municipi/guia-del-municipi/transport-public" ><span class="menu-flexible__item-text">Transport públic</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-227 level4"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-del-municipi/transport-public/serveis-de-bus" ><span class="menu-flexible__item-text">Serveis de bus</span></a></li></ul></li><li class="menu-flexible__item page-36 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-del-municipi/guia-de-carrers" ><span class="menu-flexible__item-text">Guia de carrers</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><li class="menu-flexible__item page-38 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-del-municipi/menjar-i-dormir" ><span class="menu-flexible__item-text">Menjar i dormir</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/comerc-i-serveis" ><span class="menu-flexible__item-text">Comerç i Serveis</span></a></li><li class="menu-flexible__item page-50 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-del-municipi/fires-i-festes" ><span class="menu-flexible__item-text">Fires i festes</span></a></li><li class="menu-flexible__item page-137 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-del-municipi/mapa-de-patrimoni-cultural" ><span class="menu-flexible__item-text">Mapa de Patrimoni Cultural</span></a></li><li class="menu-flexible__item page-41 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-del-municipi/llocs-interes" ><span class="menu-flexible__item-text">Llocs d&#039;interès</span></a></li><li class="menu-flexible__item page-159 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-del-municipi/mapa-de-turisme" ><span class="menu-flexible__item-text">Mapa de turisme</span></a></li><li class="menu-flexible__item page-155 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-del-municipi/la-tossa-de-montbui" ><span class="menu-flexible__item-text">La Tossa de Montbui</span></a></li><li class="menu-flexible__item page-239 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-del-municipi/punt-dinformacio-turistic-la-tossa-de-montbui" ><span class="menu-flexible__item-text">Punt d&#039;Informació Turístic La Tossa de Montbui</span></a></li><li class="menu-flexible__item page-136 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-del-municipi/rutes-pel-municipi" ><span class="menu-flexible__item-text">Rutes pel municipi</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" ><span class="menu-flexible__item-text">Entitats</span></a></li><li class="menu-flexible__item page-42 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-del-municipi/subministraments" ><span class="menu-flexible__item-text">Subministraments</span></a></li><li class="menu-flexible__item page-43 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-del-municipi/emergencie
317s" ><span class="menu-flexible__item-text">Emergències</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-46 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/informacio-del-municipi/historia" ><span class="menu-flexible__item-text">Història</span></a></li><li class="menu-flexible__item page-132 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/informacio-del-municipi/nuclis-de-poblacio" ><span class="menu-flexible__item-text">Nuclis de població</span></a></li><li class="menu-flexible__item page-128 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/informacio-del-municipi/climatologia" ><span class="menu-flexible__item-text">Climatologia</span></a></li><li class="menu-flexible__item page-129 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/informacio-del-municipi/medi-fisic-del-municipi" ><span class="menu-flexible__item-text">Medi físic del municipi</span></a></li><li class="menu-flexible__item page-193 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/informacio-del-municipi/httpswwwgooglecommapsdviewermid1yohs93qkwguycijfrgzpaaw4ee1c5nyyandll41565245347052472c15964705499999887andz15" ><span class="menu-flexible__item-text">Mapa d&#039;abocaments il·legals detectats al terme municipal </span></a></li><li class="menu-flexible__item page-130 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/informacio-del-municipi/patrimoni-natural" ><span class="menu-flexible__item-text">Patrimoni natural</span></a></li><li class="menu-flexible__item page-131 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/informacio-del-municipi/territori" ><span class="menu-flexible__item-text">Territori</span></a></li><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></ul></li><li class="menu-flexible__item page-48 level2"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/informacio-geografica" ><span class="menu-flexible__item-text">Informació geogràfica</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-53 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/noticiesagenda-dactualitat" ><span class="menu-flexible__item-text">Notícies/Agenda d&#039;actualitat</span></a></li><li class="menu-flexible__item page-166 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/gravacions-dels-plens-municipals" ><span class="menu-flexible__item-text">Gravacions dels Plens Municipals</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-56 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/butlleti-municipal" ><span class="menu-flexible__item-text">Butlletí municipal</span></a></li><li class="menu-flexible__item page-141 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/galeria-dimatges-" ><span class="menu-flexible__item-text">Galeria d&#039;imatges </span></a></li><li class="menu-flexible__item page-235 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/xarxes-socials" ><span class="menu-flexible__item-text">Xarxes socials</span></a></li><li class="menu-flexible__item page-138 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/whatsapp-montbui" ><span class="menu-flexible__item-text">Whatsapp Montbui</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-121 level1"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/seu--transparencia" ><span class="menu-flexible__item-text">Seu / transparència</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-125 level2"><a class="menu-flexible__link" aria-expanded="false" href="/seu--transparencia/seu-electronica-ajuntament-santa-margarida-de-montbui" ><span class="menu-flexible__item-text">Seu electrònica Ajuntament Santa Margarida de Montbui</span></a></li><li class="menu-flexible__item page-126 level2"><a class="menu-flexible__link" aria-expanded="false" href="/seu--transparencia/portal-de-transparencia-ajuntament-de-santa-margarida-de-montbui" ><span class="menu-flexible__item-text">Portal de transparència Ajuntament de Santa Margarida de Montbui</span></a></li><li class="menu-flexible__item page-232 level2"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://escolesbressolmontbui.eadministracio.cat/info.0" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Seu electrònica Patronat Escoles Bressol Santa Margarida de Montbui</span></a></li><li class="menu-flexible__item page-231 level2"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://latossamontbui.eadministracio.cat" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Seu electrònica Consorci La Tossa de Montbui</span></a></li></ul></li><li class="menu-flexible__item page-5 level1"><a class="menu-flexible__link" aria-expanded="false" href="/adreces-i-telefons" ><span class="menu-flexible__item-text">Adreces i telèfons</span></a></li></ul></div>
317<script>(function() {
318    'use strict';
319
320    // Mega panel
321
322    function initMegaPanels(navContainer) {
323        var menuItems = Array.prototype.slice.call(navContainer.querySelectorAll('[data-mega-id]'));
324        if (!menuItems.length) return;
325
326        var navUl    = navContainer.querySelector('ul');
327        var topItems = navUl
328            ? menuItems.filter(function(el) { return el.parentElement === navUl; })
329            : menuItems;
330
331        var wrapper    = navContainer.closest('.menu-flexible__wrapper');
332        var isClick    = wrapper && wrapper.getAttribute('data-expand-type') === 'click';
333
334        menuItems.forEach(function(item) {
335            var panel = getPanelForItem(item, navContainer);
336            if (!panel) return;
337
338            if (isClick) {
339                var link = item.querySelector('a');
340                if (link) {
341                    link.addEventListener('click', function(e) {
342                        // En mòbil, els elements naveguen directament sense desplegar submenús
343                        if (window.innerWidth <= 992) return;
344                        if (panel.classList.contains('mf-mega-visible')) {
345                            // Segon clic: navegar
346                            return;
347                        }
348                        e.preventDefault();
349                        hideAllMegaPanels(navContainer);
350                        showPanel(item, panel);
351                    });
352                }
353            } else {
354                var hoverDelay = parseInt(
355                    getComputedStyle(wrapper).getPropertyValue('--menu-hover-delay'), 10
356                ) || 0;
357                var hoverTimer = null;
358
359                var leaveTimer = null;
360
361                item.addEventListener('mouseenter', function() {
362                    clearTimeout(hoverTimer);
363                    clearTimeout(leaveTimer);
364                    if (hoverDelay > 0) {
365                        hoverTimer = setTimeout(function() { showPanel(item, panel); }, hoverDelay);
366                    } else {
367                        showPanel(item, panel);
368                    }
369                });
370                item.addEventListener('mouseleave', function(e) {
371                    clearTimeout(hoverTimer);
372                    if (!panel.contains(e.relatedTarget)) {
373                        leaveTimer = setTimeout(function() { hidePanel(item, panel); }, 300);
374                    }
375                });
376                panel.addEventListener('mouseenter', function() {
377                    clearTimeout(leaveTimer);
378                });
379                panel.addEventListener('mouseleave', function(e) {
380                    clearTimeout(hoverTimer);
381                    clearTimeout(leaveTimer);
382                    if (!item.contains(e.relatedTarget)) hidePanel(item, panel);
383                });
384
385                // Tàctil: fallback quan hover no disponible (només escriptori tàctil)
386                var link = item.querySelector('a');
387                if (link) {
388                    link.addEventListener('click', function(e) {
389                        if (window.matchMedia('(hover: none)').matches && window.innerWidth > 992) {
390                            if (panel.classList.contains('mf-mega-visible')) {
391                                // Segon clic en tàctil: navegar
392                                return;
393                            }
394                            e.preventDefault();
395                            hideAllMegaPanels(navContainer);
396                            showPanel(item, panel);
397                        }
398                    });
399                }
400            }
401        });
402
403        navContainer.addEventListener('keydown', function(e) {
404            handleMegaKeydown(e, navContainer, topItems);
405        });
406
407        if (!isClick) {
408            navContainer.addEventListener('focusin', function(e) {
409                var item = e.target.closest('[data-mega-id]');
410                if (!item) return;
411                var panel = getPanelForItem(item, navContainer);
412                if (!panel) return;
413                hideAllMegaPanels(navContainer);
414                showPanel(item, panel);
415            });
416        }
417
418        navContainer.addEventListener('focusout', function() {
419            setTimeout(function() {
420                if (!navContainer.contains(document.activeElement)) {
421                    hideAllMegaPanels(navContainer);
422                }
423            }, 0);
424        });
425
426        document.addEventListener('click', function(e) {
427            if (!navContainer.contains(e.target)) {
428                hideAllMegaPanels(navContainer);
429            }
430        });
431    }
432
433    function handleMegaKeydown(e, navContainer, topItems) {
434        var focused = document.activeElement;
435        if (!focused) return;
436
437        var currentItem = focused.closest('[data-mega-id]');
438        var currentPanel = focused.closest('.menu-flexible__mega-panel');
439        var key = e.key || e.code || e.keyCode;
440
441        function directLink(item) {
442            if (!item) return null;
443            return Array.prototype.slice.call(item.children).find(function(el) {
444                return el.tagName === 'A';
445            }) || item.querySelector('a');
446        }
447
448        function itemForPanel(panel) {
449            if (!panel) return null;
450            var id = panel.getAttribute('data-mega-id');
451            return id ? navContainer.querySelector('li[data-mega-id="' + id + '"]') : null;
452        }
453
454        function focusPanelLink(panel, index) {
455            var links = Array.prototype.slice.call(panel.querySelectorAll('a'));
456            if (!links.length) return;
457            links[(index + links.length) % links.length].focus();
458        }
459
460        function focusPanelSibling(panel, offset) {
461            var links = Array.prototype.slice.call(panel.querySelectorAll('a'));
462            var idx = links.indexOf(focused);
463            if (idx === -1) return;
464            links[(idx + offset + links.length) % links.length].focus();
465        }
466
467        function panelColumnForLink(link) {
468            return link ? link.closest('.menu-flexible__mega-col') : null;
469        }
470
471        function focusAdjacentPanelColumn(panel, offset) {
472            var columns = Array.prototype.slice.call(panel.querySelectorAll('.menu-flexible__mega-col'));
473            var currentColumn = panelColumnForLink(focused);
474            var idx = columns.indexOf(currentColumn);
475            if (idx === -1) return false;
476
477            var targetColumn = columns[(idx + offset + columns.length) % columns.length];
478            var targetLink = targetColumn.querySelector('a');
479            if (targetLink) {
480                targetLink.focus();
481                return true;
482            }
483
484            return false;
485        }
486
487        function focusTopItem(item, offset) {
488            var idx = topItems.indexOf(item);
489            if (idx === -1) return;
490
491            var next = topItems[(idx + offset + topItems.length) % topItems.length];
492            hideAllMegaPanels(navContainer);
493
494            var nextLink = directLink(next);
495            if (nextLink) {
496                nextLink.focus();
497                var nextPanel = getPanelForItem(next, navContainer);
498                if (nextPanel) showPanel(next, nextPanel);
499            }
500        }
501
502        switch (key) {
503            case 'Escape':
504            case 'Esc':
505            case 27: {
506                e.preventDefault();
507                hideAllMegaPanels(navContainer);
508                if (currentPanel) {
509                    var item = itemForPanel(currentPanel);
510                    var lnk = directLink(item);
511                    if (lnk) lnk.focus();
512                }
513                break;
514            }
515
516            case 'ArrowRight':
517            case 39:
518            case 'ArrowLeft':
519            case 37: {
520                var direction = (key === 'ArrowRight' || key === 39) ? 1 : -1;
521                e.preventDefault();
522
523                if (currentPanel) {
524                    if (!focusAdjacentPanelColumn(currentPanel, direction)) {
525                        var ownerItem = itemForPanel(currentPanel);
526                        focusTopItem(ownerItem, direction);
527                    }
528                    break;
529                }
530
531                if (!currentItem) return;
532                focusTopItem(currentItem, direction);
533                break;
534            }
535
536            case 'ArrowDown':
537            case 40: {
538                e.preventDefault();
539                if (currentPanel) {
540                    focusPanelSibling(currentPanel, 1);
541                    break;
542                }
543                if (!currentItem) return;
544                var panel = getPanelForItem(currentItem, navContainer);
545                if (!panel) return;
546                if (!panel.classList.contains('mf-mega-visible')) {
547                    hideAllMegaPanels(navContainer);
548                    showPanel(currentItem, panel);
549                }
550                focusPanelLink(panel, 0);
551                break;
552            }
553
554            case ' ':
555            case 'Space':
556            case 'Spacebar':
557            case 32: {
558                if (currentPanel || !currentItem) return;
559                var spacePanel = getPanelForItem(currentItem, navContainer);
560                if (!spacePanel) return;
561
562                e.preventDefault();
563                if (spacePanel.classList.contains('mf-mega-visible')) {
564                    hidePanel(currentItem, spacePanel);
565                } else {
566                    hideAllMegaPanels(navContainer);
567                    showPanel(currentItem, spacePanel);
568                }
569                break;
570            }
571
572            case 'ArrowUp':
573            case 38: {
574                if (!currentPanel) return;
575                e.preventDefault();
576                var panelLinks = Array.prototype.slice.call(currentPanel.querySelectorAll('a'));
577                var focusedIndex = panelLinks.indexOf(focused);
578
579                if (focusedIndex > 0) {
580                    focusPanelLink(currentPanel, focusedIndex - 1);
581                } else {
582                    var parentItem = itemForPanel(currentPanel);
583                    var parentLink = directLink(parentItem);
584                    if (parentLink) parentLink.focus();
585                    if (parentItem) hidePanel(parentItem, currentPanel);
586                }
587                break;
588            }
589        }
590    }
591
592    function getPanelForItem(item, navContainer) {
593        var id = item.getAttribute('data-mega-id');
594        return id
595            ? navContainer.querySelector('.menu-flexible__mega-panel[data-mega-id="' + id + '"]')
596            : null;
597    }
598
599    function showPanel(item, panel) {
600        panel.classList.add('mf-mega-visible');
601        panel.setAttribute('aria-hidden', 'false');
602        var link = item.querySelector('a');
603        if (link) link.setAttribute('aria-expanded', 'true');
604    }
605
606    function hidePanel(item, panel) {
607        panel.classList.remove('mf-mega-visible');
608        panel.setAttribute('aria-hidden', 'true');
609        var link = item.querySelector('a');
610        if (link) link.setAttribute('aria-expanded', 'false');
611    }
612
613    function hideAllMegaPanels(navContainer) {
614        navContainer.querySelectorAll('.menu-flexible__mega-panel.mf-mega-visible')
615            .forEach(function(panel) {
616                var id   = panel.getAttribute('data-mega-id');
617                var item = id ? navContainer.querySelector('li[data-mega-id="' + id + '"]') : null;
618                if (item) {
619                    hidePanel(item, panel);
620                } else {
621                    panel.classList.remove('mf-mega-visible');
622                    panel.setAttribute('aria-hidden', 'true');
623                }
624            });
625    }
626
627
628    // Tecles de fletxa (menú estàndard)
629
630    function initStandardKeyboard(wrapper) {
631        var menu = wrapper.querySelector('.menu-flexible__list');
632        if (!menu) return;
633
634        function closeAll() {
635            Array.prototype.slice.call(menu.querySelectorAll('.menu-flexible__item[focus="true"]'))
636                .forEach(function(item) {
637                    item.setAttribute('focus', 'false');
638                    var submenu = Array.prototype.slice.call(item.children).find(function(el) {
639                        return el.classList && el.classList.contains('menu-flexible__submenu');
640                    });
641                    if (submenu) {
642                        submenu.style.left = '';
643                        submenu.style.opacity = '';
644                        submenu.style.visibility = '';
645                        submenu.style.pointerEvents = '';
646                        submenu.style.transform = '';
647                    }
648                    var link = Array.prototype.slice.call(item.children).find(function(el) {
649                        return el.tagName === 'A';
650                    });
651                    if (link && link.classList.contains('menu-flexible__link--dropdown')) {
652                        link.setAttribute('aria-expanded', 'false');
653                    }
654                });
655        }
656
657        wrapper.addEventListener('keydown', function(e) {
658            handleStandardKeydown(e, menu);
659        });
660
661        wrapper.addEventListener('focusout', function() {
662            setTimeout(function() {
663                if (!wrapper.contains(document.activeElement)) {
664                    closeAll();
665                }
666            }, 0);
667        });
668    }
669
670    function handleStandardKeydown(e, menu) {
671        var focused = document.activeElement;
672        if (!focused || !menu.contains(focused)) return;
673
674        var itemSel = '.menu-flexible__item';
675        var linkSel = '.menu-flexible__link';
676
677        var currentLi = focused.closest(itemSel);
678        if (!currentLi) return;
679
680        var parentUl = currentLi.parentElement;
681        var isLevel1 = parentUl === menu;
682
683        function directLink(li) {
684            var direct = Array.prototype.slice.call(li.children).find(function(el) {
685                return el.tagName === 'A';
686            });
687            return direct || li.querySelector(linkSel);
688        }
689
690        function siblingItems(ul) {
691            return Array.prototype.slice.call(ul.children).filter(function(el) {
692                return el.matches(itemSel);
693            });
694        }
695
696        function childMenu(li) {
697            return Array.prototype.slice.call(li.children).find(function(el) {
698                return el.classList && el.classList.contains('menu-flexible__submenu');
699            });
700        }
701
702        function setSubmenuVisible(li, visible) {
703            var submenu = childMenu(li);
704            if (!submenu) return;
705
706            if (visible) {
707                submenu.style.left = li.parentElement === menu ? '0' : '100%';
708                submenu.style.opacity = '1';
709                submenu.style.visibility = 'visible';
710                submenu.style.pointerEvents = 'auto';
711                submenu.style.transform = 'none';
712            } else {
713                submenu.style.left = '';
714                submenu.style.opacity = '';
715                submenu.style.visibility = '';
716                submenu.style.pointerEvents = '';
717                submenu.style.transform = '';
718            }
719        }
720
721        function setExpanded(li, expanded) {
722            li.setAttribute('focus', expanded ? 'true' : 'false');
723            setSubmenuVisible(li, expanded);
724            var lnk = directLink(li);
725            if (lnk && lnk.classList.contains('menu-flexible__link--dropdown')) {
726                lnk.setAttribute('aria-expanded', expanded ? 'true' : 'false');
727            }
728            if (!expanded) {
729                Array.prototype.slice.call(li.querySelectorAll(itemSel + '[focus="true"]'))
730                    .forEach(function(item) {
731                        item.setAttribute('focus', 'false');
732                        setSubmenuVisible(item, false);
733                        var childLink = directLink(item);
734                        if (childLink && childLink.classList.contains('menu-flexible__link--dropdown')) {
735                            childLink.setAttribute('aria-expanded', 'false');
736                        }
737                    });
738            }
739        }
740
741        function closeSiblings(li) {
742            Array.prototype.slice.call(li.parentElement.children)
743                .filter(function(item) {
744                    return item !== li && item.matches(itemSel);
745                })
746                .forEach(function(item) {
747                    setExpanded(item, false);
748                });
749        }
750
751        function openChild(li) {
752            var submenu = childMenu(li);
753            if (!submenu) return false;
754            closeSiblings(li);
755            setExpanded(li, true);
756            var firstChild = submenu.querySelector(linkSel);
757            if (firstChild) firstChild.focus();
758            return true;
759        }
760
761        function focusSibling(offset) {
762            var sibs = siblingItems(parentUl);
763            var idx  = sibs.indexOf(currentLi);
764            var lnk  = directLink(sibs[(idx + offset + sibs.length) % sibs.length]);
765            if (lnk) lnk.focus();
766        }
767
768        var key = e.key || e.code || e.keyCode;
769
770        switch (key) {
771            case 'ArrowRight':
772            case 39: {
773                if (!isLevel1) return;
774                e.preventDefault();
775                setExpanded(currentLi, false);
776                focusSibling(1);
777                break;
778            }
779            case 'ArrowLeft':
780            case 37: {
781                if (!isLevel1) return;
782                e.preventDefault();
783                setExpanded(currentLi, false);
784                focusSibling(-1);
785                break;
786            }
787            case 'ArrowDown':
788            case 40: {
789                e.preventDefault();
790                if (focused === directLink(currentLi) && openChild(currentLi)) {
791                    break;
792                }
793                var sibsDown = siblingItems(parentUl);
794                var idxDown  = sibsDown.indexOf(currentLi);
795                if (idxDown < sibsDown.length - 1) {
796                    var lnkDown = directLink(sibsDown[idxDown + 1]);
797                    if (lnkDown) lnkDown.focus();
798                }
799                break;
800            }
801            case 'ArrowUp':
802            case 38: {
803                e.preventDefault();
804                var sibsUp = siblingItems(parentUl);
805                var idxUp  = sibsUp.indexOf(currentLi);
806                if (idxUp > 0) {
807                    var lnkUp = directLink(sibsUp[idxUp - 1]);
808                    if (lnkUp) lnkUp.focus();
809                } else if (!isLevel1) {
810                    var parentItemUp = parentUl.closest(itemSel);
811                    if (parentItemUp) {
812                        setExpanded(parentItemUp, false);
813                        var parentLinkUp = directLink(parentItemUp);
814                        if (parentLinkUp) parentLinkUp.focus();
815                    }
816                }
817                break;
818            }
819            case ' ':
820            case 'Space':
821            case 'Spacebar':
822            case 32: {
823                if (!focused.classList.contains('menu-flexible__link--dropdown')) return;
824                e.preventDefault();
825                currentLi.getAttribute('focus') === 'true'
826                    ? setExpanded(currentLi, false)
827                    : openChild(currentLi);
828                break;
829            }
830            case 'Escape':
831            case 'Esc':
832            case 27: {
833                if (isLevel1 && currentLi.getAttribute('focus') !== 'true') return;
834                e.preventDefault();
835                if (!isLevel1) {
836                    var parentItemEsc = parentUl.closest(itemSel);
837                    if (parentItemEsc) {
838                        setExpanded(parentItemEsc, false);
839                        var parentLinkEsc = directLink(parentItemEsc);
840                        if (parentLinkEsc) parentLinkEsc.focus();
841                    }
842                } else {
843                    setExpanded(currentLi, false);
844                }
845                break;
846            }
847        }
848    }
849
850
851    // Click mode: expandir submenús via [focus=true]
852
853    function initClickExpand(wrapper) {
854        var menu = wrapper.querySelector('.menu-flexible__list');
855        if (!menu) return;
856
857        var itemSel        = '.menu-flexible__item';
858        var dropdownSel    = '.menu-flexible__link--dropdown';
859
860        function closeAll(container) {
861            Array.prototype.slice.call(container.querySelectorAll(itemSel + '[focus="true"]'))
862                .forEach(function(el) { el.setAttribute('focus', 'false'); });
863        }
864
865        function closeSiblings(item) {
866            var parentUl = item.parentElement;
867            Array.prototype.slice.call(parentUl.children)
868                .filter(function(el) {
869                    return el !== item
870                        && el.matches(itemSel)
871                        && el.getAttribute('focus') === 'true';
872                })
873                .forEach(function(el) {
874                    el.setAttribute('focus', 'false');
875                    closeAll(el);
876                });
877        }
878
879        menu.addEventListener('click', function(e) {
880            var link = e.target.closest(dropdownSel);
881            if (!link || !menu.contains(link)) return;
882
883            var item = link.parentElement;
884            if (!item || !item.matches(itemSel)) return;
885
886            // En mòbil, els elements naveguen directament sense desplegar submenús
887            if (window.innerWidth <= 992) return;
888
889            var isOpen = item.getAttribute('focus') === 'true';
890
891            if (isOpen) {
892                // Segon clic: navegar
893                return;
894            }
895
896            e.preventDefault();
897            closeSiblings(item);
898            item.setAttribute('focus', 'true');
899        });
900
901        document.addEventListener('click', function(e) {
902            var openItem = menu.querySelector(itemSel + '[focus="true"]');
903            if (!openItem) return;
904            if (!openItem.contains(e.target)) {
905                closeAll(menu);
906            }
907        });
908    }
909
910
911    // Hamburger (mòbil ≤992px)
912
913    class MenuFlexible {
914        constructor(wrapper) {
915            this.wrapper   = wrapper;
916            this.hamburger = wrapper.querySelector('.menu-flexible__toggle');
917            this.menu      = wrapper.querySelector('.menu-flexible__list');
918
919            if (!this.hamburger || !this.menu) return;
920
921            var parent  = this.menu.parentElement;
922            this.isMega = parent && parent.classList.contains('menu-flexible__nav-container');
923            this.target = this.isMega ? parent : this.menu;
924
925            // Ancestre que en mòbil és barra fixa de 44px amb overflow:clip i retalla
926            // el menú desplegat. En obrir, l'eixamplem; en tancar, el restaurem.
927            this.clipper = wrapper.closest('.nav');
928
929            this.init();
930            window.addEventListener('resize', () => this.handleResize());
931        }
932
933        init() {
934            this.hamburger.addEventListener('click', (e) => {
935                e.preventDefault();
936                e.stopPropagation();
937                this.toggleMenu();
938            });
939
940            document.addEventListener('click', (e) => {
941                if (!this.wrapper.contains(e.target) && this.isOpen()) {
942                    this.closeMenu();
943                }
944            });
945
946            this.menu.querySelectorAll('a').forEach(link => {
947                link.addEventListener('click', () => {
948                    if (window.innerWidth <= 992 && this.isOpen()) {
949                        this.closeMenu();
950                    }
951                });
952            });
953        }
954
955        isOpen()     { return this.target.classList.contains('show'); }
956        toggleMenu() { this.isOpen() ? this.closeMenu() : this.openMenu(); }
957
958        liftClip() {
959            if (this.clipper && window.innerWidth <= 992) {
960                this.clipper.style.height = 'auto';
961                this.clipper.style.maxHeight = 'none';
962                this.clipper.style.overflow = 'visible';
963            }
964        }
965
966        restoreClip() {
967            if (this.clipper) {
968                this.clipper.style.height = '';
969                this.clipper.style.maxHeight = '';
970                this.clipper.style.overflow = '';
971            }
972        }
973
974        openMenu() {
975            this.target.classList.add('show');
976            this.target.style.display = this.isMega ? 'block' : 'flex';
977            if (this.isMega) this.menu.style.display = 'flex';
978            this.liftClip();
979            this.hamburger.classList.add('active');
980            this.hamburger.setAttribute('aria-expanded', 'true');
981        }
982
983        closeMenu() {
984            this.target.classList.remove('show');
985            this.target.style.display = 'none';
986            if (this.isMega) {
987                this.menu.style.display = '';
988                var nc = this.wrapper.querySelector('.menu-flexible__nav-container');
989                if (nc) hideAllMegaPanels(nc);
990            }
991            this.restoreClip();
992            this.hamburger.classList.remove('active');
993            this.hamburger.setAttribute('aria-expanded', 'false');
994        }
995
996        handleResize() {
997            if (window.innerWidth > 992) {
998                this.target.classList.remove('show');
999                this.target.style.display = '';
1000                if (this.isMega) this.menu.style.display = '';
1001                this.restoreClip();
1002                this.hamburger.classList.remove('active');
1003                this.hamburger.setAttribute('aria-expanded', 'false');
1004            }
1005        }
1006    }
1007
1008
1009    // Init
1010
1011    function init() {
1012        document.querySelectorAll('.menu-flexible__wrapper').forEach(function(wrapper) {
1013            var navContainer = wrapper.querySelector('.menu-flexible__nav-container');
1014            if (navContainer) {
1015                initMegaPanels(navContainer);
1016            } else {
1017                initStandardKeyboard(wrapper);
1018                if (wrapper.getAttribute('data-expand-type') === 'click') {
1019                    initClickExpand(wrapper);
1020                }
1021            }
1022            new MenuFlexible(wrapper);
1023            if (wrapper.getAttribute('data-menu-sticky') === 'true') {
1024                var stickyTarget = wrapper.closest('#navbar-top')
1025                                || wrapper.closest('.navbar')
1026                                || wrapper.closest('nav');
1027                if (stickyTarget) {
1028                    stickyTarget.classList.add('menu-sticky-enabled');
1029                    document.body.classList.add('has-sticky-menu');
1030
1031                    var navbarHeight   = stickyTarget.offsetHeight;
1032                    var navbarTop      = stickyTarget.getBoundingClientRect().top + window.scrollY;
1033                    var bodyPadApplied = false;
1034
1035                    function updateStickyOffset() {
1036                        navbarHeight = stickyTarget.offsetHeight;
1037                        document.documentElement.style.setProperty('--skip-links-sticky-offset', navbarHeight + 'px');
1038
1039                        if (bodyPadApplied) {
1040                            document.body.style.paddingTop = navbarHeight + 'px';
1041                        }
1042                    }
1043
1044                    function getTargetFromHash(hash) {
1045                        if (!hash || hash.charAt(0) !== '#') {
1046                            return null;
1047                        }
1048
1049                        try {
1050                            return document.getElementById(decodeURIComponent(hash.substring(1)));
1051                        } catch (error) {
1052                            return document.getElementById(hash.substring(1));
1053                        }
1054                    }
1055
1056                    function scrollToSkipTarget(hash) {
1057                        var target = getTargetFromHash(hash);
1058                        if (!target) {
1059                            return;
1060                        }
1061
1062                        updateStickyOffset();
1063
1064                        var expectedTop = target.getBoundingClientRect().top + window.scrollY - navbarHeight;
1065                        if (expectedTop > navbarTop) {
1066                            applyFixed();
1067                        } else {
1068                            removeFixed();
1069                        }
1070
1071                        try {
1072                            target.focus({ preventScroll: true });
1073                        } catch (error) {
1074                            target.focus();
1075                        }
1076
1077                        var targetTop = target.getBoundingClientRect().top + window.scrollY;
1078                        window.scrollTo(0, Math.max(targetTop - navbarHeight, 0));
1079                    }
1080
1081                    document.querySelectorAll('.skip-links a[href^="#"]').forEach(function(link) {
1082                        link.addEventListener('click', function(event) {
1083                            var hash = link.getAttribute('href');
1084                            var target = getTargetFromHash(hash);
1085                            if (!target) {
1086                                return;
1087                            }
1088
1089                            event.preventDefault();
1090
1091                            if (window.history && window.history.pushState) {
1092                                window.history.pushState(null, '', hash);
1093                            } else {
1094                                window.location.hash = hash;
1095                            }
1096
1097                            scrollToSkipTarget(hash);
1098                        });
1099                    });
1100
1101                    updateStickyOffset();
1102
1103                    function applyFixed() {
1104                        if (!stickyTarget.classList.contains('fixed-top')) {
1105                            updateStickyOffset();
1106                            stickyTarget.classList.add('fixed-top');
1107                            document.body.style.paddingTop = navbarHeight + 'px';
1108                            bodyPadApplied = true;
1109                        }
1110                    }
1111
1112                    function removeFixed() {
1113                        if (stickyTarget.classList.contains('fixed-top')) {
1114                            stickyTarget.classList.remove('fixed-top');
1115                            document.body.style.paddingTop = '';
1116                            bodyPadApplied = false;
1117                        }
1118                    }
1119
1120                    window.addEventListener('scroll', function() {
1121                        if (window.scrollY > navbarTop) {
1122                            applyFixed();
1123                        } else {
1124                            removeFixed();
1125                        }
1126                    });
1127
1128                    window.addEventListener('resize', function() {
1129                        updateStickyOffset();
1130                        if (!stickyTarget.classList.contains('fixed-top')) {
1131                            navbarTop = stickyTarget.getBoundingClientRect().top + window.scrollY;
1132                        }
1133                    });
1134
1135                    if ('ResizeObserver' in window) {
1136                        new ResizeObserver(updateStickyOffset).observe(stickyTarget);
1137                    }
1138
1139                    stickyTarget.querySelectorAll('img').forEach(function(image) {
1140                        if (!image.complete) {
1141                            image.addEventListener('load', updateStickyOffset, { once: true });
1142                        }
1143                    });
1144
1145                    window.addEventListener('load', updateStickyOffset);
1146
1147                    if (window.scrollY > navbarTop) applyFixed();
1148
1149                    if (window.location.hash) {
1150                        window.setTimeout(function() {
1151                            scrollToSkipTarget(window.location.hash);
1152                        }, 0);
1153                    }
1154                }
1155            }
1156        });
1157    }
1158
1159    if (document.readyState === 'loading') {
1160        document.addEventListener('DOMContentLoaded', init);
1161    } else {
1162        init();
1163    }
1164})();
1165</script>
1165</nav></div></div></div></div></div>        </div>        </header>
1166                <main id="main-content" tabindex="-1">
1167            <div class="content">
1168                <div class="container-xl columns " id="Path">
1169    <div class="row">
1170        <nav aria-label="breadcrumb">
1171            <ol class="breadcrumb">
1172            <li class="breadcrumb-item">
1173    <a href="/" target="_self">
1174        <span style="display: none">home</span><i class="fa fa-home" aria-hidden="true"></i>    </a>
1175    </li>
1176<li class="breadcrumb-item">
1177    <a href="/altra-informacio" target="_self">
1178        Altra informació    </a>
1179        <button class="btn dropdown-toggle" type="button" id="defaultDropdow6" data-bs-toggle="dropdown" data-bs-auto-close="true" aria-expanded="false" aria-label="Desplega"></button>
1180    <ul class="dropdown-menu" aria-label="defaultDropdown6">
1181                    <li><a class="dropdown-item" href="/altra-informacio/avis-legal">Avís legal</a></li>
1182                    <li><a class="dropdown-item" href="/altra-informacio/proteccio-de-dades">Protecció de dades</a></li>
1183                    <li><a class="dropdown-item" href="/altra-informacio/accessibilitat">Accessibilitat</a></li>
1184                    <li><a class="dropdown-item" href="/altra-informacio/contactar">Contactar</a></li>
1185                    <li><a class="dropdown-item" href="/altra-informacio/credits">Crèdits</a></li>
1186            </ul>
1187    </li>
1188            </ol>
1189        </nav>
1190    </div>
1191</div>
1192                <div class="container-xl columns">
1193                                        <div class="row">
1194    <div class="col-xs-12 col-sm-12 col-md-3 col-lg-3 leftSidebar responsiveHeight" data-nosnippet>
1195        <nav class="menuLeft" id="Menuleft_page" aria-label="Menú Contactar">
1196                    <ul>
1197                <li class="subMenuPage-59 level2">
1198    <a href="/altra-informacio/avis-legal" target="_self">
1199        Avís legal            </a>
1200
1201    </li>
1202<li class="subMenuPage-60 level2">
1203    <a href="/altra-informacio/proteccio-de-dades" target="_self">
1204        Protecció de dades            </a>
1205
1206    </li>
1207<li class="subMenuPage-61 level2">
1208    <a href="/altra-informacio/accessibilitat" target="_self">
1209        Accessibilitat            </a>
1210
1211    </li>
1212<li class="subMenuPage-62 current level2">
1213    <a href="/altra-informacio/contactar" target="_self" aria-current="page">
1214        Contactar            </a>
1215
1216    </li>
1217<li class="subMenuPage-63 level2">
1218    <a href="/altra-informacio/credits" target="_self">
1219        Crèdits            </a>
1220
1221    </li>
1222            </ul>
1223                    </nav>
1224</div>
1225    <div class="col-xs-12 col-sm-12 col-md-9 col-lg-9 article responsiveHeight" id="readspeakerPage" tabindex="-1">
1226                    <div class="hideTablets">
1227    </div>
1228<h1 class="title"  id='title0' data-attribute="Contactar">Contactar</h1><div class="showTablets">
1229    </div>
1230<div>
1231        <div class="dinamic">
1232                                            
1233                                                                                                            <div class="ddbbtext">
1234                            <p>Podeu contactar amb l'Ajuntament de Santa Margarida de Montbui adreçant-vos al correu electrònic [email protected]</p>
1235                        </div>
1236                                        </div>            <div id="form">
1237    <div class="alert ko" role="alert">Aquest formulari no està actiu en aquest moment.<a class="closable" onclick="hideMsg()" name="closable">×</a></div><br></div>
1238
1239<div id="formCancel"></div>
1240<script>
1241    function calcul_total() {
1242        var total = 0;
1243        $("input[id$=_total]").each(function() {
1244                const id_total       = $(this).attr('id');
1245                const id             = id_total.replace('_total','');
1246                const id_quantitat   = id_total.replace('_total','_quantitat');
1247                const id_percentatge = id_total.replace('_total','_percentatge');
1248                const id_preu        = id_total.replace('_total','_preu');
1249                const id_select      = id_total.replace('_total','_select_field');
1250                if ( ($("#"+id_quantitat).length) ) {
1251                    t = parseFloat($("#"+id).val().replace(',','.'))
1252                                *
1253                             parseFloat($("#"+id_quantitat).val().replace(',','.'));
1254
1255                }
1256                if ( ($("#"+id_preu).length) ) {
1257                    t = parseFloat($("#"+id).val().replace(',','.'))
1258                                *
1259                             parseFloat($("#"+id_preu).val().replace(',','.'));
1260                }
1261                if ( ($("#"+id_percentatge).length) ) {
1262                    t = parseFloat($("#"+id).val().replace(',','.'))
1263                                *
1264                             parseFloat($("#"+id_percentatge).val().replace(',','.'))/100;
1265                }
1266                if ( ($("#"+id_select).length) ) {
1267                    t = parseFloat($("#"+id+'_total').val().replace(',','.'));
1268                }
1269                if (!isNaN(t)) { total += t;}
1270        });
1271        return (total);
1272    }
1273    window.addEventListener('load', function(){
1274        // càlcul subtotals abans de la interacció de l'usuari
1275        for (let i = 0; i < 100; i++) {
1276            if (typeof window["quantityChange_"+i] === "function") {
1277                console.log("quantityChange_"+i+" is a function");
1278                window["quantityChange_"+i]();
1279            }
1280            if (typeof window["priceChange_"+i] === "function") {
1281                console.log("priceChange_"+i+" is a function");
1282                window["priceChange_"+i]();
1283            }
1284        }
1285        // càlcul total
1286        if (typeof window["calcul_total"] === "function") {
1287            valorMostrar = ((Math.round((calcul_total() + Number.EPSILON) * 100) / 100) + "").replace('.', ',')
1288            const numberFormat = new Intl.NumberFormat('es-ES');
1289            const stringNumber = valorMostrar.toString().replace(',', '.');
1290            $("#Total_total").text(numberFormat.format(stringNumber)+" Euros");
1291            $("#total").val(calcul_total());
1292        }
1293    });
1294</script>
1294
1295                            </div>
1296<div class="hideTablets">
1297                            </div>
1298<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 "><div class="o-share o-share--icones_rodones">
1299    
1300    <div class="o-share__list">
1301                    <a
1302                class="o-share__link o-share__link--facebook"
1303                href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.montbui.cat%2Faltra-informacio%2Fcontactar"
1304                target="_blank"
1305                rel="noopener"
1306                title="Facebook"
1307            >
1308                <span class="o-share__icon" aria-hidden="true">
1309                    <i class="fa-brands fa-facebook-f"></i>
1310                </span>
1311                <span class="visually-hidden">Facebook</span>
1312            </a>
1313                    <a
1314                class="o-share__link o-share__link--x"
1315                href="https://twitter.com/intent/tweet?text=Contactar&amp;url=https%3A%2F%2Fwww.montbui.cat%2Faltra-informacio%2Fcontactar&amp;via=ajmontbui"
1316                target="_blank"
1317                rel="noopener"
1318                title="X"
1319            >
1320                <span class="o-share__icon" aria-hidden="true">
1321                    <i class="fa-brands fa-x-twitter"></i>
1322                </span>
1323                <span class="visually-hidden">X</span>
1324            </a>
1325            </div>
1326</div>
1327</div>  </div></div></div>
1328<span class="updated">Darrera actualització: 18.02.2025 | 10:04</span>
1329                </div>
1330    </div>
1331                </div>
1332            </div>
1333        </main>
1334        <footer id="footer-content" tabindex="-1">
1335            <div class="footer">
1336    <div class="shortcuts">
1337    <div class="container-xl">            
1338        <div class="featuredItem responsiveHeight">
1339    <h2 class="title">RSS</h2>
1340    <p class="subtitle">L'actualitat a un clic</p>
1341    <ul id="cm_rss">
1342        <li style="background-image: url('/themes/santamargaridademontbui/images/ico_16_rss.png');">
1343    <a href="/rss/11">
1344           Notícies    </a>
1345</li>
1346<li style="background-image: url('/themes/santamargaridademontbui/images/ico_16_rss.png');">
1347    <a href="/rss/12">
1348           Agenda    </a>
1349</li>
1350<li style="background-image: url('/themes/santamargaridademontbui/images/ico_16_rss.png');">
1351    <a href="/rss/15">
1352           Agenda política    </a>
1353</li>
1354<li style="background-image: url('/themes/santamargaridademontbui/images/ico_16_rss.png');">
1355    <a href="/rss/13">
1356           Avisos    </a>
1357</li>
1358<li style="background-image: url('/themes/santamargaridademontbui/images/ico_16_rss.png');">
1359    <a href="/rss/14">
1360           Butlletins    </a>
1361</li>
1362    </ul>
1363</div>
1364<div class="featuredItem responsiveHeight">
1365    <h2 class="title">Adreces i telèfons</h2>
1366    
1367    <img width="96" height="96" src="/themes/santamargaridademontbui/images/icons/plugin_home.png" alt="">
1368
1369    <p class="elem_button">
1370        <a href="/adreces-i-telefons" aria-label="Adreces i telèfons">
1371            Accedeix        </a>
1372    </p>
1373</div>
1374<div class="featuredItem">
1375    <h2 class="title">Meteo</h2>
1376    <div id="cm_meteocat">
1377        <ul class="bxslider">
1378            <li>
1379    Dissabte, 3 d’octubre    <img width="80" height="80"
1380        alt="entre poc i mig ennuvolat"
1381        src="/themes/santamargaridademontbui/images/meteocat/nuvolina.png"
1382    >
1383    <p>
1384        T.Màx: 24&deg;
1385        <br>
1386        T.Min: 13&deg;
1387    </p>
1388            <p>
1389            Tarda
1390            <img alt="ruixat" width="24" height="24"
1391                src="/themes/santamargaridademontbui/images/meteocat/pluja.png"
1392            >
1393        </p>
1394    </li>
1395<li>
1396    Diumenge, 4 d’octubre    <img width="80" height="80"
1397        alt="entre mig i molt ennuvolat"
1398        src="/themes/santamargaridademontbui/images/meteocat/nuvol.png"
1399    >
1400    <p>
1401        T.Màx: 23&deg;
1402        <br>
1403        T.Min: 14&deg;
1404    </p>
1405            <p>
1406            Tarda
1407            <img alt="ruixat" width="24" height="24"
1408                src="/themes/santamargaridademontbui/images/meteocat/pluja.png"
1409            >
1410        </p>
1411    </li>
1412        </ul>
1413        <div class="outside">
1414            <p><span id="slider-prev"></span><span id="slider-next"></span></p>
1415        </div>
1416
1417    </div>
1418</div>
1419<div class="featuredItem responsiveHeight">
1420    <h2 class="title">Butlletí digital</h2>
1421    <img width="96" height="96" src="/front/view/images/icons/plugin_newsletter.png" alt="">
1422    <p class="elem_button">
1423        <a href="/actualitat/butlleti-digital" aria-label="Butlletí digital">
1424            Subscriu-te        </a>
1425    </p>
1426</div>
1427<div id="cm_planol" class="featuredItem responsiveHeight">
1428    <h2 class="title">Plànol / Carrers</h2>
1429
1430    <img width="96" height="96" src="/themes/santamargaridademontbui/images/icons/plugin_map.png" alt="">
1431
1432    <p class="elem_button">
1433        <a href="/el-municipi/guia-del-municipi/com-arribar" aria-label="Plànol">
1434            Accedeix        </a>
1435    </p>
1436</div>
1437    </div>
1438</div>
1439    <div class="hightlights">
1440        <div class="container-xl">
1441                    </div>
1442    </div>
1443    <nav class="menu" aria-label="Peu de menú">
1444        <ul class="container-xl sitemap">
1445            <li class="page-134 Inferior">  <a class="page-134" href="/lajuntament" target="_self" >L'ajuntament  </a><ul id="footer-menu-134"><li class="subMenuPage-8">  <a class="subMenuPage-8" href="/lajuntament/govern-municipal" target="_self" >Govern municipal  </a></li><li class="subMenuPage-9">  <a class="subMenuPage-9" href="/lajuntament/informacio-oficial" target="_self" >Informació oficial  </a></li><li class="subMenuPage-10">  <a class="subMenuPage-10" href="/lajuntament/serveis-i-tramits" target="_self" >Serveis i tràmits  </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-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-48">  <a class="subMenuPage-48" href="/el-municipi/informacio-geografica" target="_self" >Informació geogràfica  </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-53">  <a class="subMenuPage-53" href="/actualitat/noticiesagenda-dactualitat" target="_self" >Notícies/Agenda d'actualitat  </a></li><li class="subMenuPage-166">  <a class="subMenuPage-166" href="/actualitat/gravacions-dels-plens-municipals" target="_self" >Gravacions dels Plens Municipals  </a></li><li class="subMenuPage-55">  <a class="subMenuPage-55" href="/actualitat/butlleti-digital" target="_self" >Butlletí digital  </a></li><li class="subMenuPage-56">  <a class="subMenuPage-56" href="/actualitat/butlleti-municipal" target="_self" >Butlletí municipal  </a></li><li class="subMenuPage-141">  <a class="subMenuPage-141" href="/actualitat/galeria-dimatges-" target="_self" >Galeria d'imatges   </a></li><li class="subMenuPage-235">  <a class="subMenuPage-235" href="/actualitat/xarxes-socials" target="_self" >
1445Xarxes socials  </a></li><li class="subMenuPage-138">  <a class="subMenuPage-138" href="/actualitat/whatsapp-montbui" target="_self" >Whatsapp Montbui  </a></li><li class="subMenuPage-58">  <a class="subMenuPage-58" href="/actualitat/hemeroteca" target="_self" >Hemeroteca  </a></li></ul></li><li class="page-121 Inferior">  <a class="page-121" href="/seu--transparencia" target="_self" >Seu / transparència  </a><ul id="footer-menu-121"><li class="subMenuPage-125">  <a class="subMenuPage-125" href="/seu--transparencia/seu-electronica-ajuntament-santa-margarida-de-montbui" target="_self" >Seu electrònica Ajuntament Santa Margarida de Montbui  </a></li><li class="subMenuPage-126">  <a class="subMenuPage-126" href="/seu--transparencia/portal-de-transparencia-ajuntament-de-santa-margarida-de-montbui" target="_self" >Portal de transparència Ajuntament de Santa Margarida de Montbui  </a></li><li class="subMenuPage-232">  <a class="subMenuPage-232" href="https://escolesbressolmontbui.eadministracio.cat/info.0" target="_blank" rel="noopener noreferrer" >Seu electrònica Patronat Escoles Bressol Santa Margarida de Montbui  </a></li><li class="subMenuPage-231">  <a class="subMenuPage-231" href="https://latossamontbui.eadministracio.cat" target="_blank" rel="noopener noreferrer" >Seu electrònica Consorci La Tossa de Montbui  </a></li></ul></li><li class="page-5 Inferior">  <a class="page-5" href="/adreces-i-telefons" target="_self" >Adreces i telèfons  </a></li>        </ul>
1446    </nav>
1447    <div class="links">
1448        <div class="container-xl">
1449            <div class="row">
1450                <div class="xxss col-md-6 col-sm-6 col-lg-6 middle">                
1451                        <span class="titol">Xarxes socials:</span>
1452  
1453    <a target="_blank" aria-label="Facebook" href="https://www.facebook.com/ajmontbui/" title="Obre en finestra nova: Facebook">
1454        <span style="display: none">Facebook</span>
1455        <img src="/front/view/images/icons/social/facebook.png" alt="Facebook" width="32" height="32">
1456    </a>
1457  
1458    <a target="_blank" aria-label="Youtube" href="https://www.youtube.com/channel/UCjqVEXuDeLfW4I1pQM7xxJw" title="Obre en finestra nova: Youtube">
1459        <span style="display: none">Youtube</span>
1460        <img src="/front/view/images/icons/social/youtube.png" alt="Youtube" width="32" height="32">
1461    </a>
1462  
1463    <a target="_blank" aria-label="Instagram" href="https://www.instagram.com/ajmontbui" title="Obre en finestra nova: Instagram">
1464        <span style="display: none">Instagram</span>
1465        <img src="/front/view/images/icons/social/instagram.png" alt="Instagram" width="32" height="32">
1466    </a>
1467  
1468    <a target="_blank" aria-label="Tiktok" href="https://www.tiktok.com/@ajmontbui" title="Obre en finestra nova: Tiktok">
1469        <span style="display: none">Tiktok</span>
1470        <img src="/front/view/images/icons/social/tiktok.png" alt="Tiktok" width="32" height="32">
1471    </a>
1472  
1473    <a target="_blank" aria-label="Whatsapp" href="https://whatsapp.com/channel/0029VaDQmgZ8qIzxjSLbXF2j" title="Obre en finestra nova: Whatsapp">
1474        <span style="display: none">Whatsapp</span>
1475        <img src="/front/view/images/icons/social/whatsapp.png" alt="Whatsapp" width="32" height="32">
1476    </a>
1477                </div>
1478                <div class="col-md-6 col-sm-6 col-lg-6 middle">
1479                    <nav class="menu"><ul id="Inferior2"><li class="page-63">  <a href="/altra-informacio/credits" target="_self" >Crèdits  </a></li><li class="page-62">  <a href="/altra-informacio/contactar" target="_self" >Contactar  </a></li><li class="page-60">  <a href="/altra-informacio/proteccio-de-dades" target="_self" >Protecció de dades  </a></li><li class="page-59">  <a href="/altra-informacio/avis-legal" target="_self" >Avís legal  </a></li><li class="page-61">  <a href="/altra-informacio/accessibilitat" target="_self" >Accessibilitat  </a></li></ul></nav>                </div>
1480            </div>
1481        </div>
1482    </div>
1483    <div class="contact">
1484        <div class="container-xl">
1485            <div class="row">
1486                <address class="address col-md-6 col-sm-6 col-lg-6">
1487    <div class="title">
1488        Ajuntament de Santa Margarida de Montbui    </div>
1489    Carretera de Valls, 57<br>08710 Santa Margarida de Montbui<br>Tel. 93 803 47 35<br>Fax 93 805 23 45<br>NIF P0825000C<br></address><div class="diba col-md-6 col-sm-6 col-lg-6" id="diba-partner">
1490    <div class="title">
1491        Amb la col·laboració de:    </div>
1492    <a href="http://diba.cat/" target="_blank" aria-label="Anar a la web Diputació de Barcelona" title="Obre en finestra nova: Diputació de Barcelona">
1493        <span style="display: none">Diputació de Barcelona</span>
1494        <img src="/front/view//images/logoDiba/Blanc.svg" alt="Diputació de Barcelona" class="logo-diba">
1495    </a>
1496</div>            </div>
1497        </div>
1498    </div>
1499</div>
1500        </footer>
1501        <!-- Llibreries de tercers + js propis registrats a AssetManager (jQuery primer) -->
1502<script src="/front/view/js/bower_components/jquery/dist/jquery.min.js?ver=1790940362"></script>
vendor: 1 bytes, line 1502
1502
1503<script src="/front/view/js/bower_components/bootstrap/dist/js/bootstrap.bundle.min.js?ver=1790940362"></script>
vendor: 1 bytes, line 1503
1503
1504<script src="/front/view/js/bower_components/bxslider-4/dist/jquery.bxslider.js?ver=1790940362"></script>
vendor: 1 bytes, line 1504
1504
1505<script src="/front/view/js/bower_components/jscal/index.js?ver=1790940362"></script>
vendor: 1 bytes, line 1505
1505
1506<script src="/common/bower_components/select2/dist/js/select2.min.js?ver=1790940362"></script>
vendor: 1 bytes, line 1506
1506
1507<script src="/common/bower_components/select2/dist/js/i18n/ca.js?ver=1790940362"></script>
vendor: 1 bytes, line 1507
1507
1508<script src="/common/bower_components/strength.js/src/strength.min.js?ver=1790940362"></script>
vendor: 1 bytes, line 1508
1508
1509<script src="/front/view/js/bower_components/masonry-layout/dist/masonry.pkgd.min.js?ver=1790940362"></script>
vendor: 1 bytes, line 1509
1509
1510<script src="/front/view/js/constants.js?ver=1790940362"></script>
vendor: 1 bytes, line 1510
1510
1511<script src="/front/view/js/functions.js?ver=1790940362"></script>
vendor: 1 bytes, line 1511
1511
1512<script src="/front/view/js/functions/footer.js?ver=1790940362"></script>
vendor: 1 bytes, line 1512
1512
1513<script src="/front/view/js/bower_components/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js?ver=1790940362"></script>
vendor: 1 bytes, line 1513
1513
1514<script src="/front/view/js/bower_components/jquery.prettyPhoto/index.js?ver=1790940362"></script>
vendor: 1 bytes, line 1514
1514
1515<script>
1516    $(document).ready(function(){
1517                    $("a[rel^='prettyPhoto']").prettyPhoto();
1518            $("a[rel^='prettyFrame']").prettyPhoto();
1519            });
1520</script>
vendor: 1 bytes, line 1520
1520
1521<script>
1522        var TWITTER = true;
1523            var FACEBOOK = true;
1524        $(window).on("load", function() {
1525        start();
1526    });
1527        $(document).ready(function() {
1528        if (typeof articlesId !== 'undefined') {
1529            var today = new Date();
1530                        var date = today
1531                        articlesId.push('internal_calendar');
1532
1533            var oneYearAfter = new Date();
1534            oneYearAfter.setDate(oneYearAfter.getDate() + 365);
1535            for (id in articlesId) {
1536                Calendar.setup({
1537                    id: articlesId[id],
1538                    cont: "dv_calendar_" + articlesId[id],
1539                    fdow: 1,
1540                    date: date,
1541                    noScroll: true,
1542                    bottomBar: false,
1543                    max: oneYearAfter,
1544                    animation: false,
1545                    titleFormat: "%B %Y",
1546                    dateInfo: getDateInfo
1547                });
1548                setEqualContentColumns();
1549            }
1550        }
1551    });
1552
1553        
1554    // Initialize Select2 with icon support for category filter
1555    $(document).ready(function() {
1556        if ($('#categoryFilter').length) {
1557            $('#categoryFilter').select2({
1558                templateResult: function(option) {
1559                    if (!option.id) return option.text;
1560                    var icon = $(option.element).data('icon');
1561                    if (!icon) return option.text;
1562                    return $('<span><img src="' + icon + '" style="width: 16px; height: 16px; margin-right: 6px; vertical-align: middle;"> ' + option.text + '</span>');
1563                },
1564                templateSelection: function(option) {
1565                    if (!option.id) return option.text;
1566                    var icon = $(option.element).data('icon');
1567                    if (!icon) return option.text;
1568                    return $('<span><img src="' + icon + '" style="width: 16px; height: 16px; margin-right: 6px; vertical-align: middle;"> ' + option.text + '</span>');
1569                },
1570                allowHtml: true
1571            });
1572        }
1573    });
1574</script>
1574
1575        <!-- CSS final-->
1576
1577        
1577<script>
1578          const css = "";
1579          const style = document.createElement('style');
1580          style.textContent = css;
1581          document.head.appendChild(style);
1582        </script>
1582
1583
1584        <!-- Start Modal views-->
1585        
1586        <div class="modal fade" id="videoModal" tabindex="-1" role="dialog"  aria-hidden="true">
1587    <div class="modal-dialog modal-dialog-centered" role="document">
1588        <div class="modal-content">
1589            <div class="modal-header">
1590                <div class="title-head"></div>
1591            </div>
1592            <div class="modal-body">
1593                <div class="tiktok-div-embed"></div>
1594                <iframe id="iframeVideo" title="Vídeo" class="iframeVideo" allowfullscreen></iframe>
1595
1596            </div>
1597            <div class="modal-footer">
1598                <span id="titleVideo" class="titleVideo"></span>
1599                <a id="closeModalVideo" class="close" href="javascript:void(0)" data-bs-dismiss="modal"><span style="display: none">X</span></a>
1600
1601            </div>
1602        </div>
1603    </div>
1604</div>        <div class="modal fade" id="pdfModal" tabindex="-1" role="dialog"  aria-hidden="true">
1605    <div id="documentDialog" class="modal-dialog modal-dialog-centered" role="document">
1606        <div class="modal-content">
1607            <div class="modal-header">
1608                <div class="title-head"></div>
1609            </div>
1610            <div class="modal-body">
1611                <iframe id="iframePdf" title='Document' class="pdfview" style="width: 100%; height: 100%"></iframe>
1612            </div>
1613            <div class="modal-footer">
1614                <span id="titlePdf" class="titlePdf"></span>
1615                <a id="closeModalPDF" class="close" href="javascript:void(0)"><span style="display: none">X</span></a>
1616            </div>
1617        </div>
1618    </div>
1619</div>        <!-- End Modal views -->
1620        
1620<script src="/front/view/js/endScript.js?ver=1790940362"></script>
1620
1621        <!-- Només activar per desenvolupament
1622        
1622<script src="../../../node_modules/axe-core/axe.js"></script>
1622
1623        
1623<script src="../../../dist/my-first-webpack.bundle.js"></script>
1623
1624        -->
1625                
1625<script>
1626            $(document).ready(function () {
1627                startClock(1790940363);
1628                if (typeof (callMenuAfterJQueryLoaded) == "function") {
1629                    callMenuAfterJQueryLoaded();
1630                }
1631                
1632                datepickerInit();
1633                carouselControlSmall();
1634
1635                if (typeof (callMenuBeforeJQueryLoaded) == "function") {
1636                    callMenuBeforeJQueryLoaded();
1637                }
1638
1639                if (typeof (callMenuBeforeTopJQueryLoaded) == "function") {
1640                    callMenuBeforeTopJQueryLoaded();
1641                }
1642                addAttributesDivVcards();
1643                modalsImage();
1644                modalsPdf();
1645                translateWeb();
1646                var carousel = $('#carouselControls');
1647                carousel.on('slide.bs.carousel', function (event) {
1648                    toSlideImage(event);
1649                });
1650                /** Només activar per desenvolupament
1651                axe.configure({
1652                    locale: {
1653                        lang: 'es',
1654                    }
1655                });
1656
1657                axe.run().then(results => {
1658                        if (results.violations.length) {
1659                            console.log(results.violations);
1660                            throw new Error('Accessibility issues found');
1661                        }
1662                    })
1663                    .catch(err => {
1664                        console.log('Something bad happened:', err.message);
1665                    });
1666                */
1667            });
1668
1669            $(window).resize(function() {
1670                equalHeightIconTime();
1671            })
1672        </script>
1672
1673                    </body>
1674</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.