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