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