PageSourceSearch

https://www.staperpetua.cat/ajuntament

html staperpetua.cat collected 2026-10-02 05:44:05 UTC 111,321 bytes, 1,732 lines download raw bytes

1<!DOCTYPE HTML>
2<html lang="ca" xmlns="http://www.w3.org/1999/xhtml" xml:lang="ca" >
3    <head>
4        <!-- METADATA -->
5<meta charset="utf-8">
6<meta name="viewport" content="width=device-width, initial-scale=1">
7<meta name="title" lang="ca" content="Ajuntament - Ajuntament de Santa Perpètua de Mogoda">
8<meta name="description" lang="ca" content="">
9<meta name="author" lang="ca" content="Ajuntament de Santa Perpètua de Mogoda">
10<meta name="date" lang="ca" content="2021-04-26 10:19:23">
11<meta name="generator" lang="ca" content="Ajuntament de Santa Perpètua de Mogoda">
12<meta name="robots" content="index, follow">
13
14        <title>Ajuntament - Ajuntament de Santa Perpètua de Mogoda</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-J7G40WB136
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-J7G40WB136
vendor: 8 bytes, lines 23-24
23');
24    
24// Creates the default tracker.
25    gtag('event', 'page_view', { 'send_to': 'G-J7G40WB136' });
26</script>
26
27<!-- End of code Global Site Tag (gtag.js) - Google Analytics v4-->
28        <link rel="canonical" href="/ajuntament">
29
30        <link rel="stylesheet" href="/front/view/js/bower_components/bootstrap/dist/css/bootstrap.min.css?ver=1790919844">
31<link rel="stylesheet" href="/front/view/js/bower_components/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css?ver=1790919844">
32<link rel="stylesheet" href="/front/view/js/bower_components/bootstrap-icons.min/index.css?ver=1790919844">
33<link rel="stylesheet" href="/front/view/js/bower_components/tempus-dominus.min.css/index.css?ver=1790919844">
34<link rel="stylesheet" href="/common/bower_components/select2/dist/css/select2.min.css?ver=1790919844">
35
36        <!-- Real Favicon Genenrator-->
37<link rel="apple-touch-icon" href="/themes/santaperpetuademogoda/images/favicons/apple-touch-icon.png">
38<link rel="icon" type="image/png" href="/themes/santaperpetuademogoda/images/favicons/favicon-16x16.png" sizes="16x16">
39<link rel="icon" type="image/png" href="/themes/santaperpetuademogoda/images/favicons/favicon-32x32.png" sizes="32x32">
40<link rel="shortcut icon" href="/themes/santaperpetuademogoda/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=1790919844"></script>
vendor: 1 bytes, line 57
57
58<script src="/front/view/js/klaro-init.js?ver=1790919844"></script>
58
59
60        <!-- Twitter Card data -->
61<meta name="twitter:card" content="summary">
62<meta name="twitter:site" content="@ajuntamentSPM">
63<meta name="twitter:title" content="Ajuntament">
64<meta name="twitter:description" content="Informació pràctica per viure a Santa Perpètua: notícies, activitats, serveis, ajudes, feina, mobilitat, tràmits, empresa, oci, plànol, innovació i més.">
65<meta name="twitter:image" content="https://www.staperpetua.cat/themes/santaperpetuademogoda/images/logos/header.png">
66    <meta name="twitter:image:alt" content="Logo">
67        <meta property="fb:admins" content="100069934953537">
68<!-- Open Graph data -->
69<meta property="og:title" content="Ajuntament">
70<meta property="og:type" content="website">
71<meta property="og:url" content="https://www.staperpetua.cat/ajuntament">
72<meta property="og:image" content="https://www.staperpetua.cat/themes/santaperpetuademogoda/images/logos/header.png">
73    <meta property="og:image:alt" content="Logo">
74    <meta property="og:image" content="https://www.staperpetua.cat/themes/santaperpetuademogoda/images/logos/header_inv.png">
75    <meta property="og:image:alt" content="Logo invertit">
76    <meta property="og:description" content="Informació pràctica per viure a Santa Perpètua: notícies, activitats, serveis, ajudes, feina, mobilitat, tràmits, empresa, oci, plànol, innovació i més.">
77<meta property="og:site_name" content="Ajuntament de Santa Perpètua de Mogoda">
78
79        <!-- HTML5 compatible tags -->
80<script>
81    document.createElement('header');
82    document.createElement('footer');
83    document.createElement('section');
84    document.createElement('aside');
85    document.createElement('nav');
86    document.createElement('article');
87    document.createElement('hgroup');
88    document.createElement('lh');
89</script>
89
90        
90<script>window.mapsConfig = { layerType: 'OpenStreetMap_Mapnik' };</script>
90
91<link rel="stylesheet" href="/front/view/js/bower_components/FreezeUI/freeze-ui.min.css">
92<link rel="stylesheet" href="/front/view/js/bower_components/Leaflet/default/leaflet.css">
93<link rel="stylesheet" href="/front/view/js/bower_components/Leaflet/default/Control.Loading.css">
94<script  src="/front/view/js/bower_components/FreezeUI/freeze-ui.min.js"></script>
vendor: 1 bytes, line 94
94
95<script  src="/front/view/js/bower_components/Leaflet/default/leaflet.js"></script>
vendor: 1 bytes, line 95
95
96<script src="/front/view/js/bower_components/es6-promise/es6-promise.min.js"></script>
vendor: 1 bytes, line 96
96
97<script>ES6Promise.polyfill();</script>
vendor: 1 bytes, line 97
97
98<script  src='/front/view/js/bower_components/Leaflet/default/Leaflet.GoogleMutant.js'></script>
vendor: 1 bytes, line 98
98
99<script src="/front/view/js/googleMapsInit.js"></script>
vendor: 1 bytes, line 99
99
100<script type="text/plain" data-type="text/javascript" data-name="maps" data-src="https://maps.google.com/maps/api/js?key=AIzaSyDzMQfPcdyACxfYosZzQs43alxB8BKfkx8&amp;loading=async&amp;callback=onGoogleMapsReady"></script>
vendor: 1 bytes, line 100
100
101<script  src="/front/view/js/bower_components/Leaflet/default/leaflet.maps.js"></script>
vendor: 1 bytes, line 101
101
102<script  src="/front/view/js/bower_components/Leaflet/default/leaflet.clone.js"></script>
vendor: 1 bytes, line 102
102
103<script  src="/front/view/js/bower_components/Leaflet/default/Control.Loading.js"></script>
vendor: 1 bytes, line 103
103
104<script src="/front/view/js/bower_components/jquery.min/index.js"></script>
vendor: 1 bytes, line 104
104
105<script src="/front/view/js/maps.js"></script>
105        <!-- Init addHeadExtraStyles -->
106        <style>html body{font-size:1em !important;} </style>
107        <!-- End addHeadExtraStyles -->
108        <!-- Font Awesome 7 + v4-shims for backward compatibility -->
109        <link href="https://cdn.jsdelivr.net/npm/@fortawesome/[email protected]/css/all.min.css" rel="stylesheet">
110        <link href="https://cdn.jsdelivr.net/npm/@fortawesome/[email protected]/css/v4-shims.min.css" rel="stylesheet">
111        <!-- Popperjs + Tempus Dominus -->
112        
112<script src="/front/view/js/bower_components/popper.min/index.js?ver=1790919844"></script>
vendor: 1 bytes, line 112
112
113<script src="/front/view/js/bower_components/tempus-dominus.min.js/index.js?ver=1790919844"></script>
113
114                <link rel="stylesheet" media="all" href="/themes/santaperpetuademogoda/styles/style.min.css?ver=1790919844">
115            </head>
116    <body class="page id-1">
117        <nav class="skip-links" aria-label="Dreceres d&#039;accessibilitat"><ul><li><a href="#site-header">Saltar a la capçalera</a></li><li><a href="#readspeakerPage">Saltar al contingut</a></li><li><a href="#footer-content">Saltar al peu de pàgina</a></li></ul></nav>        <header id="site-header" tabindex="-1">
118                                    <div class="toolbar clearfix">
119    <div class="container-xl">
120                <div class="fright">
121            <div class="toolbarItem">
122    <div class="toolbarItem page-62 page-contacte">
123    <a 
124        href="/altres-continguts/contacte"
125        target="_self"
126        rel=""
127            >
128        Contacte    </a>
129</div>
130</div>                        <div id="social" class="toolbarItem">
131                  
132    <a target="_blank" aria-label="Facebook" href="https://www.facebook.com/AjuntamentSPM/" title="Obre en finestra nova: Facebook">
133        <span style="display: none">Facebook</span>
134        <img src="/front/view/images/icons/social/facebook.png" alt="Facebook" width="32" height="32">
135    </a>
136  
137    <a target="_blank" aria-label="Youtube" href="https://www.youtube.com/user/SPMcomunicacio" title="Obre en finestra nova: Youtube">
138        <span style="display: none">Youtube</span>
139        <img src="/front/view/images/icons/social/youtube.png" alt="Youtube" width="32" height="32">
140    </a>
141  
142    <a target="_blank" aria-label="Instagram" href="https://www.instagram.com/ajuntamentSPM/" title="Obre en finestra nova: Instagram">
143        <span style="display: none">Instagram</span>
144        <img src="/themes/santaperpetuademogoda/images/icons/social/instagram.png" alt="Instagram" width="32" height="32">
145    </a>
146  
147    <a target="_blank" aria-label="Whatsapp" href="https://bit.ly/ajuntamentSPM-whatsapp" title="Obre en finestra nova: Whatsapp">
148        <span style="display: none">Whatsapp</span>
149        <img src="/front/view/images/icons/social/whatsapp.png" alt="Whatsapp" width="32" height="32">
150    </a>
151            </div>
152                        <div class="toolbarItem">
153                <div id="toolbarLanguages">
154    <ul id="languages">
155        <li><a href="#" role="button" aria-expanded="false" aria-controls="languagesList" id="languagesToggle">Idiomes</a>
156            <ul id="languagesList">
157                                    <li><a class="link-language" href="https://www.staperpetua.cat/ajuntament?lang=ca" data-target="https://www.staperpetua.cat/ajuntament?lang=ca">Català</a></li>
158                                    <li><a class="link-language" href="https://translate.google.es/translate?js=y&amp;prev=_t&amp;hl=esie=UTF-8&amp;u=https://www.staperpetua.cat/ajuntament&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.staperpetua.cat/ajuntament&amp;sl=ca&amp;tl=es">Castellà</a></li>
159                                    <li><a class="link-language" href="https://translate.google.es/translate?js=y&amp;prev=_t&amp;hl=enie=UTF-8&amp;u=https://www.staperpetua.cat/ajuntament&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.staperpetua.cat/ajuntament&amp;sl=ca&amp;tl=en">Anglès</a></li>
160                                    <li><a class="link-language" href="https://translate.google.es/translate?js=y&amp;prev=_t&amp;hl=deie=UTF-8&amp;u=https://www.staperpetua.cat/ajuntament&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.staperpetua.cat/ajuntament&amp;sl=ca&amp;tl=de">Alemany</a></li>
161                                    <li><a class="link-language" href="https://translate.google.es/translate?js=y&amp;prev=_t&amp;hl=frie=UTF-8&amp;u=https://www.staperpetua.cat/ajuntament&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.staperpetua.cat/ajuntament&amp;sl=ca&amp;tl=fr">Francès</a></li>
162                            </ul>
163        </li>
164    </ul>
165</div>
166<script>
167(function () {
168    var toggle = document.getElementById('languagesToggle');
169    if (!toggle) return;
170    var li = toggle.parentElement;
171    var submenu = li.querySelector('ul');
172    var links = Array.prototype.slice.call(submenu.querySelectorAll('a'));
173
174    function keyName(e) {
175        return e.key || e.code || e.keyCode;
176    }
177
178    function isSpaceKey(e) {
179        var key = keyName(e);
180        return key === ' ' || key === 'Spacebar' || key === 'Space' || key === 32;
181    }
182
183    function open(focusFirst) {
184        li.classList.add('is-open');
185        submenu.style.display = 'block';
186        submenu.style.padding = '1em';
187        toggle.setAttribute('aria-expanded', 'true');
188        if (focusFirst && links.length) links[0].focus();
189    }
190
191    function close() {
192        li.classList.remove('is-open');
193        submenu.style.display = '';
194        submenu.style.padding = '';
195        toggle.setAttribute('aria-expanded', 'false');
196    }
197
198    function isOpen() {
199        return toggle.getAttribute('aria-expanded') === 'true';
200    }
201
202    function focusLink(index) {
203        if (!links.length) return;
204        links[(index + links.length) % links.length].focus();
205    }
206
207    function focusedLinkIndex() {
208        return links.indexOf(document.activeElement);
209    }
210
211    toggle.addEventListener('click', function (e) {
212        e.preventDefault();
213        isOpen() ? close() : open(false);
214    });
215
216    toggle.addEventListener('keydown', function (e) {
217        var key = keyName(e);
218        if (key === 'Enter' || isSpaceKey(e)) {
219            e.preventDefault();
220            isOpen() ? close() : open(false);
221        } else if (key === 'ArrowDown' || key === 40) {
222            e.preventDefault();
223            open(true);
224        } else if (key === 'ArrowUp' || key === 38) {
225            e.preventDefault();
226            open(false);
227            focusLink(links.length - 1);
228        } else if (key === 'Escape' || key === 'Esc' || key === 27) {
229            if (isOpen()) {
230                e.preventDefault();
231                close();
232            }
233        }
234    });
235
236    submenu.addEventListener('keydown', function (e) {
237        var key = keyName(e);
238        var index = focusedLinkIndex();
239
240        if (key === 'ArrowDown' || key === 40) {
241            e.preventDefault();
242            focusLink(index + 1);
243        } else if (key === 'ArrowUp' || key === 38) {
244            e.preventDefault();
245            focusLink(index - 1);
246        } else if (key === 'Home' || key === 36) {
247            e.preventDefault();
248            focusLink(0);
249        } else if (key === 'End' || key === 35) {
250            e.preventDefault();
251            focusLink(links.length - 1);
252        } else if (isSpaceKey(e)) {
253            e.preventDefault();
254            if (document.activeElement && document.activeElement.click) {
255                document.activeElement.click();
256            }
257        } else if (key === 'Escape' || key === 'Esc' || key === 27) {
258            e.preventDefault();
259            close();
260            toggle.focus();
261        }
262    });
263
264    li.addEventListener('focusout', function () {
265        window.setTimeout(function () {
266            if (!li.contains(document.activeElement)) close();
267        }, 0);
268    });
269
270    document.addEventListener('click', function (e) {
271        if (!li.contains(e.target)) close();
272    });
273})();
274</script>
274
275                <div class="currentDate" style='padding:9px;color:white'>
276    <span id="clock" class="clock" title='Data i hora oficial' >
277        02.10.2026 | 07:44    </span>
278</div>            </div>
279        </div>
280    </div>
281</div>
282<div class="header ">
283    <div class="branding">
284        <div class="container-xl">
285            <div class="row">
286                <div class="col-md-8 col-sm-8 col-lg-8 logo_box">
287    <a class="logo" href="/" aria-label="Ajuntament de Santa Perpètua de Mogoda - Pàgina d'inici">
288        <img src="/themes/santaperpetuademogoda/images/logos/header.png" alt="" width="185" height="96" id="mainLogo">
289    </a>
290    </div>                <div class="col-md-4 col-sm-4 col-lg-4 middle search_box">
291    <form id="search_box" aria-label="Cercar:" name="search_box" method="get" action="/search">
292        <label for="search" accesskey="4">
293            <span class="visually-hidden">Cercar:</span>
294        </label>
295        <input id="search" name="search" type="text" aria-label="Cercar:" title="Cerca a tot el web" value="" placeholder="Cercar...">
296        <button type="submit" class="search-button" aria-label="Cerca"><i class="fa fa-search"></i></button>
297    </form>
298</div>
299            </div>
300        </div>
301    </div>
302        <div id="navbar-top" class="navbar navbar-expand-lg navbar-dark"><div class="nav"><div class="container-xl"><div class="row"><div class="col"><nav class="menu_principal" aria-label="menú"><div class="menu-flexible__wrapper menu-font-medium menu-alignment-left menu-spacing-normal menu-animation-fade menu-text-transform-none menu-columns-1" style="--menu-cols:1;--menu-submenu-width:200px;--menu-hover-delay:300ms;--menu-image-width:160px;" data-menu-columns="1" data-expand-type="hover" data-menu-sticky="false" data-menu-alignment="left" data-menu-spacing="normal" data-menu-animation="fade" data-menu-external-icon="auto" data-menu-external-dim="false" data-menu-text-transform="none"><div class="menu-flexible__topbar"><a href="#" class="menu-flexible__toggle phoneMenuButton" aria-label="Menú" aria-expanded="false"><i class="fa fa-bars"></i></a></div><ul class="menu-flexible menu-flexible__list"><li class="menu-flexible__item page-1 level1"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament" ><span class="menu-flexible__item-text">Ajuntament</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-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-115 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern/informacio-regidorses" ><span class="menu-flexible__item-text">Informació regidors/es</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-15 level3"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/govern/grups-municipals" ><span class="menu-flexible__item-text">Grups municipals</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-401 level4"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern/grups-municipals/opinio-dels-grups-municipals" ><span class="menu-flexible__item-text">Opinió dels grups municipals</span></a></li><li class="menu-flexible__item page-503 level4"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://www.staperpetua.org/linformatiu/index.php/politica" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Notícies dels Grups Municipals</span><i class="align-middle fa fa-external-link ms-2"></i></a></li></ul></li><li class="menu-flexible__item page-87 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern/organitzacio-municipal" ><span class="menu-flexible__item-text">
302Organització municipal</span></a></li><li class="menu-flexible__item page-400 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern/cartipas-organitzacio-politica" ><span class="menu-flexible__item-text">Cartipàs: organització política</span></a></li><li class="menu-flexible__item page-144 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern/organs-de-govern-i-funcions" ><span class="menu-flexible__item-text">Òrgans de govern i funcions</span></a></li><li class="menu-flexible__item page-399 level3"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://www.staperpetua.cat/ajuntament/plans-campanyes-i-programes/pla-de-mandat-2023-2027.html" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Pla de Mandat</span><i class="align-middle fa fa-external-link ms-2"></i></a></li><li class="menu-flexible__item page-146 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern/consells-municipals-i-comissions" ><span class="menu-flexible__item-text">Consells municipals i comissions</span></a></li><li class="menu-flexible__item page-356 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern/alts-carrecs-i-carrecs-eventuals" ><span class="menu-flexible__item-text">Alts càrrecs i càrrecs eventuals</span></a></li><li class="menu-flexible__item page-17 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern/tecnics-municipals" ><span class="menu-flexible__item-text">Tècnics municipals</span></a></li><li class="menu-flexible__item page-357 level3"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://www.seu-e.cat/ca/web/santaperpetuademogoda/govern-obert-i-transparencia/informacio-institucional-i-organitzativa/empleats-publics" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Empleats Públics</span><i class="align-middle fa fa-external-link ms-2"></i></a></li><li class="menu-flexible__item page-355 level3"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://seu-e.cat/ca/web/santaperpetuademogoda/govern-obert-i-transparencia/informacio-institucional-i-organitzativa/empleats-publics/convenis-acords-pactes-de-caracter-funcionarial-laboral-o-sindical" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Convenis, acords, pactes funcionarials, laborals o sindicals</span><i class="align-middle fa fa-external-link ms-2"></i></a></li><li class="menu-flexible__item page-81 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern/empreses-municipals" ><span class="menu-flexible__item-text">Empreses municipals</span></a></li><li class="menu-flexible__item page-132 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern/altres-administracions" ><span class="menu-flexible__item-text">Altres administracions</span></a></li><li class="menu-flexible__item page-24 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern/pressupostos-i-plantilles" ><span class="menu-flexible__item-text">Pressupostos i plantilles</span></a></li><li class="menu-flexible__item page-127 level3"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://www.seu-e.cat/ca/web/santaperpetuademogoda/dades-obertes/-/dadesobertes/dataset/eleccions-municipals-resultats-historics-en-vots/resource/3539f7e6-4a48-4b57-9b55-b8c41079b3cd?p_auth=fiI6lr9T" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Resultats electorals</span><i class="align-middle fa fa-external-link ms-2"></i></a></li></ul></li><li class="menu-flexible__item page-80 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/els-plens" ><span class="menu-flexible__item-text">El Ple de la Corporació</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-343 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/els-plens/sessions-plenaries" ><span class="menu-flexible__item-text">Sessions plenàries</span></a></li><li class="menu-flexible__item page-345 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/els-plens/proposicions-dels-grups-municipals" ><span class="menu-flexible__item-text">Mocions dels grups municipals</span></a></li></ul></li><li class="menu-flexible__item page-20 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/la-junta-de-govern-local" ><span class="menu-flexible__item-text">La Junta de Govern Local</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-440 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/la-junta-de-govern-local/sessions-de-la-junta-de-govern-local" ><span class="menu-flexible__item-text">Sessions de la Junta de Govern Local</span></a></li></ul></li><li class="menu-flexible__item page-150 level2"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/participacio-ciutadana" ><span class="menu-flexible__item-text">Participació Ciutadana</span></a></li><li class="menu-flexible__item page-149 level2"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/rendiment-de-comptes-" ><span class="menu-flexible__item-text">Rendiment de comptes </span></a></li><li class="menu-flexible__item page-123 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/govern-obert-i-transparencia" ><span class="menu-flexible__item-text">Govern Obert i Transparència</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-447 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/govern-obert-i-transparencia/etica-i-integritat-publica" ><span class="menu-flexible__item-text">Ètica i integritat pública</span></a></li></ul></li><li class="menu-flexible__item page-156 level2"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/ajuts-de-la-unio-europea" ><span class="menu-flexible__item-text">Ajuts de la Unió Europea</span></a></li><li class="menu-flexible__item page-122 level2"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://seu.staperpetua.cat" 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-16 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/plans-campanyes-i-programes" ><span class="menu-flexible__item-text">Plans, campanyes i programes</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-410 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/plans-campanyes-i-programes/410-inversions" ><span class="menu-flexible__item-text">Inversions</span></a></li></ul></li><li class="menu-flexible__item page-178 level2"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/projectes-urbanistics" ><span class="menu-flexible__item-text">Projectes urbanístics</span></a></li><li class="menu-flexible__item page-18 level2"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/anuncis-edictes" ><span class="menu-flexible__item-text">Anuncis / Edictes</span></a></li><li class="menu-flexible__item page-26 level2"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/perfil-de-contractant" ><span class="menu-flexible__item-text">Perfil de contractant</span></a></li><li class="menu-flexible__item page-126 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/normativa" ><span class="menu-flexible__item-text">Normativa i Convenis</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-27 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/normativa/normativa--ordenances-generals" ><span class="menu-flexible__item-text">Normativa / Ordenances generals</span></a></li><li class="menu-flexible__item page-22 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/normativa/ordenances-fiscals" ><span class="menu-flexible__item-text">Ordenances fiscals</span></a></li><li class="menu-flexible__item page-28 level3"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/normativa/urbanisme" ><span class="menu-flexible__item-text">Urbanisme</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-344 level4"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/normativa/urbanisme/projectes-en-exposicio-publica" ><span class="menu-flexible__item-text">Projectes en exposició pública</span></a></li><li class="menu-flexible__item page-369 level4"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/normativa/urbanisme/plane
302jament-en-tramit" ><span class="menu-flexible__item-text">Planejament en tràmit</span></a></li><li class="menu-flexible__item page-370 level4"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/normativa/urbanisme/exposicio-publica-activitats" ><span class="menu-flexible__item-text">Exposició Pública - Activitats</span></a></li></ul></li></ul></li><li class="menu-flexible__item page-479 level2"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/cido" ><span class="menu-flexible__item-text">CIDO</span></a></li><li class="menu-flexible__item page-152 level2"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/oferta-publica-docupacio" ><span class="menu-flexible__item-text">Oferta pública d&#039;ocupació</span></a></li></ul></li><li class="menu-flexible__item page-10 level1"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/serveis-i-tramits" ><span class="menu-flexible__item-text">Serveis i tràmits</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-82 level2"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/oficines-municipals" ><span class="menu-flexible__item-text">Oficines municipals</span></a></li><li class="menu-flexible__item page-140 level2"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/serveis-a-la-ciutadania" ><span class="menu-flexible__item-text">Serveis a la ciutadania</span></a></li><li class="menu-flexible__item page-31 level2"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://seu.staperpetua.cat/" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Tràmits i gestions</span><i class="align-middle fa fa-external-link ms-2"></i></a></li><li class="menu-flexible__item page-315 level2"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://www.pap.hacienda.gob.es/bdnstrans/GE/ca/convocatorias/organo/L01082606" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Ajudes i subvencions</span><i class="align-middle fa fa-external-link ms-2"></i></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-141 level2"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://seu.staperpetua.cat/sta/CarpetaPublic/doEvent?APP_CODE=STA&amp;PAGE_CODE=PTS2_NOTIFICA" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Notificacions electròniques</span><i class="align-middle fa fa-external-link ms-2"></i></a></li><li class="menu-flexible__item page-32 level2"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/impostos" ><span class="menu-flexible__item-text">Impostos</span></a></li><li class="menu-flexible__item page-88 level2"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/factura-electronica" ><span class="menu-flexible__item-text">Factura electrònica</span></a></li><li class="menu-flexible__item page-133 level2"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/finestreta-unica-empresarial-fue" ><span class="menu-flexible__item-text">Finestreta Única Empresarial (FUE)</span></a></li></ul></li><li class="menu-flexible__item page-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-363 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/premsa-i-comunicacio" ><span class="menu-flexible__item-text">Premsa i Comunicació</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-312 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/xarxes-socials" ><span class="menu-flexible__item-text">Xarxes Socials</span></a></li><li class="menu-flexible__item page-157 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/la-radio" ><span class="menu-flexible__item-text">La Ràdio</span></a></li><li class="menu-flexible__item page-56 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/linformatiu" ><span class="menu-flexible__item-text">L&#039;
302Informatiu</span></a></li><li class="menu-flexible__item page-55 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/butlleti-digital" ><span class="menu-flexible__item-text">Butlletí digital</span></a></li><li class="menu-flexible__item page-57 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/rss" ><span class="menu-flexible__item-text">RSS</span></a></li><li class="menu-flexible__item page-58 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/hemeroteca" ><span class="menu-flexible__item-text">Hemeroteca</span></a></li></ul></li><li class="menu-flexible__item page-215 level1"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/215-temes" ><span class="menu-flexible__item-text">Temes</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-508 level2"><a class="menu-flexible__link" aria-expanded="false" href="/215-temes/llei-de-barris-i-viles" ><span class="menu-flexible__item-text">Llei de Barris i Viles</span></a></li><li class="menu-flexible__item page-490 level2"><a class="menu-flexible__link" aria-expanded="false" href="/215-temes/490-festa-major" ><span class="menu-flexible__item-text">Festa Major</span></a></li><li class="menu-flexible__item page-255 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/215-temes/255-persones" ><span class="menu-flexible__item-text">Persones</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-261 level3"><a class="menu-flexible__link" aria-expanded="false" href="/215-temes/255-persones/261-acollida-i-diversitat" ><span class="menu-flexible__item-text">Acollida i diversitat</span></a></li><li class="menu-flexible__item page-476 level3"><a class="menu-flexible__link" aria-expanded="false" href="/215-temes/255-persones/476-benestar-animal" ><span class="menu-flexible__item-text">Benestar Animal</span></a></li><li class="menu-flexible__item page-260 level3"><a class="menu-flexible__link" aria-expanded="false" href="/215-temes/255-persones/260-consum-omic" ><span class="menu-flexible__item-text">Consum (OMIC)</span></a></li><li class="menu-flexible__item page-256 level3"><a class="menu-flexible__link" aria-expanded="false" href="/215-temes/255-persones/256-convivencia" ><span class="menu-flexible__item-text">Convivència</span></a></li><li class="menu-flexible__item page-275 level3"><a class="menu-flexible__link" aria-expanded="false" href="/215-temes/255-persones/275-diversitat-funcional" ><span class="menu-flexible__item-text">Diversitat funcional</span></a></li><li class="menu-flexible__item page-259 level3"><a class="menu-flexible__link" aria-expanded="false" href="/215-temes/255-persones/259-gent-gran" ><span class="menu-flexible__item-text">Gent Gran</span></a></li><li class="menu-flexible__item page-257 level3"><a class="menu-flexible__link" aria-expanded="false" href="/215-temes/255-persones/257-infancia-i-adolescencia" ><span class="menu-flexible__item-text">Infància i adolescència</span></a></li><li class="menu-flexible__item page-258 level3"><a class="menu-flexible__link" aria-expanded="false" href="/215-temes/255-persones/258-joventut" ><span class="menu-flexible__item-text">Joventut</span></a></li><li class="menu-flexible__item page-254 level3"><a class="menu-flexible__link" aria-expanded="false" href="/215-temes/255-persones/254-salut-publica" ><span class="menu-flexible__item-text">Salut Pública</span></a></li><li class="menu-flexible__item page-217 level3"><a class="menu-flexible__link" aria-expanded="false" href="/215-temes/255-persones/217-serveis-socials" ><span class="menu-flexible__item-text">Serveis Socials</span></a></li></ul></li><li class="menu-flexible__item page-218 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/215-temes/temescultura-i-lleure-" ><span class="menu-flexible__item-text">Cultura i lleure</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-219 level3"><a class="menu-flexible__link" aria-expanded="false" href="/215-temes/temescultura-i-lleure-/219-biblioteca" ><span class="menu-flexible__item-text">Biblioteca</span></a></li><li class="menu-flexible__item page-265 level3"><a class="menu-flexible__link" aria-expanded="false" href="/215-temes/temescultura-i-lleure-/265-ema" ><span class="menu-flexible__item-text">EMA</span></a></li><li class="menu-flexible__item page-266 level3"><a class="menu-flexible__link" aria-expanded="false" href="/215-temes/temescultura-i-lleure-/266-xarxa-de-centres-civics" ><span class="menu-flexible__item-text">Xarxa de Centres Cívics</span></a></li></ul></li><li class="menu-flexible__item page-320 level2"><a class="menu-flexible__link" aria-expanded="false" href="/215-temes/320-educacio" ><span class="menu-flexible__item-text">Educació</span></a></li><li class="menu-flexible__item page-269 level2"><a class="menu-flexible__link" aria-expanded="false" href="/215-temes/269-empresa-i-comerc" ><span class="menu-flexible__item-text">Empresa i Comerç</span></a></li><li class="menu-flexible__item page-282 level2"><a class="menu-flexible__link" aria-expanded="false" href="/215-temes/282-entitats" ><span class="menu-flexible__item-text">Entitats</span></a></li><li class="menu-flexible__item page-272 level2"><a class="menu-flexible__link" aria-expanded="false" href="/215-temes/272-esports" ><span class="menu-flexible__item-text">Esports</span></a></li><li class="menu-flexible__item page-271 level2"><a class="menu-flexible__link" aria-expanded="false" href="/215-temes/271-formacio-i-ocupacio" ><span class="menu-flexible__item-text">Formació i Ocupació</span></a></li><li class="menu-flexible__item page-273 level2"><a class="menu-flexible__link" aria-expanded="false" href="/215-temes/hisenda-i-tributs" ><span class="menu-flexible__item-text">Hisenda i Tributs</span></a></li><li class="menu-flexible__item page-274 level2"><a class="menu-flexible__link" aria-expanded="false" href="/215-temes/igualtat-i-drets-civils" ><span class="menu-flexible__item-text">Igualtat i drets civils</span></a></li><li class="menu-flexible__item page-276 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/215-temes/medi-ambient-i-canvi-climatic" ><span class="menu-flexible__item-text">Medi Ambient i Canvi Climàtic</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-277 level3"><a class="menu-flexible__link" aria-expanded="false" href="/215-temes/medi-ambient-i-canvi-climatic/277-qualitat-de-laire" ><span class="menu-flexible__item-text">Qualitat de l&#039;aire</span></a></li><li class="menu-flexible__item page-278 level3"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="http://staperpetua.sim.cat/#entrar" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Consultes deixalleria</span><i class="align-middle fa fa-external-link ms-2"></i></a></li><li class="menu-flexible__item page-279 level3"><a class="menu-flexible__link" aria-expanded="false" href="/215-temes/medi-ambient-i-canvi-climatic/279
302-sensibilitzacio-i-informacio-ambiental" ><span class="menu-flexible__item-text">Sensibilització i Informació Ambiental</span></a></li><li class="menu-flexible__item page-280 level3"><a class="menu-flexible__link" aria-expanded="false" href="/215-temes/medi-ambient-i-canvi-climatic/280-canvi-climatic-i-transicio-energetica" ><span class="menu-flexible__item-text">Canvi Climàtic i Transició Energètica</span></a></li></ul></li><li class="menu-flexible__item page-281 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/215-temes/281-mobilitat-i-via-publica" ><span class="menu-flexible__item-text">Mobilitat i Via Pública</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-292 level3"><a class="menu-flexible__link" aria-expanded="false" href="/215-temes/281-mobilitat-i-via-publica/mobilitat-electrica" ><span class="menu-flexible__item-text">Mobilitat elèctrica</span></a></li><li class="menu-flexible__item page-497 level3"><a class="menu-flexible__link" aria-expanded="false" href="/215-temes/281-mobilitat-i-via-publica/497-zona-de-baixes-emissions-zbe" ><span class="menu-flexible__item-text">Zona de Baixes Emissions (ZBE)</span></a></li></ul></li><li class="menu-flexible__item page-313 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/215-temes/313-seguretat-ciutadana" ><span class="menu-flexible__item-text">Seguretat Ciutadana</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-283 level3"><a class="menu-flexible__link" aria-expanded="false" href="/215-temes/313-seguretat-ciutadana/283-policia-local" ><span class="menu-flexible__item-text">Policia Local</span></a></li><li class="menu-flexible__item page-284 level3"><a class="menu-flexible__link" aria-expanded="false" href="/215-temes/313-seguretat-ciutadana/284-proteccio-civil" ><span class="menu-flexible__item-text">Protecció Civil</span></a></li></ul></li><li class="menu-flexible__item page-285 level2"><a class="menu-flexible__link" aria-expanded="false" href="/215-temes/285-solidaritat-i-cooperacio" ><span class="menu-flexible__item-text">Solidaritat i Cooperació</span></a></li><li class="menu-flexible__item page-286 level2"><a class="menu-flexible__link" aria-expanded="false" href="/215-temes/286-urbanisme-i-habitatge" ><span class="menu-flexible__item-text">Urbanisme i Habitatge</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-514 level2"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/514-observatori-de-ciutat" ><span class="menu-flexible__item-text">Observatori de Ciutat</span></a></li><li class="menu-flexible__item page-287 level2"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/mobilitat" ><span class="menu-flexible__item-text">Mobilitat</span></a></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-473 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/turisme/473-museu-del-treball-i-la-industria-viva-mtiv" ><span class="menu-flexible__item-text">Museu del Treball i la Indústria Viva (MTIV)</span></a></li><li class="menu-flexible__item page-50 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/turisme/festes-i-fires" ><span class="menu-flexible__item-text">Festes i fires</span></a></li><li class="menu-flexible__item page-334 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/turisme/festivals-darts" ><span class="menu-flexible__item-text">Festivals d&#039;Arts</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></ul></li><li class="menu-flexible__item page-481 level2"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/481-residus" ><span class="menu-flexible__item-text">Residus</span></a></li><li class="menu-flexible__item page-489 level2"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://www.staperpetua.org/sp/super.html" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Joc del Superpetuenc</span><i class="align-middle fa fa-external-link ms-2"></i></a></li><li class="menu-flexible__item page-34 level2"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/com-arribar-hi" ><span class="menu-flexible__item-text">Com arribar-hi</span></a></li><li class="menu-flexible__item page-36 level2"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-de-carrers--planol" ><span class="menu-flexible__item-text">Guia de carrers / Plànol</span></a></li><li class="menu-flexible__item page-3 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/el-municipi/guia-del-municipi" ><span class="menu-flexible__item-text">Guia del municipi</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-37 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-del-municipi/equipaments" ><span class="menu-flexible__item-text">Equipaments</span></a></li><li class="menu-flexible__item page-40 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-del-municipi/entitats-i-associacions" ><span class="menu-flexible__item-text">Entitats i associacions</span></a></li><li class="menu-flexible__item page-43 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-del-municipi/emergencie
302s" ><span class="menu-flexible__item-text">Emergències</span></a></li></ul></li><li class="menu-flexible__item page-7 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/el-municipi/informacio-del-municipi" ><span class="menu-flexible__item-text">Informació del municipi</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-500 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/informacio-del-municipi/festius-locals" ><span class="menu-flexible__item-text">Festius locals</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-48 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/informacio-del-municipi/informacio-geografica" ><span class="menu-flexible__item-text">Informació geogràfica</span></a></li><li class="menu-flexible__item page-142 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/informacio-del-municipi/lobservatori" ><span class="menu-flexible__item-text">L&#039;Observatori de la Riera de Caldes</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><li class="menu-flexible__item page-207 level3"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://arxiumunicipal.staperpetua.cat/" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Arxiu</span><i class="align-middle fa fa-external-link ms-2"></i></a></li></ul></li></ul></li></ul></div>
302<script>(function() {
303    'use strict';
304
305    // Mega panel
306
307    function initMegaPanels(navContainer) {
308        var menuItems = Array.prototype.slice.call(navContainer.querySelectorAll('[data-mega-id]'));
309        if (!menuItems.length) return;
310
311        var navUl    = navContainer.querySelector('ul');
312        var topItems = navUl
313            ? menuItems.filter(function(el) { return el.parentElement === navUl; })
314            : menuItems;
315
316        var wrapper    = navContainer.closest('.menu-flexible__wrapper');
317        var isClick    = wrapper && wrapper.getAttribute('data-expand-type') === 'click';
318
319        menuItems.forEach(function(item) {
320            var panel = getPanelForItem(item, navContainer);
321            if (!panel) return;
322
323            if (isClick) {
324                var link = item.querySelector('a');
325                if (link) {
326                    link.addEventListener('click', function(e) {
327                        // En mòbil, els elements naveguen directament sense desplegar submenús
328                        if (window.innerWidth <= 992) return;
329                        if (panel.classList.contains('mf-mega-visible')) {
330                            // Segon clic: navegar
331                            return;
332                        }
333                        e.preventDefault();
334                        hideAllMegaPanels(navContainer);
335                        showPanel(item, panel);
336                    });
337                }
338            } else {
339                var hoverDelay = parseInt(
340                    getComputedStyle(wrapper).getPropertyValue('--menu-hover-delay'), 10
341                ) || 0;
342                var hoverTimer = null;
343
344                var leaveTimer = null;
345
346                item.addEventListener('mouseenter', function() {
347                    clearTimeout(hoverTimer);
348                    clearTimeout(leaveTimer);
349                    if (hoverDelay > 0) {
350                        hoverTimer = setTimeout(function() { showPanel(item, panel); }, hoverDelay);
351                    } else {
352                        showPanel(item, panel);
353                    }
354                });
355                item.addEventListener('mouseleave', function(e) {
356                    clearTimeout(hoverTimer);
357                    if (!panel.contains(e.relatedTarget)) {
358                        leaveTimer = setTimeout(function() { hidePanel(item, panel); }, 300);
359                    }
360                });
361                panel.addEventListener('mouseenter', function() {
362                    clearTimeout(leaveTimer);
363                });
364                panel.addEventListener('mouseleave', function(e) {
365                    clearTimeout(hoverTimer);
366                    clearTimeout(leaveTimer);
367                    if (!item.contains(e.relatedTarget)) hidePanel(item, panel);
368                });
369
370                // Tàctil: fallback quan hover no disponible (només escriptori tàctil)
371                var link = item.querySelector('a');
372                if (link) {
373                    link.addEventListener('click', function(e) {
374                        if (window.matchMedia('(hover: none)').matches && window.innerWidth > 992) {
375                            if (panel.classList.contains('mf-mega-visible')) {
376                                // Segon clic en tàctil: navegar
377                                return;
378                            }
379                            e.preventDefault();
380                            hideAllMegaPanels(navContainer);
381                            showPanel(item, panel);
382                        }
383                    });
384                }
385            }
386        });
387
388        navContainer.addEventListener('keydown', function(e) {
389            handleMegaKeydown(e, navContainer, topItems);
390        });
391
392        if (!isClick) {
393            navContainer.addEventListener('focusin', function(e) {
394                var item = e.target.closest('[data-mega-id]');
395                if (!item) return;
396                var panel = getPanelForItem(item, navContainer);
397                if (!panel) return;
398                hideAllMegaPanels(navContainer);
399                showPanel(item, panel);
400            });
401        }
402
403        navContainer.addEventListener('focusout', function() {
404            setTimeout(function() {
405                if (!navContainer.contains(document.activeElement)) {
406                    hideAllMegaPanels(navContainer);
407                }
408            }, 0);
409        });
410
411        document.addEventListener('click', function(e) {
412            if (!navContainer.contains(e.target)) {
413                hideAllMegaPanels(navContainer);
414            }
415        });
416    }
417
418    function handleMegaKeydown(e, navContainer, topItems) {
419        var focused = document.activeElement;
420        if (!focused) return;
421
422        var currentItem = focused.closest('[data-mega-id]');
423        var currentPanel = focused.closest('.menu-flexible__mega-panel');
424        var key = e.key || e.code || e.keyCode;
425
426        function directLink(item) {
427            if (!item) return null;
428            return Array.prototype.slice.call(item.children).find(function(el) {
429                return el.tagName === 'A';
430            }) || item.querySelector('a');
431        }
432
433        function itemForPanel(panel) {
434            if (!panel) return null;
435            var id = panel.getAttribute('data-mega-id');
436            return id ? navContainer.querySelector('li[data-mega-id="' + id + '"]') : null;
437        }
438
439        function focusPanelLink(panel, index) {
440            var links = Array.prototype.slice.call(panel.querySelectorAll('a'));
441            if (!links.length) return;
442            links[(index + links.length) % links.length].focus();
443        }
444
445        function focusPanelSibling(panel, offset) {
446            var links = Array.prototype.slice.call(panel.querySelectorAll('a'));
447            var idx = links.indexOf(focused);
448            if (idx === -1) return;
449            links[(idx + offset + links.length) % links.length].focus();
450        }
451
452        function panelColumnForLink(link) {
453            return link ? link.closest('.menu-flexible__mega-col') : null;
454        }
455
456        function focusAdjacentPanelColumn(panel, offset) {
457            var columns = Array.prototype.slice.call(panel.querySelectorAll('.menu-flexible__mega-col'));
458            var currentColumn = panelColumnForLink(focused);
459            var idx = columns.indexOf(currentColumn);
460            if (idx === -1) return false;
461
462            var targetColumn = columns[(idx + offset + columns.length) % columns.length];
463            var targetLink = targetColumn.querySelector('a');
464            if (targetLink) {
465                targetLink.focus();
466                return true;
467            }
468
469            return false;
470        }
471
472        function focusTopItem(item, offset) {
473            var idx = topItems.indexOf(item);
474            if (idx === -1) return;
475
476            var next = topItems[(idx + offset + topItems.length) % topItems.length];
477            hideAllMegaPanels(navContainer);
478
479            var nextLink = directLink(next);
480            if (nextLink) {
481                nextLink.focus();
482                var nextPanel = getPanelForItem(next, navContainer);
483                if (nextPanel) showPanel(next, nextPanel);
484            }
485        }
486
487        switch (key) {
488            case 'Escape':
489            case 'Esc':
490            case 27: {
491                e.preventDefault();
492                hideAllMegaPanels(navContainer);
493                if (currentPanel) {
494                    var item = itemForPanel(currentPanel);
495                    var lnk = directLink(item);
496                    if (lnk) lnk.focus();
497                }
498                break;
499            }
500
501            case 'ArrowRight':
502            case 39:
503            case 'ArrowLeft':
504            case 37: {
505                var direction = (key === 'ArrowRight' || key === 39) ? 1 : -1;
506                e.preventDefault();
507
508                if (currentPanel) {
509                    if (!focusAdjacentPanelColumn(currentPanel, direction)) {
510                        var ownerItem = itemForPanel(currentPanel);
511                        focusTopItem(ownerItem, direction);
512                    }
513                    break;
514                }
515
516                if (!currentItem) return;
517                focusTopItem(currentItem, direction);
518                break;
519            }
520
521            case 'ArrowDown':
522            case 40: {
523                e.preventDefault();
524                if (currentPanel) {
525                    focusPanelSibling(currentPanel, 1);
526                    break;
527                }
528                if (!currentItem) return;
529                var panel = getPanelForItem(currentItem, navContainer);
530                if (!panel) return;
531                if (!panel.classList.contains('mf-mega-visible')) {
532                    hideAllMegaPanels(navContainer);
533                    showPanel(currentItem, panel);
534                }
535                focusPanelLink(panel, 0);
536                break;
537            }
538
539            case ' ':
540            case 'Space':
541            case 'Spacebar':
542            case 32: {
543                if (currentPanel || !currentItem) return;
544                var spacePanel = getPanelForItem(currentItem, navContainer);
545                if (!spacePanel) return;
546
547                e.preventDefault();
548                if (spacePanel.classList.contains('mf-mega-visible')) {
549                    hidePanel(currentItem, spacePanel);
550                } else {
551                    hideAllMegaPanels(navContainer);
552                    showPanel(currentItem, spacePanel);
553                }
554                break;
555            }
556
557            case 'ArrowUp':
558            case 38: {
559                if (!currentPanel) return;
560                e.preventDefault();
561                var panelLinks = Array.prototype.slice.call(currentPanel.querySelectorAll('a'));
562                var focusedIndex = panelLinks.indexOf(focused);
563
564                if (focusedIndex > 0) {
565                    focusPanelLink(currentPanel, focusedIndex - 1);
566                } else {
567                    var parentItem = itemForPanel(currentPanel);
568                    var parentLink = directLink(parentItem);
569                    if (parentLink) parentLink.focus();
570                    if (parentItem) hidePanel(parentItem, currentPanel);
571                }
572                break;
573            }
574        }
575    }
576
577    function getPanelForItem(item, navContainer) {
578        var id = item.getAttribute('data-mega-id');
579        return id
580            ? navContainer.querySelector('.menu-flexible__mega-panel[data-mega-id="' + id + '"]')
581            : null;
582    }
583
584    function showPanel(item, panel) {
585        panel.classList.add('mf-mega-visible');
586        panel.setAttribute('aria-hidden', 'false');
587        var link = item.querySelector('a');
588        if (link) link.setAttribute('aria-expanded', 'true');
589    }
590
591    function hidePanel(item, panel) {
592        panel.classList.remove('mf-mega-visible');
593        panel.setAttribute('aria-hidden', 'true');
594        var link = item.querySelector('a');
595        if (link) link.setAttribute('aria-expanded', 'false');
596    }
597
598    function hideAllMegaPanels(navContainer) {
599        navContainer.querySelectorAll('.menu-flexible__mega-panel.mf-mega-visible')
600            .forEach(function(panel) {
601                var id   = panel.getAttribute('data-mega-id');
602                var item = id ? navContainer.querySelector('li[data-mega-id="' + id + '"]') : null;
603                if (item) {
604                    hidePanel(item, panel);
605                } else {
606                    panel.classList.remove('mf-mega-visible');
607                    panel.setAttribute('aria-hidden', 'true');
608                }
609            });
610    }
611
612
613    // Tecles de fletxa (menú estàndard)
614
615    function initStandardKeyboard(wrapper) {
616        var menu = wrapper.querySelector('.menu-flexible__list');
617        if (!menu) return;
618
619        function closeAll() {
620            Array.prototype.slice.call(menu.querySelectorAll('.menu-flexible__item[focus="true"]'))
621                .forEach(function(item) {
622                    item.setAttribute('focus', 'false');
623                    var submenu = Array.prototype.slice.call(item.children).find(function(el) {
624                        return el.classList && el.classList.contains('menu-flexible__submenu');
625                    });
626                    if (submenu) {
627                        submenu.style.left = '';
628                        submenu.style.opacity = '';
629                        submenu.style.visibility = '';
630                        submenu.style.pointerEvents = '';
631                        submenu.style.transform = '';
632                    }
633                    var link = Array.prototype.slice.call(item.children).find(function(el) {
634                        return el.tagName === 'A';
635                    });
636                    if (link && link.classList.contains('menu-flexible__link--dropdown')) {
637                        link.setAttribute('aria-expanded', 'false');
638                    }
639                });
640        }
641
642        wrapper.addEventListener('keydown', function(e) {
643            handleStandardKeydown(e, menu);
644        });
645
646        wrapper.addEventListener('focusout', function() {
647            setTimeout(function() {
648                if (!wrapper.contains(document.activeElement)) {
649                    closeAll();
650                }
651            }, 0);
652        });
653    }
654
655    function handleStandardKeydown(e, menu) {
656        var focused = document.activeElement;
657        if (!focused || !menu.contains(focused)) return;
658
659        var itemSel = '.menu-flexible__item';
660        var linkSel = '.menu-flexible__link';
661
662        var currentLi = focused.closest(itemSel);
663        if (!currentLi) return;
664
665        var parentUl = currentLi.parentElement;
666        var isLevel1 = parentUl === menu;
667
668        function directLink(li) {
669            var direct = Array.prototype.slice.call(li.children).find(function(el) {
670                return el.tagName === 'A';
671            });
672            return direct || li.querySelector(linkSel);
673        }
674
675        function siblingItems(ul) {
676            return Array.prototype.slice.call(ul.children).filter(function(el) {
677                return el.matches(itemSel);
678            });
679        }
680
681        function childMenu(li) {
682            return Array.prototype.slice.call(li.children).find(function(el) {
683                return el.classList && el.classList.contains('menu-flexible__submenu');
684            });
685        }
686
687        function setSubmenuVisible(li, visible) {
688            var submenu = childMenu(li);
689            if (!submenu) return;
690
691            if (visible) {
692                submenu.style.left = li.parentElement === menu ? '0' : '100%';
693                submenu.style.opacity = '1';
694                submenu.style.visibility = 'visible';
695                submenu.style.pointerEvents = 'auto';
696                submenu.style.transform = 'none';
697            } else {
698                submenu.style.left = '';
699                submenu.style.opacity = '';
700                submenu.style.visibility = '';
701                submenu.style.pointerEvents = '';
702                submenu.style.transform = '';
703            }
704        }
705
706        function setExpanded(li, expanded) {
707            li.setAttribute('focus', expanded ? 'true' : 'false');
708            setSubmenuVisible(li, expanded);
709            var lnk = directLink(li);
710            if (lnk && lnk.classList.contains('menu-flexible__link--dropdown')) {
711                lnk.setAttribute('aria-expanded', expanded ? 'true' : 'false');
712            }
713            if (!expanded) {
714                Array.prototype.slice.call(li.querySelectorAll(itemSel + '[focus="true"]'))
715                    .forEach(function(item) {
716                        item.setAttribute('focus', 'false');
717                        setSubmenuVisible(item, false);
718                        var childLink = directLink(item);
719                        if (childLink && childLink.classList.contains('menu-flexible__link--dropdown')) {
720                            childLink.setAttribute('aria-expanded', 'false');
721                        }
722                    });
723            }
724        }
725
726        function closeSiblings(li) {
727            Array.prototype.slice.call(li.parentElement.children)
728                .filter(function(item) {
729                    return item !== li && item.matches(itemSel);
730                })
731                .forEach(function(item) {
732                    setExpanded(item, false);
733                });
734        }
735
736        function openChild(li) {
737            var submenu = childMenu(li);
738            if (!submenu) return false;
739            closeSiblings(li);
740            setExpanded(li, true);
741            var firstChild = submenu.querySelector(linkSel);
742            if (firstChild) firstChild.focus();
743            return true;
744        }
745
746        function focusSibling(offset) {
747            var sibs = siblingItems(parentUl);
748            var idx  = sibs.indexOf(currentLi);
749            var lnk  = directLink(sibs[(idx + offset + sibs.length) % sibs.length]);
750            if (lnk) lnk.focus();
751        }
752
753        var key = e.key || e.code || e.keyCode;
754
755        switch (key) {
756            case 'ArrowRight':
757            case 39: {
758                if (!isLevel1) return;
759                e.preventDefault();
760                setExpanded(currentLi, false);
761                focusSibling(1);
762                break;
763            }
764            case 'ArrowLeft':
765            case 37: {
766                if (!isLevel1) return;
767                e.preventDefault();
768                setExpanded(currentLi, false);
769                focusSibling(-1);
770                break;
771            }
772            case 'ArrowDown':
773            case 40: {
774                e.preventDefault();
775                if (focused === directLink(currentLi) && openChild(currentLi)) {
776                    break;
777                }
778                var sibsDown = siblingItems(parentUl);
779                var idxDown  = sibsDown.indexOf(currentLi);
780                if (idxDown < sibsDown.length - 1) {
781                    var lnkDown = directLink(sibsDown[idxDown + 1]);
782                    if (lnkDown) lnkDown.focus();
783                }
784                break;
785            }
786            case 'ArrowUp':
787            case 38: {
788                e.preventDefault();
789                var sibsUp = siblingItems(parentUl);
790                var idxUp  = sibsUp.indexOf(currentLi);
791                if (idxUp > 0) {
792                    var lnkUp = directLink(sibsUp[idxUp - 1]);
793                    if (lnkUp) lnkUp.focus();
794                } else if (!isLevel1) {
795                    var parentItemUp = parentUl.closest(itemSel);
796                    if (parentItemUp) {
797                        setExpanded(parentItemUp, false);
798                        var parentLinkUp = directLink(parentItemUp);
799                        if (parentLinkUp) parentLinkUp.focus();
800                    }
801                }
802                break;
803            }
804            case ' ':
805            case 'Space':
806            case 'Spacebar':
807            case 32: {
808                if (!focused.classList.contains('menu-flexible__link--dropdown')) return;
809                e.preventDefault();
810                currentLi.getAttribute('focus') === 'true'
811                    ? setExpanded(currentLi, false)
812                    : openChild(currentLi);
813                break;
814            }
815            case 'Escape':
816            case 'Esc':
817            case 27: {
818                if (isLevel1 && currentLi.getAttribute('focus') !== 'true') return;
819                e.preventDefault();
820                if (!isLevel1) {
821                    var parentItemEsc = parentUl.closest(itemSel);
822                    if (parentItemEsc) {
823                        setExpanded(parentItemEsc, false);
824                        var parentLinkEsc = directLink(parentItemEsc);
825                        if (parentLinkEsc) parentLinkEsc.focus();
826                    }
827                } else {
828                    setExpanded(currentLi, false);
829                }
830                break;
831            }
832        }
833    }
834
835
836    // Click mode: expandir submenús via [focus=true]
837
838    function initClickExpand(wrapper) {
839        var menu = wrapper.querySelector('.menu-flexible__list');
840        if (!menu) return;
841
842        var itemSel        = '.menu-flexible__item';
843        var dropdownSel    = '.menu-flexible__link--dropdown';
844
845        function closeAll(container) {
846            Array.prototype.slice.call(container.querySelectorAll(itemSel + '[focus="true"]'))
847                .forEach(function(el) { el.setAttribute('focus', 'false'); });
848        }
849
850        function closeSiblings(item) {
851            var parentUl = item.parentElement;
852            Array.prototype.slice.call(parentUl.children)
853                .filter(function(el) {
854                    return el !== item
855                        && el.matches(itemSel)
856                        && el.getAttribute('focus') === 'true';
857                })
858                .forEach(function(el) {
859                    el.setAttribute('focus', 'false');
860                    closeAll(el);
861                });
862        }
863
864        menu.addEventListener('click', function(e) {
865            var link = e.target.closest(dropdownSel);
866            if (!link || !menu.contains(link)) return;
867
868            var item = link.parentElement;
869            if (!item || !item.matches(itemSel)) return;
870
871            // En mòbil, els elements naveguen directament sense desplegar submenús
872            if (window.innerWidth <= 992) return;
873
874            var isOpen = item.getAttribute('focus') === 'true';
875
876            if (isOpen) {
877                // Segon clic: navegar
878                return;
879            }
880
881            e.preventDefault();
882            closeSiblings(item);
883            item.setAttribute('focus', 'true');
884        });
885
886        document.addEventListener('click', function(e) {
887            var openItem = menu.querySelector(itemSel + '[focus="true"]');
888            if (!openItem) return;
889            if (!openItem.contains(e.target)) {
890                closeAll(menu);
891            }
892        });
893    }
894
895
896    // Hamburger (mòbil ≤992px)
897
898    class MenuFlexible {
899        constructor(wrapper) {
900            this.wrapper   = wrapper;
901            this.hamburger = wrapper.querySelector('.menu-flexible__toggle');
902            this.menu      = wrapper.querySelector('.menu-flexible__list');
903
904            if (!this.hamburger || !this.menu) return;
905
906            var parent  = this.menu.parentElement;
907            this.isMega = parent && parent.classList.contains('menu-flexible__nav-container');
908            this.target = this.isMega ? parent : this.menu;
909
910            // Ancestre que en mòbil és barra fixa de 44px amb overflow:clip i retalla
911            // el menú desplegat. En obrir, l'eixamplem; en tancar, el restaurem.
912            this.clipper = wrapper.closest('.nav');
913
914            this.init();
915            window.addEventListener('resize', () => this.handleResize());
916        }
917
918        init() {
919            this.hamburger.addEventListener('click', (e) => {
920                e.preventDefault();
921                e.stopPropagation();
922                this.toggleMenu();
923            });
924
925            document.addEventListener('click', (e) => {
926                if (!this.wrapper.contains(e.target) && this.isOpen()) {
927                    this.closeMenu();
928                }
929            });
930
931            this.menu.querySelectorAll('a').forEach(link => {
932                link.addEventListener('click', () => {
933                    if (window.innerWidth <= 992 && this.isOpen()) {
934                        this.closeMenu();
935                    }
936                });
937            });
938        }
939
940        isOpen()     { return this.target.classList.contains('show'); }
941        toggleMenu() { this.isOpen() ? this.closeMenu() : this.openMenu(); }
942
943        liftClip() {
944            if (this.clipper && window.innerWidth <= 992) {
945                this.clipper.style.height = 'auto';
946                this.clipper.style.maxHeight = 'none';
947                this.clipper.style.overflow = 'visible';
948            }
949        }
950
951        restoreClip() {
952            if (this.clipper) {
953                this.clipper.style.height = '';
954                this.clipper.style.maxHeight = '';
955                this.clipper.style.overflow = '';
956            }
957        }
958
959        openMenu() {
960            this.target.classList.add('show');
961            this.target.style.display = this.isMega ? 'block' : 'flex';
962            if (this.isMega) this.menu.style.display = 'flex';
963            this.liftClip();
964            this.hamburger.classList.add('active');
965            this.hamburger.setAttribute('aria-expanded', 'true');
966        }
967
968        closeMenu() {
969            this.target.classList.remove('show');
970            this.target.style.display = 'none';
971            if (this.isMega) {
972                this.menu.style.display = '';
973                var nc = this.wrapper.querySelector('.menu-flexible__nav-container');
974                if (nc) hideAllMegaPanels(nc);
975            }
976            this.restoreClip();
977            this.hamburger.classList.remove('active');
978            this.hamburger.setAttribute('aria-expanded', 'false');
979        }
980
981        handleResize() {
982            if (window.innerWidth > 992) {
983                this.target.classList.remove('show');
984                this.target.style.display = '';
985                if (this.isMega) this.menu.style.display = '';
986                this.restoreClip();
987                this.hamburger.classList.remove('active');
988                this.hamburger.setAttribute('aria-expanded', 'false');
989            }
990        }
991    }
992
993
994    // Init
995
996    function init() {
997        document.querySelectorAll('.menu-flexible__wrapper').forEach(function(wrapper) {
998            var navContainer = wrapper.querySelector('.menu-flexible__nav-container');
999            if (navContainer) {
1000                initMegaPanels(navContainer);
1001            } else {
1002                initStandardKeyboard(wrapper);
1003                if (wrapper.getAttribute('data-expand-type') === 'click') {
1004                    initClickExpand(wrapper);
1005                }
1006            }
1007            new MenuFlexible(wrapper);
1008            if (wrapper.getAttribute('data-menu-sticky') === 'true') {
1009                var stickyTarget = wrapper.closest('#navbar-top')
1010                                || wrapper.closest('.navbar')
1011                                || wrapper.closest('nav');
1012                if (stickyTarget) {
1013                    stickyTarget.classList.add('menu-sticky-enabled');
1014                    document.body.classList.add('has-sticky-menu');
1015
1016                    var navbarHeight   = stickyTarget.offsetHeight;
1017                    var navbarTop      = stickyTarget.getBoundingClientRect().top + window.scrollY;
1018                    var bodyPadApplied = false;
1019
1020                    function updateStickyOffset() {
1021                        navbarHeight = stickyTarget.offsetHeight;
1022                        document.documentElement.style.setProperty('--skip-links-sticky-offset', navbarHeight + 'px');
1023
1024                        if (bodyPadApplied) {
1025                            document.body.style.paddingTop = navbarHeight + 'px';
1026                        }
1027                    }
1028
1029                    function getTargetFromHash(hash) {
1030                        if (!hash || hash.charAt(0) !== '#') {
1031                            return null;
1032                        }
1033
1034                        try {
1035                            return document.getElementById(decodeURIComponent(hash.substring(1)));
1036                        } catch (error) {
1037                            return document.getElementById(hash.substring(1));
1038                        }
1039                    }
1040
1041                    function scrollToSkipTarget(hash) {
1042                        var target = getTargetFromHash(hash);
1043                        if (!target) {
1044                            return;
1045                        }
1046
1047                        updateStickyOffset();
1048
1049                        var expectedTop = target.getBoundingClientRect().top + window.scrollY - navbarHeight;
1050                        if (expectedTop > navbarTop) {
1051                            applyFixed();
1052                        } else {
1053                            removeFixed();
1054                        }
1055
1056                        try {
1057                            target.focus({ preventScroll: true });
1058                        } catch (error) {
1059                            target.focus();
1060                        }
1061
1062                        var targetTop = target.getBoundingClientRect().top + window.scrollY;
1063                        window.scrollTo(0, Math.max(targetTop - navbarHeight, 0));
1064                    }
1065
1066                    document.querySelectorAll('.skip-links a[href^="#"]').forEach(function(link) {
1067                        link.addEventListener('click', function(event) {
1068                            var hash = link.getAttribute('href');
1069                            var target = getTargetFromHash(hash);
1070                            if (!target) {
1071                                return;
1072                            }
1073
1074                            event.preventDefault();
1075
1076                            if (window.history && window.history.pushState) {
1077                                window.history.pushState(null, '', hash);
1078                            } else {
1079                                window.location.hash = hash;
1080                            }
1081
1082                            scrollToSkipTarget(hash);
1083                        });
1084                    });
1085
1086                    updateStickyOffset();
1087
1088                    function applyFixed() {
1089                        if (!stickyTarget.classList.contains('fixed-top')) {
1090                            updateStickyOffset();
1091                            stickyTarget.classList.add('fixed-top');
1092                            document.body.style.paddingTop = navbarHeight + 'px';
1093                            bodyPadApplied = true;
1094                        }
1095                    }
1096
1097                    function removeFixed() {
1098                        if (stickyTarget.classList.contains('fixed-top')) {
1099                            stickyTarget.classList.remove('fixed-top');
1100                            document.body.style.paddingTop = '';
1101                            bodyPadApplied = false;
1102                        }
1103                    }
1104
1105                    window.addEventListener('scroll', function() {
1106                        if (window.scrollY > navbarTop) {
1107                            applyFixed();
1108                        } else {
1109                            removeFixed();
1110                        }
1111                    });
1112
1113                    window.addEventListener('resize', function() {
1114                        updateStickyOffset();
1115                        if (!stickyTarget.classList.contains('fixed-top')) {
1116                            navbarTop = stickyTarget.getBoundingClientRect().top + window.scrollY;
1117                        }
1118                    });
1119
1120                    if ('ResizeObserver' in window) {
1121                        new ResizeObserver(updateStickyOffset).observe(stickyTarget);
1122                    }
1123
1124                    stickyTarget.querySelectorAll('img').forEach(function(image) {
1125                        if (!image.complete) {
1126                            image.addEventListener('load', updateStickyOffset, { once: true });
1127                        }
1128                    });
1129
1130                    window.addEventListener('load', updateStickyOffset);
1131
1132                    if (window.scrollY > navbarTop) applyFixed();
1133
1134                    if (window.location.hash) {
1135                        window.setTimeout(function() {
1136                            scrollToSkipTarget(window.location.hash);
1137                        }, 0);
1138                    }
1139                }
1140            }
1141        });
1142    }
1143
1144    if (document.readyState === 'loading') {
1145        document.addEventListener('DOMContentLoaded', init);
1146    } else {
1147        init();
1148    }
1149})();
1150</script>
1150</nav></div></div></div></div></div>        </div>        </header>
1151                <main id="main-content" tabindex="-1">
1152            <div class="content">
1153                                <div class="container-xl columns">
1154                                        <div class="row">
1155    <div class="col-xs-12 col-sm-12 col-md-3 col-lg-3 leftSidebar responsiveHeight" data-nosnippet>
1156        <nav class="menuLeft" id="Menuleft_page" aria-label="Menú Ajuntament">
1157                    <ul>
1158                <li class="subMenuPage-8 level2">
1159    <a href="/ajuntament/govern" target="_self">
1160        Govern            </a>
1161
1162    </li>
1163<li class="subMenuPage-80 level2">
1164    <a href="/ajuntament/els-plens" target="_self">
1165        El Ple de la Corporació            </a>
1166
1167    </li>
1168<li class="subMenuPage-20 level2">
1169    <a href="/ajuntament/la-junta-de-govern-local" target="_self">
1170        La Junta de Govern Local            </a>
1171
1172    </li>
1173<li class="subMenuPage-150 level2">
1174    <a href="/ajuntament/participacio-ciutadana" target="_self">
1175        Participació Ciutadana            </a>
1176
1177    </li>
1178<li class="subMenuPage-149 level2">
1179    <a href="/ajuntament/rendiment-de-comptes-" target="_self">
1180        Rendiment de comptes             </a>
1181
1182    </li>
1183<li class="subMenuPage-123 level2">
1184    <a href="/ajuntament/govern-obert-i-transparencia" target="_self">
1185        Govern Obert i Transparència            </a>
1186
1187    </li>
1188<li class="subMenuPage-156 level2">
1189    <a href="/ajuntament/ajuts-de-la-unio-europea" target="_self">
1190        Ajuts de la Unió Europea            </a>
1191
1192    </li>
1193<li class="subMenuPage-122 level2">
1194    <a href="https://seu.staperpetua.cat" target="_blank">
1195        Seu electrònica                <i class="fa fa-external-link"></i>
1196            </a>
1197
1198    </li>
1199<li class="subMenuPage-16 level2">
1200    <a href="/ajuntament/plans-campanyes-i-programes" target="_self">
1201        Plans, campanyes i programes            </a>
1202
1203    </li>
1204<li class="subMenuPage-178 level2">
1205    <a href="/ajuntament/projectes-urbanistics" target="_self">
1206        Projectes urbanístics            </a>
1207
1208    </li>
1209<li class="subMenuPage-18 level2">
1210    <a href="/ajuntament/anuncis-edictes" target="_self">
1211        Anuncis / Edictes            </a>
1212
1213    </li>
1214<li class="subMenuPage-26 level2">
1215    <a href="/ajuntament/perfil-de-contractant" target="_self">
1216        Perfil de contractant            </a>
1217
1218    </li>
1219<li class="subMenuPage-126 level2">
1220    <a href="/ajuntament/normativa" target="_self">
1221        Normativa i Convenis            </a>
1222
1223    </li>
1224<li class="subMenuPage-479 level2">
1225    <a href="/ajuntament/cido" target="_self">
1226        CIDO            </a>
1227
1228    </li>
1229<li class="subMenuPage-152 level2">
1230    <a href="/ajuntament/oferta-publica-docupacio" target="_self">
1231        Oferta pública d'ocupació            </a>
1232
1233    </li>
1234            </ul>
1235                    </nav>
1236</div>
1237    <div class="col-xs-12 col-sm-12 col-md-9 col-lg-9 article responsiveHeight" id="readspeakerPage" tabindex="-1">
1238                    <div class="hideTablets">
1239    </div>
1240<h1 class="title"  id='title0' data-attribute="Ajuntament">Ajuntament</h1><div class="showTablets">
1241    <div class="page-1 js-widget o-widget clearfix boxBX  default "  >  <div class="o-widget-wrapper clearfix default-BX   row " ><div class="o-widget-container "><div class="dinamic">
1242        <ul class="widgetMenu">
1243        <li class="menuClassic">
1244    <a class="menuClassic-link" href="/ajuntament/govern" target="_self">
1245        Govern    </a>
1246</li>
1247<li class="menuClassic">
1248    <a class="menuClassic-link" href="/ajuntament/els-plens" target="_self">
1249        El Ple de la Corporació    </a>
1250</li>
1251<li class="menuClassic">
1252    <a class="menuClassic-link" href="/ajuntament/la-junta-de-govern-local" target="_self">
1253        La Junta de Govern Local    </a>
1254</li>
1255<li class="menuClassic">
1256    <a class="menuClassic-link" href="/ajuntament/participacio-ciutadana" target="_self">
1257        Participació Ciutadana    </a>
1258</li>
1259<li class="menuClassic">
1260    <a class="menuClassic-link" href="/ajuntament/rendiment-de-comptes-" target="_self">
1261        Rendiment de comptes     </a>
1262</li>
1263<li class="menuClassic">
1264    <a class="menuClassic-link" href="/ajuntament/govern-obert-i-transparencia" target="_self">
1265        Govern Obert i Transparència    </a>
1266</li>
1267<li class="menuClassic">
1268    <a class="menuClassic-link" href="/ajuntament/ajuts-de-la-unio-europea" target="_self">
1269        Ajuts de la Unió Europea    </a>
1270</li>
1271<li class="menuClassic">
1272    <a class="menuClassic-link" href="https://seu.staperpetua.cat" target="_blank">
1273        Seu electrònica    </a>
1274</li>
1275<li class="menuClassic">
1276    <a class="menuClassic-link" href="/ajuntament/plans-campanyes-i-programes" target="_self">
1277        Plans, campanyes i programes    </a>
1278</li>
1279<li class="menuClassic">
1280    <a class="menuClassic-link" href="/ajuntament/projectes-urbanistics" target="_self">
1281        Projectes urbanístics    </a>
1282</li>
1283<li class="menuClassic">
1284    <a class="menuClassic-link" href="/ajuntament/anuncis-edictes" target="_self">
1285        Anuncis / Edictes    </a>
1286</li>
1287<li class="menuClassic">
1288    <a class="menuClassic-link" href="/ajuntament/perfil-de-contractant" target="_self">
1289        Perfil de contractant    </a>
1290</li>
1291<li class="menuClassic">
1292    <a class="menuClassic-link" href="/ajuntament/normativa" target="_self">
1293        Normativa i Convenis    </a>
1294</li>
1295<li class="menuClassic">
1296    <a class="menuClassic-link" href="/ajuntament/cido" target="_self">
1297        CIDO    </a>
1298</li>
1299<li class="menuClassic">
1300    <a class="menuClassic-link" href="/ajuntament/oferta-publica-docupacio" target="_self">
1301        Oferta pública d'ocupació    </a>
1302</li>
1303    </ul>
1304    </div></div>  </div></div></div>
1305<div>
1306        <div class="dinamic">
1307                                </div>                                        </div>
1308<div class="hideTablets">
1309    <div class="page-1 js-widget o-widget clearfix boxBX  default "  >  <div class="o-widget-wrapper clearfix default-BX   row " ><div class="o-widget-container "><div class="dinamic">
1310        <ul class="widgetMenu">
1311        <li class="menuClassic">
1312    <a class="menuClassic-link" href="/ajuntament/govern" target="_self">
1313        Govern    </a>
1314</li>
1315<li class="menuClassic">
1316    <a class="menuClassic-link" href="/ajuntament/els-plens" target="_self">
1317        El Ple de la Corporació    </a>
1318</li>
1319<li class="menuClassic">
1320    <a class="menuClassic-link" href="/ajuntament/la-junta-de-govern-local" target="_self">
1321        La Junta de Govern Local    </a>
1322</li>
1323<li class="menuClassic">
1324    <a class="menuClassic-link" href="/ajuntament/participacio-ciutadana" target="_self">
1325        Participació Ciutadana    </a>
1326</li>
1327<li class="menuClassic">
1328    <a class="menuClassic-link" href="/ajuntament/rendiment-de-comptes-" target="_self">
1329        Rendiment de comptes     </a>
1330</li>
1331<li class="menuClassic">
1332    <a class="menuClassic-link" href="/ajuntament/govern-obert-i-transparencia" target="_self">
1333        Govern Obert i Transparència    </a>
1334</li>
1335<li class="menuClassic">
1336    <a class="menuClassic-link" href="/ajuntament/ajuts-de-la-unio-europea" target="_self">
1337        Ajuts de la Unió Europea    </a>
1338</li>
1339<li class="menuClassic">
1340    <a class="menuClassic-link" href="https://seu.staperpetua.cat" target="_blank">
1341        Seu electrònica    </a>
1342</li>
1343<li class="menuClassic">
1344    <a class="menuClassic-link" href="/ajuntament/plans-campanyes-i-programes" target="_self">
1345        Plans, campanyes i programes    </a>
1346</li>
1347<li class="menuClassic">
1348    <a class="menuClassic-link" href="/ajuntament/projectes-urbanistics" target="_self">
1349        Projectes urbanístics    </a>
1350</li>
1351<li class="menuClassic">
1352    <a class="menuClassic-link" href="/ajuntament/anuncis-edictes" target="_self">
1353        Anuncis / Edictes    </a>
1354</li>
1355<li class="menuClassic">
1356    <a class="menuClassic-link" href="/ajuntament/perfil-de-contractant" target="_self">
1357        Perfil de contractant    </a>
1358</li>
1359<li class="menuClassic">
1360    <a class="menuClassic-link" href="/ajuntament/normativa" target="_self">
1361        Normativa i Convenis    </a>
1362</li>
1363<li class="menuClassic">
1364    <a class="menuClassic-link" href="/ajuntament/cido" target="_self">
1365        CIDO    </a>
1366</li>
1367<li class="menuClassic">
1368    <a class="menuClassic-link" href="/ajuntament/oferta-publica-docupacio" target="_self">
1369        Oferta pública d'ocupació    </a>
1370</li>
1371    </ul>
1372    </div></div>  </div></div>                        </div>
1373<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 ">
1373<div class="o-share o-share--icones_rodones">
1374    
1375    <div class="o-share__list">
1376                    <a
1377                class="o-share__link o-share__link--facebook"
1378                href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.staperpetua.cat%2Fajuntament"
1379                target="_blank"
1380                rel="noopener"
1381                title="Facebook"
1382            >
1383                <span class="o-share__icon" aria-hidden="true">
1384                    <i class="fa-brands fa-facebook-f"></i>
1385                </span>
1386                <span class="visually-hidden">Facebook</span>
1387            </a>
1388            </div>
1389</div>
1390</div>  </div></div></div>
1391<span class="updated">Darrera actualització: 26.04.2021 | 10:19</span>
1392                </div>
1393    </div>
1394                </div>
1395            </div>
1396        </main>
1397        <footer id="footer-content" tabindex="-1">
1398            <div class="footer">
1399    <div class="shortcuts">
1400    <div class="container-xl">            
1401        <div class="featuredItem responsiveHeight">
1402    <h2 class="title">RSS</h2>
1403    <p class="subtitle">L'actualitat a un clic</p>
1404    <ul id="cm_rss">
1405        <li style="background-image: url('/front/view/images/ico_16_rss.png');">
1406    <a href="/rss/12">
1407           Agenda    </a>
1408</li>
1409<li style="background-image: url('/front/view/images/ico_16_rss.png');">
1410    <a href="/rss/15">
1411           Agenda política    </a>
1412</li>
1413<li style="background-image: url('/front/view/images/ico_16_rss.png');">
1414    <a href="/rss/13">
1415           Avisos    </a>
1416</li>
1417<li style="background-image: url('/front/view/images/ico_16_rss.png');">
1418    <a href="/rss/11">
1419           Notícies    </a>
1420</li>
1421<li style="background-image: url('/front/view/images/ico_16_rss.png');">
1422    <a href="/rss/14">
1423           Publicacions    </a>
1424</li>
1425    </ul>
1426</div>
1427<div class="featuredItem responsiveHeight">
1428    <h2 class="title">Adreces i telèfons</h2>
1429    
1430    <img width="96" height="96" src="/front/view/images/icons/plugin_home.png" alt="">
1431
1432    <p class="elem_button">
1433        <a href="/el-municipi/guia-del-municipi/equipaments" aria-label="Adreces i telèfons">
1434            Accedeix        </a>
1435    </p>
1436</div>
1437<div class="featuredItem">
1438    <h2 class="title">Meteo</h2>
1439    <div id="cm_meteocat">
1440        <ul class="bxslider">
1441            <li>
1442    Divendres, 2 d’octubre    <img width="80" height="80"
1443        alt="sol i núvols alts"
1444        src="/front/view/images/meteocat/nubsol.png"
1445    >
1446    <p>
1447        T.Màx: 26&deg;
1448        <br>
1449        T.Min: 15&deg;
1450    </p>
1451            <p>
1452            Tarda
1453            <img alt="entre poc i mig ennuvolat" width="24" height="24"
1454                src="/front/view/images/meteocat/nuvolina.png"
1455            >
1456        </p>
1457    </li>
1458<li>
1459    Dissabte, 3 d’octubre    <img width="80" height="80"
1460        alt="sol i núvols alts"
1461        src="/front/view/images/meteocat/nubsol.png"
1462    >
1463    <p>
1464        T.Màx: 25&deg;
1465        <br>
1466        T.Min: 15&deg;
1467    </p>
1468            <p>
1469            Tarda
1470            <img alt="entre mig i molt ennuvolat" width="24" height="24"
1471                src="/front/view/images/meteocat/nuvol.png"
1472            >
1473        </p>
1474    </li>
1475        </ul>
1476        <div class="outside">
1477            <p><span id="slider-prev"></span><span id="slider-next"></span></p>
1478        </div>
1479
1480    </div>
1481</div>
1482<div class="featuredItem responsiveHeight">
1483    <h2 class="title">Butlletí digital</h2>
1484    <img width="96" height="96" src="/front/view/images/icons/plugin_newsletter.png" alt="">
1485    <p class="elem_button">
1486        <a href="/actualitat/butlleti-digital" aria-label="Butlletí digital">
1487            Subscriu-te        </a>
1488    </p>
1489</div>
1490<div id="cm_planol" class="featuredItem responsiveHeight">
1491    <h2 class="title">Plànol / Carrers</h2>
1492
1493    <img width="96" height="96" src="/front/view/images/icons/plugin_map.png" alt="">
1494
1495    <p class="elem_button">
1496        <a href="/el-municipi/guia-de-carrers--planol" aria-label="Plànol">
1497            Accedeix        </a>
1498    </p>
1499</div>
1500    </div>
1501</div>
1502    <div class="hightlights">
1503        <div class="container-xl">
1504                    </div>
1505    </div>
1506    <nav class="menu" aria-label="Peu de menú">
1507        <ul class="container-xl sitemap">
1508            <li class="page-1 Inferior">  <a class="page-1" href="/ajuntament" target="_self" >Ajuntament  </a><ul id="footer-menu-1"><li class="subMenuPage-8">  <a class="subMenuPage-8" href="/ajuntament/govern" target="_self" >Govern  </a></li><li class="subMenuPage-80">  <a class="subMenuPage-80" href="/ajuntament/els-plens" target="_self" >El Ple de la Corporació  </a></li><li class="subMenuPage-20">  <a class="subMenuPage-20" href="/ajuntament/la-junta-de-govern-local" target="_self" >La Junta de Govern Local  </a></li><li class="subMenuPage-150">  <a class="subMenuPage-150" href="/ajuntament/participacio-ciutadana" target="_self" >Participació Ciutadana  </a></li><li class="subMenuPage-149">  <a class="subMenuPage-149" href="/ajuntament/rendiment-de-comptes-" target="_self" >Rendiment de comptes   </a></li><li class="subMenuPage-123">  <a class="subMenuPage-123" href="/ajuntament/govern-obert-i-transparencia" target="_self" >Govern Obert i Transparència  </a></li><li class="subMenuPage-156">  <a class="subMenuPage-156" href="/ajuntament/ajuts-de-la-unio-europea" target="_self" >Ajuts de la Unió Europea  </a></li><li class="subMenuPage-122">  <a class="subMenuPage-122" href="https://seu.staperpetua.cat" target="_blank" rel="noopener noreferrer" >Seu electrònica<i class="fa fa-external-link"></i>
1508  </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-178">  <a class="subMenuPage-178" href="/ajuntament/projectes-urbanistics" target="_self" >Projectes urbanístics  </a></li><li class="subMenuPage-18">  <a class="subMenuPage-18" href="/ajuntament/anuncis-edictes" target="_self" >Anuncis / Edictes  </a></li><li class="subMenuPage-26">  <a class="subMenuPage-26" href="/ajuntament/perfil-de-contractant" target="_self" >Perfil de contractant  </a></li><li class="subMenuPage-126">  <a class="subMenuPage-126" href="/ajuntament/normativa" target="_self" >Normativa i Convenis  </a></li><li class="subMenuPage-479">  <a class="subMenuPage-479" href="/ajuntament/cido" target="_self" >CIDO  </a></li><li class="subMenuPage-152">  <a class="subMenuPage-152" href="/ajuntament/oferta-publica-docupacio" target="_self" >Oferta pública d'ocupació  </a></li></ul></li><li class="page-10 Inferior">  <a class="page-10" href="/serveis-i-tramits" target="_self" >Serveis i tràmits  </a><ul id="footer-menu-10"><li class="subMenuPage-82">  <a class="subMenuPage-82" href="/serveis-i-tramits/oficines-municipals" target="_self" >Oficines municipals  </a></li><li class="subMenuPage-140">  <a class="subMenuPage-140" href="/serveis-i-tramits/serveis-a-la-ciutadania" target="_self" >Serveis a la ciutadania  </a></li><li class="subMenuPage-31">  <a class="subMenuPage-31" href="https://seu.staperpetua.cat/" target="_blank" rel="noopener noreferrer" >Tràmits i gestions<i class="fa fa-external-link"></i>  </a></li><li class="subMenuPage-315">  <a class="subMenuPage-315" href="https://www.pap.hacienda.gob.es/bdnstrans/GE/ca/convocatorias/organo/L01082606" target="_blank" rel="noopener noreferrer" >Ajudes i subvencions<i class="fa fa-external-link"></i>  </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-141">  <a class="subMenuPage-141" href="https://seu.staperpetua.cat/sta/CarpetaPublic/doEvent?APP_CODE=STA&PAGE_CODE=PTS2_NOTIFICA" target="_blank" rel="noopener noreferrer" >Notificacions electròniques<i class="fa fa-external-link"></i>  </a></li><li class="subMenuPage-32">  <a class="subMenuPage-32" href="/serveis-i-tramits/impostos" target="_self" >Impostos  </a></li><li class="subMenuPage-88">  <a class="subMenuPage-88" href="/serveis-i-tramits/factura-electronica" target="_self" >Factura electrònica  </a></li><li class="subMenuPage-133">  <a class="subMenuPage-133" href="/serveis-i-tramits/finestreta-unica-empresarial-fue" target="_self" >Finestreta Única Empresarial (FUE)  </a></li></ul></li><li class="page-2 Inferior">  <a class="page-2" href="/el-municipi" target="_self" >El municipi  </a><ul id="footer-menu-2"><li class="subMenuPage-514">  <a class="subMenuPage-514" href="/el-municipi/514-observatori-de-ciutat" target="_self" >Observatori de Ciutat  </a></li><li class="subMenuPage-287">  <a class="subMenuPage-287" href="/el-municipi/mobilitat" target="_self" >Mobilitat  </a></li><li class="subMenuPage-131">  <a class="subMenuPage-131" href="/el-municipi/turisme" target="_self" >Turisme  </a></li><li class="subMenuPage-481">  <a class="subMenuPage-481" href="/el-municipi/481-residus" target="_self" >Residus  </a></li><li class="subMenuPage-489">  <a class="subMenuPage-489" href="https://www.staperpetua.org/sp/super.html" target="_blank" rel="noopener noreferrer" >Joc del Superpetuenc<i class="fa fa-external-link"></i>  </a></li><li class="subMenuPage-34">  <a class="subMenuPage-34" href="/el-municipi/com-arribar-hi" target="_self" >Com arribar-hi  </a></li><li class="subMenuPage-36">  <a class="subMenuPage-36" href="/el-municipi/guia-de-carrers--planol" target="_self" >Guia de carrers / Plànol  </a></li><li class="subMenuPage-3">  <a class="subMenuPage-3" href="/el-municipi/guia-del-municipi" target="_self" >Guia del municipi  </a></li><li class="subMenuPage-7">  <a class="subMenuPage-7" href="/el-municipi/informacio-del-municipi" target="_self" >Informació del municipi  </a></li></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-363">  <a class="subMenuPage-363" href="/actualitat/premsa-i-comunicacio" target="_self" >Premsa i Comunicació  </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-312">  <a class="subMenuPage-312" href="/actualitat/xarxes-socials" target="_self" >
1508Xarxes Socials  </a></li><li class="subMenuPage-157">  <a class="subMenuPage-157" href="/actualitat/la-radio" target="_self" >La Ràdio  </a></li><li class="subMenuPage-56">  <a class="subMenuPage-56" href="/actualitat/linformatiu" target="_self" >L'Informatiu  </a></li><li class="subMenuPage-55">  <a class="subMenuPage-55" href="/actualitat/butlleti-digital" target="_self" >Butlletí digital  </a></li><li class="subMenuPage-57">  <a class="subMenuPage-57" href="/actualitat/rss" target="_self" >RSS  </a></li><li class="subMenuPage-58">  <a class="subMenuPage-58" href="/actualitat/hemeroteca" target="_self" >Hemeroteca  </a></li></ul></li>        </ul>
1509    </nav>
1510    <div class="links">
1511        <div class="container-xl">
1512            <div class="row">
1513                <div class="xxss col-md-6 col-sm-6 col-lg-6 middle">                
1514                        <span class="titol">Xarxes socials:</span>
1515  
1516    <a target="_blank" aria-label="Facebook" href="https://www.facebook.com/AjuntamentSPM/" title="Obre en finestra nova: Facebook">
1517        <span style="display: none">Facebook</span>
1518        <img src="/front/view/images/icons/social/facebook.png" alt="Facebook" width="32" height="32">
1519    </a>
1520  
1521    <a target="_blank" aria-label="Youtube" href="https://www.youtube.com/user/SPMcomunicacio" title="Obre en finestra nova: Youtube">
1522        <span style="display: none">Youtube</span>
1523        <img src="/front/view/images/icons/social/youtube.png" alt="Youtube" width="32" height="32">
1524    </a>
1525  
1526    <a target="_blank" aria-label="Instagram" href="https://www.instagram.com/ajuntamentSPM/" title="Obre en finestra nova: Instagram">
1527        <span style="display: none">Instagram</span>
1528        <img src="/themes/santaperpetuademogoda/images/icons/social/instagram.png" alt="Instagram" width="32" height="32">
1529    </a>
1530  
1531    <a target="_blank" aria-label="Whatsapp" href="https://bit.ly/ajuntamentSPM-whatsapp" title="Obre en finestra nova: Whatsapp">
1532        <span style="display: none">Whatsapp</span>
1533        <img src="/front/view/images/icons/social/whatsapp.png" alt="Whatsapp" width="32" height="32">
1534    </a>
1535                </div>
1536                <div class="col-md-6 col-sm-6 col-lg-6 middle">
1537                    <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>
1538            </div>
1539        </div>
1540    </div>
1541    <div class="contact">
1542        <div class="container-xl">
1543            <div class="row">
1544                <address class="address col-md-6 col-sm-6 col-lg-6">
1545    <div class="title">
1546        Ajuntament de Santa Perpètua de Mogoda    </div>
1547    Pl. Vila, 5<br> 08130 Santa Perpètua de Mogoda<br>Tel. 935 743 234<br>NIF P0826000B<br></address><div class="diba col-md-6 col-sm-6 col-lg-6" id="diba-partner">
1548    <div class="title">
1549        Amb la col·laboració de:    </div>
1550    <a href="http://diba.cat/" target="_blank" aria-label="Anar a la web Diputació de Barcelona" title="Obre en finestra nova: Diputació de Barcelona">
1551        <span style="display: none">Diputació de Barcelona</span>
1552        <img src="/front/view//images/logoDiba/Negre.svg" alt="Diputació de Barcelona" class="logo-diba">
1553    </a>
1554</div>            </div>
1555        </div>
1556    </div>
1557</div>
1558        </footer>
1559        <!-- Llibreries de tercers + js propis registrats a AssetManager (jQuery primer) -->
1560<script src="/front/view/js/bower_components/jquery/dist/jquery.min.js?ver=1790919844"></script>
vendor: 1 bytes, line 1560
1560
1561<script src="/front/view/js/bower_components/bootstrap/dist/js/bootstrap.bundle.min.js?ver=1790919844"></script>
vendor: 1 bytes, line 1561
1561
1562<script src="/front/view/js/bower_components/bxslider-4/dist/jquery.bxslider.js?ver=1790919844"></script>
vendor: 1 bytes, line 1562
1562
1563<script src="/front/view/js/bower_components/jscal/index.js?ver=1790919844"></script>
vendor: 1 bytes, line 1563
1563
1564<script src="/common/bower_components/select2/dist/js/select2.min.js?ver=1790919844"></script>
vendor: 1 bytes, line 1564
1564
1565<script src="/common/bower_components/select2/dist/js/i18n/ca.js?ver=1790919844"></script>
vendor: 1 bytes, line 1565
1565
1566<script src="/common/bower_components/strength.js/src/strength.min.js?ver=1790919844"></script>
vendor: 1 bytes, line 1566
1566
1567<script src="/front/view/js/bower_components/masonry-layout/dist/masonry.pkgd.min.js?ver=1790919844"></script>
vendor: 1 bytes, line 1567
1567
1568<script src="/front/view/js/constants.js?ver=1790919844"></script>
vendor: 1 bytes, line 1568
1568
1569<script src="/front/view/js/functions.js?ver=1790919844"></script>
vendor: 1 bytes, line 1569
1569
1570<script src="/front/view/js/functions/footer.js?ver=1790919844"></script>
vendor: 1 bytes, line 1570
1570
1571<script src="/front/view/js/bower_components/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js?ver=1790919844"></script>
vendor: 1 bytes, line 1571
1571
1572<script src="/front/view/js/bower_components/jquery.prettyPhoto/index.js?ver=1790919844"></script>
vendor: 1 bytes, line 1572
1572
1573<script>
1574    $(document).ready(function(){
1575                    $("a[rel^='prettyPhoto']").prettyPhoto();
1576            $("a[rel^='prettyFrame']").prettyPhoto();
1577            });
1578</script>
vendor: 1 bytes, line 1578
1578
1579<script>
1580        var TWITTER = null;
1581            var FACEBOOK = true;
1582        $(window).on("load", function() {
1583        start();
1584    });
1585        $(document).ready(function() {
1586        if (typeof articlesId !== 'undefined') {
1587            var today = new Date();
1588                        var date = today
1589                        articlesId.push('internal_calendar');
1590
1591            var oneYearAfter = new Date();
1592            oneYearAfter.setDate(oneYearAfter.getDate() + 365);
1593            for (id in articlesId) {
1594                Calendar.setup({
1595                    id: articlesId[id],
1596                    cont: "dv_calendar_" + articlesId[id],
1597                    fdow: 1,
1598                    date: date,
1599                    noScroll: true,
1600                    bottomBar: false,
1601                    max: oneYearAfter,
1602                    animation: false,
1603                    titleFormat: "%B %Y",
1604                    dateInfo: getDateInfo
1605                });
1606                setEqualContentColumns();
1607            }
1608        }
1609    });
1610
1611        
1612    // Initialize Select2 with icon support for category filter
1613    $(document).ready(function() {
1614        if ($('#categoryFilter').length) {
1615            $('#categoryFilter').select2({
1616                templateResult: 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                templateSelection: function(option) {
1623                    if (!option.id) return option.text;
1624                    var icon = $(option.element).data('icon');
1625                    if (!icon) return option.text;
1626                    return $('<span><img src="' + icon + '" style="width: 16px; height: 16px; margin-right: 6px; vertical-align: middle;"> ' + option.text + '</span>');
1627                },
1628                allowHtml: true
1629            });
1630        }
1631    });
1632</script>
1632
1633        <!-- CSS final-->
1634
1635        
1635<script>
1636          const css = "div.page-1 .o-widget-wrapper {\n  border: 0;\n}\n";
1637          const style = document.createElement('style');
1638          style.textContent = css;
1639          document.head.appendChild(style);
1640        </script>
1640
1641
1642        <!-- Start Modal views-->
1643        
1644        <div class="modal fade" id="videoModal" tabindex="-1" role="dialog"  aria-hidden="true">
1645    <div class="modal-dialog modal-dialog-centered" role="document">
1646        <div class="modal-content">
1647            <div class="modal-header">
1648                <div class="title-head"></div>
1649            </div>
1650            <div class="modal-body">
1651                <div class="tiktok-div-embed"></div>
1652                <iframe id="iframeVideo" title="Vídeo" class="iframeVideo" allowfullscreen></iframe>
1653
1654            </div>
1655            <div class="modal-footer">
1656                <span id="titleVideo" class="titleVideo"></span>
1657                <a id="closeModalVideo" class="close" href="javascript:void(0)" data-bs-dismiss="modal"><span style="display: none">X</span></a>
1658
1659            </div>
1660        </div>
1661    </div>
1662</div>        <div class="modal fade" id="pdfModal" tabindex="-1" role="dialog"  aria-hidden="true">
1663    <div id="documentDialog" class="modal-dialog modal-dialog-centered" role="document">
1664        <div class="modal-content">
1665            <div class="modal-header">
1666                <div class="title-head"></div>
1667            </div>
1668            <div class="modal-body">
1669                <iframe id="iframePdf" title='Document' class="pdfview" style="width: 100%; height: 100%"></iframe>
1670            </div>
1671            <div class="modal-footer">
1672                <span id="titlePdf" class="titlePdf"></span>
1673                <a id="closeModalPDF" class="close" href="javascript:void(0)"><span style="display: none">X</span></a>
1674            </div>
1675        </div>
1676    </div>
1677</div>        <!-- End Modal views -->
1678        
1678<script src="/front/view/js/endScript.js?ver=1790919844"></script>
1678
1679        <!-- Només activar per desenvolupament
1680        
1680<script src="../../../node_modules/axe-core/axe.js"></script>
1680
1681        
1681<script src="../../../dist/my-first-webpack.bundle.js"></script>
1681
1682        -->
1683                
1683<script>
1684            $(document).ready(function () {
1685                startClock(1790919844);
1686                if (typeof (callMenuAfterJQueryLoaded) == "function") {
1687                    callMenuAfterJQueryLoaded();
1688                }
1689                
1690                datepickerInit();
1691                carouselControlSmall();
1692
1693                if (typeof (callMenuBeforeJQueryLoaded) == "function") {
1694                    callMenuBeforeJQueryLoaded();
1695                }
1696
1697                if (typeof (callMenuBeforeTopJQueryLoaded) == "function") {
1698                    callMenuBeforeTopJQueryLoaded();
1699                }
1700                addAttributesDivVcards();
1701                modalsImage();
1702                modalsPdf();
1703                translateWeb();
1704                var carousel = $('#carouselControls');
1705                carousel.on('slide.bs.carousel', function (event) {
1706                    toSlideImage(event);
1707                });
1708                /** Només activar per desenvolupament
1709                axe.configure({
1710                    locale: {
1711                        lang: 'es',
1712                    }
1713                });
1714
1715                axe.run().then(results => {
1716                        if (results.violations.length) {
1717                            console.log(results.violations);
1718                            throw new Error('Accessibility issues found');
1719                        }
1720                    })
1721                    .catch(err => {
1722                        console.log('Something bad happened:', err.message);
1723                    });
1724                */
1725            });
1726
1727            $(window).resize(function() {
1728                equalHeightIconTime();
1729            })
1730        </script>
1730
1731                    </body>
1732</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.