PageSourceSearch

https://www.vallirana.cat/actualitat/noticies/nova-app-per-a-incidencies-a-la-via-publica.html

html vallirana.cat collected 2026-10-02 12:56:27 UTC 138,707 bytes, 1,757 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="Nova APP per a incidències a la via pública - Ajuntament de Vallirana">
8<meta name="description" lang="ca" content="A partir de l&#039;1 d&#039;abril">
9<meta name="author" lang="ca" content="Ajuntament de Vallirana">
10<meta name="date" lang="ca" content="2026-05-12 10:24:48">
11<meta name="generator" lang="ca" content="Ajuntament de Vallirana">
12<meta name="robots" content="index, follow">
13
14        <title>Nova APP per a incidències a la via pública - Ajuntament de Vallirana</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-CN04X5L0MJ
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-CN04X5L0MJ
vendor: 8 bytes, lines 23-24
23');
24    
24// Creates the default tracker.
25    gtag('event', 'page_view', { 'send_to': 'G-CN04X5L0MJ' });
26</script>
26
27<!-- End of code Global Site Tag (gtag.js) - Google Analytics v4-->
28        <link rel="canonical" href="https://www.vallirana.cat/actualitat/noticies/nova-app-per-a-incidencies-a-la-via-publica.html">
29
30        <link rel="stylesheet" href="/front/view/js/bower_components/bootstrap/dist/css/bootstrap.min.css?ver=1790945786">
31<link rel="stylesheet" href="/front/view/js/bower_components/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css?ver=1790945786">
32<link rel="stylesheet" href="/front/view/js/bower_components/bootstrap-icons.min/index.css?ver=1790945786">
33<link rel="stylesheet" href="/front/view/js/bower_components/tempus-dominus.min.css/index.css?ver=1790945786">
34<link rel="stylesheet" href="/common/bower_components/select2/dist/css/select2.min.css?ver=1790945786">
35
36        <!-- Real Favicon Genenrator-->
37<link rel="apple-touch-icon" href="/themes/vallirana/images/favicons/apple-touch-icon.png">
38<link rel="icon" type="image/png" href="/themes/vallirana/images/favicons/favicon-16x16.png" sizes="16x16">
39<link rel="icon" type="image/png" href="/themes/vallirana/images/favicons/favicon-32x32.png" sizes="32x32">
40<link rel="shortcut icon" href="/themes/vallirana/images/favicons/favicon.ico">
41        
41<script src="/front/controller/klaro-config.php"></script>
vendor: 1 bytes, line 41
41
42<script>
43	// Fallback defensiu: si per algun motiu el PHP no retorna la configuració,
44	// assegurem una configuració mínima perquè Klaro no falli i mostri el banner.
45	window.klaroConfig = window.klaroConfig || {
46		version: '1.0',
47		elementID: 'klaro',
48		storageMethod: 'cookie',
49		storageName: 'klaro',
50		cookieName: 'klaro',
51		htmlTexts: true,
52		acceptAll: true,
53		hideDeclineAll: false,
54		services: []
55	};
56</script>
vendor: 1 bytes, line 56
56
57<script src="/front/view/js/klaro.min.js?ver=1790945786"></script>
vendor: 1 bytes, line 57
57
58<script src="/front/view/js/klaro-init.js?ver=1790945786"></script>
58
59
60        <!-- Twitter Card data -->
61<meta name="twitter:card" content="summary">
62<meta name="twitter:title" content="Nova APP per a incidències a la via pública">
63<meta name="twitter:description" content="A partir de l&#039;1 d&#039;abril">
64<meta name="twitter:image" content="https://www.vallirana.cat/media/repository/noticies/00_Noticies_2025/03_marc_2025/3.png">
65    <meta name="twitter:image:alt" content="">
66        <!-- Open Graph data -->
67<meta property="og:title" content="Nova APP per a incidències a la via pública">
68<meta property="og:type" content="article">
69<meta property="og:url" content="https://www.vallirana.cat/actualitat/noticies/nova-app-per-a-incidencies-a-la-via-publica.html">
70<meta property="og:image" content="https://www.vallirana.cat/media/repository/noticies/00_Noticies_2025/03_marc_2025/3.png">
71    <meta property="og:image:alt" content="">
72    <meta property="og:image" content="https://www.vallirana.cat/media/repository/noticies/00_Noticies_2025/03_marc_2025/2.png">
73    <meta property="og:image:alt" content="">
74    <meta property="og:image" content="https://www.vallirana.cat/media/repository/noticies/00_Noticies_2025/03_marc_2025/1.png">
75    <meta property="og:image:alt" content="">
76    <meta property="og:description" content="A partir de l&#039;1 d&#039;abril">
77<meta property="og:site_name" content="Ajuntament de Vallirana">
78
79        <!-- HTML5 compatible tags -->
80<script>
81    document.createElement('header');
82    document.createElement('footer');
83    document.createElement('section');
84    document.createElement('aside');
85    document.createElement('nav');
86    document.createElement('article');
87    document.createElement('hgroup');
88    document.createElement('lh');
89</script>
89
90        
90<script>window.mapsConfig = { layerType: 'OpenStreetMap_Mapnik' };</script>
90
91<link rel="stylesheet" href="/front/view/js/bower_components/FreezeUI/freeze-ui.min.css">
92<link rel="stylesheet" href="/front/view/js/bower_components/Leaflet/default/leaflet.css">
93<link rel="stylesheet" href="/front/view/js/bower_components/Leaflet/default/Control.Loading.css">
94<script  src="/front/view/js/bower_components/FreezeUI/freeze-ui.min.js"></script>
vendor: 1 bytes, line 94
94
95<script  src="/front/view/js/bower_components/Leaflet/default/leaflet.js"></script>
vendor: 1 bytes, line 95
95
96<script src="/front/view/js/bower_components/es6-promise/es6-promise.min.js"></script>
vendor: 1 bytes, line 96
96
97<script>ES6Promise.polyfill();</script>
vendor: 1 bytes, line 97
97
98<script  src='/front/view/js/bower_components/Leaflet/default/Leaflet.GoogleMutant.js'></script>
vendor: 1 bytes, line 98
98
99<script src="/front/view/js/googleMapsInit.js"></script>
vendor: 1 bytes, line 99
99
100<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 100
100
101<script  src="/front/view/js/bower_components/Leaflet/default/leaflet.maps.js"></script>
vendor: 1 bytes, line 101
101
102<script  src="/front/view/js/bower_components/Leaflet/default/leaflet.clone.js"></script>
vendor: 1 bytes, line 102
102
103<script  src="/front/view/js/bower_components/Leaflet/default/Control.Loading.js"></script>
vendor: 1 bytes, line 103
103
104<script src="/front/view/js/bower_components/jquery.min/index.js"></script>
vendor: 1 bytes, line 104
104
105<script src="/front/view/js/maps.js"></script>
105        <!-- Init addHeadExtraStyles -->
106        <style>html body{font-size:1em !important;} </style>
107        <!-- End addHeadExtraStyles -->
108        <!-- Font Awesome 7 + v4-shims for backward compatibility -->
109        <link href="https://cdn.jsdelivr.net/npm/@fortawesome/[email protected]/css/all.min.css" rel="stylesheet">
110        <link href="https://cdn.jsdelivr.net/npm/@fortawesome/[email protected]/css/v4-shims.min.css" rel="stylesheet">
111        <!-- Popperjs + Tempus Dominus -->
112        
112<script src="/front/view/js/bower_components/popper.min/index.js?ver=1790945786"></script>
vendor: 1 bytes, line 112
112
113<script src="/front/view/js/bower_components/tempus-dominus.min.js/index.js?ver=1790945786"></script>
113
114                <link rel="stylesheet" media="all" href="/themes/vallirana/styles/style.min.css?ver=1790945786">
115            </head>
116    <body class="article id-11049 noticies">
117        <nav class="skip-links" aria-label="Dreceres d&#039;accessibilitat"><ul><li><a href="#site-header">Saltar a la capçalera</a></li><li><a href="#readspeakerPage">Saltar al contingut</a></li><li><a href="#page-images">Saltar a imatges</a></li><li><a href="#footer-content">Saltar al peu de pàgina</a></li></ul></nav>        <header id="site-header" tabindex="-1">
118                                    <div class="toolbar clearfix">
119    <div class="container-xl">
120                <div class="fright">
121            <div class="toolbarItem">
122    <div class="toolbarItem page-62 page-contacte">
123    <a 
124        href="/altres-continguts/contacte"
125        target="_self"
126        rel=""
127            >
128        Contacte    </a>
129</div>
130</div>                        <div id="social" class="toolbarItem">
131                  
132    <a target="_blank" aria-label="Twitter" href="https://twitter.com/vallirana?lang=ca" title="Obre en finestra nova: Twitter">
133        <span style="display: none">Twitter</span>
134        <img src="/front/view/images/icons/social/twitter.png" alt="Twitter" width="32" height="32">
135    </a>
136  
137    <a target="_blank" aria-label="Facebook" href="https://www.facebook.com/AjuntamentVallirana/" title="Obre en finestra nova: Facebook">
138        <span style="display: none">Facebook</span>
139        <img src="/front/view/images/icons/social/facebook.png" alt="Facebook" width="32" height="32">
140    </a>
141  
142    <a target="_blank" aria-label="Youtube" href="https://www.youtube.com/user/AjuntamentVallirana" title="Obre en finestra nova: Youtube">
143        <span style="display: none">Youtube</span>
144        <img src="/front/view/images/icons/social/youtube.png" alt="Youtube" width="32" height="32">
145    </a>
146  
147    <a target="_blank" aria-label="Instagram" href="https://www.instagram.com/ajvallirana/" title="Obre en finestra nova: Instagram">
148        <span style="display: none">Instagram</span>
149        <img src="/front/view/images/icons/social/instagram.png" alt="Instagram" width="32" height="32">
150    </a>
151            </div>
152                        <div class="toolbarItem">
153                <div id="toolbarLanguages">
154    <ul id="languages">
155        <li><a href="#" role="button" aria-expanded="false" aria-controls="languagesList" id="languagesToggle">Idiomes</a>
156            <ul id="languagesList">
157                                    <li><a class="link-language" href="https://www.vallirana.cat/actualitat/noticies/nova-app-per-a-incidencies-a-la-via-publica.html?lang=ca" data-target="https://www.vallirana.cat/actualitat/noticies/nova-app-per-a-incidencies-a-la-via-publica.html?lang=ca">Català</a></li>
158                                    <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.vallirana.cat/actualitat/noticies/nova-app-per-a-incidencies-a-la-via-publica.html&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.vallirana.cat/actualitat/noticies/nova-app-per-a-incidencies-a-la-via-publica.html&amp;sl=ca&amp;tl=es">Castellà</a></li>
159                                    <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.vallirana.cat/actualitat/noticies/nova-app-per-a-incidencies-a-la-via-publica.html&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.vallirana.cat/actualitat/noticies/nova-app-per-a-incidencies-a-la-via-publica.html&amp;sl=ca&amp;tl=en">Anglès</a></li>
160                                    <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.vallirana.cat/actualitat/noticies/nova-app-per-a-incidencies-a-la-via-publica.html&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.vallirana.cat/actualitat/noticies/nova-app-per-a-incidencies-a-la-via-publica.html&amp;sl=ca&amp;tl=de">Alemany</a></li>
161                                    <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.vallirana.cat/actualitat/noticies/nova-app-per-a-incidencies-a-la-via-publica.html&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.vallirana.cat/actualitat/noticies/nova-app-per-a-incidencies-a-la-via-publica.html&amp;sl=ca&amp;tl=fr">Francès</a></li>
162                            </ul>
163        </li>
164    </ul>
165</div>
166<script>
167(function () {
168    var toggle = document.getElementById('languagesToggle');
169    if (!toggle) return;
170    var li = toggle.parentElement;
171    var submenu = li.querySelector('ul');
172    var links = Array.prototype.slice.call(submenu.querySelectorAll('a'));
173
174    function keyName(e) {
175        return e.key || e.code || e.keyCode;
176    }
177
178    function isSpaceKey(e) {
179        var key = keyName(e);
180        return key === ' ' || key === 'Spacebar' || key === 'Space' || key === 32;
181    }
182
183    function open(focusFirst) {
184        li.classList.add('is-open');
185        submenu.style.display = 'block';
186        submenu.style.padding = '1em';
187        toggle.setAttribute('aria-expanded', 'true');
188        if (focusFirst && links.length) links[0].focus();
189    }
190
191    function close() {
192        li.classList.remove('is-open');
193        submenu.style.display = '';
194        submenu.style.padding = '';
195        toggle.setAttribute('aria-expanded', 'false');
196    }
197
198    function isOpen() {
199        return toggle.getAttribute('aria-expanded') === 'true';
200    }
201
202    function focusLink(index) {
203        if (!links.length) return;
204        links[(index + links.length) % links.length].focus();
205    }
206
207    function focusedLinkIndex() {
208        return links.indexOf(document.activeElement);
209    }
210
211    toggle.addEventListener('click', function (e) {
212        e.preventDefault();
213        isOpen() ? close() : open(false);
214    });
215
216    toggle.addEventListener('keydown', function (e) {
217        var key = keyName(e);
218        if (key === 'Enter' || isSpaceKey(e)) {
219            e.preventDefault();
220            isOpen() ? close() : open(false);
221        } else if (key === 'ArrowDown' || key === 40) {
222            e.preventDefault();
223            open(true);
224        } else if (key === 'ArrowUp' || key === 38) {
225            e.preventDefault();
226            open(false);
227            focusLink(links.length - 1);
228        } else if (key === 'Escape' || key === 'Esc' || key === 27) {
229            if (isOpen()) {
230                e.preventDefault();
231                close();
232            }
233        }
234    });
235
236    submenu.addEventListener('keydown', function (e) {
237        var key = keyName(e);
238        var index = focusedLinkIndex();
239
240        if (key === 'ArrowDown' || key === 40) {
241            e.preventDefault();
242            focusLink(index + 1);
243        } else if (key === 'ArrowUp' || key === 38) {
244            e.preventDefault();
245            focusLink(index - 1);
246        } else if (key === 'Home' || key === 36) {
247            e.preventDefault();
248            focusLink(0);
249        } else if (key === 'End' || key === 35) {
250            e.preventDefault();
251            focusLink(links.length - 1);
252        } else if (isSpaceKey(e)) {
253            e.preventDefault();
254            if (document.activeElement && document.activeElement.click) {
255                document.activeElement.click();
256            }
257        } else if (key === 'Escape' || key === 'Esc' || key === 27) {
258            e.preventDefault();
259            close();
260            toggle.focus();
261        }
262    });
263
264    li.addEventListener('focusout', function () {
265        window.setTimeout(function () {
266            if (!li.contains(document.activeElement)) close();
267        }, 0);
268    });
269
270    document.addEventListener('click', function (e) {
271        if (!li.contains(e.target)) close();
272    });
273})();
274</script>
274
275                <div class="currentDate" style='padding:9px;color:white'>
276    <span id="clock" class="clock" title='Data i hora oficial' >
277        02.10.2026 | 14:56    </span>
278</div>            </div>
279        </div>
280    </div>
281</div>
282<div class="header ">
283    <div class="branding">
284        <div class="container-xl">
285            <div class="row">
286                <div class="col-md-8 col-sm-8 col-lg-8 logo_box">
287    <a class="logo" href="/" aria-label="Ajuntament de Vallirana - Pàgina d'inici">
288        <img src="/themes/vallirana/images/logos/header.png" alt="" width="355" height="115" id="mainLogo">
289    </a>
290    </div>                <div class="col-md-4 col-sm-4 col-lg-4 middle search_box">
291    <form id="search_box" aria-label="Cercar:" name="search_box" method="get" action="/search">
292        <label for="search" accesskey="4">
293            <span class="visually-hidden">Cercar:</span>
294        </label>
295        <input id="search" name="search" type="text" aria-label="Cercar:" title="Cerca a tot el web" value="" placeholder="Cercar...">
296        <button type="submit" class="search-button" aria-label="Cerca"><i class="fa fa-search"></i></button>
297    </form>
298</div>
299            </div>
300        </div>
301    </div>
302        <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/salutacio-de-lalcaldessa" ><span class="menu-flexible__item-text">Salutació de l&#039;alcaldessa</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/codi-de-conducta-i-bon-govern" ><span class="menu-flexible__item-text">Codi de Conducta i Bon Govern</span></a></li><li class="menu-flexible__item page-14 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern/regidories-organitzacio-municipal" ><span class="menu-flexible__item-text">Regidories</span></a></li><li class="menu-flexible__item page-115 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern/informacio-dels-regidors-i-regidores" ><span class="menu-flexible__item-text">Informació dels regidors i regidores</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-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-202 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern/carrecs-de-confianca" ><span class="menu-flexible__item-text">Càrrecs de confiança</span></a></li><li class="menu-flexible__item page-201 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern/memories-anuals" ><span class="menu-flexible__item-text">Memòries Anuals</span></a></li><li class="menu-flexible__item page-81 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern/organismes-dependents-o-vinculats" ><span class="menu-flexible__item-text">Organismes dependents o vinculats</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-15 level2"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/grups-municipals" ><span class="menu-flexible__item-text">Grups municipals</span></a></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">
302Ple municipal</span></a></li><li class="menu-flexible__item page-20 level2"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/juntes-de-govern" ><span class="menu-flexible__item-text">Juntes de govern</span></a></li><li class="menu-flexible__item page-168 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/ocupacio" ><span class="menu-flexible__item-text">Ocupació</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-247 level3"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/ocupacio/oferta-publica" ><span class="menu-flexible__item-text">Oferta Pública</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-291 level4"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://seu-e.cat/ca/web/vallirana/govern-obert-i-transparencia/informacio-institucional-i-organitzativa/empleats-publics/resultats-de-les-convocatories-de-personal" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Proves processos de selecció i criteris de correcció </span><i class="align-middle fa fa-external-link ms-2"></i></a></li></ul></li><li class="menu-flexible__item page-215 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/ocupacio/plans-ocupacio" ><span class="menu-flexible__item-text">Plans ocupació</span></a></li></ul></li><li class="menu-flexible__item page-167 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/participacio-ciutadana" ><span class="menu-flexible__item-text">Participació Ciutadana</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-327 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/participacio-ciutadana/pressupostos-participatius-2026" ><span class="menu-flexible__item-text">Pressupostos Participatius 2026</span></a></li><li class="menu-flexible__item page-328 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/participacio-ciutadana/pressupostos-participatius-joves-2026" ><span class="menu-flexible__item-text">Pressupostos Participatius Joves 2026</span></a></li><li class="menu-flexible__item page-251 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/participacio-ciutadana/normativa-" ><span class="menu-flexible__item-text">Normativa </span></a></li><li class="menu-flexible__item page-252 level3"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://participa311-vallirana.diba.cat/" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Plataforma de Participació Ciutadana - Participa 311</span><i class="align-middle fa fa-external-link ms-2"></i></a></li><li class="menu-flexible__item page-257 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/participacio-ciutadana/resultats-processos-participatius" ><span class="menu-flexible__item-text">Resultats processos participatius</span></a></li><li class="menu-flexible__item page-253 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/participacio-ciutadana/elaboracio-de-normes" ><span class="menu-flexible__item-text">Elaboració de normes</span></a></li><li class="menu-flexible__item page-254 level3"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/participacio-ciutadana/historic-accions-de-participacio-ciutadana" ><span class="menu-flexible__item-text">Històric accions de Participació Ciutadana</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-312 level4"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/participacio-ciutadana/historic-accions-de-participacio-ciutadana/consultes-populars-2025" ><span class="menu-flexible__item-text">Consultes populars 2025</span></a></li></ul></li><li class="menu-flexible__item page-255 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/participacio-ciutadana/organs-de-participacio" ><span class="menu-flexible__item-text">Òrgans de participació</span></a></li></ul></li><li class="menu-flexible__item page-203 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/pla-actuacio-municipal" ><span class="menu-flexible__item-text">
302Pla Actuació Municipal</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-310 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/pla-actuacio-municipal/pam-2023-2027" ><span class="menu-flexible__item-text">PAM 2023-2027</span></a></li><li class="menu-flexible__item page-308 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/pla-actuacio-municipal/pam-2019-2023" ><span class="menu-flexible__item-text">PAM 2019-2023</span></a></li></ul></li><li class="menu-flexible__item page-16 level2"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/plans-campanyes-i-programes" ><span class="menu-flexible__item-text">Plans, campanyes i programes</span></a></li><li class="menu-flexible__item page-164 level2"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/patrimoni-municipal-inventari" ><span class="menu-flexible__item-text">Patrimoni Municipal - Inventari</span></a></li><li class="menu-flexible__item page-162 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/convenis" ><span class="menu-flexible__item-text">Convenis</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-319 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/convenis/convenis-2025" ><span class="menu-flexible__item-text">Convenis 2025</span></a></li><li class="menu-flexible__item page-303 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/convenis/convenis-2024" ><span class="menu-flexible__item-text">Convenis 2024</span></a></li><li class="menu-flexible__item page-280 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/convenis/convenis-2023" ><span class="menu-flexible__item-text">Convenis 2023</span></a></li><li class="menu-flexible__item page-272 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/convenis/convenis-2022" ><span class="menu-flexible__item-text">Convenis 2022</span></a></li><li class="menu-flexible__item page-223 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/convenis/convenis-2021" ><span class="menu-flexible__item-text">Convenis 2021</span></a></li><li class="menu-flexible__item page-221 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/convenis/convenis-2020" ><span class="menu-flexible__item-text">Convenis 2020</span></a></li><li class="menu-flexible__item page-220 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/convenis/convenis-2019" ><span class="menu-flexible__item-text">Convenis 2019</span></a></li></ul></li><li class="menu-flexible__item page-165 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/subvencions" ><span class="menu-flexible__item-text">Subvencions</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-284 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/subvencions/subvencio-foment-de-locupacio-i-de-lactivitat-economica-2024" ><span class="menu-flexible__item-text">Subvenció Foment de l&#039;Ocupació i de l&#039;Activitat Econòmica 2024</span></a></li></ul></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-324 level2"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://www.vallirana.cat/ajuntament/perfil-de-contractant" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Contractació Pública</span><i class="align-middle fa fa-external-link ms-2"></i></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-166 level2"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/retiment-de-comptes" ><span class="menu-flexible__item-text">Retiment de comptes</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/vallirana/govern-obert-i-transparencia/accio-de-govern-i-normativa/normativa-plans-i-programes/ordenances-reguladores-i-reglaments" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Normativa / Ordenances Generals</span><i class="align-middle fa fa-external-link ms-2"></i></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/vallirana/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><i class="align-middle fa fa-external-link ms-2"></i></a></li><li class="menu-flexible__item page-288 level3"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://seu-e.cat/ca/web/vallirana/govern-obert-i-transparencia/accio-de-govern-i-normativa/accio-de-govern-i-grups-politics/resolucions-i-decrets" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Resolucions i decrets</span><i class="align-middle fa fa-external-link ms-2"></i></a></li><li class="menu-flexible__item page-246 level3"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://www.seu-e.cat/ca/web/vallirana/govern-obert-i-transparencia/accio-de-govern-i-normativa/accio-de-govern-i-partits-politics/resolucions-administratives-judicials-i-rellevants" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Resolucions judicials</span><i class="align-middle fa fa-external-link ms-2"></i></a></li><li class="menu-flexible__item page-28 level3"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://www.seu-e.cat/web/vallirana/govern-obert-i-transparencia/accio-de-govern-i-normativa/urbanisme" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Urbanisme</span><i class="align-middle fa fa-external-link ms-2"></i></a></li></ul></li><li class="menu-flexible__item page-122 level2"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://vallirana.eadministracio.cat/info.0" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Seu electrònica</span><i class="align-middle fa fa-external-link ms-2"></i></a></li><li class="menu-flexible__item page-123 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/transparencia" ><span class="menu-flexible__item-text">Transparència</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-305 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/transparencia/segell-infoparticipa" ><span class="menu-flexible__item-text">Segell Infoparticipa</span></a></li><li class="menu-flexible__item page-320 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/transparencia/bustia-etica-canal-dalertes" ><span class="menu-flexible__item-text">Bústia ètica (Canal d&#039;alertes)</span></a></li></ul></li><li class="menu-flexible__item page-225 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/225-paes" ><span class="menu-flexible__item-text">PAES</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-224 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/225-paes/paes-vallirana" ><span class="menu-flexible__item-text">PAES VALLIRANA</span></a></li><li class="menu-flexible__item page-261 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/225-paes/installacio-plaques-solars" ><span class="menu-flexible__item-text">INSTAL·LACIÓ PLAQUES SOLARS</span></a></li></ul></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-256 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/serveis-i-tramits/oficina-datencio-ciutadana-oac" ><span class="menu-flexible__item-text">Oficina d&#039;Atenció Ciutadana (OAC)</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-258 level3"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/oficina-datencio-ciutadana-oac/tramits-de-padro" ><span class="menu-flexible__item-text">Tràmits de padró</span></a></li></ul></li><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-140 level2"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/cataleg-i-cartes-de-serveis" ><span class="menu-flexible__item-text">Catàleg i Cartes de Serveis</span></a></li><li class="menu-flexible__item page-304 level2"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/queixes-i-suggeriments" ><span class="menu-flexible__item-text">Queixes i suggeriments</span></a></li><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-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-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></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" ><span class="menu-flexible__item-text">Com arribar</span></a></li><li class="menu-flexible__item page-35 level2"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/transport-public" ><span class="menu-flexible__item-text">Transport públic</span></a></li><li class="menu-flexible__item page-36 level2"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/planol--guia-de-carrers" ><span class="menu-flexible__item-text">Plànol / Guia de carrers</span></a></li><li class="menu-flexible__item page-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-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-198 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-del-municipi/farmacies" ><span class="menu-flexible__item-text">Farmàcies</span></a></li><li class="menu-flexible__item page-42 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-del-municipi/subministraments" ><span class="menu-flexible__item-text">Subministraments</span></a></li><li class="menu-flexible__item page-43 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-del-municipi/emergencie
302s-i-avaries" ><span class="menu-flexible__item-text">Emergències i avaries</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-157 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/informacio-del-municipi/masies-i-capelles" ><span class="menu-flexible__item-text">Masies i capelles</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/introduccio" ><span class="menu-flexible__item-text">Introducció</span></a></li><li class="menu-flexible__item page-46 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/informacio-del-municipi/historia" ><span class="menu-flexible__item-text">Història</span></a></li><li class="menu-flexible__item page-47 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/informacio-del-municipi/el-municipi-en-xifres" ><span class="menu-flexible__item-text">El municipi en xifres</span></a></li><li class="menu-flexible__item page-49 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/informacio-del-municipi/patrimoni-cultural" ><span class="menu-flexible__item-text">Patrimoni cultural</span></a></li></ul></li><li class="menu-flexible__item page-131 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/el-municipi/turisme" ><span class="menu-flexible__item-text">Turisme</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-153 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/turisme/presentacio-i-salutacio" ><span class="menu-flexible__item-text">Presentació i salutació</span></a></li><li class="menu-flexible__item page-321 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/turisme/nou-pla-estrategic-de-turisme" ><span class="menu-flexible__item-text">Nou Pla Estratègic de Turisme</span></a></li><li class="menu-flexible__item page-248 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/turisme/biosphere-compromis-amb-la-sostenibilitat" ><span class="menu-flexible__item-text">Biosphere - Compromís amb la sostenibilitat</span></a></li><li class="menu-flexible__item page-50 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/turisme/festes" ><span class="menu-flexible__item-text">Festes</span></a></li><li class="menu-flexible__item page-154 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/turisme/fires" ><span class="menu-flexible__item-text">Fires</span></a></li><li class="menu-flexible__item page-151 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/turisme/esdeveniments-esportius" ><span class="menu-flexible__item-text">Esdeveniments esportius</span></a></li><li class="menu-flexible__item page-41 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/turisme/llocs-dinteres" ><span class="menu-flexible__item-text">Llocs d&#039;interès</span></a></li><li class="menu-flexible__item page-129 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/turisme/rutes" ><span class="menu-flexible__item-text">Rutes</span></a></li><li class="menu-flexible__item page-158 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/turisme/entorn-natural" ><span class="menu-flexible__item-text">Entorn natural</span></a></li></ul></li><li class="menu-flexible__item page-93 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/el-municipi/barris" ><span class="menu-flexible__item-text">Barris</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-274 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/barris/activitats-als-barris" ><span class="menu-flexible__item-text">Activitats als barris</span></a></li><li class="menu-flexible__item page-172 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/barris/can-batlle" ><span class="menu-flexible__item-text">Can Batlle</span></a></li><li class="menu-flexible__item page-173 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/barris/can-julia" ><span class="menu-flexible__item-text">Can Julià</span></a></li><li class="menu-flexible__item page-174 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/barris/can-rovira" ><span class="menu-flexible__item-text">Can Rovira</span></a></li><li class="menu-flexible__item page-175 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/barris/centre-urba" ><span class="menu-flexible__item-text">Centre urbà</span></a></li><li class="menu-flexible__item page-176 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/barris/casetes-montane" ><span class="menu-flexible__item-text">Casetes Montané</span></a></li><li class="menu-flexible__item page-148 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/barris/148-el-lledoner" ><span class="menu-flexible__item-text">
302El Lledoner</span></a></li><li class="menu-flexible__item page-177 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/barris/el-mirador" ><span class="menu-flexible__item-text">El Mirador</span></a></li><li class="menu-flexible__item page-178 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/barris/els-pinars" ><span class="menu-flexible__item-text">Els Pinars</span></a></li><li class="menu-flexible__item page-179 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/barris/inter-club" ><span class="menu-flexible__item-text">Inter Club</span></a></li><li class="menu-flexible__item page-180 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/barris/la-llibra-casanova" ><span class="menu-flexible__item-text">La Llibra Casanova</span></a></li><li class="menu-flexible__item page-181 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/barris/la-pinatella" ><span class="menu-flexible__item-text">La Pinatella</span></a></li><li class="menu-flexible__item page-182 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/barris/la-solana" ><span class="menu-flexible__item-text">La Solana</span></a></li><li class="menu-flexible__item page-183 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/barris/la-soleia" ><span class="menu-flexible__item-text">La Soleia</span></a></li><li class="menu-flexible__item page-149 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/barris/149-les-bassioles" ><span class="menu-flexible__item-text">Les Bassioles</span></a></li><li class="menu-flexible__item page-184 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/barris/mas-de-les-fonts" ><span class="menu-flexible__item-text">Mas de les Fonts</span></a></li><li class="menu-flexible__item page-185 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/barris/mas-rovira" ><span class="menu-flexible__item-text">Mas Rovira</span></a></li><li class="menu-flexible__item page-186 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/barris/penya-forcada" ><span class="menu-flexible__item-text">Penya Forcada</span></a></li><li class="menu-flexible__item page-187 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/barris/pla-de-pelag" ><span class="menu-flexible__item-text">Pla de Pèlag</span></a></li><li class="menu-flexible__item page-188 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/barris/poligon-industrial" ><span class="menu-flexible__item-text">Polígon Industrial</span></a></li><li class="menu-flexible__item page-189 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/barris/selva-negra" ><span class="menu-flexible__item-text">Selva Negra</span></a></li><li class="menu-flexible__item page-190 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/barris/vall-del-sol" ><span class="menu-flexible__item-text">Vall del Sol</span></a></li><li class="menu-flexible__item page-191 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/barris/vallirana-parc" ><span class="menu-flexible__item-text">Vallirana Parc</span></a></li></ul></li><li class="menu-flexible__item page-156 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/el-municipi/galeries" ><span class="menu-flexible__item-text">Galeries</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-301 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/galeries/galeria-fotos-nit-de-lesport-2024" ><span class="menu-flexible__item-text">Galeria Fotos Nit de l&#039;Esport 2024</span></a></li><li class="menu-flexible__item page-326 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/galeries/galeria-fotos-nit-de-lesport-2025" ><span class="menu-flexible__item-text">Galeria Fotos Nit de l&#039;
302Esport 2025</span></a></li><li class="menu-flexible__item page-260 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/galeries/quedat-a-vallirana" ><span class="menu-flexible__item-text">Queda&#039;t a Vallirana</span></a></li><li class="menu-flexible__item page-155 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/galeries/galeria-de-fotos-de-cova-bonica" ><span class="menu-flexible__item-text">Galeria de fotos de  Cova bonica</span></a></li><li class="menu-flexible__item page-199 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/galeries/galeria-fotos-historia-de-vallirana" ><span class="menu-flexible__item-text">Galeria Fotos Història de Vallirana</span></a></li><li class="menu-flexible__item page-200 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/galeries/galeria-fotos-variant-de-vallirana" ><span class="menu-flexible__item-text">Galeria Fotos Variant de Vallirana</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-315 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/proces-participatiu-nou-poum" ><span class="menu-flexible__item-text">Procés participatiu nou POUM</span></a></li><li class="menu-flexible__item page-292 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/refugis-climatics" ><span class="menu-flexible__item-text">Refugis climàtics</span></a></li><li class="menu-flexible__item page-313 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/onada-de-calor" ><span class="menu-flexible__item-text">Onada de Calor</span></a></li><li class="menu-flexible__item page-314 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/prevencio-duprocim-incendis-forestals" ><span class="menu-flexible__item-text">Prevenció: DUPROCIM - Incendis forestals</span></a></li><li class="menu-flexible__item page-273 level2"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="http://www.vallirana.cat/ajuntament/225-paes/installacio-plaques-solars/" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Instal·lació plaques solars</span><i class="align-middle fa fa-external-link ms-2"></i></a></li><li class="menu-flexible__item page-277 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/agenda-urbana-de-vallirana" ><span class="menu-flexible__item-text">Agenda Urbana de Vallirana</span></a></li><li class="menu-flexible__item page-213 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/actualitat/subministrament-aigua-potable" ><span class="menu-flexible__item-text">Subministrament aigua potable</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-300 level3"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/subministrament-aigua-potable/afectacions-obres-aigua" ><span class="menu-flexible__item-text">Afectacions obres aigua</span></a></li><li class="menu-flexible__item page-294 level3"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/subministrament-aigua-potable/bans-municipals-situacio-aigua" ><span class="menu-flexible__item-text">Bans municipals - Situació aigua</span></a></li><li class="menu-flexible__item page-299 level3"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/subministrament-aigua-potable/reserves-daigua-pous-i-consums" ><span class="menu-flexible__item-text">Reserves d&#039;aigua (pous i consums)</span></a></li><li class="menu-flexible__item page-317 level3"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/actualitat/subministrament-aigua-potable/memoria-eficacia-hidraulica" ><span class="menu-flexible__item-text">Memòria eficàcia hidràulica</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-318 level4"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/subministrament-aigua-potable/memoria-eficacia-hidraulica/historic-auditories-eficiencia-hidraulica" ><span class="menu-flexible__item-text">Històric Auditories Eficiència Hidràulica</span></a></li></ul></li><li class="menu-flexible__item page-296 level3"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/subministrament-aigua-potable/comissio-per-la-connexio-amb-atll-i-per-lestalvi-daigua" ><span class="menu-flexible__item-text">Comissió per la connexió amb ATLL i per l&#039;estalvi d&#039;aigua</span></a></li><li class="menu-flexible__item page-297 level3"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/subministrament-aigua-potable/connexio-amb-la-xarxa-atll" ><span class="menu-flexible__item-text">Connexió amb la xarxa ATLL</span></a></li><li class="menu-flexible__item page-285 level3"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/subministrament-aigua-potable/accions-de-lajuntament-en-situacio-de-sequera" ><span class="menu-flexible__item-text">Accions de l&#039;Ajuntament en situació de sequera</span></a></li><li class="menu-flexible__item page-287 level3"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/subministrament-aigua-potable/bones-practiques-en-lestalvi-daigua" ><span class="menu-flexible__item-text">Bones pràctiques en l&#039;estalvi d&#039;aigua</span></a></li><li class="menu-flexible__item page-293 level3"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/actualitat/subministrament-aigua-potable/analitiques-aigua" ><span class="menu-flexible__item-text">Analítiques aigua</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-239 level4"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/subministrament-aigua-potable/analitiques-aigua/zs-can-prunera" ><span class="menu-flexible__item-text">ZS Can Prunera</span></a></li><li class="menu-flexible__item page-236 level4"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/subministrament-aigua-potable/analitiques-aigua/zs-la-solana-1-2" ><span class="menu-flexible__item-text">ZS La Solana 1-2</span></a></li><li class="menu-flexible__item page-237 level4"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/subministrament-aigua-potable/analitiques-aigua/zs-la-solana-3" ><span class="menu-flexible__item-text">ZS la Solana 3</span></a></li><li class="menu-flexible__item page-240 level4"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/subministrament-aigua-potable/analitiques-aigua/zs-lledoner" ><span class="menu-flexible__item-text">
302ZS Lledoner</span></a></li><li class="menu-flexible__item page-238 level4"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/subministrament-aigua-potable/analitiques-aigua/zs-mas-de-les-fonts" ><span class="menu-flexible__item-text">ZS Mas de les Fonts</span></a></li><li class="menu-flexible__item page-233 level4"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/subministrament-aigua-potable/analitiques-aigua/zs-mirador" ><span class="menu-flexible__item-text">ZS Mirador</span></a></li><li class="menu-flexible__item page-235 level4"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/subministrament-aigua-potable/analitiques-aigua/zs-vallirana-nord" ><span class="menu-flexible__item-text">ZS Vallirana Nord</span></a></li><li class="menu-flexible__item page-234 level4"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/subministrament-aigua-potable/analitiques-aigua/zs-vallirana-sud" ><span class="menu-flexible__item-text">ZS Vallirana Sud</span></a></li></ul></li></ul></li><li class="menu-flexible__item page-230 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/pla-local-de-salut" ><span class="menu-flexible__item-text">Pla Local de Salut</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-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-141 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/informacions-grups-municipals" ><span class="menu-flexible__item-text">Informacions grups municipals</span></a></li><li class="menu-flexible__item page-55 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/butlleti-digital" ><span class="menu-flexible__item-text">Butlletí digital</span></a></li><li class="menu-flexible__item page-56 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/viure-vallirana" ><span class="menu-flexible__item-text">Viure Vallirana</span></a></li><li class="menu-flexible__item page-170 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/vallirana-televisio" ><span class="menu-flexible__item-text">Vallirana Televisió</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-143 level1"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/temes" ><span class="menu-flexible__item-text">Temes</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-169 level2"><a class="menu-flexible__link" aria-expanded="false" href="/temes/comunicacio" ><span class="menu-flexible__item-text">Comunicació</span></a></li><li class="menu-flexible__item page-136 level2"><a class="menu-flexible__link" aria-expanded="false" href="/temes/136-cultura" ><span class="menu-flexible__item-text">Cultura</span></a></li><li class="menu-flexible__item page-139 level2"><a class="menu-flexible__link" aria-expanded="false" href="/temes/educacio" ><span class="menu-flexible__item-text">Educació</span></a></li><li class="menu-flexible__item page-245 level2"><a class="menu-flexible__link" aria-expanded="false" href="/temes/emergencia-climatica" ><span class="menu-flexible__item-text">Emergència climàtica</span></a></li><li class="menu-flexible__item page-134 level2"><a class="menu-flexible__link" aria-expanded="false" href="/temes/esports" ><span class="menu-flexible__item-text">Esports</span></a></li><li class="menu-flexible__item page-331 level2"><a class="menu-flexible__link" aria-expanded="false" href="/temes/habitatge" ><span class="menu-flexible__item-text">
302Habitatge</span></a></li><li class="menu-flexible__item page-267 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/temes/igualtat" ><span class="menu-flexible__item-text">Igualtat</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-275 level3"><a class="menu-flexible__link" aria-expanded="false" href="/temes/igualtat/recursos-davant-la-violencia-masclista" ><span class="menu-flexible__item-text">Recursos davant la violència masclista</span></a></li><li class="menu-flexible__item page-276 level3"><a class="menu-flexible__link" aria-expanded="false" href="/temes/igualtat/oficina-datencio-a-la-diversitat" ><span class="menu-flexible__item-text">Oficina d&#039;Atenció a la Diversitat</span></a></li></ul></li><li class="menu-flexible__item page-152 level2"><a class="menu-flexible__link" aria-expanded="false" href="/temes/joventut" ><span class="menu-flexible__item-text">Joventut</span></a></li><li class="menu-flexible__item page-135 level2"><a class="menu-flexible__link" aria-expanded="false" href="/temes/medi-ambient" ><span class="menu-flexible__item-text">Medi ambient</span></a></li><li class="menu-flexible__item page-307 level2"><a class="menu-flexible__link" aria-expanded="false" href="/temes/persones-grans" ><span class="menu-flexible__item-text">Persones grans</span></a></li><li class="menu-flexible__item page-138 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/temes/salut" ><span class="menu-flexible__item-text">Salut</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-311 level3"><a class="menu-flexible__link" aria-expanded="false" href="/temes/salut/prescripcio-social" ><span class="menu-flexible__item-text">Prescripció social</span></a></li><li class="menu-flexible__item page-332 level3"><a class="menu-flexible__link" aria-expanded="false" href="/temes/salut/apaga-el-mobil-i-desperta" ><span class="menu-flexible__item-text">Apaga el mòbil i desperta</span></a></li></ul></li><li class="menu-flexible__item page-137 level2"><a class="menu-flexible__link" aria-expanded="false" href="/temes/serveis-socials" ><span class="menu-flexible__item-text">Serveis Socials</span></a></li><li class="menu-flexible__item page-214 level2"><a class="menu-flexible__link" aria-expanded="false" href="/temes/vallibus-connectat" ><span class="menu-flexible__item-text">Vallibús Connecta&#039;t</span></a></li><li class="menu-flexible__item page-147 level2"><a class="menu-flexible__link" aria-expanded="false" href="/temes/variant-n-340-prou-cues" ><span class="menu-flexible__item-text">Variant N-340. Prou cues!</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>
302<script>(function() {
303    'use strict';
304
305    // Mega panel
306
307    function initMegaPanels(navContainer) {
308        var menuItems = Array.prototype.slice.call(navContainer.querySelectorAll('[data-mega-id]'));
309        if (!menuItems.length) return;
310
311        var navUl    = navContainer.querySelector('ul');
312        var topItems = navUl
313            ? menuItems.filter(function(el) { return el.parentElement === navUl; })
314            : menuItems;
315
316        var wrapper    = navContainer.closest('.menu-flexible__wrapper');
317        var isClick    = wrapper && wrapper.getAttribute('data-expand-type') === 'click';
318
319        menuItems.forEach(function(item) {
320            var panel = getPanelForItem(item, navContainer);
321            if (!panel) return;
322
323            if (isClick) {
324                var link = item.querySelector('a');
325                if (link) {
326                    link.addEventListener('click', function(e) {
327                        // En mòbil, els elements naveguen directament sense desplegar submenús
328                        if (window.innerWidth <= 992) return;
329                        if (panel.classList.contains('mf-mega-visible')) {
330                            // Segon clic: navegar
331                            return;
332                        }
333                        e.preventDefault();
334                        hideAllMegaPanels(navContainer);
335                        showPanel(item, panel);
336                    });
337                }
338            } else {
339                var hoverDelay = parseInt(
340                    getComputedStyle(wrapper).getPropertyValue('--menu-hover-delay'), 10
341                ) || 0;
342                var hoverTimer = null;
343
344                var leaveTimer = null;
345
346                item.addEventListener('mouseenter', function() {
347                    clearTimeout(hoverTimer);
348                    clearTimeout(leaveTimer);
349                    if (hoverDelay > 0) {
350                        hoverTimer = setTimeout(function() { showPanel(item, panel); }, hoverDelay);
351                    } else {
352                        showPanel(item, panel);
353                    }
354                });
355                item.addEventListener('mouseleave', function(e) {
356                    clearTimeout(hoverTimer);
357                    if (!panel.contains(e.relatedTarget)) {
358                        leaveTimer = setTimeout(function() { hidePanel(item, panel); }, 300);
359                    }
360                });
361                panel.addEventListener('mouseenter', function() {
362                    clearTimeout(leaveTimer);
363                });
364                panel.addEventListener('mouseleave', function(e) {
365                    clearTimeout(hoverTimer);
366                    clearTimeout(leaveTimer);
367                    if (!item.contains(e.relatedTarget)) hidePanel(item, panel);
368                });
369
370                // Tàctil: fallback quan hover no disponible (només escriptori tàctil)
371                var link = item.querySelector('a');
372                if (link) {
373                    link.addEventListener('click', function(e) {
374                        if (window.matchMedia('(hover: none)').matches && window.innerWidth > 992) {
375                            if (panel.classList.contains('mf-mega-visible')) {
376                                // Segon clic en tàctil: navegar
377                                return;
378                            }
379                            e.preventDefault();
380                            hideAllMegaPanels(navContainer);
381                            showPanel(item, panel);
382                        }
383                    });
384                }
385            }
386        });
387
388        navContainer.addEventListener('keydown', function(e) {
389            handleMegaKeydown(e, navContainer, topItems);
390        });
391
392        if (!isClick) {
393            navContainer.addEventListener('focusin', function(e) {
394                var item = e.target.closest('[data-mega-id]');
395                if (!item) return;
396                var panel = getPanelForItem(item, navContainer);
397                if (!panel) return;
398                hideAllMegaPanels(navContainer);
399                showPanel(item, panel);
400            });
401        }
402
403        navContainer.addEventListener('focusout', function() {
404            setTimeout(function() {
405                if (!navContainer.contains(document.activeElement)) {
406                    hideAllMegaPanels(navContainer);
407                }
408            }, 0);
409        });
410
411        document.addEventListener('click', function(e) {
412            if (!navContainer.contains(e.target)) {
413                hideAllMegaPanels(navContainer);
414            }
415        });
416    }
417
418    function handleMegaKeydown(e, navContainer, topItems) {
419        var focused = document.activeElement;
420        if (!focused) return;
421
422        var currentItem = focused.closest('[data-mega-id]');
423        var currentPanel = focused.closest('.menu-flexible__mega-panel');
424        var key = e.key || e.code || e.keyCode;
425
426        function directLink(item) {
427            if (!item) return null;
428            return Array.prototype.slice.call(item.children).find(function(el) {
429                return el.tagName === 'A';
430            }) || item.querySelector('a');
431        }
432
433        function itemForPanel(panel) {
434            if (!panel) return null;
435            var id = panel.getAttribute('data-mega-id');
436            return id ? navContainer.querySelector('li[data-mega-id="' + id + '"]') : null;
437        }
438
439        function focusPanelLink(panel, index) {
440            var links = Array.prototype.slice.call(panel.querySelectorAll('a'));
441            if (!links.length) return;
442            links[(index + links.length) % links.length].focus();
443        }
444
445        function focusPanelSibling(panel, offset) {
446            var links = Array.prototype.slice.call(panel.querySelectorAll('a'));
447            var idx = links.indexOf(focused);
448            if (idx === -1) return;
449            links[(idx + offset + links.length) % links.length].focus();
450        }
451
452        function panelColumnForLink(link) {
453            return link ? link.closest('.menu-flexible__mega-col') : null;
454        }
455
456        function focusAdjacentPanelColumn(panel, offset) {
457            var columns = Array.prototype.slice.call(panel.querySelectorAll('.menu-flexible__mega-col'));
458            var currentColumn = panelColumnForLink(focused);
459            var idx = columns.indexOf(currentColumn);
460            if (idx === -1) return false;
461
462            var targetColumn = columns[(idx + offset + columns.length) % columns.length];
463            var targetLink = targetColumn.querySelector('a');
464            if (targetLink) {
465                targetLink.focus();
466                return true;
467            }
468
469            return false;
470        }
471
472        function focusTopItem(item, offset) {
473            var idx = topItems.indexOf(item);
474            if (idx === -1) return;
475
476            var next = topItems[(idx + offset + topItems.length) % topItems.length];
477            hideAllMegaPanels(navContainer);
478
479            var nextLink = directLink(next);
480            if (nextLink) {
481                nextLink.focus();
482                var nextPanel = getPanelForItem(next, navContainer);
483                if (nextPanel) showPanel(next, nextPanel);
484            }
485        }
486
487        switch (key) {
488            case 'Escape':
489            case 'Esc':
490            case 27: {
491                e.preventDefault();
492                hideAllMegaPanels(navContainer);
493                if (currentPanel) {
494                    var item = itemForPanel(currentPanel);
495                    var lnk = directLink(item);
496                    if (lnk) lnk.focus();
497                }
498                break;
499            }
500
501            case 'ArrowRight':
502            case 39:
503            case 'ArrowLeft':
504            case 37: {
505                var direction = (key === 'ArrowRight' || key === 39) ? 1 : -1;
506                e.preventDefault();
507
508                if (currentPanel) {
509                    if (!focusAdjacentPanelColumn(currentPanel, direction)) {
510                        var ownerItem = itemForPanel(currentPanel);
511                        focusTopItem(ownerItem, direction);
512                    }
513                    break;
514                }
515
516                if (!currentItem) return;
517                focusTopItem(currentItem, direction);
518                break;
519            }
520
521            case 'ArrowDown':
522            case 40: {
523                e.preventDefault();
524                if (currentPanel) {
525                    focusPanelSibling(currentPanel, 1);
526                    break;
527                }
528                if (!currentItem) return;
529                var panel = getPanelForItem(currentItem, navContainer);
530                if (!panel) return;
531                if (!panel.classList.contains('mf-mega-visible')) {
532                    hideAllMegaPanels(navContainer);
533                    showPanel(currentItem, panel);
534                }
535                focusPanelLink(panel, 0);
536                break;
537            }
538
539            case ' ':
540            case 'Space':
541            case 'Spacebar':
542            case 32: {
543                if (currentPanel || !currentItem) return;
544                var spacePanel = getPanelForItem(currentItem, navContainer);
545                if (!spacePanel) return;
546
547                e.preventDefault();
548                if (spacePanel.classList.contains('mf-mega-visible')) {
549                    hidePanel(currentItem, spacePanel);
550                } else {
551                    hideAllMegaPanels(navContainer);
552                    showPanel(currentItem, spacePanel);
553                }
554                break;
555            }
556
557            case 'ArrowUp':
558            case 38: {
559                if (!currentPanel) return;
560                e.preventDefault();
561                var panelLinks = Array.prototype.slice.call(currentPanel.querySelectorAll('a'));
562                var focusedIndex = panelLinks.indexOf(focused);
563
564                if (focusedIndex > 0) {
565                    focusPanelLink(currentPanel, focusedIndex - 1);
566                } else {
567                    var parentItem = itemForPanel(currentPanel);
568                    var parentLink = directLink(parentItem);
569                    if (parentLink) parentLink.focus();
570                    if (parentItem) hidePanel(parentItem, currentPanel);
571                }
572                break;
573            }
574        }
575    }
576
577    function getPanelForItem(item, navContainer) {
578        var id = item.getAttribute('data-mega-id');
579        return id
580            ? navContainer.querySelector('.menu-flexible__mega-panel[data-mega-id="' + id + '"]')
581            : null;
582    }
583
584    function showPanel(item, panel) {
585        panel.classList.add('mf-mega-visible');
586        panel.setAttribute('aria-hidden', 'false');
587        var link = item.querySelector('a');
588        if (link) link.setAttribute('aria-expanded', 'true');
589    }
590
591    function hidePanel(item, panel) {
592        panel.classList.remove('mf-mega-visible');
593        panel.setAttribute('aria-hidden', 'true');
594        var link = item.querySelector('a');
595        if (link) link.setAttribute('aria-expanded', 'false');
596    }
597
598    function hideAllMegaPanels(navContainer) {
599        navContainer.querySelectorAll('.menu-flexible__mega-panel.mf-mega-visible')
600            .forEach(function(panel) {
601                var id   = panel.getAttribute('data-mega-id');
602                var item = id ? navContainer.querySelector('li[data-mega-id="' + id + '"]') : null;
603                if (item) {
604                    hidePanel(item, panel);
605                } else {
606                    panel.classList.remove('mf-mega-visible');
607                    panel.setAttribute('aria-hidden', 'true');
608                }
609            });
610    }
611
612
613    // Tecles de fletxa (menú estàndard)
614
615    function initStandardKeyboard(wrapper) {
616        var menu = wrapper.querySelector('.menu-flexible__list');
617        if (!menu) return;
618
619        function closeAll() {
620            Array.prototype.slice.call(menu.querySelectorAll('.menu-flexible__item[focus="true"]'))
621                .forEach(function(item) {
622                    item.setAttribute('focus', 'false');
623                    var submenu = Array.prototype.slice.call(item.children).find(function(el) {
624                        return el.classList && el.classList.contains('menu-flexible__submenu');
625                    });
626                    if (submenu) {
627                        submenu.style.left = '';
628                        submenu.style.opacity = '';
629                        submenu.style.visibility = '';
630                        submenu.style.pointerEvents = '';
631                        submenu.style.transform = '';
632                    }
633                    var link = Array.prototype.slice.call(item.children).find(function(el) {
634                        return el.tagName === 'A';
635                    });
636                    if (link && link.classList.contains('menu-flexible__link--dropdown')) {
637                        link.setAttribute('aria-expanded', 'false');
638                    }
639                });
640        }
641
642        wrapper.addEventListener('keydown', function(e) {
643            handleStandardKeydown(e, menu);
644        });
645
646        wrapper.addEventListener('focusout', function() {
647            setTimeout(function() {
648                if (!wrapper.contains(document.activeElement)) {
649                    closeAll();
650                }
651            }, 0);
652        });
653    }
654
655    function handleStandardKeydown(e, menu) {
656        var focused = document.activeElement;
657        if (!focused || !menu.contains(focused)) return;
658
659        var itemSel = '.menu-flexible__item';
660        var linkSel = '.menu-flexible__link';
661
662        var currentLi = focused.closest(itemSel);
663        if (!currentLi) return;
664
665        var parentUl = currentLi.parentElement;
666        var isLevel1 = parentUl === menu;
667
668        function directLink(li) {
669            var direct = Array.prototype.slice.call(li.children).find(function(el) {
670                return el.tagName === 'A';
671            });
672            return direct || li.querySelector(linkSel);
673        }
674
675        function siblingItems(ul) {
676            return Array.prototype.slice.call(ul.children).filter(function(el) {
677                return el.matches(itemSel);
678            });
679        }
680
681        function childMenu(li) {
682            return Array.prototype.slice.call(li.children).find(function(el) {
683                return el.classList && el.classList.contains('menu-flexible__submenu');
684            });
685        }
686
687        function setSubmenuVisible(li, visible) {
688            var submenu = childMenu(li);
689            if (!submenu) return;
690
691            if (visible) {
692                submenu.style.left = li.parentElement === menu ? '0' : '100%';
693                submenu.style.opacity = '1';
694                submenu.style.visibility = 'visible';
695                submenu.style.pointerEvents = 'auto';
696                submenu.style.transform = 'none';
697            } else {
698                submenu.style.left = '';
699                submenu.style.opacity = '';
700                submenu.style.visibility = '';
701                submenu.style.pointerEvents = '';
702                submenu.style.transform = '';
703            }
704        }
705
706        function setExpanded(li, expanded) {
707            li.setAttribute('focus', expanded ? 'true' : 'false');
708            setSubmenuVisible(li, expanded);
709            var lnk = directLink(li);
710            if (lnk && lnk.classList.contains('menu-flexible__link--dropdown')) {
711                lnk.setAttribute('aria-expanded', expanded ? 'true' : 'false');
712            }
713            if (!expanded) {
714                Array.prototype.slice.call(li.querySelectorAll(itemSel + '[focus="true"]'))
715                    .forEach(function(item) {
716                        item.setAttribute('focus', 'false');
717                        setSubmenuVisible(item, false);
718                        var childLink = directLink(item);
719                        if (childLink && childLink.classList.contains('menu-flexible__link--dropdown')) {
720                            childLink.setAttribute('aria-expanded', 'false');
721                        }
722                    });
723            }
724        }
725
726        function closeSiblings(li) {
727            Array.prototype.slice.call(li.parentElement.children)
728                .filter(function(item) {
729                    return item !== li && item.matches(itemSel);
730                })
731                .forEach(function(item) {
732                    setExpanded(item, false);
733                });
734        }
735
736        function openChild(li) {
737            var submenu = childMenu(li);
738            if (!submenu) return false;
739            closeSiblings(li);
740            setExpanded(li, true);
741            var firstChild = submenu.querySelector(linkSel);
742            if (firstChild) firstChild.focus();
743            return true;
744        }
745
746        function focusSibling(offset) {
747            var sibs = siblingItems(parentUl);
748            var idx  = sibs.indexOf(currentLi);
749            var lnk  = directLink(sibs[(idx + offset + sibs.length) % sibs.length]);
750            if (lnk) lnk.focus();
751        }
752
753        var key = e.key || e.code || e.keyCode;
754
755        switch (key) {
756            case 'ArrowRight':
757            case 39: {
758                if (!isLevel1) return;
759                e.preventDefault();
760                setExpanded(currentLi, false);
761                focusSibling(1);
762                break;
763            }
764            case 'ArrowLeft':
765            case 37: {
766                if (!isLevel1) return;
767                e.preventDefault();
768                setExpanded(currentLi, false);
769                focusSibling(-1);
770                break;
771            }
772            case 'ArrowDown':
773            case 40: {
774                e.preventDefault();
775                if (focused === directLink(currentLi) && openChild(currentLi)) {
776                    break;
777                }
778                var sibsDown = siblingItems(parentUl);
779                var idxDown  = sibsDown.indexOf(currentLi);
780                if (idxDown < sibsDown.length - 1) {
781                    var lnkDown = directLink(sibsDown[idxDown + 1]);
782                    if (lnkDown) lnkDown.focus();
783                }
784                break;
785            }
786            case 'ArrowUp':
787            case 38: {
788                e.preventDefault();
789                var sibsUp = siblingItems(parentUl);
790                var idxUp  = sibsUp.indexOf(currentLi);
791                if (idxUp > 0) {
792                    var lnkUp = directLink(sibsUp[idxUp - 1]);
793                    if (lnkUp) lnkUp.focus();
794                } else if (!isLevel1) {
795                    var parentItemUp = parentUl.closest(itemSel);
796                    if (parentItemUp) {
797                        setExpanded(parentItemUp, false);
798                        var parentLinkUp = directLink(parentItemUp);
799                        if (parentLinkUp) parentLinkUp.focus();
800                    }
801                }
802                break;
803            }
804            case ' ':
805            case 'Space':
806            case 'Spacebar':
807            case 32: {
808                if (!focused.classList.contains('menu-flexible__link--dropdown')) return;
809                e.preventDefault();
810                currentLi.getAttribute('focus') === 'true'
811                    ? setExpanded(currentLi, false)
812                    : openChild(currentLi);
813                break;
814            }
815            case 'Escape':
816            case 'Esc':
817            case 27: {
818                if (isLevel1 && currentLi.getAttribute('focus') !== 'true') return;
819                e.preventDefault();
820                if (!isLevel1) {
821                    var parentItemEsc = parentUl.closest(itemSel);
822                    if (parentItemEsc) {
823                        setExpanded(parentItemEsc, false);
824                        var parentLinkEsc = directLink(parentItemEsc);
825                        if (parentLinkEsc) parentLinkEsc.focus();
826                    }
827                } else {
828                    setExpanded(currentLi, false);
829                }
830                break;
831            }
832        }
833    }
834
835
836    // Click mode: expandir submenús via [focus=true]
837
838    function initClickExpand(wrapper) {
839        var menu = wrapper.querySelector('.menu-flexible__list');
840        if (!menu) return;
841
842        var itemSel        = '.menu-flexible__item';
843        var dropdownSel    = '.menu-flexible__link--dropdown';
844
845        function closeAll(container) {
846            Array.prototype.slice.call(container.querySelectorAll(itemSel + '[focus="true"]'))
847                .forEach(function(el) { el.setAttribute('focus', 'false'); });
848        }
849
850        function closeSiblings(item) {
851            var parentUl = item.parentElement;
852            Array.prototype.slice.call(parentUl.children)
853                .filter(function(el) {
854                    return el !== item
855                        && el.matches(itemSel)
856                        && el.getAttribute('focus') === 'true';
857                })
858                .forEach(function(el) {
859                    el.setAttribute('focus', 'false');
860                    closeAll(el);
861                });
862        }
863
864        menu.addEventListener('click', function(e) {
865            var link = e.target.closest(dropdownSel);
866            if (!link || !menu.contains(link)) return;
867
868            var item = link.parentElement;
869            if (!item || !item.matches(itemSel)) return;
870
871            // En mòbil, els elements naveguen directament sense desplegar submenús
872            if (window.innerWidth <= 992) return;
873
874            var isOpen = item.getAttribute('focus') === 'true';
875
876            if (isOpen) {
877                // Segon clic: navegar
878                return;
879            }
880
881            e.preventDefault();
882            closeSiblings(item);
883            item.setAttribute('focus', 'true');
884        });
885
886        document.addEventListener('click', function(e) {
887            var openItem = menu.querySelector(itemSel + '[focus="true"]');
888            if (!openItem) return;
889            if (!openItem.contains(e.target)) {
890                closeAll(menu);
891            }
892        });
893    }
894
895
896    // Hamburger (mòbil ≤992px)
897
898    class MenuFlexible {
899        constructor(wrapper) {
900            this.wrapper   = wrapper;
901            this.hamburger = wrapper.querySelector('.menu-flexible__toggle');
902            this.menu      = wrapper.querySelector('.menu-flexible__list');
903
904            if (!this.hamburger || !this.menu) return;
905
906            var parent  = this.menu.parentElement;
907            this.isMega = parent && parent.classList.contains('menu-flexible__nav-container');
908            this.target = this.isMega ? parent : this.menu;
909
910            // Ancestre que en mòbil és barra fixa de 44px amb overflow:clip i retalla
911            // el menú desplegat. En obrir, l'eixamplem; en tancar, el restaurem.
912            this.clipper = wrapper.closest('.nav');
913
914            this.init();
915            window.addEventListener('resize', () => this.handleResize());
916        }
917
918        init() {
919            this.hamburger.addEventListener('click', (e) => {
920                e.preventDefault();
921                e.stopPropagation();
922                this.toggleMenu();
923            });
924
925            document.addEventListener('click', (e) => {
926                if (!this.wrapper.contains(e.target) && this.isOpen()) {
927                    this.closeMenu();
928                }
929            });
930
931            this.menu.querySelectorAll('a').forEach(link => {
932                link.addEventListener('click', () => {
933                    if (window.innerWidth <= 992 && this.isOpen()) {
934                        this.closeMenu();
935                    }
936                });
937            });
938        }
939
940        isOpen()     { return this.target.classList.contains('show'); }
941        toggleMenu() { this.isOpen() ? this.closeMenu() : this.openMenu(); }
942
943        liftClip() {
944            if (this.clipper && window.innerWidth <= 992) {
945                this.clipper.style.height = 'auto';
946                this.clipper.style.maxHeight = 'none';
947                this.clipper.style.overflow = 'visible';
948            }
949        }
950
951        restoreClip() {
952            if (this.clipper) {
953                this.clipper.style.height = '';
954                this.clipper.style.maxHeight = '';
955                this.clipper.style.overflow = '';
956            }
957        }
958
959        openMenu() {
960            this.target.classList.add('show');
961            this.target.style.display = this.isMega ? 'block' : 'flex';
962            if (this.isMega) this.menu.style.display = 'flex';
963            this.liftClip();
964            this.hamburger.classList.add('active');
965            this.hamburger.setAttribute('aria-expanded', 'true');
966        }
967
968        closeMenu() {
969            this.target.classList.remove('show');
970            this.target.style.display = 'none';
971            if (this.isMega) {
972                this.menu.style.display = '';
973                var nc = this.wrapper.querySelector('.menu-flexible__nav-container');
974                if (nc) hideAllMegaPanels(nc);
975            }
976            this.restoreClip();
977            this.hamburger.classList.remove('active');
978            this.hamburger.setAttribute('aria-expanded', 'false');
979        }
980
981        handleResize() {
982            if (window.innerWidth > 992) {
983                this.target.classList.remove('show');
984                this.target.style.display = '';
985                if (this.isMega) this.menu.style.display = '';
986                this.restoreClip();
987                this.hamburger.classList.remove('active');
988                this.hamburger.setAttribute('aria-expanded', 'false');
989            }
990        }
991    }
992
993
994    // Init
995
996    function init() {
997        document.querySelectorAll('.menu-flexible__wrapper').forEach(function(wrapper) {
998            var navContainer = wrapper.querySelector('.menu-flexible__nav-container');
999            if (navContainer) {
1000                initMegaPanels(navContainer);
1001            } else {
1002                initStandardKeyboard(wrapper);
1003                if (wrapper.getAttribute('data-expand-type') === 'click') {
1004                    initClickExpand(wrapper);
1005                }
1006            }
1007            new MenuFlexible(wrapper);
1008            if (wrapper.getAttribute('data-menu-sticky') === 'true') {
1009                var stickyTarget = wrapper.closest('#navbar-top')
1010                                || wrapper.closest('.navbar')
1011                                || wrapper.closest('nav');
1012                if (stickyTarget) {
1013                    stickyTarget.classList.add('menu-sticky-enabled');
1014                    document.body.classList.add('has-sticky-menu');
1015
1016                    var navbarHeight   = stickyTarget.offsetHeight;
1017                    var navbarTop      = stickyTarget.getBoundingClientRect().top + window.scrollY;
1018                    var bodyPadApplied = false;
1019
1020                    function updateStickyOffset() {
1021                        navbarHeight = stickyTarget.offsetHeight;
1022                        document.documentElement.style.setProperty('--skip-links-sticky-offset', navbarHeight + 'px');
1023
1024                        if (bodyPadApplied) {
1025                            document.body.style.paddingTop = navbarHeight + 'px';
1026                        }
1027                    }
1028
1029                    function getTargetFromHash(hash) {
1030                        if (!hash || hash.charAt(0) !== '#') {
1031                            return null;
1032                        }
1033
1034                        try {
1035                            return document.getElementById(decodeURIComponent(hash.substring(1)));
1036                        } catch (error) {
1037                            return document.getElementById(hash.substring(1));
1038                        }
1039                    }
1040
1041                    function scrollToSkipTarget(hash) {
1042                        var target = getTargetFromHash(hash);
1043                        if (!target) {
1044                            return;
1045                        }
1046
1047                        updateStickyOffset();
1048
1049                        var expectedTop = target.getBoundingClientRect().top + window.scrollY - navbarHeight;
1050                        if (expectedTop > navbarTop) {
1051                            applyFixed();
1052                        } else {
1053                            removeFixed();
1054                        }
1055
1056                        try {
1057                            target.focus({ preventScroll: true });
1058                        } catch (error) {
1059                            target.focus();
1060                        }
1061
1062                        var targetTop = target.getBoundingClientRect().top + window.scrollY;
1063                        window.scrollTo(0, Math.max(targetTop - navbarHeight, 0));
1064                    }
1065
1066                    document.querySelectorAll('.skip-links a[href^="#"]').forEach(function(link) {
1067                        link.addEventListener('click', function(event) {
1068                            var hash = link.getAttribute('href');
1069                            var target = getTargetFromHash(hash);
1070                            if (!target) {
1071                                return;
1072                            }
1073
1074                            event.preventDefault();
1075
1076                            if (window.history && window.history.pushState) {
1077                                window.history.pushState(null, '', hash);
1078                            } else {
1079                                window.location.hash = hash;
1080                            }
1081
1082                            scrollToSkipTarget(hash);
1083                        });
1084                    });
1085
1086                    updateStickyOffset();
1087
1088                    function applyFixed() {
1089                        if (!stickyTarget.classList.contains('fixed-top')) {
1090                            updateStickyOffset();
1091                            stickyTarget.classList.add('fixed-top');
1092                            document.body.style.paddingTop = navbarHeight + 'px';
1093                            bodyPadApplied = true;
1094                        }
1095                    }
1096
1097                    function removeFixed() {
1098                        if (stickyTarget.classList.contains('fixed-top')) {
1099                            stickyTarget.classList.remove('fixed-top');
1100                            document.body.style.paddingTop = '';
1101                            bodyPadApplied = false;
1102                        }
1103                    }
1104
1105                    window.addEventListener('scroll', function() {
1106                        if (window.scrollY > navbarTop) {
1107                            applyFixed();
1108                        } else {
1109                            removeFixed();
1110                        }
1111                    });
1112
1113                    window.addEventListener('resize', function() {
1114                        updateStickyOffset();
1115                        if (!stickyTarget.classList.contains('fixed-top')) {
1116                            navbarTop = stickyTarget.getBoundingClientRect().top + window.scrollY;
1117                        }
1118                    });
1119
1120                    if ('ResizeObserver' in window) {
1121                        new ResizeObserver(updateStickyOffset).observe(stickyTarget);
1122                    }
1123
1124                    stickyTarget.querySelectorAll('img').forEach(function(image) {
1125                        if (!image.complete) {
1126                            image.addEventListener('load', updateStickyOffset, { once: true });
1127                        }
1128                    });
1129
1130                    window.addEventListener('load', updateStickyOffset);
1131
1132                    if (window.scrollY > navbarTop) applyFixed();
1133
1134                    if (window.location.hash) {
1135                        window.setTimeout(function() {
1136                            scrollToSkipTarget(window.location.hash);
1137                        }, 0);
1138                    }
1139                }
1140            }
1141        });
1142    }
1143
1144    if (document.readyState === 'loading') {
1145        document.addEventListener('DOMContentLoaded', init);
1146    } else {
1147        init();
1148    }
1149})();
1150</script>
1150</nav></div></div></div></div></div>        </div>        </header>
1151                <main id="main-content" tabindex="-1">
1152            <div class="content">
1153                <div class="container-xl columns " id="Path">
1154    <div class="row">
1155        <nav aria-label="breadcrumb">
1156            <ol class="breadcrumb">
1157            <li class="breadcrumb-item">
1158    <a href="/" target="_self">
1159        <span style="display: none">home</span><i class="fa fa-home" aria-hidden="true"></i>    </a>
1160    </li>
1161<li class="breadcrumb-item">
1162    <a href="/actualitat" target="_self">
1163        Actualitat    </a>
1164        <button class="btn dropdown-toggle" type="button" id="defaultDropdow4" data-bs-toggle="dropdown" data-bs-auto-close="true" aria-expanded="false" aria-label="Desplega"></button>
1165    <ul class="dropdown-menu" aria-label="defaultDropdown4">
1166                    <li><a class="dropdown-item" href="/actualitat/proces-participatiu-nou-poum">Procés participatiu nou POUM</a></li>
1167                    <li><a class="dropdown-item" href="/actualitat/refugis-climatics">Refugis climàtics</a></li>
1168                    <li><a class="dropdown-item" href="/actualitat/onada-de-calor">Onada de Calor</a></li>
1169                    <li><a class="dropdown-item" href="/actualitat/prevencio-duprocim-incendis-forestals">Prevenció: DUPROCIM - Incendis forestals</a></li>
1170                    <li><a class="dropdown-item" href="http://www.vallirana.cat/ajuntament/225-paes/installacio-plaques-solars/">Instal·lació plaques solars</a></li>
1171                    <li><a class="dropdown-item" href="/actualitat/agenda-urbana-de-vallirana">Agenda Urbana de Vallirana</a></li>
1172                    <li><a class="dropdown-item" href="/actualitat/subministrament-aigua-potable">Subministrament aigua potable</a></li>
1173                    <li><a class="dropdown-item" href="/actualitat/pla-local-de-salut">Pla Local de Salut</a></li>
1174                    <li><a class="dropdown-item" href="/actualitat/avisos">Avisos</a></li>
1175                    <li><a class="dropdown-item" href="/actualitat/noticies">Notícies</a></li>
1176                    <li><a class="dropdown-item" href="/actualitat/agenda">Agenda</a></li>
1177                    <li><a class="dropdown-item" href="/actualitat/informacions-grups-municipals">Informacions grups municipals</a></li>
1178                    <li><a class="dropdown-item" href="/actualitat/butlleti-digital">Butlletí digital</a></li>
1179                    <li><a class="dropdown-item" href="/actualitat/viure-vallirana">Viure Vallirana</a></li>
1180                    <li><a class="dropdown-item" href="/actualitat/vallirana-televisio">Vallirana Televisió</a></li>
1181                    <li><a class="dropdown-item" href="/actualitat/rss">Rss</a></li>
1182                    <li><a class="dropdown-item" href="/actualitat/hemeroteca">Hemeroteca</a></li>
1183            </ul>
1184    </li>
1185<li class="breadcrumb-item">
1186    <a href="/actualitat/noticies" target="_self">
1187        Notícies    </a>
1188    </li>
1189            </ol>
1190        </nav>
1191    </div>
1192</div>
1193                <div class="container-xl columns">
1194                                        <div class="row">
1195        <div class="col-xs-12 col-sm-12 col-md-3 col-lg-3 leftSidebar responsiveHeight" data-nosnippet>
1196                        <nav class="menuLeft" id="Menuleft_article" aria-label="Menú Nova APP per a incidències a la via pública">
1197            <ul>
1198                <li class="subMenuPage-315 level2">
1199    <a href="/actualitat/proces-participatiu-nou-poum" target="_self">
1200        Procés participatiu nou POUM            </a>
1201
1202    </li>
1203<li class="subMenuPage-292 level2">
1204    <a href="/actualitat/refugis-climatics" target="_self">
1205        Refugis climàtics            </a>
1206
1207    </li>
1208<li class="subMenuPage-313 level2">
1209    <a href="/actualitat/onada-de-calor" target="_self">
1210        Onada de Calor            </a>
1211
1212    </li>
1213<li class="subMenuPage-314 level2">
1214    <a href="/actualitat/prevencio-duprocim-incendis-forestals" target="_self">
1215        Prevenció: DUPROCIM - Incendis forestals            </a>
1216
1217    </li>
1218<li class="subMenuPage-273 level2">
1219    <a href="http://www.vallirana.cat/ajuntament/225-paes/installacio-plaques-solars/" target="_self">
1220        Instal·lació plaques solars                <i class="fa fa-external-link"></i>
1221            </a>
1222
1223    </li>
1224<li class="subMenuPage-277 level2">
1225    <a href="/actualitat/agenda-urbana-de-vallirana" target="_self">
1226        Agenda Urbana de Vallirana            </a>
1227
1228    </li>
1229<li class="subMenuPage-213 level2">
1230    <a href="/actualitat/subministrament-aigua-potable" target="_self">
1231        Subministrament aigua potable            </a>
1232
1233    </li>
1234<li class="subMenuPage-230 level2">
1235    <a href="/actualitat/pla-local-de-salut" target="_self">
1236        Pla Local de Salut            </a>
1237
1238    </li>
1239<li class="subMenuPage-128 level2">
1240    <a href="/actualitat/avisos" target="_self">
1241        Avisos            </a>
1242
1243    </li>
1244<li class="subMenuPage-53 current level2">
1245    <a href="/actualitat/noticies" target="_self" aria-current="page">
1246        Notícies            </a>
1247
1248    </li>
1249<li class="subMenuPage-54 level2">
1250    <a href="/actualitat/agenda" target="_self">
1251        Agenda            </a>
1252
1253    </li>
1254<li class="subMenuPage-141 level2">
1255    <a href="/actualitat/informacions-grups-municipals" target="_self">
1256        Informacions grups municipals            </a>
1257
1258    </li>
1259<li class="subMenuPage-55 level2">
1260    <a href="/actualitat/butlleti-digital" target="_self">
1261        Butlletí digital            </a>
1262
1263    </li>
1264<li class="subMenuPage-56 level2">
1265    <a href="/actualitat/viure-vallirana" target="_self">
1266        Viure Vallirana            </a>
1267
1268    </li>
1269<li class="subMenuPage-170 level2">
1270    <a href="/actualitat/vallirana-televisio" target="_self">
1271        Vallirana Televisió            </a>
1272
1273    </li>
1274<li class="subMenuPage-57 level2">
1275    <a href="/actualitat/rss" target="_self">
1276        Rss            </a>
1277
1278    </li>
1279<li class="subMenuPage-58 level2">
1280    <a href="/actualitat/hemeroteca" target="_self">
1281        Hemeroteca            </a>
1282
1283    </li>
1284            </ul>
1285        </nav>
1286            </div>
1287    <div class="col-xs-12 col-sm-9 col-md-6 col-lg-6 article responsiveHeight" id="readspeakerPage" tabindex="-1">
1288                    <div class="containerArticle">
1289                <h1 class="title"  id='title0' data-attribute="Nova APP per a incidències a la via pública">Nova APP per a incidències a la via pública</h1><div class="date">Divendres, 28 de març de 2025</div>
1290<div class="ddbbtext">
1291    <div class="entradeta"><p><strong>A partir de l'1 d'abril</strong></p>
1292</div>
1293    <p><span segoe="" style="color: rgb(0, 0, 0); font-family: -apple-system, BlinkMacSystemFont, " ui="">✅️ A partir de l'1 d'abril, l'Ajuntament de Vallirana posa en marxa una nova APP d'incidències de la via pública.</span><br segoe="" style="color: rgb(0, 0, 0); font-family: -apple-system, BlinkMacSystemFont, " ui="" />
1294<br segoe="" style="color: rgb(0, 0, 0); font-family: -apple-system, BlinkMacSystemFont, " ui="" />
1295<span segoe="" style="color: rgb(0, 0, 0); font-family: -apple-system, BlinkMacSystemFont, " ui="">👉 L'aplicació és GECOR i la podeu descarregar per Android i IOS buscant-la o a través d'aquest enllaç: </span></p>
1296
1297<p><span segoe="" style="color: rgb(0, 0, 0); font-family: -apple-system, BlinkMacSystemFont, " ui="">ANDROID - <a href="https://play.google.com/store/apps/details?id=com.gecorsystem.gecorn">https://play.google.com/store/apps/details?id=com.gecorsystem.gecorn</a></span></p>
1298
1299<p><span segoe="" style="color: rgb(0, 0, 0); font-family: -apple-system, BlinkMacSystemFont, " ui="">IOS - </span><a href="https://apps.apple.com/es/app/gecor/id1127259219">http://apps.apple.com/es/app/gecor/id1127259219</a><br segoe="" style="color: rgb(0, 0, 0); font-family: -apple-system, BlinkMacSystemFont, " ui="" />
1300<br segoe="" style="color: rgb(0, 0, 0); font-family: -apple-system, BlinkMacSystemFont, " ui="" />
1301<span segoe="" style="color: rgb(0, 0, 0); font-family: -apple-system, BlinkMacSystemFont, " ui="">👉 Una vegada descarregada als vostres dispositius mòbils, només us haureu de registrar i seleccionar "Ajuntament de Vallirana".</span><br segoe="" style="color: rgb(0, 0, 0); font-family: -apple-system, BlinkMacSystemFont, " ui="" />
1302<br segoe="" style="color: rgb(0, 0, 0); font-family: -apple-system, BlinkMacSystemFont, " ui="" />
1303<span segoe="" style="color: rgb(0, 0, 0); font-family: -apple-system, BlinkMacSystemFont, " ui="">👉 La plataforma permet fer-nos arribar qualsevol mena d'incidència a la via pública, geolocalitzant la incidència, així com aportar-hi imatges i fer seguiment de l'estat de la mateixa fins a la seva resolució. És important escollir bé la categoria de la queixa per tal que es pugui assignar directament al tècnic/a responsable de la seva gestió i que el tractament de la queixa o suggeriment sigui més àgil i eficaç.</span><br segoe="" style="color: rgb(0, 0, 0); font-family: -apple-system, BlinkMacSystemFont, " ui="" />
1304<br segoe="" style="color: rgb(0, 0, 0); font-family: -apple-system, BlinkMacSystemFont, " ui="" />
1305<span segoe="" style="color: rgb(0, 0, 0); font-family: -apple-system, BlinkMacSystemFont, " ui="">👉 L'App també incorpora un accés al web municipal, a les notícies d'actualitat, a l'agenda d'actes i molt més!</span><br segoe="" style="color: rgb(0, 0, 0); font-family: -apple-system, BlinkMacSystemFont, " ui="" />
1306<br segoe="" style="color: rgb(0, 0, 0); font-family: -apple-system, BlinkMacSystemFont, " ui="" />
1307<span segoe="" style="color: rgb(0, 0, 0); font-family: -apple-system, BlinkMacSystemFont, " ui="">‼️ Descarrega-te-la i fes-nos arribar qualsevol incidència o suggeriment.</span></p>
1308    </div>
1309        <div id="share">
1310    <div class="js-widget o-widget clearfix boxBX  default "  >  <div class="o-widget-wrapper clearfix default-BX   row " ><div class="o-widget-container ">
1310<div class="o-share o-share--icones_rodones">
1311    
1312    <div class="o-share__list">
1313                    <a
1314                class="o-share__link o-share__link--facebook"
1315                href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.vallirana.cat%2Factualitat%2Fnoticies%2Fnova-app-per-a-incidencies-a-la-via-publica.html"
1316                target="_blank"
1317                rel="noopener"
1318                title="Facebook"
1319            >
1320                <span class="o-share__icon" aria-hidden="true">
1321                    <i class="fa-brands fa-facebook-f"></i>
1322                </span>
1323                <span class="visually-hidden">Facebook</span>
1324            </a>
1325                    <a
1326                class="o-share__link o-share__link--x"
1327                href="https://twitter.com/intent/tweet?text=Nova%20APP%20per%20a%20incid%C3%A8ncies%20a%20la%20via%20p%C3%BAblica&amp;url=https%3A%2F%2Fwww.vallirana.cat%2Factualitat%2Fnoticies%2Fnova-app-per-a-incidencies-a-la-via-publica.html"
1328                target="_blank"
1329                rel="noopener"
1330                title="X"
1331            >
1332                <span class="o-share__icon" aria-hidden="true">
1333                    <i class="fa-brands fa-x-twitter"></i>
1334                </span>
1335                <span class="visually-hidden">X</span>
1336            </a>
1337            </div>
1338</div>
1339</div>  </div></div></div>
1340<span class="updated">Darrera actualització: 12.05.2026 | 10:24</span>
1341                    </div>
1342            </div>
1343        <div class="col-xs-12 col-sm-12 col-md-3 col-lg-3 barraDreta responsiveHeight">
1344        <div class="first-image"><div class="first-image">
1345    <a href="#" id="imageItem0" title="Nova APP per a incidències a la via pública" onclick="openGallery(0)">
1346        <span class="visually-hidden">Nova APP per a incidències a la via pública</span>
1347        <img id="imgItem0" src="/media/repository/noticies/00_Noticies_2025/03_marc_2025/3.png" data-src="/noticies/00_Noticies_2025/03_marc_2025/3.png" data-content="Nova APP per a incidències a la via pública"  alt="Nova APP per a incidències a la via pública">
1348        <span class="name"></span>
1349            </a>
1350</div>
1351</div><section id="page-images" class="skip-target" tabindex="-1"><h2 class="title">Imatges</h2><div class="images"><a href="#" title="Nova APP per a incidències a la via pública" onclick="openGallery(1)">
1352    <span class="visually-hidden">Nova APP per a incidències a la via pública</span>
1353    <img id="imageGallery1" src="/media/repository/noticies/00_Noticies_2025/03_marc_2025/2.png" data-content="" data-src="/media/repository/noticies/00_Noticies_2025/03_marc_2025/2.png" alt="Nova APP per a incidències a la via pública">
1354</a>
1355<a href="#" title="Nova APP per a incidències a la via pública" onclick="openGallery(2)">
1356    <span class="visually-hidden">Nova APP per a incidències a la via pública</span>
1357    <img id="imageGallery2" src="/media/repository/noticies/00_Noticies_2025/03_marc_2025/1.png" data-content="" data-src="/media/repository/noticies/00_Noticies_2025/03_marc_2025/1.png" alt="Nova APP per a incidències a la via pública">
1358</a>
1359</div></section>    </div>
1360</div>
1361                </div>
1362            </div>
1363        </main>
1364        <footer id="footer-content" tabindex="-1">
1365            <div class="footer">
1366    <div class="shortcuts">
1367    <div class="container-xl">            
1368        <div class="featuredItem responsiveHeight">
1369    <h2 class="title">RSS</h2>
1370    <p class="subtitle">L'actualitat a un clic</p>
1371    <ul id="cm_rss">
1372        <li style="background-image: url('/front/view/images/ico_16_rss.png');">
1373    <a href="/rss/12">
1374           Agenda    </a>
1375</li>
1376<li style="background-image: url('/front/view/images/ico_16_rss.png');">
1377    <a href="/rss/15">
1378           Agenda política    </a>
1379</li>
1380<li style="background-image: url('/front/view/images/ico_16_rss.png');">
1381    <a href="/rss/13">
1382           Avisos    </a>
1383</li>
1384<li style="background-image: url('/front/view/images/ico_16_rss.png');">
1385    <a href="/rss/11">
1386           Notícies    </a>
1387</li>
1388<li style="background-image: url('/front/view/images/ico_16_rss.png');">
1389    <a href="/rss/14">
1390           Publicacions    </a>
1391</li>
1392    </ul>
1393</div>
1394<div class="featuredItem responsiveHeight">
1395    <h2 class="title">Adreces i telèfons</h2>
1396    
1397    <img width="96" height="96" src="/front/view/images/icons/plugin_home.png" alt="">
1398
1399    <p class="elem_button">
1400        <a href="/adreces-i-telefons" aria-label="Adreces i telèfons">
1401            Accedeix        </a>
1402    </p>
1403</div>
1404<div class="featuredItem">
1405    <h2 class="title">Meteo</h2>
1406    <div id="cm_meteocat">
1407        <ul class="bxslider">
1408            <li>
1409    Dissabte, 3 d’octubre    <img width="80" height="80"
1410        alt="ruixat"
1411        src="/front/view/images/meteocat/pluja.png"
1412    >
1413    <p>
1414        T.Màx: 26&deg;
1415        <br>
1416        T.Min: 19&deg;
1417    </p>
1418    </li>
1419<li>
1420    Diumenge, 4 d’octubre    <img width="80" height="80"
1421        alt="plugim"
1422        src="/front/view/images/meteocat/plugim.png"
1423    >
1424    <p>
1425        T.Màx: 24&deg;
1426        <br>
1427        T.Min: 20&deg;
1428    </p>
1429    </li>
1430        </ul>
1431        <div class="outside">
1432            <p><span id="slider-prev"></span><span id="slider-next"></span></p>
1433        </div>
1434
1435    </div>
1436</div>
1437<div class="featuredItem responsiveHeight">
1438    <h2 class="title">Butlletí digital</h2>
1439    <img width="96" height="96" src="/front/view/images/icons/plugin_newsletter.png" alt="">
1440    <p class="elem_button">
1441        <a href="/actualitat/butlleti-digital" aria-label="Butlletí digital">
1442            Subscriu-te        </a>
1443    </p>
1444</div>
1445<div id="cm_planol" class="featuredItem responsiveHeight">
1446    <h2 class="title">Plànol / Carrers</h2>
1447
1448    <img width="96" height="96" src="/front/view/images/icons/plugin_map.png" alt="">
1449
1450    <p class="elem_button">
1451        <a href="/el-municipi/planol--guia-de-carrers" aria-label="Plànol">
1452            Accedeix        </a>
1453    </p>
1454</div>
1455    </div>
1456</div>
1457    <div class="hightlights">
1458        <div class="container-xl">
1459            <div class="highlights">
1460    <ul class="bxslider">
1461        <li>
1462        <a href="https://www.elbaixllobregat.cat/habitatge/ajutslloguer" target="_blank" class="banner">
1463            <img src="/media/repository/baners_destacats/Banners_esquerra/Banner_web__2_.png" alt="Banner Habitatge ajuts lloguer" class="banner">
1464        Ajuts lloguer Consell Comarcal        </a>
1465    </li>
1466<li>
1467        <a href="https://www.vallirana.cat/ajuntament/transparencia/segell-infoparticipa" target="_blank" class="banner">
1468            <img src="/media/repository/noticies/04_abril_2026/banners_877x351px-CAT_2025-01.jpg" alt="segell infoparticipa" class="banner">
1469        Segell Info Participa        </a>
1470    </li>
1471<li>
1472        <a href="https://www.vallirana.cat/serveis-i-tramits/cataleg-de-serveis/recollida-a-domicili-de-voluminosos-i-poda.html" target="_self" class="banner">
1473            <img src="/media/repository/baners_destacats/inferior/BEN_NET_BEN_FET_recollida_voluminosos_i_poda.jpg" alt="Logo Ben Net Ben Fet recollides" class="banner">
1474        Servei recollida voluminosos i poda        </a>
1475    </li>
1476<li>
1477        <a href="/el-municipi/guia-del-municipi/farmacies/" target="_self" class="banner">
1478            <img src="/media/repository/baners_destacats/inferior/Banner_farmacies_inferior_2021.png" alt="farmacies guardia" class="banner">
1479        Farmàcies de guàrdia        </a>
1480    </li>
1481<li>
1482        <a href="/el-municipi/guia-del-municipi/equipaments/7203-casal-de-joves.html" target="_self" class="banner">
1483            <img src="/media/repository/logos/casaldejoveslogocolor.jpg" alt="Logo Casal de Joves" class="banner">
1484        Casal de Joves        </a>
1485    </li>
1486<li>
1487        <a href="/el-municipi/guia-del-municipi/equipaments/complex-esportiu-municipal.html" target="_self" class="banner">
1488            <img src="/media/repository/baners_destacats/banner_cem_2019.jpg" alt="CEM Vallirana" class="banner">
1489        Complex Esportiu Municipal        </a>
1490    </li>
1491    </ul>
1492</div>        </div>
1493    </div>
1494    <nav class="menu" aria-label="Peu de menú">
1495        <ul class="container-xl sitemap">
1496            <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/salutacio-de-lalcaldessa" target="_self" >Salutació de l'alcaldessa  </a></li><li class="subMenuPage-8">  <a class="subMenuPage-8" href="/ajuntament/govern" target="_self" >Govern  </a></li><li class="subMenuPage-15">  <a class="subMenuPage-15" href="/ajuntament/grups-municipals" target="_self" >Grups municipals  </a></li><li class="subMenuPage-80">  <a class="subMenuPage-80" href="/ajuntament/ple-municipal" target="_self" >Ple municipal  </a></li><li class="subMenuPage-20">  <a class="subMenuPage-20" href="/ajuntament/juntes-de-govern" target="_self" >Juntes de govern  </a></li><li class="subMenuPage-168">  <a class="subMenuPage-168" href="/ajuntament/ocupacio" target="_self" >Ocupació  </a></li><li class="subMenuPage-167">  <a class="subMenuPage-167" href="/ajuntament/participacio-ciutadana" target="_self" >Participació Ciutadana  </a></li><li class="subMenuPage-203">  <a class="subMenuPage-203" href="/ajuntament/pla-actuacio-municipal" target="_self" >Pla Actuació Municipal  </a></li><li class="subMenuPage-16">  <a class="subMenuPage-16" href="/ajuntament/plans-campanyes-i-programes" target="_self" >Plans, campanyes i programes  </a></li><li class="subMenuPage-164">  <a class="subMenuPage-164" href="/ajuntament/patrimoni-municipal-inventari" target="_self" >Patrimoni Municipal - Inventari  </a></li><li class="subMenuPage-162">  <a class="subMenuPage-162" href="/ajuntament/convenis" target="_self" >Convenis  </a></li><li class="subMenuPage-165">  <a class="subMenuPage-165" href="/ajuntament/subvencions" target="_self" >Subvencions  </a></li><li class="subMenuPage-18">  <a class="subMenuPage-18" href="/ajuntament/anuncis-edictes" target="_self" >Anuncis / Edictes  </a></li><li class="subMenuPage-324">  <a class="subMenuPage-324" href="https://www.vallirana.cat/ajuntament/perfil-de-contractant" target="_blank" rel="noopener noreferrer" >Contractació Pública<i class="fa fa-external-link"></i>
1496  </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-166">  <a class="subMenuPage-166" href="/ajuntament/retiment-de-comptes" target="_self" >Retiment de comptes  </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="https://vallirana.eadministracio.cat/info.0" target="_blank" rel="noopener noreferrer" >Seu electrònica<i class="fa fa-external-link"></i>  </a></li><li class="subMenuPage-123">  <a class="subMenuPage-123" href="/ajuntament/transparencia" target="_self" >Transparència  </a></li><li class="subMenuPage-225">  <a class="subMenuPage-225" href="/ajuntament/225-paes" target="_self" >PAES  </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-256">  <a class="subMenuPage-256" href="/serveis-i-tramits/oficina-datencio-ciutadana-oac" target="_self" >Oficina d'Atenció Ciutadana (OAC)  </a></li><li class="subMenuPage-82">  <a class="subMenuPage-82" href="/serveis-i-tramits/oficines-municipals" target="_self" >Oficines municipals  </a></li><li class="subMenuPage-140">  <a class="subMenuPage-140" href="/serveis-i-tramits/cataleg-i-cartes-de-serveis" target="_self" >Catàleg i Cartes de Serveis  </a></li><li class="subMenuPage-304">  <a class="subMenuPage-304" href="/serveis-i-tramits/queixes-i-suggeriments" target="_self" >Queixes i suggeriments  </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-88">  <a class="subMenuPage-88" href="/serveis-i-tramits/factura-electronica" target="_self" >Factura electrònica  </a></li><li class="subMenuPage-32">  <a class="subMenuPage-32" href="/serveis-i-tramits/impostos" target="_self" >Impostos  </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" target="_self" >Com arribar  </a></li><li class="subMenuPage-35">  <a class="subMenuPage-35" href="/el-municipi/transport-public" target="_self" >Transport públic  </a></li><li class="subMenuPage-36">  <a class="subMenuPage-36" href="/el-municipi/planol--guia-de-carrers" target="_self" >Plànol / Guia de carrers  </a></li><li class="subMenuPage-3">  <a class="subMenuPage-3" href="/el-municipi/guia-del-municipi" target="_self" >Guia del municipi  </a></li><li class="subMenuPage-7">  <a class="subMenuPage-7" href="/el-municipi/informacio-del-municipi" target="_self" >Informació del municipi  </a></li><li class="subMenuPage-131">  <a class="subMenuPage-131" href="/el-municipi/turisme" target="_self" >Turisme  </a></li><li class="subMenuPage-93">  <a class="subMenuPage-93" href="/el-municipi/barris" target="_self" >Barris  </a></li><li class="subMenuPage-156">  <a class="subMenuPage-156" href="/el-municipi/galeries" target="_self" >Galeries  </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-315">  <a class="subMenuPage-315" href="/actualitat/proces-participatiu-nou-poum" target="_self" >Procés participatiu nou POUM  </a></li><li class="subMenuPage-292">  <a class="subMenuPage-292" href="/actualitat/refugis-climatics" target="_self" >Refugis climàtics  </a></li><li class="subMenuPage-313">  <a class="subMenuPage-313" href="/actualitat/onada-de-calor" target="_self" >Onada de Calor  </a></li><li class="subMenuPage-314">  <a class="subMenuPage-314" href="/actualitat/prevencio-duprocim-incendis-forestals" target="_self" >Prevenció: DUPROCIM - Incendis forestals  </a></li><li class="subMenuPage-273">  <a class="subMenuPage-273" href="http://www.vallirana.cat/ajuntament/225-paes/installacio-plaques-solars/" target="_blank" rel="noopener noreferrer" >Instal·lació plaques solars<i class="fa fa-external-link"></i>
1496  </a></li><li class="subMenuPage-277">  <a class="subMenuPage-277" href="/actualitat/agenda-urbana-de-vallirana" target="_self" >Agenda Urbana de Vallirana  </a></li><li class="subMenuPage-213">  <a class="subMenuPage-213" href="/actualitat/subministrament-aigua-potable" target="_self" >Subministrament aigua potable  </a></li><li class="subMenuPage-230">  <a class="subMenuPage-230" href="/actualitat/pla-local-de-salut" target="_self" >Pla Local de Salut  </a></li><li class="subMenuPage-128">  <a class="subMenuPage-128" href="/actualitat/avisos" target="_self" >Avisos  </a></li><li class="subMenuPage-53">  <a class="subMenuPage-53" href="/actualitat/noticies" target="_self" >Notícies  </a></li><li class="subMenuPage-54">  <a class="subMenuPage-54" href="/actualitat/agenda" target="_self" >Agenda  </a></li><li class="subMenuPage-141">  <a class="subMenuPage-141" href="/actualitat/informacions-grups-municipals" target="_self" >Informacions grups municipals  </a></li><li class="subMenuPage-55">  <a class="subMenuPage-55" href="/actualitat/butlleti-digital" target="_self" >Butlletí digital  </a></li><li class="subMenuPage-56">  <a class="subMenuPage-56" href="/actualitat/viure-vallirana" target="_self" >Viure Vallirana  </a></li><li class="subMenuPage-170">  <a class="subMenuPage-170" href="/actualitat/vallirana-televisio" target="_self" >Vallirana Televisió  </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><li class="page-93 Inferior">  <a class="page-93" href="/el-municipi/barris" target="_self" >Barris  </a><ul id="footer-menu-93"><li class="subMenuPage-274">  <a class="subMenuPage-274" href="/el-municipi/barris/activitats-als-barris" target="_self" >Activitats als barris  </a></li><li class="subMenuPage-172">  <a class="subMenuPage-172" href="/el-municipi/barris/can-batlle" target="_self" >Can Batlle  </a></li><li class="subMenuPage-173">  <a class="subMenuPage-173" href="/el-municipi/barris/can-julia" target="_self" >Can Julià  </a></li><li class="subMenuPage-174">  <a class="subMenuPage-174" href="/el-municipi/barris/can-rovira" target="_self" >Can Rovira  </a></li><li class="subMenuPage-175">  <a class="subMenuPage-175" href="/el-municipi/barris/centre-urba" target="_self" >Centre urbà  </a></li><li class="subMenuPage-176">  <a class="subMenuPage-176" href="/el-municipi/barris/casetes-montane" target="_self" >Casetes Montané  </a></li><li class="subMenuPage-148">  <a class="subMenuPage-148" href="/el-municipi/barris/148-el-lledoner" target="_self" >El Lledoner  </a></li><li class="subMenuPage-177">  <a class="subMenuPage-177" href="/el-municipi/barris/el-mirador" target="_self" >El Mirador  </a></li><li class="subMenuPage-178">  <a class="subMenuPage-178" href="/el-municipi/barris/els-pinars" target="_self" >Els Pinars  </a></li><li class="subMenuPage-179">  <a class="subMenuPage-179" href="/el-municipi/barris/inter-club" target="_self" >Inter Club  </a></li><li class="subMenuPage-180">  <a class="subMenuPage-180" href="/el-municipi/barris/la-llibra-casanova" target="_self" >La Llibra Casanova  </a></li><li class="subMenuPage-181">  <a class="subMenuPage-181" href="/el-municipi/barris/la-pinatella" target="_self" >La Pinatella  </a></li><li class="subMenuPage-182">  <a class="subMenuPage-182" href="/el-municipi/barris/la-solana" target="_self" >La Solana  </a></li><li class="subMenuPage-183">  <a class="subMenuPage-183" href="/el-municipi/barris/la-soleia" target="_self" >La Soleia  </a></li><li class="subMenuPage-149">  <a class="subMenuPage-149" href="/el-municipi/barris/149-les-bassioles" target="_self" >Les Bassioles  </a></li><li class="subMenuPage-184">  <a class="subMenuPage-184" href="/el-municipi/barris/mas-de-les-fonts" target="_self" >Mas de les Fonts  </a></li><li class="subMenuPage-185">  <a class="subMenuPage-185" href="/el-municipi/barris/mas-rovira" target="_self" >Mas Rovira  </a></li><li class="subMenuPage-186">  <a class="subMenuPage-186" href="/el-municipi/barris/penya-forcada" target="_self" >Penya Forcada  </a></li><li class="subMenuPage-187">  <a class="subMenuPage-187" href="/el-municipi/barris/pla-de-pelag" target="_self" >Pla de Pèlag  </a></li><li class="subMenuPage-188">  <a class="subMenuPage-188" href="/el-municipi/barris/poligon-industrial" target="_self" >Polígon Industrial  </a></li><li class="subMenuPage-189">  <a class="subMenuPage-189" href="/el-municipi/barris/selva-negra" target="_self" >Selva Negra  </a></li><li class="subMenuPage-190">  <a class="subMenuPage-190" href="/el-municipi/barris/vall-del-sol" target="_self" >Vall del Sol  </a></li><li class="subMenuPage-191">  <a class="subMenuPage-191" href="/el-municipi/barris/vallirana-parc" target="_self" >Vallirana Parc  </a></li></ul></li>        </ul>
1497    </nav>
1498    <div class="links">
1499        <div class="container-xl">
1500            <div class="row">
1501                <div class="xxss col-md-6 col-sm-6 col-lg-6 middle">                
1502                        <span class="titol">Xarxes socials:</span>
1503  
1504    <a target="_blank" aria-label="Twitter" href="https://twitter.com/vallirana?lang=ca" title="Obre en finestra nova: Twitter">
1505        <span style="display: none">Twitter</span>
1506        <img src="/front/view/images/icons/social/twitter.png" alt="Twitter" width="32" height="32">
1507    </a>
1508  
1509    <a target="_blank" aria-label="Facebook" href="https://www.facebook.com/AjuntamentVallirana/" title="Obre en finestra nova: Facebook">
1510        <span style="display: none">Facebook</span>
1511        <img src="/front/view/images/icons/social/facebook.png" alt="Facebook" width="32" height="32">
1512    </a>
1513  
1514    <a target="_blank" aria-label="Youtube" href="https://www.youtube.com/user/AjuntamentVallirana" title="Obre en finestra nova: Youtube">
1515        <span style="display: none">Youtube</span>
1516        <img src="/front/view/images/icons/social/youtube.png" alt="Youtube" width="32" height="32">
1517    </a>
1518  
1519    <a target="_blank" aria-label="Instagram" href="https://www.instagram.com/ajvallirana/" title="Obre en finestra nova: Instagram">
1520        <span style="display: none">Instagram</span>
1521        <img src="/front/view/images/icons/social/instagram.png" alt="Instagram" width="32" height="32">
1522    </a>
1523                </div>
1524                <div class="col-md-6 col-sm-6 col-lg-6 middle">
1525                    <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>
1526            </div>
1527        </div>
1528    </div>
1529    <div class="contact">
1530        <div class="container-xl">
1531            <div class="row">
1532                <address class="address col-md-6 col-sm-6 col-lg-6">
1533    <div class="title">
1534        Ajuntament de Vallirana    </div>
1535    Carrer Major, 329<br>08759 Vallirana<br>Tel. 936 830 810<br>NIF P0829600F<br></address><div class="diba col-md-6 col-sm-6 col-lg-6" id="diba-partner">
1536    <div class="title">
1537        Amb la col·laboració de:    </div>
1538    <a href="http://diba.cat/" target="_blank" aria-label="Anar a la web Diputació de Barcelona" title="Obre en finestra nova: Diputació de Barcelona">
1539        <span style="display: none">Diputació de Barcelona</span>
1540        <img src="/front/view//images/logoDiba/Blanc.svg" alt="Diputació de Barcelona" class="logo-diba">
1541    </a>
1542</div>            </div>
1543        </div>
1544    </div>
1545</div>
1546        </footer>
1547        <!-- Llibreries de tercers + js propis registrats a AssetManager (jQuery primer) -->
1548<script src="/front/view/js/bower_components/jquery/dist/jquery.min.js?ver=1790945786"></script>
vendor: 1 bytes, line 1548
1548
1549<script src="/front/view/js/bower_components/bootstrap/dist/js/bootstrap.bundle.min.js?ver=1790945786"></script>
vendor: 1 bytes, line 1549
1549
1550<script src="/front/view/js/bower_components/bxslider-4/dist/jquery.bxslider.js?ver=1790945786"></script>
vendor: 1 bytes, line 1550
1550
1551<script src="/front/view/js/bower_components/jscal/index.js?ver=1790945786"></script>
vendor: 1 bytes, line 1551
1551
1552<script src="/common/bower_components/select2/dist/js/select2.min.js?ver=1790945786"></script>
vendor: 1 bytes, line 1552
1552
1553<script src="/common/bower_components/select2/dist/js/i18n/ca.js?ver=1790945786"></script>
vendor: 1 bytes, line 1553
1553
1554<script src="/common/bower_components/strength.js/src/strength.min.js?ver=1790945786"></script>
vendor: 1 bytes, line 1554
1554
1555<script src="/front/view/js/bower_components/masonry-layout/dist/masonry.pkgd.min.js?ver=1790945786"></script>
vendor: 1 bytes, line 1555
1555
1556<script src="/front/view/js/constants.js?ver=1790945786"></script>
vendor: 1 bytes, line 1556
1556
1557<script src="/front/view/js/functions.js?ver=1790945786"></script>
vendor: 1 bytes, line 1557
1557
1558<script src="/front/view/js/functions/footer.js?ver=1790945786"></script>
vendor: 1 bytes, line 1558
1558
1559<script src="/front/view/js/bower_components/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js?ver=1790945786"></script>
vendor: 1 bytes, line 1559
1559
1560<script src="/front/view/js/bower_components/jquery.prettyPhoto/index.js?ver=1790945786"></script>
vendor: 1 bytes, line 1560
1560
1561<script>
1562    $(document).ready(function(){
1563                    $("a[rel^='prettyPhoto']").prettyPhoto();
1564            $("a[rel^='prettyFrame']").prettyPhoto();
1565            });
1566</script>
vendor: 1 bytes, line 1566
1566
1567<script>
1568        var TWITTER = true;
1569            var FACEBOOK = true;
1570        $(window).on("load", function() {
1571        start();
1572    });
1573        $(document).ready(function() {
1574        if (typeof articlesId !== 'undefined') {
1575            var today = new Date();
1576                        var date = today
1577                        articlesId.push('internal_calendar');
1578
1579            var oneYearAfter = new Date();
1580            oneYearAfter.setDate(oneYearAfter.getDate() + 365);
1581            for (id in articlesId) {
1582                Calendar.setup({
1583                    id: articlesId[id],
1584                    cont: "dv_calendar_" + articlesId[id],
1585                    fdow: 1,
1586                    date: date,
1587                    noScroll: true,
1588                    bottomBar: false,
1589                    max: oneYearAfter,
1590                    animation: false,
1591                    titleFormat: "%B %Y",
1592                    dateInfo: getDateInfo
1593                });
1594                setEqualContentColumns();
1595            }
1596        }
1597    });
1598
1599        
1600    // Initialize Select2 with icon support for category filter
1601    $(document).ready(function() {
1602        if ($('#categoryFilter').length) {
1603            $('#categoryFilter').select2({
1604                templateResult: function(option) {
1605                    if (!option.id) return option.text;
1606                    var icon = $(option.element).data('icon');
1607                    if (!icon) return option.text;
1608                    return $('<span><img src="' + icon + '" style="width: 16px; height: 16px; margin-right: 6px; vertical-align: middle;"> ' + option.text + '</span>');
1609                },
1610                templateSelection: function(option) {
1611                    if (!option.id) return option.text;
1612                    var icon = $(option.element).data('icon');
1613                    if (!icon) return option.text;
1614                    return $('<span><img src="' + icon + '" style="width: 16px; height: 16px; margin-right: 6px; vertical-align: middle;"> ' + option.text + '</span>');
1615                },
1616                allowHtml: true
1617            });
1618        }
1619    });
1620</script>
1620
1621        <!-- CSS final-->
1622
1623        
1623<script>
1624          const css = "";
1625          const style = document.createElement('style');
1626          style.textContent = css;
1627          document.head.appendChild(style);
1628        </script>
1628
1629
1630        <!-- Start Modal views-->
1631        <div class="modal fade" id="ImageModal" tabindex="-1" role="dialog" aria-hidden="true">
1632    <div class="modal-dialog modal-dialog-centered" role="document">
1633        <div class="modal-content">
1634            <div class="modal-header">
1635                <div class="title-head"></div>
1636            </div>
1637            <div class="modal-body">
1638                                <div id="carouselControls" class="carousel carousel-dark slide" data-bs-ride="carousel" data-bs-interval="false">
1639                    <div class="carousel-inner">
1640                                                                                                <div id='imageCarousel0' class="carousel-item active" data-id="0" data-title="">
1641                            <img id='imageGalleryModal0' src="/media/repository/noticies/00_Noticies_2025/03_marc_2025/3.png" data-id="0" data-title="" class="d-block w-100" alt="">
1642                        </div>
1643                                                                                                <div id='imageCarousel1' class="carousel-item " data-id="1" data-title="">
1644                            <img id='imageGalleryModal1' src="/media/repository/noticies/00_Noticies_2025/03_marc_2025/2.png" data-id="1" data-title="" class="d-block w-100" alt="">
1645                        </div>
1646                                                                                                <div id='imageCarousel2' class="carousel-item " data-id="2" data-title="">
1647                            <img id='imageGalleryModal2' src="/media/repository/noticies/00_Noticies_2025/03_marc_2025/1.png" data-id="2" data-title="" class="d-block w-100" alt="">
1648                        </div>
1649                                                                    </div>
1650                    <button class="carousel-control-prev" type="button" data-bs-target="#carouselControls" data-bs-slide="prev">
1651                        <span class="carousel-control-prev-icon" aria-hidden="true"></span>
1652                        <span class="visually-hidden">Previous</span>
1653                    </button>
1654                    <button class="carousel-control-next" type="button" data-bs-target="#carouselControls" data-bs-slide="next">
1655                        <span class="carousel-control-next-icon" aria-hidden="true"></span>
1656                        <span class="visually-hidden">Next</span>
1657                    </button>
1658                </div>
1659                            </div>
1660            <div class="modal-footer">
1661                <div id="imageText"></div>
1662                <div id="downloadImage"></div>
1663                <a id="closeModal" class="close" href="javascript:void(0)"><span style="display: none">X</span></a>
1664            </div>
1665        </div>
1666    </div>
1667</div>
1668
1669        <div class="modal fade" id="videoModal" tabindex="-1" role="dialog"  aria-hidden="true">
1670    <div class="modal-dialog modal-dialog-centered" role="document">
1671        <div class="modal-content">
1672            <div class="modal-header">
1673                <div class="title-head"></div>
1674            </div>
1675            <div class="modal-body">
1676                <div class="tiktok-div-embed"></div>
1677                <iframe id="iframeVideo" title="Vídeo" class="iframeVideo" allowfullscreen></iframe>
1678
1679            </div>
1680            <div class="modal-footer">
1681                <span id="titleVideo" class="titleVideo"></span>
1682                <a id="closeModalVideo" class="close" href="javascript:void(0)" data-bs-dismiss="modal"><span style="display: none">X</span></a>
1683
1684            </div>
1685        </div>
1686    </div>
1687</div>        <div class="modal fade" id="pdfModal" tabindex="-1" role="dialog"  aria-hidden="true">
1688    <div id="documentDialog" class="modal-dialog modal-dialog-centered" role="document">
1689        <div class="modal-content">
1690            <div class="modal-header">
1691                <div class="title-head"></div>
1692            </div>
1693            <div class="modal-body">
1694                <iframe id="iframePdf" title='Document' class="pdfview" style="width: 100%; height: 100%"></iframe>
1695            </div>
1696            <div class="modal-footer">
1697                <span id="titlePdf" class="titlePdf"></span>
1698                <a id="closeModalPDF" class="close" href="javascript:void(0)"><span style="display: none">X</span></a>
1699            </div>
1700        </div>
1701    </div>
1702</div>        <!-- End Modal views -->
1703        
1703<script src="/front/view/js/endScript.js?ver=1790945786"></script>
1703
1704        <!-- Només activar per desenvolupament
1705        
1705<script src="../../../node_modules/axe-core/axe.js"></script>
1705
1706        
1706<script src="../../../dist/my-first-webpack.bundle.js"></script>
1706
1707        -->
1708                
1708<script>
1709            $(document).ready(function () {
1710                startClock(1790945787);
1711                if (typeof (callMenuAfterJQueryLoaded) == "function") {
1712                    callMenuAfterJQueryLoaded();
1713                }
1714                
1715                datepickerInit();
1716                carouselControlSmall();
1717
1718                if (typeof (callMenuBeforeJQueryLoaded) == "function") {
1719                    callMenuBeforeJQueryLoaded();
1720                }
1721
1722                if (typeof (callMenuBeforeTopJQueryLoaded) == "function") {
1723                    callMenuBeforeTopJQueryLoaded();
1724                }
1725                addAttributesDivVcards();
1726                modalsImage();
1727                modalsPdf();
1728                translateWeb();
1729                var carousel = $('#carouselControls');
1730                carousel.on('slide.bs.carousel', function (event) {
1731                    toSlideImage(event);
1732                });
1733                /** Només activar per desenvolupament
1734                axe.configure({
1735                    locale: {
1736                        lang: 'es',
1737                    }
1738                });
1739
1740                axe.run().then(results => {
1741                        if (results.violations.length) {
1742                            console.log(results.violations);
1743                            throw new Error('Accessibility issues found');
1744                        }
1745                    })
1746                    .catch(err => {
1747                        console.log('Something bad happened:', err.message);
1748                    });
1749                */
1750            });
1751
1752            $(window).resize(function() {
1753                equalHeightIconTime();
1754            })
1755        </script>
1755
1756                    </body>
1757</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.