PageSourceSearch

https://www.montmaneu.cat/

html montmaneu.cat collected 2026-10-02 12:43:29 UTC 96,717 bytes, 1,662 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="Ajuntament de Montmaneu">
8<meta name="description" lang="ca" content="Ajuntament de Montmaneu">
9<meta name="author" lang="ca" content="Ajuntament de Montmaneu">
10<meta name="date" lang="ca" content="2026-10-02">
11<meta name="generator" lang="ca" content="Ajuntament de Montmaneu">
12<meta name="robots" content="index, follow">
13
14        <title>Ajuntament de Montmaneu</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-1QTVL1QXXK
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-1QTVL1QXXK
vendor: 8 bytes, lines 23-24
23');
24    
24// Creates the default tracker.
25    gtag('event', 'page_view', { 'send_to': 'G-1QTVL1QXXK' });
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-88118820-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-88118820-1
vendor: 8 bytes, lines 34-35
34');
35    
35// Creates the default tracker.
36    gtag('event', 'page_view', { 'send_to': 'UA-88118820-1' });
37</script>
37
38<!-- End of code Global Site Tag (gtag.js) - Google Analytics v4-->
39        <link rel="canonical" href="https://www.montmaneu.cat">
40
41        <link rel="stylesheet" href="/front/view/js/bower_components/bootstrap/dist/css/bootstrap.min.css?ver=1790945008">
42<link rel="stylesheet" href="/front/view/js/bower_components/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css?ver=1790945008">
43<link rel="stylesheet" href="/front/view/js/bower_components/bootstrap-icons.min/index.css?ver=1790945008">
44<link rel="stylesheet" href="/front/view/js/bower_components/tempus-dominus.min.css/index.css?ver=1790945008">
45<link rel="stylesheet" href="/common/bower_components/select2/dist/css/select2.min.css?ver=1790945008">
46
47        <!-- Real Favicon Genenrator-->
48<link rel="apple-touch-icon" href="/themes/montmaneu/images/favicons/apple-touch-icon.png">
49<link rel="icon" type="image/png" href="/themes/montmaneu/images/favicons/favicon-16x16.png" sizes="16x16">
50<link rel="icon" type="image/png" href="/themes/montmaneu/images/favicons/favicon-32x32.png" sizes="32x32">
51<link rel="shortcut icon" href="/themes/montmaneu/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=1790945008"></script>
vendor: 1 bytes, line 68
68
69<script src="/front/view/js/klaro-init.js?ver=1790945008"></script>
69
70
71        <!-- Twitter Card data -->
72<meta name="twitter:card" content="summary">
73<meta name="twitter:title" content="Ajuntament de Montmaneu">
74<meta name="twitter:description" content="">
75<meta name="twitter:image" content="https://www.montmaneu.cat/themes/montmaneu/images/logos/header.png">
76    <meta name="twitter:image:alt" content="Logo">
77        <!-- Open Graph data -->
78<meta property="og:title" content="Ajuntament de Montmaneu">
79<meta property="og:type" content="website">
80<meta property="og:url" content="https://www.montmaneu.cat">
81<meta property="og:image" content="https://www.montmaneu.cat/themes/montmaneu/images/logos/header.png">
82    <meta property="og:image:alt" content="Logo">
83    <meta property="og:image" content="https://www.montmaneu.cat/themes/montmaneu/images/logos/header_inv.png">
84    <meta property="og:image:alt" content="Logo invertit">
85    <meta property="og:description" content="">
86<meta property="og:site_name" content="Ajuntament de Montmaneu">
87
88        <!-- HTML5 compatible tags -->
89<script>
90    document.createElement('header');
91    document.createElement('footer');
92    document.createElement('section');
93    document.createElement('aside');
94    document.createElement('nav');
95    document.createElement('article');
96    document.createElement('hgroup');
97    document.createElement('lh');
98</script>
98
99        
99<script>window.mapsConfig = { layerType: 'OpenStreetMap_Mapnik' };</script>
99
100<link rel="stylesheet" href="/front/view/js/bower_components/FreezeUI/freeze-ui.min.css">
101<link rel="stylesheet" href="/front/view/js/bower_components/Leaflet/default/leaflet.css">
102<link rel="stylesheet" href="/front/view/js/bower_components/Leaflet/default/Control.Loading.css">
103<script  src="/front/view/js/bower_components/FreezeUI/freeze-ui.min.js"></script>
vendor: 1 bytes, line 103
103
104<script  src="/front/view/js/bower_components/Leaflet/default/leaflet.js"></script>
vendor: 1 bytes, line 104
104
105<script src="/front/view/js/bower_components/es6-promise/es6-promise.min.js"></script>
vendor: 1 bytes, line 105
105
106<script>ES6Promise.polyfill();</script>
vendor: 1 bytes, line 106
106
107<script  src='/front/view/js/bower_components/Leaflet/default/Leaflet.GoogleMutant.js'></script>
vendor: 1 bytes, line 107
107
108<script src="/front/view/js/googleMapsInit.js"></script>
vendor: 1 bytes, line 108
108
109<script type="text/plain" data-type="text/javascript" data-name="maps" data-src="https://maps.google.com/maps/api/js?key=AIzaSyDzMQfPcdyACxfYosZzQs43alxB8BKfkx8&amp;loading=async&amp;callback=onGoogleMapsReady"></script>
vendor: 1 bytes, line 109
109
110<script  src="/front/view/js/bower_components/Leaflet/default/leaflet.maps.js"></script>
vendor: 1 bytes, line 110
110
111<script  src="/front/view/js/bower_components/Leaflet/default/leaflet.clone.js"></script>
vendor: 1 bytes, line 111
111
112<script  src="/front/view/js/bower_components/Leaflet/default/Control.Loading.js"></script>
vendor: 1 bytes, line 112
112
113<script src="/front/view/js/bower_components/jquery.min/index.js"></script>
vendor: 1 bytes, line 113
113
114<script src="/front/view/js/maps.js"></script>
114        <!-- Init addHeadExtraStyles -->
115        <style>html body{font-size:1em !important;} .backgroundImageHeader {background-repeat: repeat;  background-size: cover;  background-image:url("/media/repository/capcaleres/capcaleres_web/capcalera_nova.jpg");} </style>
116        <!-- End addHeadExtraStyles -->
117        <!-- Font Awesome 7 + v4-shims for backward compatibility -->
118        <link href="https://cdn.jsdelivr.net/npm/@fortawesome/[email protected]/css/all.min.css" rel="stylesheet">
119        <link href="https://cdn.jsdelivr.net/npm/@fortawesome/[email protected]/css/v4-shims.min.css" rel="stylesheet">
120        <!-- Popperjs + Tempus Dominus -->
121        
121<script src="/front/view/js/bower_components/popper.min/index.js?ver=1790945008"></script>
vendor: 1 bytes, line 121
121
122<script src="/front/view/js/bower_components/tempus-dominus.min.js/index.js?ver=1790945008"></script>
122
123                <link rel="stylesheet" media="all" href="/themes/montmaneu/styles/style.min.css?ver=1790945008">
124            </head>
125    <body class="home id-0">
126        <nav class="skip-links" aria-label="Dreceres d&#039;accessibilitat"><ul><li><a href="#site-header">Saltar a la capçalera</a></li><li><a href="#main-content">Saltar al contingut</a></li><li><a href="#footer-content">Saltar al peu de pàgina</a></li></ul></nav>        <header id="site-header" tabindex="-1">
127                                    <div class="js-widget o-widget o-widget--header o-widget-contenidor  clearfix boxBX  WidgetContainer " data-id="1" >  <div class="o-widget-wrapper clearfix default-BX  " data-id="1"><div class="o-widget-container  row"><div class="js-widget o-widget o-widget--header_g col-xs-12 col-sm-12 col-md-12 col-lg-12 clearfix boxBX  WidgetLegacyHeader " data-id="4" >  <div class="o-widget-wrapper clearfix default-BX  " data-id="4"><div class="o-widget-container "><div class="js-widget__content o-widget__content clearfix "><div class="toolbar clearfix">
128    <div class="container-xl">
129                <div class="fright">
130            <div class="toolbarItem">
131    <div class="toolbarItem page-62 page-contacte">
132    <a 
133        href="/altres-continguts/contacte"
134        target="_self"
135        rel=""
136            >
137        Contacte    </a>
138</div>
139</div>                        <div class="toolbarItem">
140                <div id="toolbarLanguages">
141    <ul id="languages">
142        <li><a href="#" role="button" aria-expanded="false" aria-controls="languagesList" id="languagesToggle">Idiomes</a>
143            <ul id="languagesList">
144                                    <li><a class="link-language" href="https://www.montmaneu.cat/?lang=ca" data-target="https://www.montmaneu.cat/?lang=ca">Català</a></li>
145                                    <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.montmaneu.cat/&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.montmaneu.cat/&amp;sl=ca&amp;tl=es">Castellà</a></li>
146                                    <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.montmaneu.cat/&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.montmaneu.cat/&amp;sl=ca&amp;tl=en">Anglès</a></li>
147                                    <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.montmaneu.cat/&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.montmaneu.cat/&amp;sl=ca&amp;tl=de">Alemany</a></li>
148                                    <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.montmaneu.cat/&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.montmaneu.cat/&amp;sl=ca&amp;tl=fr">Francès</a></li>
149                            </ul>
150        </li>
151    </ul>
152</div>
153<script>
154(function () {
155    var toggle = document.getElementById('languagesToggle');
156    if (!toggle) return;
157    var li = toggle.parentElement;
158    var submenu = li.querySelector('ul');
159    var links = Array.prototype.slice.call(submenu.querySelectorAll('a'));
160
161    function keyName(e) {
162        return e.key || e.code || e.keyCode;
163    }
164
165    function isSpaceKey(e) {
166        var key = keyName(e);
167        return key === ' ' || key === 'Spacebar' || key === 'Space' || key === 32;
168    }
169
170    function open(focusFirst) {
171        li.classList.add('is-open');
172        submenu.style.display = 'block';
173        submenu.style.padding = '1em';
174        toggle.setAttribute('aria-expanded', 'true');
175        if (focusFirst && links.length) links[0].focus();
176    }
177
178    function close() {
179        li.classList.remove('is-open');
180        submenu.style.display = '';
181        submenu.style.padding = '';
182        toggle.setAttribute('aria-expanded', 'false');
183    }
184
185    function isOpen() {
186        return toggle.getAttribute('aria-expanded') === 'true';
187    }
188
189    function focusLink(index) {
190        if (!links.length) return;
191        links[(index + links.length) % links.length].focus();
192    }
193
194    function focusedLinkIndex() {
195        return links.indexOf(document.activeElement);
196    }
197
198    toggle.addEventListener('click', function (e) {
199        e.preventDefault();
200        isOpen() ? close() : open(false);
201    });
202
203    toggle.addEventListener('keydown', function (e) {
204        var key = keyName(e);
205        if (key === 'Enter' || isSpaceKey(e)) {
206            e.preventDefault();
207            isOpen() ? close() : open(false);
208        } else if (key === 'ArrowDown' || key === 40) {
209            e.preventDefault();
210            open(true);
211        } else if (key === 'ArrowUp' || key === 38) {
212            e.preventDefault();
213            open(false);
214            focusLink(links.length - 1);
215        } else if (key === 'Escape' || key === 'Esc' || key === 27) {
216            if (isOpen()) {
217                e.preventDefault();
218                close();
219            }
220        }
221    });
222
223    submenu.addEventListener('keydown', function (e) {
224        var key = keyName(e);
225        var index = focusedLinkIndex();
226
227        if (key === 'ArrowDown' || key === 40) {
228            e.preventDefault();
229            focusLink(index + 1);
230        } else if (key === 'ArrowUp' || key === 38) {
231            e.preventDefault();
232            focusLink(index - 1);
233        } else if (key === 'Home' || key === 36) {
234            e.preventDefault();
235            focusLink(0);
236        } else if (key === 'End' || key === 35) {
237            e.preventDefault();
238            focusLink(links.length - 1);
239        } else if (isSpaceKey(e)) {
240            e.preventDefault();
241            if (document.activeElement && document.activeElement.click) {
242                document.activeElement.click();
243            }
244        } else if (key === 'Escape' || key === 'Esc' || key === 27) {
245            e.preventDefault();
246            close();
247            toggle.focus();
248        }
249    });
250
251    li.addEventListener('focusout', function () {
252        window.setTimeout(function () {
253            if (!li.contains(document.activeElement)) close();
254        }, 0);
255    });
256
257    document.addEventListener('click', function (e) {
258        if (!li.contains(e.target)) close();
259    });
260})();
261</script>
261
262                <div class="currentDate" style='padding:9px;color:white'>
263    <span id="clock" class="clock" title='Data i hora oficial' >
264        02.10.2026 | 14:43    </span>
265</div>            </div>
266        </div>
267    </div>
268</div>
269<div class="header backgroundImageHeader">
270    <div class="branding">
271        <div class="container-xl">
272            <div class="row">
273                <div class="col-md-8 col-sm-8 col-lg-8 logo_box">
274    <a class="logo" href="/" aria-label="Ajuntament de Montmaneu - Pàgina d'inici">
275        <img src="/themes/montmaneu/images/logos/header_inv.png" alt="" width="355" height="115" id="mainLogo">
276    </a>
277        <h1 class="d-none">Ajuntament de Montmaneu</h1>
278    </div>                <div class="col-md-4 col-sm-4 col-lg-4 middle search_box">
279    <form id="search_box" aria-label="Cercar:" name="search_box" method="get" action="/search">
280        <label for="search" accesskey="4">
281            <span class="visually-hidden">Cercar:</span>
282        </label>
283        <input id="search" name="search" type="text" aria-label="Cercar:" title="Cerca a tot el web" value="" placeholder="Cercar...">
284        <button type="submit" class="search-button" aria-label="Cerca"><i class="fa fa-search"></i></button>
285    </form>
286</div>
287            </div>
288        </div>
289    </div>
290        <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-1 level1"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament" ><span class="menu-flexible__item-text">Ajuntament</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-12 level2"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/alcaldia" ><span class="menu-flexible__item-text">Salutació de l&#039;Alcalde</span></a></li><li class="menu-flexible__item page-8 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/govern" ><span class="menu-flexible__item-text">Govern</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-13 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern/consistori" ><span class="menu-flexible__item-text">Consistori</span></a></li><li class="menu-flexible__item page-116 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern/agenda-politica" ><span class="menu-flexible__item-text">Agenda política</span></a></li><li class="menu-flexible__item page-15 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern/grups-municipals" ><span class="menu-flexible__item-text">Grups municipals</span></a></li><li class="menu-flexible__item page-87 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern/informacio-regidors" ><span class="menu-flexible__item-text">Organització municipal</span></a></li><li class="menu-flexible__item page-17 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern/tecnics-municipals" ><span class="menu-flexible__item-text">Tècnics municipals</span></a></li><li class="menu-flexible__item page-132 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern/altres-administracions" ><span class="menu-flexible__item-text">Altres administracions</span></a></li><li class="menu-flexible__item page-24 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern/pressupostos-i-plantilles" ><span class="menu-flexible__item-text">Pressupostos i plantilles</span></a></li><li class="menu-flexible__item page-127 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern/resultats-electorals" ><span class="menu-flexible__item-text">Resultats electorals</span></a></li></ul></li><li class="menu-flexible__item page-80 level2"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/ple-municipal" ><span class="menu-flexible__item-text">
290Ple municipal</span></a></li><li class="menu-flexible__item page-18 level2"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/anuncis-edictes" ><span class="menu-flexible__item-text">Anuncis / Edictes</span></a></li><li class="menu-flexible__item page-26 level2"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/perfil-de-contractant" ><span class="menu-flexible__item-text">Perfil de contractant</span></a></li><li class="menu-flexible__item page-126 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/normativa" ><span class="menu-flexible__item-text">Normativa</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-27 level3"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://www.seu-e.cat/web/montmaneu/govern-obert-i-transparencia/accio-de-govern-i-normativa/normativa-plans-i-programes" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Normativa / Ordenances Generals</span></a></li><li class="menu-flexible__item page-22 level3"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://www.seu-e.cat/web/montmaneu/govern-obert-i-transparencia/accio-de-govern-i-normativa/normativa-plans-i-programes/ordenances-fiscals" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Ordenances Fiscals</span></a></li><li class="menu-flexible__item page-28 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/normativa/urbanisme" ><span class="menu-flexible__item-text">Urbanisme</span></a></li></ul></li><li class="menu-flexible__item page-122 level2"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/que-es-la-seu-electronica" ><span class="menu-flexible__item-text">Seu electrònica</span></a></li><li class="menu-flexible__item page-123 level2"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/transparencia" ><span class="menu-flexible__item-text">Transparència</span></a></li></ul></li><li class="menu-flexible__item page-10 level1"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/serveis-i-tramits" ><span class="menu-flexible__item-text">Serveis i tràmits</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-82 level2"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/oficines-municipals" ><span class="menu-flexible__item-text">Oficines municipals</span></a></li><li class="menu-flexible__item page-33 level2"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/serveis" ><span class="menu-flexible__item-text">Serveis</span></a></li><li class="menu-flexible__item page-31 level2"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/tramits-i-gestions" ><span class="menu-flexible__item-text">Tràmits i gestions</span></a></li><li class="menu-flexible__item page-90 level2"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/carpeta-ciutadana" ><span class="menu-flexible__item-text">Carpeta ciutadana</span></a></li><li class="menu-flexible__item page-32 level2"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/impostos" ><span class="menu-flexible__item-text">Impostos</span></a></li><li class="menu-flexible__item page-88 level2"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/factura-electronica" ><span class="menu-flexible__item-text">Factura electrònica</span></a></li><li class="menu-flexible__item page-140 level2"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/notificacions-electroniques" ><span class="menu-flexible__item-text">Notificacions electròniques</span></a></li><li class="menu-flexible__item page-133 level2"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/finestreta-unica-empresarial-fue" ><span class="menu-flexible__item-text">Finestreta Única Empresarial (FUE)</span></a></li></ul></li><li class="menu-flexible__item page-2 level1"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/el-municipi" ><span class="menu-flexible__item-text">El municipi</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-34 level2"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/com-arribar-hi" ><span class="menu-flexible__item-text">Com arribar-hi</span></a></li><li class="menu-flexible__item page-36 level2"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-de-carrers--planol" ><span class="menu-flexible__item-text">Guia de carrers / Plànol</span></a></li><li class="menu-flexible__item page-3 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/el-municipi/guia-del-municipi" ><span class="menu-flexible__item-text">Guia del municipi</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-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-39 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-del-municipi/empreses-i-comercos" ><span class="menu-flexible__item-text">Empreses i comerços</span></a></li><li class="menu-flexible__item page-40 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-del-municipi/entitats-i-associacions" ><span class="menu-flexible__item-text">Entitats i associacions</span></a></li><li class="menu-flexible__item page-43 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-del-municipi/emergencie
290s" ><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-141 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/informacio-del-municipi/situacio-i-presentacio" ><span class="menu-flexible__item-text">Situació i presentació</span></a></li><li class="menu-flexible__item page-142 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/informacio-del-municipi/poblacio-i-economia" ><span class="menu-flexible__item-text">Població i economia</span></a></li><li class="menu-flexible__item page-143 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/informacio-del-municipi/nucli-de-montmaneu" ><span class="menu-flexible__item-text">Nucli de Montmaneu</span></a></li><li class="menu-flexible__item page-144 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/informacio-del-municipi/la-panadella" ><span class="menu-flexible__item-text">La Panadella</span></a></li><li class="menu-flexible__item page-44 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/informacio-del-municipi/antecedents-historics-de-montmaneu--la-panadella" ><span class="menu-flexible__item-text">Antecedents històrics de Montmaneu / La Panadella</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><li class="menu-flexible__item page-50 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/informacio-del-municipi/festes-i-fires" ><span class="menu-flexible__item-text">Festes i fires</span></a></li><li class="menu-flexible__item page-41 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/informacio-del-municipi/llocs-dinteres" ><span class="menu-flexible__item-text">Llocs d&#039;interès</span></a></li><li class="menu-flexible__item page-129 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/informacio-del-municipi/rutes" ><span class="menu-flexible__item-text">Rutes</span></a></li><li class="menu-flexible__item page-38 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/informacio-del-municipi/on-dormir" ><span class="menu-flexible__item-text">On dormir</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/on-menjar" ><span class="menu-flexible__item-text">On menjar</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/noticies" ><span class="menu-flexible__item-text">Notícies</span></a></li><li class="menu-flexible__item page-54 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/agenda" ><span class="menu-flexible__item-text">Agenda</span></a></li><li class="menu-flexible__item page-128 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/avisos" ><span class="menu-flexible__item-text">Avisos</span></a></li><li class="menu-flexible__item page-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-57 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/rss" ><span class="menu-flexible__item-text">Rss</span></a></li><li class="menu-flexible__item page-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-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>
290<script>(function() {
291    'use strict';
292
293    // Mega panel
294
295    function initMegaPanels(navContainer) {
296        var menuItems = Array.prototype.slice.call(navContainer.querySelectorAll('[data-mega-id]'));
297        if (!menuItems.length) return;
298
299        var navUl    = navContainer.querySelector('ul');
300        var topItems = navUl
301            ? menuItems.filter(function(el) { return el.parentElement === navUl; })
302            : menuItems;
303
304        var wrapper    = navContainer.closest('.menu-flexible__wrapper');
305        var isClick    = wrapper && wrapper.getAttribute('data-expand-type') === 'click';
306
307        menuItems.forEach(function(item) {
308            var panel = getPanelForItem(item, navContainer);
309            if (!panel) return;
310
311            if (isClick) {
312                var link = item.querySelector('a');
313                if (link) {
314                    link.addEventListener('click', function(e) {
315                        // En mòbil, els elements naveguen directament sense desplegar submenús
316                        if (window.innerWidth <= 992) return;
317                        if (panel.classList.contains('mf-mega-visible')) {
318                            // Segon clic: navegar
319                            return;
320                        }
321                        e.preventDefault();
322                        hideAllMegaPanels(navContainer);
323                        showPanel(item, panel);
324                    });
325                }
326            } else {
327                var hoverDelay = parseInt(
328                    getComputedStyle(wrapper).getPropertyValue('--menu-hover-delay'), 10
329                ) || 0;
330                var hoverTimer = null;
331
332                var leaveTimer = null;
333
334                item.addEventListener('mouseenter', function() {
335                    clearTimeout(hoverTimer);
336                    clearTimeout(leaveTimer);
337                    if (hoverDelay > 0) {
338                        hoverTimer = setTimeout(function() { showPanel(item, panel); }, hoverDelay);
339                    } else {
340                        showPanel(item, panel);
341                    }
342                });
343                item.addEventListener('mouseleave', function(e) {
344                    clearTimeout(hoverTimer);
345                    if (!panel.contains(e.relatedTarget)) {
346                        leaveTimer = setTimeout(function() { hidePanel(item, panel); }, 300);
347                    }
348                });
349                panel.addEventListener('mouseenter', function() {
350                    clearTimeout(leaveTimer);
351                });
352                panel.addEventListener('mouseleave', function(e) {
353                    clearTimeout(hoverTimer);
354                    clearTimeout(leaveTimer);
355                    if (!item.contains(e.relatedTarget)) hidePanel(item, panel);
356                });
357
358                // Tàctil: fallback quan hover no disponible (només escriptori tàctil)
359                var link = item.querySelector('a');
360                if (link) {
361                    link.addEventListener('click', function(e) {
362                        if (window.matchMedia('(hover: none)').matches && window.innerWidth > 992) {
363                            if (panel.classList.contains('mf-mega-visible')) {
364                                // Segon clic en tàctil: navegar
365                                return;
366                            }
367                            e.preventDefault();
368                            hideAllMegaPanels(navContainer);
369                            showPanel(item, panel);
370                        }
371                    });
372                }
373            }
374        });
375
376        navContainer.addEventListener('keydown', function(e) {
377            handleMegaKeydown(e, navContainer, topItems);
378        });
379
380        if (!isClick) {
381            navContainer.addEventListener('focusin', function(e) {
382                var item = e.target.closest('[data-mega-id]');
383                if (!item) return;
384                var panel = getPanelForItem(item, navContainer);
385                if (!panel) return;
386                hideAllMegaPanels(navContainer);
387                showPanel(item, panel);
388            });
389        }
390
391        navContainer.addEventListener('focusout', function() {
392            setTimeout(function() {
393                if (!navContainer.contains(document.activeElement)) {
394                    hideAllMegaPanels(navContainer);
395                }
396            }, 0);
397        });
398
399        document.addEventListener('click', function(e) {
400            if (!navContainer.contains(e.target)) {
401                hideAllMegaPanels(navContainer);
402            }
403        });
404    }
405
406    function handleMegaKeydown(e, navContainer, topItems) {
407        var focused = document.activeElement;
408        if (!focused) return;
409
410        var currentItem = focused.closest('[data-mega-id]');
411        var currentPanel = focused.closest('.menu-flexible__mega-panel');
412        var key = e.key || e.code || e.keyCode;
413
414        function directLink(item) {
415            if (!item) return null;
416            return Array.prototype.slice.call(item.children).find(function(el) {
417                return el.tagName === 'A';
418            }) || item.querySelector('a');
419        }
420
421        function itemForPanel(panel) {
422            if (!panel) return null;
423            var id = panel.getAttribute('data-mega-id');
424            return id ? navContainer.querySelector('li[data-mega-id="' + id + '"]') : null;
425        }
426
427        function focusPanelLink(panel, index) {
428            var links = Array.prototype.slice.call(panel.querySelectorAll('a'));
429            if (!links.length) return;
430            links[(index + links.length) % links.length].focus();
431        }
432
433        function focusPanelSibling(panel, offset) {
434            var links = Array.prototype.slice.call(panel.querySelectorAll('a'));
435            var idx = links.indexOf(focused);
436            if (idx === -1) return;
437            links[(idx + offset + links.length) % links.length].focus();
438        }
439
440        function panelColumnForLink(link) {
441            return link ? link.closest('.menu-flexible__mega-col') : null;
442        }
443
444        function focusAdjacentPanelColumn(panel, offset) {
445            var columns = Array.prototype.slice.call(panel.querySelectorAll('.menu-flexible__mega-col'));
446            var currentColumn = panelColumnForLink(focused);
447            var idx = columns.indexOf(currentColumn);
448            if (idx === -1) return false;
449
450            var targetColumn = columns[(idx + offset + columns.length) % columns.length];
451            var targetLink = targetColumn.querySelector('a');
452            if (targetLink) {
453                targetLink.focus();
454                return true;
455            }
456
457            return false;
458        }
459
460        function focusTopItem(item, offset) {
461            var idx = topItems.indexOf(item);
462            if (idx === -1) return;
463
464            var next = topItems[(idx + offset + topItems.length) % topItems.length];
465            hideAllMegaPanels(navContainer);
466
467            var nextLink = directLink(next);
468            if (nextLink) {
469                nextLink.focus();
470                var nextPanel = getPanelForItem(next, navContainer);
471                if (nextPanel) showPanel(next, nextPanel);
472            }
473        }
474
475        switch (key) {
476            case 'Escape':
477            case 'Esc':
478            case 27: {
479                e.preventDefault();
480                hideAllMegaPanels(navContainer);
481                if (currentPanel) {
482                    var item = itemForPanel(currentPanel);
483                    var lnk = directLink(item);
484                    if (lnk) lnk.focus();
485                }
486                break;
487            }
488
489            case 'ArrowRight':
490            case 39:
491            case 'ArrowLeft':
492            case 37: {
493                var direction = (key === 'ArrowRight' || key === 39) ? 1 : -1;
494                e.preventDefault();
495
496                if (currentPanel) {
497                    if (!focusAdjacentPanelColumn(currentPanel, direction)) {
498                        var ownerItem = itemForPanel(currentPanel);
499                        focusTopItem(ownerItem, direction);
500                    }
501                    break;
502                }
503
504                if (!currentItem) return;
505                focusTopItem(currentItem, direction);
506                break;
507            }
508
509            case 'ArrowDown':
510            case 40: {
511                e.preventDefault();
512                if (currentPanel) {
513                    focusPanelSibling(currentPanel, 1);
514                    break;
515                }
516                if (!currentItem) return;
517                var panel = getPanelForItem(currentItem, navContainer);
518                if (!panel) return;
519                if (!panel.classList.contains('mf-mega-visible')) {
520                    hideAllMegaPanels(navContainer);
521                    showPanel(currentItem, panel);
522                }
523                focusPanelLink(panel, 0);
524                break;
525            }
526
527            case ' ':
528            case 'Space':
529            case 'Spacebar':
530            case 32: {
531                if (currentPanel || !currentItem) return;
532                var spacePanel = getPanelForItem(currentItem, navContainer);
533                if (!spacePanel) return;
534
535                e.preventDefault();
536                if (spacePanel.classList.contains('mf-mega-visible')) {
537                    hidePanel(currentItem, spacePanel);
538                } else {
539                    hideAllMegaPanels(navContainer);
540                    showPanel(currentItem, spacePanel);
541                }
542                break;
543            }
544
545            case 'ArrowUp':
546            case 38: {
547                if (!currentPanel) return;
548                e.preventDefault();
549                var panelLinks = Array.prototype.slice.call(currentPanel.querySelectorAll('a'));
550                var focusedIndex = panelLinks.indexOf(focused);
551
552                if (focusedIndex > 0) {
553                    focusPanelLink(currentPanel, focusedIndex - 1);
554                } else {
555                    var parentItem = itemForPanel(currentPanel);
556                    var parentLink = directLink(parentItem);
557                    if (parentLink) parentLink.focus();
558                    if (parentItem) hidePanel(parentItem, currentPanel);
559                }
560                break;
561            }
562        }
563    }
564
565    function getPanelForItem(item, navContainer) {
566        var id = item.getAttribute('data-mega-id');
567        return id
568            ? navContainer.querySelector('.menu-flexible__mega-panel[data-mega-id="' + id + '"]')
569            : null;
570    }
571
572    function showPanel(item, panel) {
573        panel.classList.add('mf-mega-visible');
574        panel.setAttribute('aria-hidden', 'false');
575        var link = item.querySelector('a');
576        if (link) link.setAttribute('aria-expanded', 'true');
577    }
578
579    function hidePanel(item, panel) {
580        panel.classList.remove('mf-mega-visible');
581        panel.setAttribute('aria-hidden', 'true');
582        var link = item.querySelector('a');
583        if (link) link.setAttribute('aria-expanded', 'false');
584    }
585
586    function hideAllMegaPanels(navContainer) {
587        navContainer.querySelectorAll('.menu-flexible__mega-panel.mf-mega-visible')
588            .forEach(function(panel) {
589                var id   = panel.getAttribute('data-mega-id');
590                var item = id ? navContainer.querySelector('li[data-mega-id="' + id + '"]') : null;
591                if (item) {
592                    hidePanel(item, panel);
593                } else {
594                    panel.classList.remove('mf-mega-visible');
595                    panel.setAttribute('aria-hidden', 'true');
596                }
597            });
598    }
599
600
601    // Tecles de fletxa (menú estàndard)
602
603    function initStandardKeyboard(wrapper) {
604        var menu = wrapper.querySelector('.menu-flexible__list');
605        if (!menu) return;
606
607        function closeAll() {
608            Array.prototype.slice.call(menu.querySelectorAll('.menu-flexible__item[focus="true"]'))
609                .forEach(function(item) {
610                    item.setAttribute('focus', 'false');
611                    var submenu = Array.prototype.slice.call(item.children).find(function(el) {
612                        return el.classList && el.classList.contains('menu-flexible__submenu');
613                    });
614                    if (submenu) {
615                        submenu.style.left = '';
616                        submenu.style.opacity = '';
617                        submenu.style.visibility = '';
618                        submenu.style.pointerEvents = '';
619                        submenu.style.transform = '';
620                    }
621                    var link = Array.prototype.slice.call(item.children).find(function(el) {
622                        return el.tagName === 'A';
623                    });
624                    if (link && link.classList.contains('menu-flexible__link--dropdown')) {
625                        link.setAttribute('aria-expanded', 'false');
626                    }
627                });
628        }
629
630        wrapper.addEventListener('keydown', function(e) {
631            handleStandardKeydown(e, menu);
632        });
633
634        wrapper.addEventListener('focusout', function() {
635            setTimeout(function() {
636                if (!wrapper.contains(document.activeElement)) {
637                    closeAll();
638                }
639            }, 0);
640        });
641    }
642
643    function handleStandardKeydown(e, menu) {
644        var focused = document.activeElement;
645        if (!focused || !menu.contains(focused)) return;
646
647        var itemSel = '.menu-flexible__item';
648        var linkSel = '.menu-flexible__link';
649
650        var currentLi = focused.closest(itemSel);
651        if (!currentLi) return;
652
653        var parentUl = currentLi.parentElement;
654        var isLevel1 = parentUl === menu;
655
656        function directLink(li) {
657            var direct = Array.prototype.slice.call(li.children).find(function(el) {
658                return el.tagName === 'A';
659            });
660            return direct || li.querySelector(linkSel);
661        }
662
663        function siblingItems(ul) {
664            return Array.prototype.slice.call(ul.children).filter(function(el) {
665                return el.matches(itemSel);
666            });
667        }
668
669        function childMenu(li) {
670            return Array.prototype.slice.call(li.children).find(function(el) {
671                return el.classList && el.classList.contains('menu-flexible__submenu');
672            });
673        }
674
675        function setSubmenuVisible(li, visible) {
676            var submenu = childMenu(li);
677            if (!submenu) return;
678
679            if (visible) {
680                submenu.style.left = li.parentElement === menu ? '0' : '100%';
681                submenu.style.opacity = '1';
682                submenu.style.visibility = 'visible';
683                submenu.style.pointerEvents = 'auto';
684                submenu.style.transform = 'none';
685            } else {
686                submenu.style.left = '';
687                submenu.style.opacity = '';
688                submenu.style.visibility = '';
689                submenu.style.pointerEvents = '';
690                submenu.style.transform = '';
691            }
692        }
693
694        function setExpanded(li, expanded) {
695            li.setAttribute('focus', expanded ? 'true' : 'false');
696            setSubmenuVisible(li, expanded);
697            var lnk = directLink(li);
698            if (lnk && lnk.classList.contains('menu-flexible__link--dropdown')) {
699                lnk.setAttribute('aria-expanded', expanded ? 'true' : 'false');
700            }
701            if (!expanded) {
702                Array.prototype.slice.call(li.querySelectorAll(itemSel + '[focus="true"]'))
703                    .forEach(function(item) {
704                        item.setAttribute('focus', 'false');
705                        setSubmenuVisible(item, false);
706                        var childLink = directLink(item);
707                        if (childLink && childLink.classList.contains('menu-flexible__link--dropdown')) {
708                            childLink.setAttribute('aria-expanded', 'false');
709                        }
710                    });
711            }
712        }
713
714        function closeSiblings(li) {
715            Array.prototype.slice.call(li.parentElement.children)
716                .filter(function(item) {
717                    return item !== li && item.matches(itemSel);
718                })
719                .forEach(function(item) {
720                    setExpanded(item, false);
721                });
722        }
723
724        function openChild(li) {
725            var submenu = childMenu(li);
726            if (!submenu) return false;
727            closeSiblings(li);
728            setExpanded(li, true);
729            var firstChild = submenu.querySelector(linkSel);
730            if (firstChild) firstChild.focus();
731            return true;
732        }
733
734        function focusSibling(offset) {
735            var sibs = siblingItems(parentUl);
736            var idx  = sibs.indexOf(currentLi);
737            var lnk  = directLink(sibs[(idx + offset + sibs.length) % sibs.length]);
738            if (lnk) lnk.focus();
739        }
740
741        var key = e.key || e.code || e.keyCode;
742
743        switch (key) {
744            case 'ArrowRight':
745            case 39: {
746                if (!isLevel1) return;
747                e.preventDefault();
748                setExpanded(currentLi, false);
749                focusSibling(1);
750                break;
751            }
752            case 'ArrowLeft':
753            case 37: {
754                if (!isLevel1) return;
755                e.preventDefault();
756                setExpanded(currentLi, false);
757                focusSibling(-1);
758                break;
759            }
760            case 'ArrowDown':
761            case 40: {
762                e.preventDefault();
763                if (focused === directLink(currentLi) && openChild(currentLi)) {
764                    break;
765                }
766                var sibsDown = siblingItems(parentUl);
767                var idxDown  = sibsDown.indexOf(currentLi);
768                if (idxDown < sibsDown.length - 1) {
769                    var lnkDown = directLink(sibsDown[idxDown + 1]);
770                    if (lnkDown) lnkDown.focus();
771                }
772                break;
773            }
774            case 'ArrowUp':
775            case 38: {
776                e.preventDefault();
777                var sibsUp = siblingItems(parentUl);
778                var idxUp  = sibsUp.indexOf(currentLi);
779                if (idxUp > 0) {
780                    var lnkUp = directLink(sibsUp[idxUp - 1]);
781                    if (lnkUp) lnkUp.focus();
782                } else if (!isLevel1) {
783                    var parentItemUp = parentUl.closest(itemSel);
784                    if (parentItemUp) {
785                        setExpanded(parentItemUp, false);
786                        var parentLinkUp = directLink(parentItemUp);
787                        if (parentLinkUp) parentLinkUp.focus();
788                    }
789                }
790                break;
791            }
792            case ' ':
793            case 'Space':
794            case 'Spacebar':
795            case 32: {
796                if (!focused.classList.contains('menu-flexible__link--dropdown')) return;
797                e.preventDefault();
798                currentLi.getAttribute('focus') === 'true'
799                    ? setExpanded(currentLi, false)
800                    : openChild(currentLi);
801                break;
802            }
803            case 'Escape':
804            case 'Esc':
805            case 27: {
806                if (isLevel1 && currentLi.getAttribute('focus') !== 'true') return;
807                e.preventDefault();
808                if (!isLevel1) {
809                    var parentItemEsc = parentUl.closest(itemSel);
810                    if (parentItemEsc) {
811                        setExpanded(parentItemEsc, false);
812                        var parentLinkEsc = directLink(parentItemEsc);
813                        if (parentLinkEsc) parentLinkEsc.focus();
814                    }
815                } else {
816                    setExpanded(currentLi, false);
817                }
818                break;
819            }
820        }
821    }
822
823
824    // Click mode: expandir submenús via [focus=true]
825
826    function initClickExpand(wrapper) {
827        var menu = wrapper.querySelector('.menu-flexible__list');
828        if (!menu) return;
829
830        var itemSel        = '.menu-flexible__item';
831        var dropdownSel    = '.menu-flexible__link--dropdown';
832
833        function closeAll(container) {
834            Array.prototype.slice.call(container.querySelectorAll(itemSel + '[focus="true"]'))
835                .forEach(function(el) { el.setAttribute('focus', 'false'); });
836        }
837
838        function closeSiblings(item) {
839            var parentUl = item.parentElement;
840            Array.prototype.slice.call(parentUl.children)
841                .filter(function(el) {
842                    return el !== item
843                        && el.matches(itemSel)
844                        && el.getAttribute('focus') === 'true';
845                })
846                .forEach(function(el) {
847                    el.setAttribute('focus', 'false');
848                    closeAll(el);
849                });
850        }
851
852        menu.addEventListener('click', function(e) {
853            var link = e.target.closest(dropdownSel);
854            if (!link || !menu.contains(link)) return;
855
856            var item = link.parentElement;
857            if (!item || !item.matches(itemSel)) return;
858
859            // En mòbil, els elements naveguen directament sense desplegar submenús
860            if (window.innerWidth <= 992) return;
861
862            var isOpen = item.getAttribute('focus') === 'true';
863
864            if (isOpen) {
865                // Segon clic: navegar
866                return;
867            }
868
869            e.preventDefault();
870            closeSiblings(item);
871            item.setAttribute('focus', 'true');
872        });
873
874        document.addEventListener('click', function(e) {
875            var openItem = menu.querySelector(itemSel + '[focus="true"]');
876            if (!openItem) return;
877            if (!openItem.contains(e.target)) {
878                closeAll(menu);
879            }
880        });
881    }
882
883
884    // Hamburger (mòbil ≤992px)
885
886    class MenuFlexible {
887        constructor(wrapper) {
888            this.wrapper   = wrapper;
889            this.hamburger = wrapper.querySelector('.menu-flexible__toggle');
890            this.menu      = wrapper.querySelector('.menu-flexible__list');
891
892            if (!this.hamburger || !this.menu) return;
893
894            var parent  = this.menu.parentElement;
895            this.isMega = parent && parent.classList.contains('menu-flexible__nav-container');
896            this.target = this.isMega ? parent : this.menu;
897
898            // Ancestre que en mòbil és barra fixa de 44px amb overflow:clip i retalla
899            // el menú desplegat. En obrir, l'eixamplem; en tancar, el restaurem.
900            this.clipper = wrapper.closest('.nav');
901
902            this.init();
903            window.addEventListener('resize', () => this.handleResize());
904        }
905
906        init() {
907            this.hamburger.addEventListener('click', (e) => {
908                e.preventDefault();
909                e.stopPropagation();
910                this.toggleMenu();
911            });
912
913            document.addEventListener('click', (e) => {
914                if (!this.wrapper.contains(e.target) && this.isOpen()) {
915                    this.closeMenu();
916                }
917            });
918
919            this.menu.querySelectorAll('a').forEach(link => {
920                link.addEventListener('click', () => {
921                    if (window.innerWidth <= 992 && this.isOpen()) {
922                        this.closeMenu();
923                    }
924                });
925            });
926        }
927
928        isOpen()     { return this.target.classList.contains('show'); }
929        toggleMenu() { this.isOpen() ? this.closeMenu() : this.openMenu(); }
930
931        liftClip() {
932            if (this.clipper && window.innerWidth <= 992) {
933                this.clipper.style.height = 'auto';
934                this.clipper.style.maxHeight = 'none';
935                this.clipper.style.overflow = 'visible';
936            }
937        }
938
939        restoreClip() {
940            if (this.clipper) {
941                this.clipper.style.height = '';
942                this.clipper.style.maxHeight = '';
943                this.clipper.style.overflow = '';
944            }
945        }
946
947        openMenu() {
948            this.target.classList.add('show');
949            this.target.style.display = this.isMega ? 'block' : 'flex';
950            if (this.isMega) this.menu.style.display = 'flex';
951            this.liftClip();
952            this.hamburger.classList.add('active');
953            this.hamburger.setAttribute('aria-expanded', 'true');
954        }
955
956        closeMenu() {
957            this.target.classList.remove('show');
958            this.target.style.display = 'none';
959            if (this.isMega) {
960                this.menu.style.display = '';
961                var nc = this.wrapper.querySelector('.menu-flexible__nav-container');
962                if (nc) hideAllMegaPanels(nc);
963            }
964            this.restoreClip();
965            this.hamburger.classList.remove('active');
966            this.hamburger.setAttribute('aria-expanded', 'false');
967        }
968
969        handleResize() {
970            if (window.innerWidth > 992) {
971                this.target.classList.remove('show');
972                this.target.style.display = '';
973                if (this.isMega) this.menu.style.display = '';
974                this.restoreClip();
975                this.hamburger.classList.remove('active');
976                this.hamburger.setAttribute('aria-expanded', 'false');
977            }
978        }
979    }
980
981
982    // Init
983
984    function init() {
985        document.querySelectorAll('.menu-flexible__wrapper').forEach(function(wrapper) {
986            var navContainer = wrapper.querySelector('.menu-flexible__nav-container');
987            if (navContainer) {
988                initMegaPanels(navContainer);
989            } else {
990                initStandardKeyboard(wrapper);
991                if (wrapper.getAttribute('data-expand-type') === 'click') {
992                    initClickExpand(wrapper);
993                }
994            }
995            new MenuFlexible(wrapper);
996            if (wrapper.getAttribute('data-menu-sticky') === 'true') {
997                var stickyTarget = wrapper.closest('#navbar-top')
998                                || wrapper.closest('.navbar')
999                                || wrapper.closest('nav');
1000                if (stickyTarget) {
1001                    stickyTarget.classList.add('menu-sticky-enabled');
1002                    document.body.classList.add('has-sticky-menu');
1003
1004                    var navbarHeight   = stickyTarget.offsetHeight;
1005                    var navbarTop      = stickyTarget.getBoundingClientRect().top + window.scrollY;
1006                    var bodyPadApplied = false;
1007
1008                    function updateStickyOffset() {
1009                        navbarHeight = stickyTarget.offsetHeight;
1010                        document.documentElement.style.setProperty('--skip-links-sticky-offset', navbarHeight + 'px');
1011
1012                        if (bodyPadApplied) {
1013                            document.body.style.paddingTop = navbarHeight + 'px';
1014                        }
1015                    }
1016
1017                    function getTargetFromHash(hash) {
1018                        if (!hash || hash.charAt(0) !== '#') {
1019                            return null;
1020                        }
1021
1022                        try {
1023                            return document.getElementById(decodeURIComponent(hash.substring(1)));
1024                        } catch (error) {
1025                            return document.getElementById(hash.substring(1));
1026                        }
1027                    }
1028
1029                    function scrollToSkipTarget(hash) {
1030                        var target = getTargetFromHash(hash);
1031                        if (!target) {
1032                            return;
1033                        }
1034
1035                        updateStickyOffset();
1036
1037                        var expectedTop = target.getBoundingClientRect().top + window.scrollY - navbarHeight;
1038                        if (expectedTop > navbarTop) {
1039                            applyFixed();
1040                        } else {
1041                            removeFixed();
1042                        }
1043
1044                        try {
1045                            target.focus({ preventScroll: true });
1046                        } catch (error) {
1047                            target.focus();
1048                        }
1049
1050                        var targetTop = target.getBoundingClientRect().top + window.scrollY;
1051                        window.scrollTo(0, Math.max(targetTop - navbarHeight, 0));
1052                    }
1053
1054                    document.querySelectorAll('.skip-links a[href^="#"]').forEach(function(link) {
1055                        link.addEventListener('click', function(event) {
1056                            var hash = link.getAttribute('href');
1057                            var target = getTargetFromHash(hash);
1058                            if (!target) {
1059                                return;
1060                            }
1061
1062                            event.preventDefault();
1063
1064                            if (window.history && window.history.pushState) {
1065                                window.history.pushState(null, '', hash);
1066                            } else {
1067                                window.location.hash = hash;
1068                            }
1069
1070                            scrollToSkipTarget(hash);
1071                        });
1072                    });
1073
1074                    updateStickyOffset();
1075
1076                    function applyFixed() {
1077                        if (!stickyTarget.classList.contains('fixed-top')) {
1078                            updateStickyOffset();
1079                            stickyTarget.classList.add('fixed-top');
1080                            document.body.style.paddingTop = navbarHeight + 'px';
1081                            bodyPadApplied = true;
1082                        }
1083                    }
1084
1085                    function removeFixed() {
1086                        if (stickyTarget.classList.contains('fixed-top')) {
1087                            stickyTarget.classList.remove('fixed-top');
1088                            document.body.style.paddingTop = '';
1089                            bodyPadApplied = false;
1090                        }
1091                    }
1092
1093                    window.addEventListener('scroll', function() {
1094                        if (window.scrollY > navbarTop) {
1095                            applyFixed();
1096                        } else {
1097                            removeFixed();
1098                        }
1099                    });
1100
1101                    window.addEventListener('resize', function() {
1102                        updateStickyOffset();
1103                        if (!stickyTarget.classList.contains('fixed-top')) {
1104                            navbarTop = stickyTarget.getBoundingClientRect().top + window.scrollY;
1105                        }
1106                    });
1107
1108                    if ('ResizeObserver' in window) {
1109                        new ResizeObserver(updateStickyOffset).observe(stickyTarget);
1110                    }
1111
1112                    stickyTarget.querySelectorAll('img').forEach(function(image) {
1113                        if (!image.complete) {
1114                            image.addEventListener('load', updateStickyOffset, { once: true });
1115                        }
1116                    });
1117
1118                    window.addEventListener('load', updateStickyOffset);
1119
1120                    if (window.scrollY > navbarTop) applyFixed();
1121
1122                    if (window.location.hash) {
1123                        window.setTimeout(function() {
1124                            scrollToSkipTarget(window.location.hash);
1125                        }, 0);
1126                    }
1127                }
1128            }
1129        });
1130    }
1131
1132    if (document.readyState === 'loading') {
1133        document.addEventListener('DOMContentLoaded', init);
1134    } else {
1135        init();
1136    }
1137})();
1138</script>
1138</nav></div></div></div></div></div>        <div class="homeHeader clearfix"  >
1139    <div class="container">
1140        <div class="row">
1141                            <div class="col-xs-12 col-sm-12 col-md-4 col-lg-4 hideTablets">
1142                    <div class="procedures">
1143    <div class="contentlist hideTablets">
1144        <div id="Tramits">
1145            <h2>Tràmits</h2>
1146            <a href="https://seu-e.cat/ca/web/montmaneu/tramits-i-gestions/-/tramits/tramit/14676433?p_auth=pUzS8Ih8" target="_blank">
1147    <span class="text">Exercici del dret d'accés</span>
1148</a>
1149<a href="https://seu-e.cat/ca/web/montmaneu/tramits-i-gestions/-/tramits/tramit/14125348?p_auth=pUzS8Ih8" target="_blank">
1150    <span class="text">Sol·licitud d'accés a la informació pública</span>
1151</a>
1152<a href="https://seu-e.cat/ca/web/montmaneu/tramits-i-gestions/-/tramits/tramit/14125378?p_auth=pUzS8Ih8" target="_blank">
1153    <span class="text">Instància genèrica</span>
1154</a>
1155<a href="https://seu-e.cat/ca/web/montmaneu/tramits-i-gestions/-/tramits/tramit/14125338?p_auth=pUzS8Ih8" target="_blank">
1156    <span class="text">Queixes, suggeriments i propostes</span>
1157</a>
1158<a href="https://seu-e.cat/ca/web/montmaneu/tramits-i-gestions/-/tramits/tramit/14125368?p_auth=pUzS8Ih8" target="_blank">
1159    <span class="text">Cita amb càrrec electe o tècnic municipal</span>
1160</a>
1161            <a class="more " href="/serveis-i-tramits/tramits-i-gestions">
1162                Més informació            </a>
1163        </div>
1164    </div>
1165</div>                </div>
1166                <div class="col-xs-12 col-sm-12 col-md-8 col-lg-8">
1167                                    </div>
1168        </div>
1169    </div>
1170</div></div></div></div>  </div></div></div>  </div></div>        </header>
1171                <main id="main-content" tabindex="-1">
1172            <div class="content">
1173                                <div class="container-xl columns">
1174                                        <div class="js-widget o-widget o-widget--body o-widget-contenidor  clearfix boxBX  WidgetContainer " data-id="2" >  <div class="o-widget-wrapper clearfix default-BX   row " data-id="2"><div class="o-widget-container  row"><div class="js-widget o-widget o-widget--cnt-g o-widget-contenidor  o-widget-contenidor--columnes  col-xs-12 col-sm-12 col-md-12 col-lg-12 clearfix boxBX  WidgetContainer " data-id="6" >  <div class="o-widget-wrapper clearfix default-BX   row " data-id="6"><div class="o-widget-container  row"><div class="js-widget o-widget o-widget--cnt_i_g o-widget-contenidor  col-xs-12 col-sm-3 col-md-3 col-lg-3 clearfix boxBX  WidgetContainer " data-id="7" >  <div class="o-widget-wrapper clearfix default-BX   row " data-id="7"><div class="o-widget-container  row"><div class="js-widget o-widget col-xs-12 col-sm-12 col-md-12 col-lg-12 clearfix boxBX  WidgetContentsList " data-id="12" >  <div class="o-widget-wrapper clearfix default-BX   row  o-widget-wrapper--title-top o-widget-wrapper--title-style-text" data-id="12"><div class="o-widget-title-slot o-widget__title"><span>Avisos</span></div><div class="o-widget-container "><div class="js-widget__content o-widget__content clearfix "><div class="dinamic">
1175        <ul class="clear articlelist default">
1176    <li class="article-item col-md-12"><div class="tplDefault ">
1177            <div class="div-img">
1178        <div class="ratio default overflow-hidden img">
1179            <a href="https://www.montmaneu.cat/actualitat/avisos/ban-revetlla-de-sant-joan-2026.html" target="_self"  tabindex="-1">
1180                <span class="visually-hidden">Ban revetlla de Sant Joan 2026</span>
1181                <img src="/media/repository/noticies/BAN_foguera_2026.pdf" alt="" class="card-img thumb img">
1182            </a>
1183        </div>
1184    </div>
1185                <a href="https://www.montmaneu.cat/actualitat/avisos/ban-revetlla-de-sant-joan-2026.html" target="_self" >
1186        <p class="subtitle">Ban revetlla de Sant Joan 2026</p>
1187    </a>
1188                <div class="date">
1189            23/06/2026        </div>
1190        <div class="entradeta ddbbtext"><p style="text-align:justify"><span style="line-height:normal"><span lang="CA" style="font-size:18.0pt"><span arial="" style="font-family:">Davant la situació d’elevat risc d’incendi forestal i amb l’objectiu de garantir la seguretat de les persones, protegir el medi natural i prevenir incen
1190dis forestals, queda suspesa la foguera de Sant Joan prevista per la nit del 23 de juny. </span></span></span></p>
1191</div>            </div>
1192</li>    </ul>
1193    <a class="readMore" href="http://www.domini.cat/ajuntament-seu-electronica/informacio-oficial/bans-i-avisos/" target="_blank">Més avisos</a></div></div></div>  </div></div><div class="js-widget o-widget o-widget--default contentView-29 col-xs-12 col-sm-12 col-md-12 col-lg-12 clearfix boxBX  WidgetExternalRss " data-id="10"  data-load="ajax">  <div class="o-widget-wrapper clearfix default-BX   row  o-widget-wrapper--title-top o-widget-wrapper--title-style-text" data-id="10"><div class="o-widget-title-slot o-widget__title"><span>Tauler d'anuncis</span></div><div class="o-widget-container "><div class="js-widget__content o-widget__content clearfix "></div></div>  </div></div><div class="js-widget o-widget o-widget--banner contentView-2 col-xs-12 col-sm-12 col-md-12 col-lg-12 clearfix boxBX  mobile-none WidgetContentsList " data-id="11" >  <div class="o-widget-wrapper clearfix default-BX   row  o-widget-wrapper--title-top o-widget-wrapper--title-style-text" data-id="11"><div class="o-widget-title-slot o-widget__title"><span>Destacats</span></div><div class="o-widget-container "><div class="js-widget__content o-widget__content clearfix "><div class="dinamic">
1194        <ul class="clear articlelist default">
1195            <li class="tplBanner col-md-12 ">
1196                <a href="https://orgt.diba.cat/ca/Informacio/Xarxaofi/XarxaofiLlista" target="_blank"  title="Obre-ho en pestanya nova" class="clearfix" >
1197                        <span class="visually-hidden">Cita prèvia Orgt</span>
1198            <img src="/media/repository/baners_destacats/allargat/cita.png" alt="Cita prèvia Orgt">
1199        </a>
1200    </li>
1201    <li class="tplBanner col-md-12 ">
1202                <a href="https://www.montmaneu.cat/ajuntament/transparencia/" target="_self"  class="clearfix" >
1203                        <span class="visually-hidden">Portal de transparència</span>
1204            <img src="/media/repository/baners_destacats/allargat/transparencia.png" alt="Portal de transparència">
1205        </a>
1206    </li>
1207    <li class="tplBanner col-md-12 ">
1208                <a href="https://patrimonicultural.diba.cat/municipi/montmaneu" target="_blank"  title="Obre-ho en pestanya nova" class="clearfix" >
1209                        <span class="visually-hidden"></span>
1210            <img src="/media/repository/municipi/Imatge_mapa_patrimoni_cultural.jpg" alt="">
1211        </a>
1212    </li>
1213    </ul>
1214    </div></div></div>  </div></div></div>  </div></div><div class="js-widget o-widget o-widget--cnt_i_g o-widget-contenidor  col-xs-12 col-sm-6 col-md-6 col-lg-6 clearfix boxBX  WidgetContainer " data-id="8" >  <div class="o-widget-wrapper clearfix default-BX   row " data-id="8"><div class="o-widget-container  row"><div class="js-widget o-widget o-widget--mosaicGran contentView-13 col-xs-12 col-sm-12 col-md-12 col-lg-12 clearfix boxBX  WidgetContentsList " data-id="18" >  <div class="o-widget-wrapper clearfix default-BX   row  o-widget-wrapper--title-top o-widget-wrapper--title-style-text" data-id="18"><div class="o-widget-title-slot o-widget__title"><span>Notícies</span></div><div class="o-widget-container "><div class="js-widget__content o-widget__content clearfix "><div class="dinamic">
1215    <ul class="clear article-list mosaic-gran">
1216        <li class="mosaic-gran col-md-12">
1217    <a class="item-noticia" href="https://www.montmaneu.cat/actualitat/noticies/montigual-2026.html" target="_self">
1218      <span class="visually-hidden">MONTIGUAL 2026</span>
1219      <div class="image default">
1220          <div class="default">
1221                        <img src="/media/repository//noticies/montigual-2026.pdf"
1222                alt=""
1223                title="MONTIGUAL 2026"
1224                class="img-responsive-full img"
1225            >
1226                      </div>
1227      </div>
1228    </a>
1229
1230    <div class="item-noticia info">
1231                        <div class="title"  onclick="redirect('https://www.montmaneu.cat/actualitat/noticies/montigual-2026.html','_self')">
1232            MONTIGUAL 2026        </div>
1233                            </div>
1234</li>
1235  </ul>
1236</div></div></div>  </div></div><div class="js-widget o-widget col-xs-12 col-sm-12 col-md-12 col-lg-12 clearfix boxBX  WidgetContentsList " data-id="13" >  <div class="o-widget-wrapper clearfix default-BX   row " data-id="13"><div class="o-widget-container "><div class="js-widget__content o-widget__content clearfix "><div class="dinamic">
1237        <ul class="clear articlelist default">
1238    <li class="article-item col-md-12"><div class="tplDefault ">
1239                    <a href="https://www.montmaneu.cat/actualitat/noticies/montmaneu-viu-una-festa-major-multitudinaria-i-plena-dexit.html" target="_self" >
1240        <p class="subtitle">Montmaneu viu una Festa Major multitudinària i plena d’èxit</p>
1241    </a>
1242                <div class="date">
1243            09/09/2026        </div>
1244        <div class="entradeta ddbbtext"><p style="text-align:justify"><span lang="CA" style="font-size:12.0pt"><span style="line-height:107%"><span style="font-family:&quot;Arial&quot;,sans-serif">Més de 30 activitats per a tots els públics han omplert de vida, cultura i germanor els carrers i places del municipi del 3 al 7 de setembre.</span></span></span></p>
1245</div>            </div>
1246</li><li class="article-item col-md-12"><div class="tplDefault ">
1247            <div class="div-img">
1248        <div class="ratio default overflow-hidden img">
1249            <a href="https://www.montmaneu.cat/actualitat/noticies/montmaneu-ja-disposa-de-mapa-del-patrimoni-cultural-.html" target="_self"  tabindex="-1">
1250                <span class="visually-hidden">MONTMANEU JA DISPOSA DE MAPA DEL PATRIMONI CULTURAL </span>
1251                <img src="/media/repository/noticies/Imatge_mapa_patrimoni_cultural.jpg" alt="Ajuntament de Montmaneu" class="card-img thumb img">
1252            </a>
1253        </div>
1254    </div>
1255                <a href="https://www.montmaneu.cat/actualitat/noticies/montmaneu-ja-disposa-de-mapa-del-patrimoni-cultural-.html" target="_self" >
1256        <p class="subtitle">MONTMANEU JA DISPOSA DE MAPA DEL PATRIMONI CULTURAL </p>
1257    </a>
1258                <div class="date">
1259            13/07/2026        </div>
1260        <div class="entradeta ddbbtext"><p><span style="line-height:150%"><span style="text-autospace:none"><span lang="CA" style="font-size:11.0pt"><span style="line-height:150%">El dia 9 de juliol de 2026, la Diputació de Barcelona ha lliurat el <b>Mapa de Patrimoni Cultural de Montmaneu </b>a l’Ajuntament, fruit del corresponent conveni signat amb el municipi. </span></span></span></span></p>
1261</div>            </div>
1262</li><li class="article-item col-md-12"><div class="tplDefault ">
1263            <div class="div-img">
1264        <div class="ratio default overflow-hidden img">
1265            <a href="https://www.montmaneu.cat/actualitat/noticies/consell-pertards.html" target="_self"  tabindex="-1">
1266                <span class="visually-hidden">Consell pertards</span>
1267                <img src="/media/repository/noticies/consells-revetlla-si_2026.jpg" alt="" class="card-img thumb img">
1268            </a>
1269        </div>
1270    </div>
1271                <a href="https://www.montmaneu.cat/actualitat/noticies/consell-pertards.html" target="_self" >
1272        <p class="subtitle">Consell pertards</p>
1273    </a>
1274                <div class="date">
1275            23/06/2026        </div>
1276        <div class="entradeta ddbbtext"><p><strong>Si</strong></p>
1277</div>            </div>
1278</li><li class="article-item col-md-12"><div class="tplDefault ">
1279            <div class="div-img">
1280        <div class="ratio default overflow-hidden img">
1281            <a href="https://www.montmaneu.cat/actualitat/noticies/consells-pertards-no.html" target="_self"  tabindex="-1">
1282                <span class="visually-hidden">Consells pertards - No</span>
1283                <img src="/media/repository/noticies/consells-revetlla-no_2026.png" alt="" class="card-img thumb img">
1284            </a>
1285        </div>
1286    </div>
1287                <a href="https://www.montmaneu.cat/actualitat/noticies/consells-pertards-no.html" target="_self" >
1288        <p class="subtitle">Consells pertards - No</p>
1289    </a>
1290                <div class="date">
1291            23/06/2026        </div>
1292        <div class="entradeta ddbbtext"><p><strong>No</strong></p>
1293</div>            </div>
1294</li><li class="article-item col-md-12"><div class="tplDefault ">
1295            <div class="div-img">
1296        <div class="ratio default overflow-hidden img">
1297            <a href="https://www.montmaneu.cat/actualitat/noticies/taller-lego-build-the-change.html" target="_self"  tabindex="-1">
1298                <span class="visually-hidden">Taller “Lego Build the change”</span>
1299                <img src="/media/repository/noticies/lego_2.jpg" alt="" class="card-img thumb img">
1300            </a>
1301        </div>
1302    </div>
1303                <a href="https://www.montmaneu.cat/actualitat/noticies/taller-lego-build-the-change.html" target="_self" >
1304        <p class="subtitle">Taller “Lego Build the change”</p>
1305    </a>
1306                <div class="date">
1307            19/05/2026        </div>
1308        <div class="entradeta ddbbtext"><p style="text-align:justify"><span lang="CA" style="font-size:12.0pt"><span style="line-height:107%"><span style="font-family:"Arial",sans-serif">El passat divendres dia 15 de maig a la Sala de Montmaneu, es va fer un taller de “Lego Build the change”, imagina un futur més sostenible.</span></span></span></p>
1309</div>            </div>
1310</li>    </ul>
1311    <a class="readMore" href="/actualitat/noticies/" target="_self">Més notícies</a></div></div></div>  </div></div></div>  </div></div><div class="js-widget o-widget o-widget--cnt_i_g o-widget-contenidor  col-xs-12 col-sm-3 col-md-3 col-lg-3 clearfix boxBX  WidgetContainer " data-id="9" >  <div class="o-widget-wrapper clearfix default-BX   row " data-id="9"><div class="o-widget-container  row"><div class="view-26 js-widget o-widget o-widget--icones contentView-7 col-xs-12 col-sm-12 col-md-12 col-lg-12 clearfix boxBX  WidgetContentsList " data-id="15" >  <div class="o-widget-wrapper clearfix backgroundColor-BX  mt-3  row  o-widget-wrapper--title-top o-widget-wrapper--title-style-text" data-id="15"><div class="o-widget-title-slot o-widget__title"><span>Dreceres</span></div><div class="o-widget-container "><div class="js-widget__content o-widget__content clearfix "><div class="dinamic clearfix">
1312        
1313    <div class="articlelist clearfix icones">
1314        <ul class="row tplIcones">
1315            <li class="col-tplIcones clearfix o-widget--icones__item ">
1316                <a class="clearfix" href="https://twitter.com/ajmontmaneu?lang=es" target="_blank"  title ='Obre-ho en una finestra nova'>
1317            <img class="o-widget--icones__icon clearfix"
1318                 src="/media/repository/baners_destacats/dreceres/gris/twitter.png"
1319                 alt="Ajuntament de Montmaneu">
1320                                            <span class="o-widget--icones__text clearfix">
1321                    Twitter                </span>
1322                                    </a>
1323    </li>
1324    <li class="col-tplIcones clearfix o-widget--icones__item ">
1325                <a class="clearfix" href="https://www.montmaneu.cat/serveis-i-tramits/oficines-municipals/" target="_self"  >
1326            <img class="o-widget--icones__icon clearfix"
1327                 src="/media/repository/baners_destacats/dreceres/gris/telefons-1.png"
1328                 alt="Oficines">
1329                                            <span class="o-widget--icones__text clearfix">
1330                    Oficines                </span>
1331                                    </a>
1332    </li>
1333    <li class="col-tplIcones clearfix o-widget--icones__item ">
1334                <a class="clearfix" href="https://www.montmaneu.cat/el-municipi/com-arribar/" target="_self"  >
1335            <img class="o-widget--icones__icon clearfix"
1336                 src="/media/repository/baners_destacats/dreceres/gris/comarribar.png"
1337                 alt="Com arribar">
1338                                            <span class="o-widget--icones__text clearfix">
1339                    Com arribar                </span>
1340                                    </a>
1341    </li>
1342    <li class="col-tplIcones clearfix o-widget--icones__item ">
1343                <a class="clearfix" href="https://www.montmaneu.cat/altres-continguts/contactar/" target="_self"  >
1344            <img class="o-widget--icones__icon clearfix"
1345                 src="/media/repository/baners_destacats/dreceres/gris/contactar-1.png"
1346                 alt="Contactar">
1347                                            <span class="o-widget--icones__text clearfix">
1348                    Contactar                </span>
1349                                    </a>
1350    </li>
1351        </ul>
1352    </div>
1353    </div></div></div>  </div></div></div>  </div></div></div>  </div></div></div>  </div></div>                </div>
1354            </div>
1355        </main>
1356        <footer id="footer-content" tabindex="-1">
1357            <div class="js-widget o-widget o-widget--footer o-widget-contenidor  clearfix boxBX  WidgetContainer " data-id="3" >  <div class="o-widget-wrapper clearfix default-BX  " data-id="3"><div class="o-widget-container  row"><div class="js-widget o-widget o-widget--footer_g col-xs-12 col-sm-12 col-md-12 col-lg-12 clearfix boxBX  WidgetLegacyFooter " data-id="5" >  <div class="o-widget-wrapper clearfix default-BX  " data-id="5"><div class="o-widget-container "><div class="js-widget__content o-widget__content clearfix "><div class="footer">
1358    <div class="shortcuts">
1359    <div class="container-xl">            
1360        <div class="featuredItem responsiveHeight">
1361    <h2 class="title">RSS</h2>
1362    <p class="subtitle">L'actualitat a un clic</p>
1363    <ul id="cm_rss">
1364        <li style="background-image: url('/themes/montmaneu/images/ico_16_rss.png');">
1365    <a href="/rss/12">
1366           Agenda    </a>
1367</li>
1368<li style="background-image: url('/themes/montmaneu/images/ico_16_rss.png');">
1369    <a href="/rss/15">
1370           Agenda política    </a>
1371</li>
1372<li style="background-image: url('/themes/montmaneu/images/ico_16_rss.png');">
1373    <a href="/rss/13">
1374           Avisos    </a>
1375</li>
1376<li style="background-image: url('/themes/montmaneu/images/ico_16_rss.png');">
1377    <a href="/rss/11">
1378           Notícies    </a>
1379</li>
1380<li style="background-image: url('/themes/montmaneu/images/ico_16_rss.png');">
1381    <a href="/rss/14">
1382           Publicacions    </a>
1383</li>
1384    </ul>
1385</div>
1386<div class="featuredItem responsiveHeight">
1387    <h2 class="title">Adreces i telèfons</h2>
1388    
1389    <img width="96" height="96" src="/themes/montmaneu/images/icons/plugin_home.png" alt="">
1390
1391    <p class="elem_button">
1392        <a href="/adreces-i-telefons" aria-label="Adreces i telèfons">
1393            Accedeix        </a>
1394    </p>
1395</div>
1396<div class="featuredItem">
1397    <h2 class="title">Meteo</h2>
1398    <div id="cm_meteocat">
1399        <ul class="bxslider">
1400            <li>
1401    Dissabte, 3 d’octubre    <img width="80" height="80"
1402        alt="entre poc i mig ennuvolat"
1403        src="/themes/montmaneu/images/meteocat/nuvolina.png"
1404    >
1405    <p>
1406        T.Màx: 24&deg;
1407        <br>
1408        T.Min: 13&deg;
1409    </p>
1410            <p>
1411            Tarda
1412            <img alt="ruixat" width="24" height="24"
1413                src="/themes/montmaneu/images/meteocat/pluja.png"
1414            >
1415        </p>
1416    </li>
1417<li>
1418    Diumenge, 4 d’octubre    <img width="80" height="80"
1419        alt="entre mig i molt ennuvolat"
1420        src="/themes/montmaneu/images/meteocat/nuvol.png"
1421    >
1422    <p>
1423        T.Màx: 23&deg;
1424        <br>
1425        T.Min: 14&deg;
1426    </p>
1427            <p>
1428            Tarda
1429            <img alt="ruixat" width="24" height="24"
1430                src="/themes/montmaneu/images/meteocat/pluja.png"
1431            >
1432        </p>
1433    </li>
1434        </ul>
1435        <div class="outside">
1436            <p><span id="slider-prev"></span><span id="slider-next"></span></p>
1437        </div>
1438
1439    </div>
1440</div>
1441<div class="featuredItem responsiveHeight">
1442    <h2 class="title">Butlletí digital</h2>
1443    <img width="96" height="96" src="/front/view/images/icons/plugin_newsletter.png" alt="">
1444    <p class="elem_button">
1445        <a href="/actualitat/butlleti-digital" aria-label="Butlletí digital">
1446            Subscriu-te        </a>
1447    </p>
1448</div>
1449<div id="cm_planol" class="featuredItem responsiveHeight">
1450    <h2 class="title">Plànol / Carrers</h2>
1451
1452    <img width="96" height="96" src="/themes/montmaneu/images/icons/plugin_map.png" alt="">
1453
1454    <p class="elem_button">
1455        <a href="/el-municipi/guia-de-carrers--planol" aria-label="Plànol">
1456            Accedeix        </a>
1457    </p>
1458</div>
1459    </div>
1460</div>
1461    <div class="hightlights">
1462        <div class="container-xl">
1463            <div class="highlights">
1464    <ul class="bxslider">
1465        <li>
1466        <a href="http://anoiaturisme.cat/" target="_blank" class="banner">
1467            <img src="/media/repository/baners_destacats/portada_peu/anoiaturisme.jpg" alt="http://anoiaturisme.cat/" class="banner">
1468        Anoia Turisme        </a>
1469    </li>
1470<li>
1471        <a href="http://www.farmaguia.net/desktop/" target="_blank" class="banner">
1472            <img src="/media/repository/baners_destacats/portada_peu/farmacies_2.jpg" alt="Farmàcies" class="banner">
1473        Farmàcies de guàrdia        </a>
1474    </li>
1475<li>
1476        <a href="http://www.anoia.cat/" target="_blank" class="banner">
1477            <img src="/media/repository/baners_destacats/portada_peu/consellcanoia.jpg" alt="CC Anoia" class="banner">
1478        Consell Comarcal de l'Anoia        </a>
1479    </li>
1480    </ul>
1481</div>        </div>
1482    </div>
1483    <nav class="menu" aria-label="Peu de menú">
1484        <ul class="container-xl sitemap">
1485            <li class="page-1 Inferior">  <a class="page-1" href="/ajuntament" target="_self" >Ajuntament  </a><ul id="footer-menu-1"><li class="subMenuPage-12">  <a class="subMenuPage-12" href="/ajuntament/alcaldia" target="_self" >Salutació de l'Alcalde  </a></li><li class="subMenuPage-8">  <a class="subMenuPage-8" href="/ajuntament/govern" target="_self" >Govern  </a></li><li class="subMenuPage-80">  <a class="subMenuPage-80" href="/ajuntament/ple-municipal" target="_self" >Ple municipal  </a></li><li class="subMenuPage-18">  <a class="subMenuPage-18" href="/ajuntament/anuncis-edictes" target="_self" >Anuncis / Edictes  </a></li><li class="subMenuPage-26">  <a class="subMenuPage-26" href="/ajuntament/perfil-de-contractant" target="_self" >Perfil de contractant  </a></li><li class="subMenuPage-126">  <a class="subMenuPage-126" href="/ajuntament/normativa" target="_self" >Normativa  </a></li><li class="subMenuPage-122">  <a class="subMenuPage-122" href="/ajuntament/que-es-la-seu-electronica" target="_self" >Seu electrònica  </a></li><li class="subMenuPage-123">  <a class="subMenuPage-123" href="/ajuntament/transparencia" target="_self" >Transparència  </a></li></ul></li><li class="page-10 Inferior">  <a class="page-10" href="/serveis-i-tramits" target="_self" >Serveis i tràmits  </a><ul id="footer-menu-10"><li class="subMenuPage-82">  <a class="subMenuPage-82" href="/serveis-i-tramits/oficines-municipals" target="_self" >Oficines municipals  </a></li><li class="subMenuPage-33">  <a class="subMenuPage-33" href="/serveis-i-tramits/serveis" target="_self" >Serveis  </a></li><li class="subMenuPage-31">  <a class="subMenuPage-31" href="/serveis-i-tramits/tramits-i-gestions" target="_self" >Tràmits i gestions  </a></li><li class="subMenuPage-90">  <a class="subMenuPage-90" href="/serveis-i-tramits/carpeta-ciutadana" target="_self" >Carpeta ciutadana  </a></li><li class="subMenuPage-32">  <a class="subMenuPage-32" href="/serveis-i-tramits/impostos" target="_self" >Impostos  </a></li><li class="subMenuPage-88">  <a class="subMenuPage-88" href="/serveis-i-tramits/factura-electronica" target="_self" >Factura electrònica  </a></li><li class="subMenuPage-140">  <a class="subMenuPage-140" href="/serveis-i-tramits/notificacions-electroniques" target="_self" >Notificacions electròniques  </a></li><li class="subMenuPage-133">  <a class="subMenuPage-133" href="/serveis-i-tramits/finestreta-unica-empresarial-fue" target="_self" >Finestreta Única Empresarial (FUE)  </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-34">  <a class="subMenuPage-34" href="/el-municipi/com-arribar-hi" target="_self" >Com arribar-hi  </a></li><li class="subMenuPage-36">  <a class="subMenuPage-36" href="/el-municipi/guia-de-carrers--planol" target="_self" >Guia de carrers / Plànol  </a></li><li class="subMenuPage-3">  <a class="subMenuPage-3" href="/el-municipi/guia-del-municipi" target="_self" >Guia del municipi  </a></li><li class="subMenuPage-7">  <a class="subMenuPage-7" href="/el-municipi/informacio-del-municipi" target="_self" >Informació del municipi  </a></li><li class="subMenuPage-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/noticies" target="_self" >Notícies  </a></li><li class="subMenuPage-54">  <a class="subMenuPage-54" href="/actualitat/agenda" target="_self" >Agenda  </a></li><li class="subMenuPage-128">  <a class="subMenuPage-128" href="/actualitat/avisos" target="_self" >Avisos  </a></li><li class="subMenuPage-55">  <a class="subMenuPage-55" href="/actualitat/butlleti-digital" target="_self" >Butlletí digital  </a></li><li class="subMenuPage-57">  <a class="subMenuPage-57" href="/actualitat/rss" target="_self" >Rss  </a></li><li class="subMenuPage-58">  <a class="subMenuPage-58" href="/actualitat/hemeroteca" target="_self" >Hemeroteca  </a></li></ul></li>        </ul>
1486    </nav>
1487    <div class="links">
1488        <div class="container-xl">
1489            <div class="row">
1490                <div class="xxss col-md-6 col-sm-6 col-lg-6 middle">                
1491                                    </div>
1492                <div class="col-md-6 col-sm-6 col-lg-6 middle">
1493                    <nav class="menu"><ul id="Inferior2"><li class="page-63">  <a href="/altres-continguts/credits" target="_self" >Crèdits  </a></li><li class="page-62">  <a href="/altres-continguts/contacte" target="_self" >Contacte  </a></li><li class="page-60">  <a href="/altres-continguts/proteccio-de-dades" target="_self" >Protecció de dades  </a></li><li class="page-59">  <a href="/altres-continguts/avis-legal" target="_self" >Avís legal  </a></li><li class="page-61">  <a href="/altres-continguts/accessibilitat" target="_self" >Accessibilitat  </a></li></ul></nav>                </div>
1494            </div>
1495        </div>
1496    </div>
1497    <div class="contact">
1498        <div class="container-xl">
1499            <div class="row">
1500                <address class="address col-md-6 col-sm-6 col-lg-6">
1501    <div class="title">
1502        Ajuntament de Montmaneu    </div>
1503     Carrer de la Panadella, 8<br>08717 Montmaneu<br>Tel. 938 092 010<br>Fax 938 092 010<br>NIF P0813200C<br></address><div class="diba col-md-6 col-sm-6 col-lg-6" id="diba-partner">
1504    <div class="title">
1505        Amb la col·laboració de:    </div>
1506    <a href="http://diba.cat/" target="_blank" aria-label="Anar a la web Diputació de Barcelona" title="Obre en finestra nova: Diputació de Barcelona">
1507        <span style="display: none">Diputació de Barcelona</span>
1508        <img src="/front/view//images/logoDiba/Blanc.svg" alt="Diputació de Barcelona" class="logo-diba">
1509    </a>
1510</div>            </div>
1511        </div>
1512    </div>
1513</div>
1514</div></div>  </div></div></div>  </div></div>        </footer>
1515        <!-- Llibreries de tercers + js propis registrats a AssetManager (jQuery primer) -->
1516<script src="/front/view/js/bower_components/jquery/dist/jquery.min.js?ver=1790945008"></script>
vendor: 1 bytes, line 1516
1516
1517<script src="/front/view/js/bower_components/bootstrap/dist/js/bootstrap.bundle.min.js?ver=1790945008"></script>
vendor: 1 bytes, line 1517
1517
1518<script src="/front/view/js/bower_components/bxslider-4/dist/jquery.bxslider.js?ver=1790945008"></script>
vendor: 1 bytes, line 1518
1518
1519<script src="/front/view/js/bower_components/jscal/index.js?ver=1790945008"></script>
vendor: 1 bytes, line 1519
1519
1520<script src="/common/bower_components/select2/dist/js/select2.min.js?ver=1790945008"></script>
vendor: 1 bytes, line 1520
1520
1521<script src="/common/bower_components/select2/dist/js/i18n/ca.js?ver=1790945008"></script>
vendor: 1 bytes, line 1521
1521
1522<script src="/common/bower_components/strength.js/src/strength.min.js?ver=1790945008"></script>
vendor: 1 bytes, line 1522
1522
1523<script src="/front/view/js/bower_components/masonry-layout/dist/masonry.pkgd.min.js?ver=1790945008"></script>
vendor: 1 bytes, line 1523
1523
1524<script src="/front/view/js/constants.js?ver=1790945008"></script>
vendor: 1 bytes, line 1524
1524
1525<script src="/front/view/js/functions.js?ver=1790945008"></script>
vendor: 1 bytes, line 1525
1525
1526<script src="/front/view/js/functions/footer.js?ver=1790945008"></script>
vendor: 1 bytes, line 1526
1526
1527<script src="/front/view/js/bower_components/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js?ver=1790945008"></script>
vendor: 1 bytes, line 1527
1527
1528<script src="/front/view/js/bower_components/jquery.prettyPhoto/index.js?ver=1790945008"></script>
vendor: 1 bytes, line 1528
1528
1529<script>
1530    $(document).ready(function(){
1531                    $("a[rel^='prettyPhoto']").prettyPhoto();
1532            $("a[rel^='prettyFrame']").prettyPhoto();
1533            });
1534</script>
vendor: 1 bytes, line 1534
1534
1535<script>
1536        var TWITTER = null;
1537            var FACEBOOK = null;
1538        $(window).on("load", function() {
1539        start();
1540    });
1541        
1542    // Initialize Select2 with icon support for category filter
1543    $(document).ready(function() {
1544        if ($('#categoryFilter').length) {
1545            $('#categoryFilter').select2({
1546                templateResult: function(option) {
1547                    if (!option.id) return option.text;
1548                    var icon = $(option.element).data('icon');
1549                    if (!icon) return option.text;
1550                    return $('<span><img src="' + icon + '" style="width: 16px; height: 16px; margin-right: 6px; vertical-align: middle;"> ' + option.text + '</span>');
1551                },
1552                templateSelection: function(option) {
1553                    if (!option.id) return option.text;
1554                    var icon = $(option.element).data('icon');
1555                    if (!icon) return option.text;
1556                    return $('<span><img src="' + icon + '" style="width: 16px; height: 16px; margin-right: 6px; vertical-align: middle;"> ' + option.text + '</span>');
1557                },
1558                allowHtml: true
1559            });
1560        }
1561    });
1562</script>
1562
1563        <!-- CSS final-->
1564
1565        
1565<script>
1566          const css = "html body div.view-26 > .o-widget-wrapper {\n  background-color: rgba(187, 222, 225, 1);\n}\n";
1567          const style = document.createElement('style');
1568          style.textContent = css;
1569          document.head.appendChild(style);
1570        </script>
1570
1571
1572        <!-- Start Modal views-->
1573        
1574        <div class="modal fade" id="videoModal" tabindex="-1" role="dialog"  aria-hidden="true">
1575    <div class="modal-dialog modal-dialog-centered" role="document">
1576        <div class="modal-content">
1577            <div class="modal-header">
1578                <div class="title-head"></div>
1579            </div>
1580            <div class="modal-body">
1581                <div class="tiktok-div-embed"></div>
1582                <iframe id="iframeVideo" title="Vídeo" class="iframeVideo" allowfullscreen></iframe>
1583
1584            </div>
1585            <div class="modal-footer">
1586                <span id="titleVideo" class="titleVideo"></span>
1587                <a id="closeModalVideo" class="close" href="javascript:void(0)" data-bs-dismiss="modal"><span style="display: none">X</span></a>
1588
1589            </div>
1590        </div>
1591    </div>
1592</div>        <div class="modal fade" id="pdfModal" tabindex="-1" role="dialog"  aria-hidden="true">
1593    <div id="documentDialog" class="modal-dialog modal-dialog-centered" role="document">
1594        <div class="modal-content">
1595            <div class="modal-header">
1596                <div class="title-head"></div>
1597            </div>
1598            <div class="modal-body">
1599                <iframe id="iframePdf" title='Document' class="pdfview" style="width: 100%; height: 100%"></iframe>
1600            </div>
1601            <div class="modal-footer">
1602                <span id="titlePdf" class="titlePdf"></span>
1603                <a id="closeModalPDF" class="close" href="javascript:void(0)"><span style="display: none">X</span></a>
1604            </div>
1605        </div>
1606    </div>
1607</div>        <!-- End Modal views -->
1608        
1608<script src="/front/view/js/endScript.js?ver=1790945008"></script>
1608
1609        <!-- Només activar per desenvolupament
1610        
1610<script src="../../../node_modules/axe-core/axe.js"></script>
1610
1611        
1611<script src="../../../dist/my-first-webpack.bundle.js"></script>
1611
1612        -->
1613                
1613<script>
1614            $(document).ready(function () {
1615                startClock(1790945008);
1616                if (typeof (callMenuAfterJQueryLoaded) == "function") {
1617                    callMenuAfterJQueryLoaded();
1618                }
1619                
1620                datepickerInit();
1621                carouselControlSmall();
1622
1623                if (typeof (callMenuBeforeJQueryLoaded) == "function") {
1624                    callMenuBeforeJQueryLoaded();
1625                }
1626
1627                if (typeof (callMenuBeforeTopJQueryLoaded) == "function") {
1628                    callMenuBeforeTopJQueryLoaded();
1629                }
1630                addAttributesDivVcards();
1631                modalsImage();
1632                modalsPdf();
1633                translateWeb();
1634                var carousel = $('#carouselControls');
1635                carousel.on('slide.bs.carousel', function (event) {
1636                    toSlideImage(event);
1637                });
1638                /** Només activar per desenvolupament
1639                axe.configure({
1640                    locale: {
1641                        lang: 'es',
1642                    }
1643                });
1644
1645                axe.run().then(results => {
1646                        if (results.violations.length) {
1647                            console.log(results.violations);
1648                            throw new Error('Accessibility issues found');
1649                        }
1650                    })
1651                    .catch(err => {
1652                        console.log('Something bad happened:', err.message);
1653                    });
1654                */
1655            });
1656
1657            $(window).resize(function() {
1658                equalHeightIconTime();
1659            })
1660        </script>
1660
1661                    </body>
1662</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.