PageSourceSearch

https://www.folgueroles.cat/ajuntament/alcaldia

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