PageSourceSearch

https://www.vallirana.cat/ajuntament/salutacio-de-lalcaldessa

html vallirana.cat collected 2026-10-02 12:56:30 UTC 132,657 bytes, 1,726 lines download raw bytes

1<!DOCTYPE HTML>
2<html lang="ca" xmlns="http://www.w3.org/1999/xhtml" xml:lang="ca" >
3    <head>
4        <!-- METADATA -->
5<meta charset="utf-8">
6<meta name="viewport" content="width=device-width, initial-scale=1">
7<meta name="title" lang="ca" content="Salutació de l&#039;alcaldessa - Ajuntament de Vallirana">
8<meta name="description" lang="ca" content="">
9<meta name="author" lang="ca" content="Ajuntament de Vallirana">
10<meta name="date" lang="ca" content="2025-01-13 12:46:20">
11<meta name="generator" lang="ca" content="Ajuntament de Vallirana">
12<meta name="robots" content="index, follow">
13
14        <title>Salutació de l'alcaldessa - 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="/ajuntament/salutacio-de-lalcaldessa">
29
30        <link rel="stylesheet" href="/front/view/js/bower_components/bootstrap/dist/css/bootstrap.min.css?ver=1790945789">
31<link rel="stylesheet" href="/front/view/js/bower_components/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css?ver=1790945789">
32<link rel="stylesheet" href="/front/view/js/bower_components/bootstrap-icons.min/index.css?ver=1790945789">
33<link rel="stylesheet" href="/front/view/js/bower_components/tempus-dominus.min.css/index.css?ver=1790945789">
34<link rel="stylesheet" href="/common/bower_components/select2/dist/css/select2.min.css?ver=1790945789">
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=1790945789"></script>
vendor: 1 bytes, line 57
57
58<script src="/front/view/js/klaro-init.js?ver=1790945789"></script>
58
59
60        <!-- Twitter Card data -->
61<meta name="twitter:card" content="summary">
62<meta name="twitter:title" content="Salutació de l&#039;alcaldessa">
63<meta name="twitter:description" content="Web institucional de l&#039;Ajuntament de Vallirana">
64<meta name="twitter:image" content="https://www.vallirana.cat/themes/vallirana/images/logos/header.png">
65    <meta name="twitter:image:alt" content="Logo">
66        <!-- Open Graph data -->
67<meta property="og:title" content="Salutació de l&#039;alcaldessa">
68<meta property="og:type" content="website">
69<meta property="og:url" content="https://www.vallirana.cat/ajuntament/salutacio-de-lalcaldessa">
70<meta property="og:image" content="https://www.vallirana.cat/themes/vallirana/images/logos/header.png">
71    <meta property="og:image:alt" content="Logo">
72    <meta property="og:image" content="https://www.vallirana.cat/themes/vallirana/images/logos/header_inv.png">
73    <meta property="og:image:alt" content="Logo invertit">
74    <meta property="og:description" content="Web institucional de l&#039;Ajuntament de Vallirana">
75<meta property="og:site_name" content="Ajuntament de Vallirana">
76
77        <!-- HTML5 compatible tags -->
78<script>
79    document.createElement('header');
80    document.createElement('footer');
81    document.createElement('section');
82    document.createElement('aside');
83    document.createElement('nav');
84    document.createElement('article');
85    document.createElement('hgroup');
86    document.createElement('lh');
87</script>
87
88        
88<script>window.mapsConfig = { layerType: 'OpenStreetMap_Mapnik' };</script>
88
89<link rel="stylesheet" href="/front/view/js/bower_components/FreezeUI/freeze-ui.min.css">
90<link rel="stylesheet" href="/front/view/js/bower_components/Leaflet/default/leaflet.css">
91<link rel="stylesheet" href="/front/view/js/bower_components/Leaflet/default/Control.Loading.css">
92<script  src="/front/view/js/bower_components/FreezeUI/freeze-ui.min.js"></script>
vendor: 1 bytes, line 92
92
93<script  src="/front/view/js/bower_components/Leaflet/default/leaflet.js"></script>
vendor: 1 bytes, line 93
93
94<script src="/front/view/js/bower_components/es6-promise/es6-promise.min.js"></script>
vendor: 1 bytes, line 94
94
95<script>ES6Promise.polyfill();</script>
vendor: 1 bytes, line 95
95
96<script  src='/front/view/js/bower_components/Leaflet/default/Leaflet.GoogleMutant.js'></script>
vendor: 1 bytes, line 96
96
97<script src="/front/view/js/googleMapsInit.js"></script>
vendor: 1 bytes, line 97
97
98<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 98
98
99<script  src="/front/view/js/bower_components/Leaflet/default/leaflet.maps.js"></script>
vendor: 1 bytes, line 99
99
100<script  src="/front/view/js/bower_components/Leaflet/default/leaflet.clone.js"></script>
vendor: 1 bytes, line 100
100
101<script  src="/front/view/js/bower_components/Leaflet/default/Control.Loading.js"></script>
vendor: 1 bytes, line 101
101
102<script src="/front/view/js/bower_components/jquery.min/index.js"></script>
vendor: 1 bytes, line 102
102
103<script src="/front/view/js/maps.js"></script>
103        <!-- Init addHeadExtraStyles -->
104        <style>html body{font-size:1em !important;} </style>
105        <!-- End addHeadExtraStyles -->
106        <!-- Font Awesome 7 + v4-shims for backward compatibility -->
107        <link href="https://cdn.jsdelivr.net/npm/@fortawesome/[email protected]/css/all.min.css" rel="stylesheet">
108        <link href="https://cdn.jsdelivr.net/npm/@fortawesome/[email protected]/css/v4-shims.min.css" rel="stylesheet">
109        <!-- Popperjs + Tempus Dominus -->
110        
110<script src="/front/view/js/bower_components/popper.min/index.js?ver=1790945789"></script>
vendor: 1 bytes, line 110
110
111<script src="/front/view/js/bower_components/tempus-dominus.min.js/index.js?ver=1790945789"></script>
111
112                <link rel="stylesheet" media="all" href="/themes/vallirana/styles/style.min.css?ver=1790945789">
113            </head>
114    <body class="page id-12">
115        <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-links">Saltar a enllaços</a></li><li><a href="#footer-content">Saltar al peu de pàgina</a></li></ul></nav>        <header id="site-header" tabindex="-1">
116                                    <div class="toolbar clearfix">
117    <div class="container-xl">
118                <div class="fright">
119            <div class="toolbarItem">
120    <div class="toolbarItem page-62 page-contacte">
121    <a 
122        href="/altres-continguts/contacte"
123        target="_self"
124        rel=""
125            >
126        Contacte    </a>
127</div>
128</div>                        <div id="social" class="toolbarItem">
129                  
130    <a target="_blank" aria-label="Twitter" href="https://twitter.com/vallirana?lang=ca" title="Obre en finestra nova: Twitter">
131        <span style="display: none">Twitter</span>
132        <img src="/front/view/images/icons/social/twitter.png" alt="Twitter" width="32" height="32">
133    </a>
134  
135    <a target="_blank" aria-label="Facebook" href="https://www.facebook.com/AjuntamentVallirana/" title="Obre en finestra nova: Facebook">
136        <span style="display: none">Facebook</span>
137        <img src="/front/view/images/icons/social/facebook.png" alt="Facebook" width="32" height="32">
138    </a>
139  
140    <a target="_blank" aria-label="Youtube" href="https://www.youtube.com/user/AjuntamentVallirana" title="Obre en finestra nova: Youtube">
141        <span style="display: none">Youtube</span>
142        <img src="/front/view/images/icons/social/youtube.png" alt="Youtube" width="32" height="32">
143    </a>
144  
145    <a target="_blank" aria-label="Instagram" href="https://www.instagram.com/ajvallirana/" title="Obre en finestra nova: Instagram">
146        <span style="display: none">Instagram</span>
147        <img src="/front/view/images/icons/social/instagram.png" alt="Instagram" width="32" height="32">
148    </a>
149            </div>
150                        <div class="toolbarItem">
151                <div id="toolbarLanguages">
152    <ul id="languages">
153        <li><a href="#" role="button" aria-expanded="false" aria-controls="languagesList" id="languagesToggle">Idiomes</a>
154            <ul id="languagesList">
155                                    <li><a class="link-language" href="https://www.vallirana.cat/ajuntament/salutacio-de-lalcaldessa?lang=ca" data-target="https://www.vallirana.cat/ajuntament/salutacio-de-lalcaldessa?lang=ca">Català</a></li>
156                                    <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/ajuntament/salutacio-de-lalcaldessa&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/ajuntament/salutacio-de-lalcaldessa&amp;sl=ca&amp;tl=es">Castellà</a></li>
157                                    <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/ajuntament/salutacio-de-lalcaldessa&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/ajuntament/salutacio-de-lalcaldessa&amp;sl=ca&amp;tl=en">Anglès</a></li>
158                                    <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/ajuntament/salutacio-de-lalcaldessa&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/ajuntament/salutacio-de-lalcaldessa&amp;sl=ca&amp;tl=de">Alemany</a></li>
159                                    <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/ajuntament/salutacio-de-lalcaldessa&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/ajuntament/salutacio-de-lalcaldessa&amp;sl=ca&amp;tl=fr">Francès</a></li>
160                            </ul>
161        </li>
162    </ul>
163</div>
164<script>
165(function () {
166    var toggle = document.getElementById('languagesToggle');
167    if (!toggle) return;
168    var li = toggle.parentElement;
169    var submenu = li.querySelector('ul');
170    var links = Array.prototype.slice.call(submenu.querySelectorAll('a'));
171
172    function keyName(e) {
173        return e.key || e.code || e.keyCode;
174    }
175
176    function isSpaceKey(e) {
177        var key = keyName(e);
178        return key === ' ' || key === 'Spacebar' || key === 'Space' || key === 32;
179    }
180
181    function open(focusFirst) {
182        li.classList.add('is-open');
183        submenu.style.display = 'block';
184        submenu.style.padding = '1em';
185        toggle.setAttribute('aria-expanded', 'true');
186        if (focusFirst && links.length) links[0].focus();
187    }
188
189    function close() {
190        li.classList.remove('is-open');
191        submenu.style.display = '';
192        submenu.style.padding = '';
193        toggle.setAttribute('aria-expanded', 'false');
194    }
195
196    function isOpen() {
197        return toggle.getAttribute('aria-expanded') === 'true';
198    }
199
200    function focusLink(index) {
201        if (!links.length) return;
202        links[(index + links.length) % links.length].focus();
203    }
204
205    function focusedLinkIndex() {
206        return links.indexOf(document.activeElement);
207    }
208
209    toggle.addEventListener('click', function (e) {
210        e.preventDefault();
211        isOpen() ? close() : open(false);
212    });
213
214    toggle.addEventListener('keydown', function (e) {
215        var key = keyName(e);
216        if (key === 'Enter' || isSpaceKey(e)) {
217            e.preventDefault();
218            isOpen() ? close() : open(false);
219        } else if (key === 'ArrowDown' || key === 40) {
220            e.preventDefault();
221            open(true);
222        } else if (key === 'ArrowUp' || key === 38) {
223            e.preventDefault();
224            open(false);
225            focusLink(links.length - 1);
226        } else if (key === 'Escape' || key === 'Esc' || key === 27) {
227            if (isOpen()) {
228                e.preventDefault();
229                close();
230            }
231        }
232    });
233
234    submenu.addEventListener('keydown', function (e) {
235        var key = keyName(e);
236        var index = focusedLinkIndex();
237
238        if (key === 'ArrowDown' || key === 40) {
239            e.preventDefault();
240            focusLink(index + 1);
241        } else if (key === 'ArrowUp' || key === 38) {
242            e.preventDefault();
243            focusLink(index - 1);
244        } else if (key === 'Home' || key === 36) {
245            e.preventDefault();
246            focusLink(0);
247        } else if (key === 'End' || key === 35) {
248            e.preventDefault();
249            focusLink(links.length - 1);
250        } else if (isSpaceKey(e)) {
251            e.preventDefault();
252            if (document.activeElement && document.activeElement.click) {
253                document.activeElement.click();
254            }
255        } else if (key === 'Escape' || key === 'Esc' || key === 27) {
256            e.preventDefault();
257            close();
258            toggle.focus();
259        }
260    });
261
262    li.addEventListener('focusout', function () {
263        window.setTimeout(function () {
264            if (!li.contains(document.activeElement)) close();
265        }, 0);
266    });
267
268    document.addEventListener('click', function (e) {
269        if (!li.contains(e.target)) close();
270    });
271})();
272</script>
272
273                <div class="currentDate" style='padding:9px;color:white'>
274    <span id="clock" class="clock" title='Data i hora oficial' >
275        02.10.2026 | 14:56    </span>
276</div>            </div>
277        </div>
278    </div>
279</div>
280<div class="header ">
281    <div class="branding">
282        <div class="container-xl">
283            <div class="row">
284                <div class="col-md-8 col-sm-8 col-lg-8 logo_box">
285    <a class="logo" href="/" aria-label="Ajuntament de Vallirana - Pàgina d'inici">
286        <img src="/themes/vallirana/images/logos/header.png" alt="" width="355" height="115" id="mainLogo">
287    </a>
288    </div>                <div class="col-md-4 col-sm-4 col-lg-4 middle search_box">
289    <form id="search_box" aria-label="Cercar:" name="search_box" method="get" action="/search">
290        <label for="search" accesskey="4">
291            <span class="visually-hidden">Cercar:</span>
292        </label>
293        <input id="search" name="search" type="text" aria-label="Cercar:" title="Cerca a tot el web" value="" placeholder="Cercar...">
294        <button type="submit" class="search-button" aria-label="Cerca"><i class="fa fa-search"></i></button>
295    </form>
296</div>
297            </div>
298        </div>
299    </div>
300        <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">
300Ple 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">
300Pla 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
300s-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">
300El 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;
300Esport 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">
300ZS 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">
300Habitatge</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>
300<script>(function() {
301    'use strict';
302
303    // Mega panel
304
305    function initMegaPanels(navContainer) {
306        var menuItems = Array.prototype.slice.call(navContainer.querySelectorAll('[data-mega-id]'));
307        if (!menuItems.length) return;
308
309        var navUl    = navContainer.querySelector('ul');
310        var topItems = navUl
311            ? menuItems.filter(function(el) { return el.parentElement === navUl; })
312            : menuItems;
313
314        var wrapper    = navContainer.closest('.menu-flexible__wrapper');
315        var isClick    = wrapper && wrapper.getAttribute('data-expand-type') === 'click';
316
317        menuItems.forEach(function(item) {
318            var panel = getPanelForItem(item, navContainer);
319            if (!panel) return;
320
321            if (isClick) {
322                var link = item.querySelector('a');
323                if (link) {
324                    link.addEventListener('click', function(e) {
325                        // En mòbil, els elements naveguen directament sense desplegar submenús
326                        if (window.innerWidth <= 992) return;
327                        if (panel.classList.contains('mf-mega-visible')) {
328                            // Segon clic: navegar
329                            return;
330                        }
331                        e.preventDefault();
332                        hideAllMegaPanels(navContainer);
333                        showPanel(item, panel);
334                    });
335                }
336            } else {
337                var hoverDelay = parseInt(
338                    getComputedStyle(wrapper).getPropertyValue('--menu-hover-delay'), 10
339                ) || 0;
340                var hoverTimer = null;
341
342                var leaveTimer = null;
343
344                item.addEventListener('mouseenter', function() {
345                    clearTimeout(hoverTimer);
346                    clearTimeout(leaveTimer);
347                    if (hoverDelay > 0) {
348                        hoverTimer = setTimeout(function() { showPanel(item, panel); }, hoverDelay);
349                    } else {
350                        showPanel(item, panel);
351                    }
352                });
353                item.addEventListener('mouseleave', function(e) {
354                    clearTimeout(hoverTimer);
355                    if (!panel.contains(e.relatedTarget)) {
356                        leaveTimer = setTimeout(function() { hidePanel(item, panel); }, 300);
357                    }
358                });
359                panel.addEventListener('mouseenter', function() {
360                    clearTimeout(leaveTimer);
361                });
362                panel.addEventListener('mouseleave', function(e) {
363                    clearTimeout(hoverTimer);
364                    clearTimeout(leaveTimer);
365                    if (!item.contains(e.relatedTarget)) hidePanel(item, panel);
366                });
367
368                // Tàctil: fallback quan hover no disponible (només escriptori tàctil)
369                var link = item.querySelector('a');
370                if (link) {
371                    link.addEventListener('click', function(e) {
372                        if (window.matchMedia('(hover: none)').matches && window.innerWidth > 992) {
373                            if (panel.classList.contains('mf-mega-visible')) {
374                                // Segon clic en tàctil: navegar
375                                return;
376                            }
377                            e.preventDefault();
378                            hideAllMegaPanels(navContainer);
379                            showPanel(item, panel);
380                        }
381                    });
382                }
383            }
384        });
385
386        navContainer.addEventListener('keydown', function(e) {
387            handleMegaKeydown(e, navContainer, topItems);
388        });
389
390        if (!isClick) {
391            navContainer.addEventListener('focusin', function(e) {
392                var item = e.target.closest('[data-mega-id]');
393                if (!item) return;
394                var panel = getPanelForItem(item, navContainer);
395                if (!panel) return;
396                hideAllMegaPanels(navContainer);
397                showPanel(item, panel);
398            });
399        }
400
401        navContainer.addEventListener('focusout', function() {
402            setTimeout(function() {
403                if (!navContainer.contains(document.activeElement)) {
404                    hideAllMegaPanels(navContainer);
405                }
406            }, 0);
407        });
408
409        document.addEventListener('click', function(e) {
410            if (!navContainer.contains(e.target)) {
411                hideAllMegaPanels(navContainer);
412            }
413        });
414    }
415
416    function handleMegaKeydown(e, navContainer, topItems) {
417        var focused = document.activeElement;
418        if (!focused) return;
419
420        var currentItem = focused.closest('[data-mega-id]');
421        var currentPanel = focused.closest('.menu-flexible__mega-panel');
422        var key = e.key || e.code || e.keyCode;
423
424        function directLink(item) {
425            if (!item) return null;
426            return Array.prototype.slice.call(item.children).find(function(el) {
427                return el.tagName === 'A';
428            }) || item.querySelector('a');
429        }
430
431        function itemForPanel(panel) {
432            if (!panel) return null;
433            var id = panel.getAttribute('data-mega-id');
434            return id ? navContainer.querySelector('li[data-mega-id="' + id + '"]') : null;
435        }
436
437        function focusPanelLink(panel, index) {
438            var links = Array.prototype.slice.call(panel.querySelectorAll('a'));
439            if (!links.length) return;
440            links[(index + links.length) % links.length].focus();
441        }
442
443        function focusPanelSibling(panel, offset) {
444            var links = Array.prototype.slice.call(panel.querySelectorAll('a'));
445            var idx = links.indexOf(focused);
446            if (idx === -1) return;
447            links[(idx + offset + links.length) % links.length].focus();
448        }
449
450        function panelColumnForLink(link) {
451            return link ? link.closest('.menu-flexible__mega-col') : null;
452        }
453
454        function focusAdjacentPanelColumn(panel, offset) {
455            var columns = Array.prototype.slice.call(panel.querySelectorAll('.menu-flexible__mega-col'));
456            var currentColumn = panelColumnForLink(focused);
457            var idx = columns.indexOf(currentColumn);
458            if (idx === -1) return false;
459
460            var targetColumn = columns[(idx + offset + columns.length) % columns.length];
461            var targetLink = targetColumn.querySelector('a');
462            if (targetLink) {
463                targetLink.focus();
464                return true;
465            }
466
467            return false;
468        }
469
470        function focusTopItem(item, offset) {
471            var idx = topItems.indexOf(item);
472            if (idx === -1) return;
473
474            var next = topItems[(idx + offset + topItems.length) % topItems.length];
475            hideAllMegaPanels(navContainer);
476
477            var nextLink = directLink(next);
478            if (nextLink) {
479                nextLink.focus();
480                var nextPanel = getPanelForItem(next, navContainer);
481                if (nextPanel) showPanel(next, nextPanel);
482            }
483        }
484
485        switch (key) {
486            case 'Escape':
487            case 'Esc':
488            case 27: {
489                e.preventDefault();
490                hideAllMegaPanels(navContainer);
491                if (currentPanel) {
492                    var item = itemForPanel(currentPanel);
493                    var lnk = directLink(item);
494                    if (lnk) lnk.focus();
495                }
496                break;
497            }
498
499            case 'ArrowRight':
500            case 39:
501            case 'ArrowLeft':
502            case 37: {
503                var direction = (key === 'ArrowRight' || key === 39) ? 1 : -1;
504                e.preventDefault();
505
506                if (currentPanel) {
507                    if (!focusAdjacentPanelColumn(currentPanel, direction)) {
508                        var ownerItem = itemForPanel(currentPanel);
509                        focusTopItem(ownerItem, direction);
510                    }
511                    break;
512                }
513
514                if (!currentItem) return;
515                focusTopItem(currentItem, direction);
516                break;
517            }
518
519            case 'ArrowDown':
520            case 40: {
521                e.preventDefault();
522                if (currentPanel) {
523                    focusPanelSibling(currentPanel, 1);
524                    break;
525                }
526                if (!currentItem) return;
527                var panel = getPanelForItem(currentItem, navContainer);
528                if (!panel) return;
529                if (!panel.classList.contains('mf-mega-visible')) {
530                    hideAllMegaPanels(navContainer);
531                    showPanel(currentItem, panel);
532                }
533                focusPanelLink(panel, 0);
534                break;
535            }
536
537            case ' ':
538            case 'Space':
539            case 'Spacebar':
540            case 32: {
541                if (currentPanel || !currentItem) return;
542                var spacePanel = getPanelForItem(currentItem, navContainer);
543                if (!spacePanel) return;
544
545                e.preventDefault();
546                if (spacePanel.classList.contains('mf-mega-visible')) {
547                    hidePanel(currentItem, spacePanel);
548                } else {
549                    hideAllMegaPanels(navContainer);
550                    showPanel(currentItem, spacePanel);
551                }
552                break;
553            }
554
555            case 'ArrowUp':
556            case 38: {
557                if (!currentPanel) return;
558                e.preventDefault();
559                var panelLinks = Array.prototype.slice.call(currentPanel.querySelectorAll('a'));
560                var focusedIndex = panelLinks.indexOf(focused);
561
562                if (focusedIndex > 0) {
563                    focusPanelLink(currentPanel, focusedIndex - 1);
564                } else {
565                    var parentItem = itemForPanel(currentPanel);
566                    var parentLink = directLink(parentItem);
567                    if (parentLink) parentLink.focus();
568                    if (parentItem) hidePanel(parentItem, currentPanel);
569                }
570                break;
571            }
572        }
573    }
574
575    function getPanelForItem(item, navContainer) {
576        var id = item.getAttribute('data-mega-id');
577        return id
578            ? navContainer.querySelector('.menu-flexible__mega-panel[data-mega-id="' + id + '"]')
579            : null;
580    }
581
582    function showPanel(item, panel) {
583        panel.classList.add('mf-mega-visible');
584        panel.setAttribute('aria-hidden', 'false');
585        var link = item.querySelector('a');
586        if (link) link.setAttribute('aria-expanded', 'true');
587    }
588
589    function hidePanel(item, panel) {
590        panel.classList.remove('mf-mega-visible');
591        panel.setAttribute('aria-hidden', 'true');
592        var link = item.querySelector('a');
593        if (link) link.setAttribute('aria-expanded', 'false');
594    }
595
596    function hideAllMegaPanels(navContainer) {
597        navContainer.querySelectorAll('.menu-flexible__mega-panel.mf-mega-visible')
598            .forEach(function(panel) {
599                var id   = panel.getAttribute('data-mega-id');
600                var item = id ? navContainer.querySelector('li[data-mega-id="' + id + '"]') : null;
601                if (item) {
602                    hidePanel(item, panel);
603                } else {
604                    panel.classList.remove('mf-mega-visible');
605                    panel.setAttribute('aria-hidden', 'true');
606                }
607            });
608    }
609
610
611    // Tecles de fletxa (menú estàndard)
612
613    function initStandardKeyboard(wrapper) {
614        var menu = wrapper.querySelector('.menu-flexible__list');
615        if (!menu) return;
616
617        function closeAll() {
618            Array.prototype.slice.call(menu.querySelectorAll('.menu-flexible__item[focus="true"]'))
619                .forEach(function(item) {
620                    item.setAttribute('focus', 'false');
621                    var submenu = Array.prototype.slice.call(item.children).find(function(el) {
622                        return el.classList && el.classList.contains('menu-flexible__submenu');
623                    });
624                    if (submenu) {
625                        submenu.style.left = '';
626                        submenu.style.opacity = '';
627                        submenu.style.visibility = '';
628                        submenu.style.pointerEvents = '';
629                        submenu.style.transform = '';
630                    }
631                    var link = Array.prototype.slice.call(item.children).find(function(el) {
632                        return el.tagName === 'A';
633                    });
634                    if (link && link.classList.contains('menu-flexible__link--dropdown')) {
635                        link.setAttribute('aria-expanded', 'false');
636                    }
637                });
638        }
639
640        wrapper.addEventListener('keydown', function(e) {
641            handleStandardKeydown(e, menu);
642        });
643
644        wrapper.addEventListener('focusout', function() {
645            setTimeout(function() {
646                if (!wrapper.contains(document.activeElement)) {
647                    closeAll();
648                }
649            }, 0);
650        });
651    }
652
653    function handleStandardKeydown(e, menu) {
654        var focused = document.activeElement;
655        if (!focused || !menu.contains(focused)) return;
656
657        var itemSel = '.menu-flexible__item';
658        var linkSel = '.menu-flexible__link';
659
660        var currentLi = focused.closest(itemSel);
661        if (!currentLi) return;
662
663        var parentUl = currentLi.parentElement;
664        var isLevel1 = parentUl === menu;
665
666        function directLink(li) {
667            var direct = Array.prototype.slice.call(li.children).find(function(el) {
668                return el.tagName === 'A';
669            });
670            return direct || li.querySelector(linkSel);
671        }
672
673        function siblingItems(ul) {
674            return Array.prototype.slice.call(ul.children).filter(function(el) {
675                return el.matches(itemSel);
676            });
677        }
678
679        function childMenu(li) {
680            return Array.prototype.slice.call(li.children).find(function(el) {
681                return el.classList && el.classList.contains('menu-flexible__submenu');
682            });
683        }
684
685        function setSubmenuVisible(li, visible) {
686            var submenu = childMenu(li);
687            if (!submenu) return;
688
689            if (visible) {
690                submenu.style.left = li.parentElement === menu ? '0' : '100%';
691                submenu.style.opacity = '1';
692                submenu.style.visibility = 'visible';
693                submenu.style.pointerEvents = 'auto';
694                submenu.style.transform = 'none';
695            } else {
696                submenu.style.left = '';
697                submenu.style.opacity = '';
698                submenu.style.visibility = '';
699                submenu.style.pointerEvents = '';
700                submenu.style.transform = '';
701            }
702        }
703
704        function setExpanded(li, expanded) {
705            li.setAttribute('focus', expanded ? 'true' : 'false');
706            setSubmenuVisible(li, expanded);
707            var lnk = directLink(li);
708            if (lnk && lnk.classList.contains('menu-flexible__link--dropdown')) {
709                lnk.setAttribute('aria-expanded', expanded ? 'true' : 'false');
710            }
711            if (!expanded) {
712                Array.prototype.slice.call(li.querySelectorAll(itemSel + '[focus="true"]'))
713                    .forEach(function(item) {
714                        item.setAttribute('focus', 'false');
715                        setSubmenuVisible(item, false);
716                        var childLink = directLink(item);
717                        if (childLink && childLink.classList.contains('menu-flexible__link--dropdown')) {
718                            childLink.setAttribute('aria-expanded', 'false');
719                        }
720                    });
721            }
722        }
723
724        function closeSiblings(li) {
725            Array.prototype.slice.call(li.parentElement.children)
726                .filter(function(item) {
727                    return item !== li && item.matches(itemSel);
728                })
729                .forEach(function(item) {
730                    setExpanded(item, false);
731                });
732        }
733
734        function openChild(li) {
735            var submenu = childMenu(li);
736            if (!submenu) return false;
737            closeSiblings(li);
738            setExpanded(li, true);
739            var firstChild = submenu.querySelector(linkSel);
740            if (firstChild) firstChild.focus();
741            return true;
742        }
743
744        function focusSibling(offset) {
745            var sibs = siblingItems(parentUl);
746            var idx  = sibs.indexOf(currentLi);
747            var lnk  = directLink(sibs[(idx + offset + sibs.length) % sibs.length]);
748            if (lnk) lnk.focus();
749        }
750
751        var key = e.key || e.code || e.keyCode;
752
753        switch (key) {
754            case 'ArrowRight':
755            case 39: {
756                if (!isLevel1) return;
757                e.preventDefault();
758                setExpanded(currentLi, false);
759                focusSibling(1);
760                break;
761            }
762            case 'ArrowLeft':
763            case 37: {
764                if (!isLevel1) return;
765                e.preventDefault();
766                setExpanded(currentLi, false);
767                focusSibling(-1);
768                break;
769            }
770            case 'ArrowDown':
771            case 40: {
772                e.preventDefault();
773                if (focused === directLink(currentLi) && openChild(currentLi)) {
774                    break;
775                }
776                var sibsDown = siblingItems(parentUl);
777                var idxDown  = sibsDown.indexOf(currentLi);
778                if (idxDown < sibsDown.length - 1) {
779                    var lnkDown = directLink(sibsDown[idxDown + 1]);
780                    if (lnkDown) lnkDown.focus();
781                }
782                break;
783            }
784            case 'ArrowUp':
785            case 38: {
786                e.preventDefault();
787                var sibsUp = siblingItems(parentUl);
788                var idxUp  = sibsUp.indexOf(currentLi);
789                if (idxUp > 0) {
790                    var lnkUp = directLink(sibsUp[idxUp - 1]);
791                    if (lnkUp) lnkUp.focus();
792                } else if (!isLevel1) {
793                    var parentItemUp = parentUl.closest(itemSel);
794                    if (parentItemUp) {
795                        setExpanded(parentItemUp, false);
796                        var parentLinkUp = directLink(parentItemUp);
797                        if (parentLinkUp) parentLinkUp.focus();
798                    }
799                }
800                break;
801            }
802            case ' ':
803            case 'Space':
804            case 'Spacebar':
805            case 32: {
806                if (!focused.classList.contains('menu-flexible__link--dropdown')) return;
807                e.preventDefault();
808                currentLi.getAttribute('focus') === 'true'
809                    ? setExpanded(currentLi, false)
810                    : openChild(currentLi);
811                break;
812            }
813            case 'Escape':
814            case 'Esc':
815            case 27: {
816                if (isLevel1 && currentLi.getAttribute('focus') !== 'true') return;
817                e.preventDefault();
818                if (!isLevel1) {
819                    var parentItemEsc = parentUl.closest(itemSel);
820                    if (parentItemEsc) {
821                        setExpanded(parentItemEsc, false);
822                        var parentLinkEsc = directLink(parentItemEsc);
823                        if (parentLinkEsc) parentLinkEsc.focus();
824                    }
825                } else {
826                    setExpanded(currentLi, false);
827                }
828                break;
829            }
830        }
831    }
832
833
834    // Click mode: expandir submenús via [focus=true]
835
836    function initClickExpand(wrapper) {
837        var menu = wrapper.querySelector('.menu-flexible__list');
838        if (!menu) return;
839
840        var itemSel        = '.menu-flexible__item';
841        var dropdownSel    = '.menu-flexible__link--dropdown';
842
843        function closeAll(container) {
844            Array.prototype.slice.call(container.querySelectorAll(itemSel + '[focus="true"]'))
845                .forEach(function(el) { el.setAttribute('focus', 'false'); });
846        }
847
848        function closeSiblings(item) {
849            var parentUl = item.parentElement;
850            Array.prototype.slice.call(parentUl.children)
851                .filter(function(el) {
852                    return el !== item
853                        && el.matches(itemSel)
854                        && el.getAttribute('focus') === 'true';
855                })
856                .forEach(function(el) {
857                    el.setAttribute('focus', 'false');
858                    closeAll(el);
859                });
860        }
861
862        menu.addEventListener('click', function(e) {
863            var link = e.target.closest(dropdownSel);
864            if (!link || !menu.contains(link)) return;
865
866            var item = link.parentElement;
867            if (!item || !item.matches(itemSel)) return;
868
869            // En mòbil, els elements naveguen directament sense desplegar submenús
870            if (window.innerWidth <= 992) return;
871
872            var isOpen = item.getAttribute('focus') === 'true';
873
874            if (isOpen) {
875                // Segon clic: navegar
876                return;
877            }
878
879            e.preventDefault();
880            closeSiblings(item);
881            item.setAttribute('focus', 'true');
882        });
883
884        document.addEventListener('click', function(e) {
885            var openItem = menu.querySelector(itemSel + '[focus="true"]');
886            if (!openItem) return;
887            if (!openItem.contains(e.target)) {
888                closeAll(menu);
889            }
890        });
891    }
892
893
894    // Hamburger (mòbil ≤992px)
895
896    class MenuFlexible {
897        constructor(wrapper) {
898            this.wrapper   = wrapper;
899            this.hamburger = wrapper.querySelector('.menu-flexible__toggle');
900            this.menu      = wrapper.querySelector('.menu-flexible__list');
901
902            if (!this.hamburger || !this.menu) return;
903
904            var parent  = this.menu.parentElement;
905            this.isMega = parent && parent.classList.contains('menu-flexible__nav-container');
906            this.target = this.isMega ? parent : this.menu;
907
908            // Ancestre que en mòbil és barra fixa de 44px amb overflow:clip i retalla
909            // el menú desplegat. En obrir, l'eixamplem; en tancar, el restaurem.
910            this.clipper = wrapper.closest('.nav');
911
912            this.init();
913            window.addEventListener('resize', () => this.handleResize());
914        }
915
916        init() {
917            this.hamburger.addEventListener('click', (e) => {
918                e.preventDefault();
919                e.stopPropagation();
920                this.toggleMenu();
921            });
922
923            document.addEventListener('click', (e) => {
924                if (!this.wrapper.contains(e.target) && this.isOpen()) {
925                    this.closeMenu();
926                }
927            });
928
929            this.menu.querySelectorAll('a').forEach(link => {
930                link.addEventListener('click', () => {
931                    if (window.innerWidth <= 992 && this.isOpen()) {
932                        this.closeMenu();
933                    }
934                });
935            });
936        }
937
938        isOpen()     { return this.target.classList.contains('show'); }
939        toggleMenu() { this.isOpen() ? this.closeMenu() : this.openMenu(); }
940
941        liftClip() {
942            if (this.clipper && window.innerWidth <= 992) {
943                this.clipper.style.height = 'auto';
944                this.clipper.style.maxHeight = 'none';
945                this.clipper.style.overflow = 'visible';
946            }
947        }
948
949        restoreClip() {
950            if (this.clipper) {
951                this.clipper.style.height = '';
952                this.clipper.style.maxHeight = '';
953                this.clipper.style.overflow = '';
954            }
955        }
956
957        openMenu() {
958            this.target.classList.add('show');
959            this.target.style.display = this.isMega ? 'block' : 'flex';
960            if (this.isMega) this.menu.style.display = 'flex';
961            this.liftClip();
962            this.hamburger.classList.add('active');
963            this.hamburger.setAttribute('aria-expanded', 'true');
964        }
965
966        closeMenu() {
967            this.target.classList.remove('show');
968            this.target.style.display = 'none';
969            if (this.isMega) {
970                this.menu.style.display = '';
971                var nc = this.wrapper.querySelector('.menu-flexible__nav-container');
972                if (nc) hideAllMegaPanels(nc);
973            }
974            this.restoreClip();
975            this.hamburger.classList.remove('active');
976            this.hamburger.setAttribute('aria-expanded', 'false');
977        }
978
979        handleResize() {
980            if (window.innerWidth > 992) {
981                this.target.classList.remove('show');
982                this.target.style.display = '';
983                if (this.isMega) this.menu.style.display = '';
984                this.restoreClip();
985                this.hamburger.classList.remove('active');
986                this.hamburger.setAttribute('aria-expanded', 'false');
987            }
988        }
989    }
990
991
992    // Init
993
994    function init() {
995        document.querySelectorAll('.menu-flexible__wrapper').forEach(function(wrapper) {
996            var navContainer = wrapper.querySelector('.menu-flexible__nav-container');
997            if (navContainer) {
998                initMegaPanels(navContainer);
999            } else {
1000                initStandardKeyboard(wrapper);
1001                if (wrapper.getAttribute('data-expand-type') === 'click') {
1002                    initClickExpand(wrapper);
1003                }
1004            }
1005            new MenuFlexible(wrapper);
1006            if (wrapper.getAttribute('data-menu-sticky') === 'true') {
1007                var stickyTarget = wrapper.closest('#navbar-top')
1008                                || wrapper.closest('.navbar')
1009                                || wrapper.closest('nav');
1010                if (stickyTarget) {
1011                    stickyTarget.classList.add('menu-sticky-enabled');
1012                    document.body.classList.add('has-sticky-menu');
1013
1014                    var navbarHeight   = stickyTarget.offsetHeight;
1015                    var navbarTop      = stickyTarget.getBoundingClientRect().top + window.scrollY;
1016                    var bodyPadApplied = false;
1017
1018                    function updateStickyOffset() {
1019                        navbarHeight = stickyTarget.offsetHeight;
1020                        document.documentElement.style.setProperty('--skip-links-sticky-offset', navbarHeight + 'px');
1021
1022                        if (bodyPadApplied) {
1023                            document.body.style.paddingTop = navbarHeight + 'px';
1024                        }
1025                    }
1026
1027                    function getTargetFromHash(hash) {
1028                        if (!hash || hash.charAt(0) !== '#') {
1029                            return null;
1030                        }
1031
1032                        try {
1033                            return document.getElementById(decodeURIComponent(hash.substring(1)));
1034                        } catch (error) {
1035                            return document.getElementById(hash.substring(1));
1036                        }
1037                    }
1038
1039                    function scrollToSkipTarget(hash) {
1040                        var target = getTargetFromHash(hash);
1041                        if (!target) {
1042                            return;
1043                        }
1044
1045                        updateStickyOffset();
1046
1047                        var expectedTop = target.getBoundingClientRect().top + window.scrollY - navbarHeight;
1048                        if (expectedTop > navbarTop) {
1049                            applyFixed();
1050                        } else {
1051                            removeFixed();
1052                        }
1053
1054                        try {
1055                            target.focus({ preventScroll: true });
1056                        } catch (error) {
1057                            target.focus();
1058                        }
1059
1060                        var targetTop = target.getBoundingClientRect().top + window.scrollY;
1061                        window.scrollTo(0, Math.max(targetTop - navbarHeight, 0));
1062                    }
1063
1064                    document.querySelectorAll('.skip-links a[href^="#"]').forEach(function(link) {
1065                        link.addEventListener('click', function(event) {
1066                            var hash = link.getAttribute('href');
1067                            var target = getTargetFromHash(hash);
1068                            if (!target) {
1069                                return;
1070                            }
1071
1072                            event.preventDefault();
1073
1074                            if (window.history && window.history.pushState) {
1075                                window.history.pushState(null, '', hash);
1076                            } else {
1077                                window.location.hash = hash;
1078                            }
1079
1080                            scrollToSkipTarget(hash);
1081                        });
1082                    });
1083
1084                    updateStickyOffset();
1085
1086                    function applyFixed() {
1087                        if (!stickyTarget.classList.contains('fixed-top')) {
1088                            updateStickyOffset();
1089                            stickyTarget.classList.add('fixed-top');
1090                            document.body.style.paddingTop = navbarHeight + 'px';
1091                            bodyPadApplied = true;
1092                        }
1093                    }
1094
1095                    function removeFixed() {
1096                        if (stickyTarget.classList.contains('fixed-top')) {
1097                            stickyTarget.classList.remove('fixed-top');
1098                            document.body.style.paddingTop = '';
1099                            bodyPadApplied = false;
1100                        }
1101                    }
1102
1103                    window.addEventListener('scroll', function() {
1104                        if (window.scrollY > navbarTop) {
1105                            applyFixed();
1106                        } else {
1107                            removeFixed();
1108                        }
1109                    });
1110
1111                    window.addEventListener('resize', function() {
1112                        updateStickyOffset();
1113                        if (!stickyTarget.classList.contains('fixed-top')) {
1114                            navbarTop = stickyTarget.getBoundingClientRect().top + window.scrollY;
1115                        }
1116                    });
1117
1118                    if ('ResizeObserver' in window) {
1119                        new ResizeObserver(updateStickyOffset).observe(stickyTarget);
1120                    }
1121
1122                    stickyTarget.querySelectorAll('img').forEach(function(image) {
1123                        if (!image.complete) {
1124                            image.addEventListener('load', updateStickyOffset, { once: true });
1125                        }
1126                    });
1127
1128                    window.addEventListener('load', updateStickyOffset);
1129
1130                    if (window.scrollY > navbarTop) applyFixed();
1131
1132                    if (window.location.hash) {
1133                        window.setTimeout(function() {
1134                            scrollToSkipTarget(window.location.hash);
1135                        }, 0);
1136                    }
1137                }
1138            }
1139        });
1140    }
1141
1142    if (document.readyState === 'loading') {
1143        document.addEventListener('DOMContentLoaded', init);
1144    } else {
1145        init();
1146    }
1147})();
1148</script>
1148</nav></div></div></div></div></div>        </div>        </header>
1149                <main id="main-content" tabindex="-1">
1150            <div class="content">
1151                <div class="container-xl columns " id="Path">
1152    <div class="row">
1153        <nav aria-label="breadcrumb">
1154            <ol class="breadcrumb">
1155            <li class="breadcrumb-item">
1156    <a href="/" target="_self">
1157        <span style="display: none">home</span><i class="fa fa-home" aria-hidden="true"></i>    </a>
1158    </li>
1159<li class="breadcrumb-item">
1160    <a href="/ajuntament" target="_self">
1161        Ajuntament    </a>
1162        <button class="btn dropdown-toggle" type="button" id="defaultDropdow1" data-bs-toggle="dropdown" data-bs-auto-close="true" aria-expanded="false" aria-label="Desplega"></button>
1163    <ul class="dropdown-menu" aria-label="defaultDropdown1">
1164                    <li><a class="dropdown-item" href="/ajuntament/salutacio-de-lalcaldessa">Salutació de l'alcaldessa</a></li>
1165                    <li><a class="dropdown-item" href="/ajuntament/govern">Govern</a></li>
1166                    <li><a class="dropdown-item" href="/ajuntament/grups-municipals">Grups municipals</a></li>
1167                    <li><a class="dropdown-item" href="/ajuntament/ple-municipal">Ple municipal</a></li>
1168                    <li><a class="dropdown-item" href="/ajuntament/juntes-de-govern">Juntes de govern</a></li>
1169                    <li><a class="dropdown-item" href="/ajuntament/ocupacio">Ocupació</a></li>
1170                    <li><a class="dropdown-item" href="/ajuntament/participacio-ciutadana">Participació Ciutadana</a></li>
1171                    <li><a class="dropdown-item" href="/ajuntament/pla-actuacio-municipal">Pla Actuació Municipal</a></li>
1172                    <li><a class="dropdown-item" href="/ajuntament/plans-campanyes-i-programes">Plans, campanyes i programes</a></li>
1173                    <li><a class="dropdown-item" href="/ajuntament/patrimoni-municipal-inventari">Patrimoni Municipal - Inventari</a></li>
1174                    <li><a class="dropdown-item" href="/ajuntament/convenis">Convenis</a></li>
1175                    <li><a class="dropdown-item" href="/ajuntament/subvencions">Subvencions</a></li>
1176                    <li><a class="dropdown-item" href="/ajuntament/anuncis-edictes">Anuncis / Edictes</a></li>
1177                    <li><a class="dropdown-item" href="https://www.vallirana.cat/ajuntament/perfil-de-contractant">Contractació Pública</a></li>
1178                    <li><a class="dropdown-item" href="/ajuntament/perfil-de-contractant">Perfil de contractant</a></li>
1179                    <li><a class="dropdown-item" href="/ajuntament/retiment-de-comptes">Retiment de comptes</a></li>
1180                    <li><a class="dropdown-item" href="/ajuntament/normativa">Normativa</a></li>
1181                    <li><a class="dropdown-item" href="https://vallirana.eadministracio.cat/info.0">Seu electrònica</a></li>
1182                    <li><a class="dropdown-item" href="/ajuntament/transparencia">Transparència</a></li>
1183                    <li><a class="dropdown-item" href="/ajuntament/225-paes">PAES</a></li>
1184            </ul>
1185    </li>
1186            </ol>
1187        </nav>
1188    </div>
1189</div>
1190                <div class="container-xl columns">
1191                                        <div class="row">
1192    <div class="col-xs-12 col-sm-12 col-md-3 col-lg-3 leftSidebar responsiveHeight" data-nosnippet>
1193        <nav class="menuLeft" id="Menuleft_page" aria-label="Menú Salutació de l'alcaldessa">
1194                    <ul>
1195                <li class="subMenuPage-12 current level2">
1196    <a href="/ajuntament/salutacio-de-lalcaldessa" target="_self" aria-current="page">
1197        Salutació de l'alcaldessa            </a>
1198
1199    </li>
1200<li class="subMenuPage-8 level2">
1201    <a href="/ajuntament/govern" target="_self">
1202        Govern            </a>
1203
1204    </li>
1205<li class="subMenuPage-15 level2">
1206    <a href="/ajuntament/grups-municipals" target="_self">
1207        Grups municipals            </a>
1208
1209    </li>
1210<li class="subMenuPage-80 level2">
1211    <a href="/ajuntament/ple-municipal" target="_self">
1212        Ple municipal            </a>
1213
1214    </li>
1215<li class="subMenuPage-20 level2">
1216    <a href="/ajuntament/juntes-de-govern" target="_self">
1217        Juntes de govern            </a>
1218
1219    </li>
1220<li class="subMenuPage-168 level2">
1221    <a href="/ajuntament/ocupacio" target="_self">
1222        Ocupació            </a>
1223
1224    </li>
1225<li class="subMenuPage-167 level2">
1226    <a href="/ajuntament/participacio-ciutadana" target="_self">
1227        Participació Ciutadana            </a>
1228
1229    </li>
1230<li class="subMenuPage-203 level2">
1231    <a href="/ajuntament/pla-actuacio-municipal" target="_self">
1232        Pla Actuació Municipal            </a>
1233
1234    </li>
1235<li class="subMenuPage-16 level2">
1236    <a href="/ajuntament/plans-campanyes-i-programes" target="_self">
1237        Plans, campanyes i programes            </a>
1238
1239    </li>
1240<li class="subMenuPage-164 level2">
1241    <a href="/ajuntament/patrimoni-municipal-inventari" target="_self">
1242        Patrimoni Municipal - Inventari            </a>
1243
1244    </li>
1245<li class="subMenuPage-162 level2">
1246    <a href="/ajuntament/convenis" target="_self">
1247        Convenis            </a>
1248
1249    </li>
1250<li class="subMenuPage-165 level2">
1251    <a href="/ajuntament/subvencions" target="_self">
1252        Subvencions            </a>
1253
1254    </li>
1255<li class="subMenuPage-18 level2">
1256    <a href="/ajuntament/anuncis-edictes" target="_self">
1257        Anuncis / Edictes            </a>
1258
1259    </li>
1260<li class="subMenuPage-324 level2">
1261    <a href="https://www.vallirana.cat/ajuntament/perfil-de-contractant" target="_self">
1262        Contractació Pública                <i class="fa fa-external-link"></i>
1263            </a>
1264
1265    </li>
1266<li class="subMenuPage-26 level2">
1267    <a href="/ajuntament/perfil-de-contractant" target="_self">
1268        Perfil de contractant            </a>
1269
1270    </li>
1271<li class="subMenuPage-166 level2">
1272    <a href="/ajuntament/retiment-de-comptes" target="_self">
1273        Retiment de comptes            </a>
1274
1275    </li>
1276<li class="subMenuPage-126 level2">
1277    <a href="/ajuntament/normativa" target="_self">
1278        Normativa            </a>
1279
1280    </li>
1281<li class="subMenuPage-122 level2">
1282    <a href="https://vallirana.eadministracio.cat/info.0" target="_blank">
1283        Seu electrònica                <i class="fa fa-external-link"></i>
1284            </a>
1285
1286    </li>
1287<li class="subMenuPage-123 level2">
1288    <a href="/ajuntament/transparencia" target="_self">
1289        Transparència            </a>
1290
1291    </li>
1292<li class="subMenuPage-225 level2">
1293    <a href="/ajuntament/225-paes" target="_self">
1294        PAES            </a>
1295
1296    </li>
1297            </ul>
1298                    </nav>
1299</div>
1300    <div class="col-xs-12 col-sm-9 col-md-6 col-lg-6 article responsiveHeight" id="readspeakerPage" tabindex="-1">
1301                <div class="containerPage">
1302                        <div class="hideTablets">
1303    </div>
1304<h1 class="title"  id='title0' data-attribute="Salutació de l&#039;alcaldessa">Salutació de l'alcaldessa</h1><div class="showTablets">
1305    </div>
1306<div>
1307        <div class="dinamic">
1308                                            
1309                                                                        <div class="subtitle" id="marcador0">Eva Martínez</div><br>
1310                                                                                        <div class="ddbbtext">
1311                            <p><img alt="" src="/media/repository/ajuntament/regidors/Regidors_2023-2027/alcaldessa_cartipas_retallada.JPG" style="width: 400px; height: 412px;" /></p>
1312
1313<p>Aquest web és una finestra al món amb l'objectiu de ser una gran àgora virtual per facilitar la realització de tràmits amb l'ajuntament, la difusió d'informació i com a eina de participació ciutadana.<br />
1314<br />
1315Posem a la vostra disposició els serveis de l'Ajuntament i us convidem a participar-hi, a dir-hi la vostra i a ajudar-nos a millorar amb el convenciment que la nostra vila ha de ser el millor lloc on estudiar, treballar i viure.<br />
1316<br />
1317Vallirana té un entorn natural privilegiat. Us animo a practicar Vallirana en primera persona!<br />
1318<br />
1319<br />
1320<br />
1321<strong>Eva Martínez Morales</strong><br />
1322Contacte: <a href="mailto:[email protected]">
1322[email protected]</a></p>
1323                        </div>
1324                                        </div>                                        </div>
1325<div class="hideTablets">
1326                            </div>
1327<div id="share"><div class="js-widget o-widget clearfix boxBX  default "  >  <div class="o-widget-wrapper clearfix default-BX   row " ><div class="o-widget-container "><div class="o-share o-share--icones_rodones">
1328    
1329    <div class="o-share__list">
1330                    <a
1331                class="o-share__link o-share__link--facebook"
1332                href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.vallirana.cat%2Fajuntament%2Fsalutacio-de-lalcaldessa"
1333                target="_blank"
1334                rel="noopener"
1335                title="Facebook"
1336            >
1337                <span class="o-share__icon" aria-hidden="true">
1338                    <i class="fa-brands fa-facebook-f"></i>
1339                </span>
1340                <span class="visually-hidden">Facebook</span>
1341            </a>
1342                    <a
1343                class="o-share__link o-share__link--x"
1344                href="https://twitter.com/intent/tweet?text=Salutaci%C3%B3%20de%20l%27alcaldessa&amp;url=https%3A%2F%2Fwww.vallirana.cat%2Fajuntament%2Fsalutacio-de-lalcaldessa"
1345                target="_blank"
1346                rel="noopener"
1347                title="X"
1348            >
1349                <span class="o-share__icon" aria-hidden="true">
1350                    <i class="fa-brands fa-x-twitter"></i>
1351                </span>
1352                <span class="visually-hidden">X</span>
1353            </a>
1354            </div>
1355</div>
1356</div>  </div></div></div>
1357<span class="updated">Darrera actualització: 13.01.2025 | 12:46</span>
1358                    </div>
1359            </div>
1360        <div class="col-md-12 col-sm-12 col-lg-3 col-xs-12 responsiveHeight barraDreta">
1361                <section id="page-links" class="skip-target" tabindex="-1"><h2 class="title">Enllaços</h2><div class="links"><a target="_blank" href="https://www.vallirana.cat/ajuntament/govern/informacio-dels-regidors-i-regidores/eva-martinez-morales.html">
1362    <span class="icon fa fa-link"></span>
1363    <span class="txt">
1364        Informació alcaldessa Eva Martínez            </span>
1365</a></div></section>    </div>
1366</div>
1367                </div>
1368            </div>
1369        </main>
1370        <footer id="footer-content" tabindex="-1">
1371            <div class="footer">
1372    <div class="shortcuts">
1373    <div class="container-xl">            
1374        <div class="featuredItem responsiveHeight">
1375    <h2 class="title">RSS</h2>
1376    <p class="subtitle">L'actualitat a un clic</p>
1377    <ul id="cm_rss">
1378        <li style="background-image: url('/front/view/images/ico_16_rss.png');">
1379    <a href="/rss/12">
1380           Agenda    </a>
1381</li>
1382<li style="background-image: url('/front/view/images/ico_16_rss.png');">
1383    <a href="/rss/15">
1384           Agenda política    </a>
1385</li>
1386<li style="background-image: url('/front/view/images/ico_16_rss.png');">
1387    <a href="/rss/13">
1388           Avisos    </a>
1389</li>
1390<li style="background-image: url('/front/view/images/ico_16_rss.png');">
1391    <a href="/rss/11">
1392           Notícies    </a>
1393</li>
1394<li style="background-image: url('/front/view/images/ico_16_rss.png');">
1395    <a href="/rss/14">
1396           Publicacions    </a>
1397</li>
1398    </ul>
1399</div>
1400<div class="featuredItem responsiveHeight">
1401    <h2 class="title">Adreces i telèfons</h2>
1402    
1403    <img width="96" height="96" src="/front/view/images/icons/plugin_home.png" alt="">
1404
1405    <p class="elem_button">
1406        <a href="/adreces-i-telefons" aria-label="Adreces i telèfons">
1407            Accedeix        </a>
1408    </p>
1409</div>
1410<div class="featuredItem">
1411    <h2 class="title">Meteo</h2>
1412    <div id="cm_meteocat">
1413        <ul class="bxslider">
1414            <li>
1415    Dissabte, 3 d’octubre    <img width="80" height="80"
1416        alt="ruixat"
1417        src="/front/view/images/meteocat/pluja.png"
1418    >
1419    <p>
1420        T.Màx: 26&deg;
1421        <br>
1422        T.Min: 19&deg;
1423    </p>
1424    </li>
1425<li>
1426    Diumenge, 4 d’octubre    <img width="80" height="80"
1427        alt="plugim"
1428        src="/front/view/images/meteocat/plugim.png"
1429    >
1430    <p>
1431        T.Màx: 24&deg;
1432        <br>
1433        T.Min: 20&deg;
1434    </p>
1435    </li>
1436        </ul>
1437        <div class="outside">
1438            <p><span id="slider-prev"></span><span id="slider-next"></span></p>
1439        </div>
1440
1441    </div>
1442</div>
1443<div class="featuredItem responsiveHeight">
1444    <h2 class="title">Butlletí digital</h2>
1445    <img width="96" height="96" src="/front/view/images/icons/plugin_newsletter.png" alt="">
1446    <p class="elem_button">
1447        <a href="/actualitat/butlleti-digital" aria-label="Butlletí digital">
1448            Subscriu-te        </a>
1449    </p>
1450</div>
1451<div id="cm_planol" class="featuredItem responsiveHeight">
1452    <h2 class="title">Plànol / Carrers</h2>
1453
1454    <img width="96" height="96" src="/front/view/images/icons/plugin_map.png" alt="">
1455
1456    <p class="elem_button">
1457        <a href="/el-municipi/planol--guia-de-carrers" aria-label="Plànol">
1458            Accedeix        </a>
1459    </p>
1460</div>
1461    </div>
1462</div>
1463    <div class="hightlights">
1464        <div class="container-xl">
1465            <div class="highlights">
1466    <ul class="bxslider">
1467        <li>
1468        <a href="https://www.elbaixllobregat.cat/habitatge/ajutslloguer" target="_blank" class="banner">
1469            <img src="/media/repository/baners_destacats/Banners_esquerra/Banner_web__2_.png" alt="Banner Habitatge ajuts lloguer" class="banner">
1470        Ajuts lloguer Consell Comarcal        </a>
1471    </li>
1472<li>
1473        <a href="https://www.vallirana.cat/ajuntament/transparencia/segell-infoparticipa" target="_blank" class="banner">
1474            <img src="/media/repository/noticies/04_abril_2026/banners_877x351px-CAT_2025-01.jpg" alt="segell infoparticipa" class="banner">
1475        Segell Info Participa        </a>
1476    </li>
1477<li>
1478        <a href="https://www.vallirana.cat/serveis-i-tramits/cataleg-de-serveis/recollida-a-domicili-de-voluminosos-i-poda.html" target="_self" class="banner">
1479            <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">
1480        Servei recollida voluminosos i poda        </a>
1481    </li>
1482<li>
1483        <a href="/el-municipi/guia-del-municipi/farmacies/" target="_self" class="banner">
1484            <img src="/media/repository/baners_destacats/inferior/Banner_farmacies_inferior_2021.png" alt="farmacies guardia" class="banner">
1485        Farmàcies de guàrdia        </a>
1486    </li>
1487<li>
1488        <a href="/el-municipi/guia-del-municipi/equipaments/7203-casal-de-joves.html" target="_self" class="banner">
1489            <img src="/media/repository/logos/casaldejoveslogocolor.jpg" alt="Logo Casal de Joves" class="banner">
1490        Casal de Joves        </a>
1491    </li>
1492<li>
1493        <a href="/el-municipi/guia-del-municipi/equipaments/complex-esportiu-municipal.html" target="_self" class="banner">
1494            <img src="/media/repository/baners_destacats/banner_cem_2019.jpg" alt="CEM Vallirana" class="banner">
1495        Complex Esportiu Municipal        </a>
1496    </li>
1497    </ul>
1498</div>        </div>
1499    </div>
1500    <nav class="menu" aria-label="Peu de menú">
1501        <ul class="container-xl sitemap">
1502            <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>
1502  </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>
1502  </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>
1503    </nav>
1504    <div class="links">
1505        <div class="container-xl">
1506            <div class="row">
1507                <div class="xxss col-md-6 col-sm-6 col-lg-6 middle">                
1508                        <span class="titol">Xarxes socials:</span>
1509  
1510    <a target="_blank" aria-label="Twitter" href="https://twitter.com/vallirana?lang=ca" title="Obre en finestra nova: Twitter">
1511        <span style="display: none">Twitter</span>
1512        <img src="/front/view/images/icons/social/twitter.png" alt="Twitter" width="32" height="32">
1513    </a>
1514  
1515    <a target="_blank" aria-label="Facebook" href="https://www.facebook.com/AjuntamentVallirana/" title="Obre en finestra nova: Facebook">
1516        <span style="display: none">Facebook</span>
1517        <img src="/front/view/images/icons/social/facebook.png" alt="Facebook" width="32" height="32">
1518    </a>
1519  
1520    <a target="_blank" aria-label="Youtube" href="https://www.youtube.com/user/AjuntamentVallirana" title="Obre en finestra nova: Youtube">
1521        <span style="display: none">Youtube</span>
1522        <img src="/front/view/images/icons/social/youtube.png" alt="Youtube" width="32" height="32">
1523    </a>
1524  
1525    <a target="_blank" aria-label="Instagram" href="https://www.instagram.com/ajvallirana/" title="Obre en finestra nova: Instagram">
1526        <span style="display: none">Instagram</span>
1527        <img src="/front/view/images/icons/social/instagram.png" alt="Instagram" width="32" height="32">
1528    </a>
1529                </div>
1530                <div class="col-md-6 col-sm-6 col-lg-6 middle">
1531                    <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>
1532            </div>
1533        </div>
1534    </div>
1535    <div class="contact">
1536        <div class="container-xl">
1537            <div class="row">
1538                <address class="address col-md-6 col-sm-6 col-lg-6">
1539    <div class="title">
1540        Ajuntament de Vallirana    </div>
1541    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">
1542    <div class="title">
1543        Amb la col·laboració de:    </div>
1544    <a href="http://diba.cat/" target="_blank" aria-label="Anar a la web Diputació de Barcelona" title="Obre en finestra nova: Diputació de Barcelona">
1545        <span style="display: none">Diputació de Barcelona</span>
1546        <img src="/front/view//images/logoDiba/Blanc.svg" alt="Diputació de Barcelona" class="logo-diba">
1547    </a>
1548</div>            </div>
1549        </div>
1550    </div>
1551</div>
1552        </footer>
1553        <!-- Llibreries de tercers + js propis registrats a AssetManager (jQuery primer) -->
1554<script src="/front/view/js/bower_components/jquery/dist/jquery.min.js?ver=1790945789"></script>
vendor: 1 bytes, line 1554
1554
1555<script src="/front/view/js/bower_components/bootstrap/dist/js/bootstrap.bundle.min.js?ver=1790945789"></script>
vendor: 1 bytes, line 1555
1555
1556<script src="/front/view/js/bower_components/bxslider-4/dist/jquery.bxslider.js?ver=1790945789"></script>
vendor: 1 bytes, line 1556
1556
1557<script src="/front/view/js/bower_components/jscal/index.js?ver=1790945789"></script>
vendor: 1 bytes, line 1557
1557
1558<script src="/common/bower_components/select2/dist/js/select2.min.js?ver=1790945789"></script>
vendor: 1 bytes, line 1558
1558
1559<script src="/common/bower_components/select2/dist/js/i18n/ca.js?ver=1790945789"></script>
vendor: 1 bytes, line 1559
1559
1560<script src="/common/bower_components/strength.js/src/strength.min.js?ver=1790945789"></script>
vendor: 1 bytes, line 1560
1560
1561<script src="/front/view/js/bower_components/masonry-layout/dist/masonry.pkgd.min.js?ver=1790945789"></script>
vendor: 1 bytes, line 1561
1561
1562<script src="/front/view/js/constants.js?ver=1790945789"></script>
vendor: 1 bytes, line 1562
1562
1563<script src="/front/view/js/functions.js?ver=1790945789"></script>
vendor: 1 bytes, line 1563
1563
1564<script src="/front/view/js/functions/footer.js?ver=1790945789"></script>
vendor: 1 bytes, line 1564
1564
1565<script src="/front/view/js/bower_components/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js?ver=1790945789"></script>
vendor: 1 bytes, line 1565
1565
1566<script src="/front/view/js/bower_components/jquery.prettyPhoto/index.js?ver=1790945789"></script>
vendor: 1 bytes, line 1566
1566
1567<script>
1568    $(document).ready(function(){
1569                    $("a[rel^='prettyPhoto']").prettyPhoto();
1570            $("a[rel^='prettyFrame']").prettyPhoto();
1571            });
1572</script>
vendor: 1 bytes, line 1572
1572
1573<script>
1574        var TWITTER = true;
1575            var FACEBOOK = true;
1576        $(window).on("load", function() {
1577        start();
1578    });
1579        $(document).ready(function() {
1580        if (typeof articlesId !== 'undefined') {
1581            var today = new Date();
1582                        var date = today
1583                        articlesId.push('internal_calendar');
1584
1585            var oneYearAfter = new Date();
1586            oneYearAfter.setDate(oneYearAfter.getDate() + 365);
1587            for (id in articlesId) {
1588                Calendar.setup({
1589                    id: articlesId[id],
1590                    cont: "dv_calendar_" + articlesId[id],
1591                    fdow: 1,
1592                    date: date,
1593                    noScroll: true,
1594                    bottomBar: false,
1595                    max: oneYearAfter,
1596                    animation: false,
1597                    titleFormat: "%B %Y",
1598                    dateInfo: getDateInfo
1599                });
1600                setEqualContentColumns();
1601            }
1602        }
1603    });
1604
1605        
1606    // Initialize Select2 with icon support for category filter
1607    $(document).ready(function() {
1608        if ($('#categoryFilter').length) {
1609            $('#categoryFilter').select2({
1610                templateResult: 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                templateSelection: function(option) {
1617                    if (!option.id) return option.text;
1618                    var icon = $(option.element).data('icon');
1619                    if (!icon) return option.text;
1620                    return $('<span><img src="' + icon + '" style="width: 16px; height: 16px; margin-right: 6px; vertical-align: middle;"> ' + option.text + '</span>');
1621                },
1622                allowHtml: true
1623            });
1624        }
1625    });
1626</script>
1626
1627        <!-- CSS final-->
1628
1629        
1629<script>
1630          const css = "";
1631          const style = document.createElement('style');
1632          style.textContent = css;
1633          document.head.appendChild(style);
1634        </script>
1634
1635
1636        <!-- Start Modal views-->
1637        
1638        <div class="modal fade" id="videoModal" tabindex="-1" role="dialog"  aria-hidden="true">
1639    <div class="modal-dialog modal-dialog-centered" role="document">
1640        <div class="modal-content">
1641            <div class="modal-header">
1642                <div class="title-head"></div>
1643            </div>
1644            <div class="modal-body">
1645                <div class="tiktok-div-embed"></div>
1646                <iframe id="iframeVideo" title="Vídeo" class="iframeVideo" allowfullscreen></iframe>
1647
1648            </div>
1649            <div class="modal-footer">
1650                <span id="titleVideo" class="titleVideo"></span>
1651                <a id="closeModalVideo" class="close" href="javascript:void(0)" data-bs-dismiss="modal"><span style="display: none">X</span></a>
1652
1653            </div>
1654        </div>
1655    </div>
1656</div>        <div class="modal fade" id="pdfModal" tabindex="-1" role="dialog"  aria-hidden="true">
1657    <div id="documentDialog" class="modal-dialog modal-dialog-centered" role="document">
1658        <div class="modal-content">
1659            <div class="modal-header">
1660                <div class="title-head"></div>
1661            </div>
1662            <div class="modal-body">
1663                <iframe id="iframePdf" title='Document' class="pdfview" style="width: 100%; height: 100%"></iframe>
1664            </div>
1665            <div class="modal-footer">
1666                <span id="titlePdf" class="titlePdf"></span>
1667                <a id="closeModalPDF" class="close" href="javascript:void(0)"><span style="display: none">X</span></a>
1668            </div>
1669        </div>
1670    </div>
1671</div>        <!-- End Modal views -->
1672        
1672<script src="/front/view/js/endScript.js?ver=1790945789"></script>
1672
1673        <!-- Només activar per desenvolupament
1674        
1674<script src="../../../node_modules/axe-core/axe.js"></script>
1674
1675        
1675<script src="../../../dist/my-first-webpack.bundle.js"></script>
1675
1676        -->
1677                
1677<script>
1678            $(document).ready(function () {
1679                startClock(1790945790);
1680                if (typeof (callMenuAfterJQueryLoaded) == "function") {
1681                    callMenuAfterJQueryLoaded();
1682                }
1683                
1684                datepickerInit();
1685                carouselControlSmall();
1686
1687                if (typeof (callMenuBeforeJQueryLoaded) == "function") {
1688                    callMenuBeforeJQueryLoaded();
1689                }
1690
1691                if (typeof (callMenuBeforeTopJQueryLoaded) == "function") {
1692                    callMenuBeforeTopJQueryLoaded();
1693                }
1694                addAttributesDivVcards();
1695                modalsImage();
1696                modalsPdf();
1697                translateWeb();
1698                var carousel = $('#carouselControls');
1699                carousel.on('slide.bs.carousel', function (event) {
1700                    toSlideImage(event);
1701                });
1702                /** Només activar per desenvolupament
1703                axe.configure({
1704                    locale: {
1705                        lang: 'es',
1706                    }
1707                });
1708
1709                axe.run().then(results => {
1710                        if (results.violations.length) {
1711                            console.log(results.violations);
1712                            throw new Error('Accessibility issues found');
1713                        }
1714                    })
1715                    .catch(err => {
1716                        console.log('Something bad happened:', err.message);
1717                    });
1718                */
1719            });
1720
1721            $(window).resize(function() {
1722                equalHeightIconTime();
1723            })
1724        </script>
1724
1725                    </body>
1726</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.