PageSourceSearch

https://www.carme.cat/ajuntament-seu-electronica/salutacio-de-lequip-de-govern

html carme.cat collected 2026-10-02 21:17:34 UTC 88,820 bytes, 1,634 lines download raw bytes

1<!DOCTYPE HTML>
2<html lang="ca" xmlns="http://www.w3.org/1999/xhtml" xml:lang="ca" >
3    <head>
4        <!-- METADATA -->
5<meta charset="utf-8">
6<meta name="viewport" content="width=device-width, initial-scale=1">
7<meta name="title" lang="ca" content="Salutació de l&#039;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&#039;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&#039;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&amp;loading=async&amp;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&#039;accessibilitat"><ul><li><a href="#site-header">Saltar a la capçalera</a></li><li><a href="#readspeakerPage">Saltar al contingut</a></li><li><a href="#footer-content">Saltar al peu de pàgina</a></li></ul></nav>        <header id="site-header" tabindex="-1">
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&amp;prev=_t&amp;hl=esie=UTF-8&amp;u=https://www.carme.cat/ajuntament-seu-electronica/salutacio-de-lequip-de-govern&amp;sl=ca&amp;tl=es" data-target="https://translate.google.es/translate?js=y&amp;prev=_t&amp;hl=esie=UTF-8&amp;u=https://www.carme.cat/ajuntament-seu-electronica/salutacio-de-lequip-de-govern&amp;sl=ca&amp;tl=es">Castellà</a></li>
133                                    <li><a class="link-language" href="https://translate.google.es/translate?js=y&amp;prev=_t&amp;hl=enie=UTF-8&amp;u=https://www.carme.cat/ajuntament-seu-electronica/salutacio-de-lequip-de-govern&amp;sl=ca&amp;tl=en" data-target="https://translate.google.es/translate?js=y&amp;prev=_t&amp;hl=enie=UTF-8&amp;u=https://www.carme.cat/ajuntament-seu-electronica/salutacio-de-lequip-de-govern&amp;sl=ca&amp;tl=en">Anglès</a></li>
134                                    <li><a class="link-language" href="https://translate.google.es/translate?js=y&amp;prev=_t&amp;hl=deie=UTF-8&amp;u=https://www.carme.cat/ajuntament-seu-electronica/salutacio-de-lequip-de-govern&amp;sl=ca&amp;tl=de" data-target="https://translate.google.es/translate?js=y&amp;prev=_t&amp;hl=deie=UTF-8&amp;u=https://www.carme.cat/ajuntament-seu-electronica/salutacio-de-lequip-de-govern&amp;sl=ca&amp;tl=de">Alemany</a></li>
135                                    <li><a class="link-language" href="https://translate.google.es/translate?js=y&amp;prev=_t&amp;hl=frie=UTF-8&amp;u=https://www.carme.cat/ajuntament-seu-electronica/salutacio-de-lequip-de-govern&amp;sl=ca&amp;tl=fr" data-target="https://translate.google.es/translate?js=y&amp;prev=_t&amp;hl=frie=UTF-8&amp;u=https://www.carme.cat/ajuntament-seu-electronica/salutacio-de-lequip-de-govern&amp;sl=ca&amp;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&#039;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&#039;interès</span></a></li><li class="menu-flexible__item page-129 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/turisme/rutes" ><span class="menu-flexible__item-text">Rutes</span></a></li><li class="menu-flexible__item page-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&#039;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&amp;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&deg;
1338        <br>
1339        T.Min: 13&deg;
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&deg;
1355        <br>
1356        T.Min: 14&deg;
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.