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