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="Consistori - Ajuntament de Perafita"> 8<meta name="description" lang="ca" content=""> 9<meta name="author" lang="ca" content="Ajuntament de Perafita"> 10<meta name="date" lang="ca" content="2024-02-25 07:54:29"> 11<meta name="generator" lang="ca" content="Ajuntament de Perafita"> 12<meta name="robots" content="index, follow"> 13 14 <title>Consistori - Ajuntament de Perafita</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-117109359-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-117109359-1
vendor: 8 bytes, lines 23-24
23'); 24
24// Creates the default tracker. 25 gtag('event', 'page_view', { 'send_to': 'UA-117109359-1' }); 26</script>
26 27<!-- End of code Global Site Tag (gtag.js) - Google Analytics v4--> 28 <link rel="canonical" href="/ajuntament/consistori"> 29 30 <link rel="stylesheet" href="/front/view/js/bower_components/bootstrap/dist/css/bootstrap.min.css?ver=1790971452"> 31<link rel="stylesheet" href="/front/view/js/bower_components/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css?ver=1790971452"> 32<link rel="stylesheet" href="/front/view/js/bower_components/bootstrap-icons.min/index.css?ver=1790971452"> 33<link rel="stylesheet" href="/front/view/js/bower_components/tempus-dominus.min.css/index.css?ver=1790971452"> 34<link rel="stylesheet" href="/common/bower_components/select2/dist/css/select2.min.css?ver=1790971452"> 35 36 <!-- Real Favicon Genenrator--> 37<link rel="apple-touch-icon" href="/themes/perafita/images/favicons/apple-touch-icon.png"> 38<link rel="icon" type="image/png" href="/themes/perafita/images/favicons/favicon-16x16.png" sizes="16x16"> 39<link rel="icon" type="image/png" href="/themes/perafita/images/favicons/favicon-32x32.png" sizes="32x32"> 40<link rel="shortcut icon" href="/themes/perafita/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=1790971452"></script>
vendor: 1 bytes, line 57
57
58<script src="/front/view/js/klaro-init.js?ver=1790971452"></script>
58 59 60 <!-- Twitter Card data --> 61<meta name="twitter:card" content="summary"> 62<meta name="twitter:site" content="@Ajunt_Perafita"> 63<meta name="twitter:title" content="Consistori"> 64<meta name="twitter:description" content=""> 65<meta name="twitter:image" content="https://www.perafita.cat/themes/perafita/images/logos/header.png"> 66 <meta name="twitter:image:alt" content="Logo"> 67 <!-- Open Graph data --> 68<meta property="og:title" content="Consistori"> 69<meta property="og:type" content="website"> 70<meta property="og:url" content="https://www.perafita.cat/ajuntament/consistori"> 71<meta property="og:image" content="https://www.perafita.cat/themes/perafita/images/logos/header.png"> 72 <meta property="og:image:alt" content="Logo"> 73 <meta property="og:image" content="https://www.perafita.cat/themes/perafita/images/logos/header_inv.png"> 74 <meta property="og:image:alt" content="Logo invertit"> 75 <meta property="og:description" content=""> 76<meta property="og:site_name" content="Ajuntament de Perafita"> 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&loading=async&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/capcaleres/capcaleres_web/capr.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=1790971452"></script>
vendor: 1 bytes, line 111
111
112<script src="/front/view/js/bower_components/tempus-dominus.min.js/index.js?ver=1790971452"></script>
112 113 <link rel="stylesheet" media="all" href="/themes/perafita/styles/style.min.css?ver=1790971452"> 114 </head> 115 <body class="page id-8"> 116 <nav class="skip-links" aria-label="Dreceres d'accessibilitat"><ul><li><a href="#site-header">Saltar a la capçalera</a></li><li><a href="#readspeakerPage">Saltar al contingut</a></li><li><a href="#footer-content">Saltar al peu de pà gina</a></li></ul></nav> <header id="site-header" tabindex="-1"> 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-contactar"> 122 <a 123 href="/altres-continguts/contactar" 124 target="_self" 125 rel="" 126 > 127 Contactar </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.perafita.cat/ajuntament/consistori?lang=ca" data-target="https://www.perafita.cat/ajuntament/consistori?lang=ca">Català </a></li> 135 <li><a class="link-language" href="https://translate.google.es/translate?js=y&prev=_t&hl=esie=UTF-8&u=https://www.perafita.cat/ajuntament/consistori&sl=ca&tl=es" data-target="https://translate.google.es/translate?js=y&prev=_t&hl=esie=UTF-8&u=https://www.perafita.cat/ajuntament/consistori&sl=ca&tl=es">Castellà </a></li> 136 <li><a class="link-language" href="https://translate.google.es/translate?js=y&prev=_t&hl=enie=UTF-8&u=https://www.perafita.cat/ajuntament/consistori&sl=ca&tl=en" data-target="https://translate.google.es/translate?js=y&prev=_t&hl=enie=UTF-8&u=https://www.perafita.cat/ajuntament/consistori&sl=ca&tl=en">Anglès</a></li> 137 <li><a class="link-language" href="https://translate.google.es/translate?js=y&prev=_t&hl=deie=UTF-8&u=https://www.perafita.cat/ajuntament/consistori&sl=ca&tl=de" data-target="https://translate.google.es/translate?js=y&prev=_t&hl=deie=UTF-8&u=https://www.perafita.cat/ajuntament/consistori&sl=ca&tl=de">Alemany</a></li> 138 <li><a class="link-language" href="https://translate.google.es/translate?js=y&prev=_t&hl=frie=UTF-8&u=https://www.perafita.cat/ajuntament/consistori&sl=ca&tl=fr" data-target="https://translate.google.es/translate?js=y&prev=_t&hl=frie=UTF-8&u=https://www.perafita.cat/ajuntament/consistori&sl=ca&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 | 22:04 </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 Perafita - Pà gina d'inici"> 265 <img src="/themes/perafita/images/logos/header.png" alt="" width="355" height="111" 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="click" data-menu-sticky="false" data-menu-alignment="left" data-menu-spacing="normal" data-menu-animation="fade" data-menu-external-icon="auto" data-menu-external-dim="false" data-menu-text-transform="none"><div class="menu-flexible__topbar"><a href="#" class="menu-flexible__toggle phoneMenuButton" aria-label="Menú" aria-expanded="false"><i class="fa fa-bars"></i></a></div><ul class="menu-flexible menu-flexible__list"><li class="menu-flexible__item page-1 level1"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament" ><span class="menu-flexible__item-text">Ajuntament</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-12 level2"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/alcaldia" ><span class="menu-flexible__item-text">Salutació de l'Alcalde</span></a></li><li class="menu-flexible__item page-8 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/consistori" ><span class="menu-flexible__item-text">Consistori</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-115 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/consistori/composicio-del-ple" ><span class="menu-flexible__item-text">Composició del Ple</span></a></li><li class="menu-flexible__item page-127 level3"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://elecciones.locales2023.es/ca/" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Resultats electorals</span></a></li><li class="menu-flexible__item page-167 level3"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/consistori/consistoris-anteriors" ><span class="menu-flexible__item-text">Consistoris anteriors</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-170 level4"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/consistori/consistoris-anteriors/legislatura-2015-19" ><span class="menu-flexible__item-text">Legislatura 2015-19</span></a></li><li class="menu-flexible__item page-158 level4"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/consistori/consistoris-anteriors/legislatura-2011-15" ><span class="menu-flexible__item-text">Legislatura 2011-15</span></a></li></ul></li></ul></li><li class="menu-flexible__item page-156 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-80 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/informacio-oficial/ple-municipal" ><span class="menu-flexible__item-text">
279Ple municipal</span></a></li><li class="menu-flexible__item page-148 level3"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/informacio-oficial/anuncis-i-resolucions" ><span class="menu-flexible__item-text">Anuncis i resolucions</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-18 level4"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/informacio-oficial/anuncis-i-resolucions/anuncis-edictes" ><span class="menu-flexible__item-text">Anuncis / Edictes</span></a></li><li class="menu-flexible__item page-26 level4"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/informacio-oficial/anuncis-i-resolucions/perfil-de-contractant" ><span class="menu-flexible__item-text">Perfil de contractant</span></a></li></ul></li><li class="menu-flexible__item page-145 level3"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/informacio-oficial/pressupostos-i-informacio-fiscal" ><span class="menu-flexible__item-text">Pressupostos i Informació fiscal</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-24 level4"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://cido.diba.cat/normativa_local?filtreParaulaClau%5Bkeyword%5D=perafita&ordenacio=DATAPUBLICACIO&ordre=DESC&showAs=LIST&filtreProximitat%5Bpoblacio%5D=&filtreProximitat%5Bkm%5D=&filtreProximitat%5Blatitud%5D=&filtreProximitat%5Blongitud%5D=&filtreDataPublicacio%5Bde%5D=01%2F01%2F2017&filtreDataPublicacio%5BfinsA%5D=&filtreInstitucio%5Boptions%5D%5B%5D=9&filtreInstitucio%5Boptions%5D%5B%5D=8160&filtreTipusNormativa%5BpressupostosPlantilles%5D=1&opcions-menu=perafita&_token=7ZhCMAzTKo1-89ELp4ukXw2Gh-3rgOwbkHovQVDp4a4" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Pressupostos i plantilles</span></a></li><li class="menu-flexible__item page-22 level4"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/informacio-oficial/pressupostos-i-informacio-fiscal/ordenances-fiscals" ><span class="menu-flexible__item-text">Ordenances Fiscals</span></a></li><li class="menu-flexible__item page-147 level4"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://www.seu-e.cat/web/perafita/govern-obert-i-transparencia/accio-de-govern-i-normativa/normativa-plans-i-programes/calendari-i-padrons-fiscals" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Calendari fiscal</span></a></li><li class="menu-flexible__item page-151 level4"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/informacio-oficial/pressupostos-i-informacio-fiscal/execucio-pressupostaria-trimestral" ><span class="menu-flexible__item-text">Execució pressupostà ria trimestral</span></a></li></ul></li><li class="menu-flexible__item page-126 level3"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/informacio-oficial/normativa" ><span class="menu-flexible__item-text">Normativa</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-27 level4"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://www.seu-e.cat/web/perafita/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-28 level4"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://www.seu-e.cat/web/perafita/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-159 level3"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/informacio-oficial/inventari-de-bens-" ><span class="menu-flexible__item-text">Inventari de béns </span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-160 level4"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/informacio-oficial/inventari-de-bens-/160-inventari-de-bens-i-drets" ><span class="menu-flexible__item-text">Inventari de béns i drets</span></a></li><li class="menu-flexible__item page-161 level4"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/informacio-oficial/inventari-de-bens-/inventari-de-vehicles-oficials" ><span class="menu-flexible__item-text">Inventari de vehicles oficials</span></a></li></ul></li><li class="menu-flexible__item page-163 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/informacio-oficial/escut-municipal" ><span class="menu-flexible__item-text">
279Escut municipal</span></a></li></ul></li><li class="menu-flexible__item page-143 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/ajuntament/organitzacio-interna" ><span class="menu-flexible__item-text">Organització Interna</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-17 level3"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/organitzacio-interna/tecnics-municipals" ><span class="menu-flexible__item-text">Tècnics municipals</span></a></li><li class="menu-flexible__item page-144 level3"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="https://www.seu-e.cat/web/perafita/govern-obert-i-transparencia/informacio-institucional-i-organitzativa/empleats-publics/convocatories-de-personal" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Convocatòries</span></a></li></ul></li><li class="menu-flexible__item page-81 level2"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/organismes-dependents-o-vinculats" ><span class="menu-flexible__item-text">Organismes dependents o vinculats</span></a></li><li class="menu-flexible__item page-122 level2"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/que-es-la-seu-electronica" ><span class="menu-flexible__item-text">Seu electrònica</span></a></li><li class="menu-flexible__item page-123 level2"><a class="menu-flexible__link" aria-expanded="false" href="/ajuntament/transparencia" ><span class="menu-flexible__item-text">Transparència</span></a></li></ul></li><li class="menu-flexible__item page-10 level1"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/serveis-i-tramits" ><span class="menu-flexible__item-text">Serveis i trà mits</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-82 level2"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/oficines-municipals" ><span class="menu-flexible__item-text">Oficines municipals</span></a></li><li class="menu-flexible__item page-33 level2"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/serveis" ><span class="menu-flexible__item-text">Serveis</span></a></li><li class="menu-flexible__item page-31 level2"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/tramits-i-gestions" ><span class="menu-flexible__item-text">Trà mits i gestions</span></a></li><li class="menu-flexible__item page-90 level2"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/carpeta-ciutadana" ><span class="menu-flexible__item-text">Carpeta ciutadana</span></a></li><li class="menu-flexible__item page-171 level2"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/verificacio-de-documents" ><span class="menu-flexible__item-text">Verificació de documents</span></a></li><li class="menu-flexible__item page-32 level2"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/impostos" ><span class="menu-flexible__item-text">Impostos</span></a></li><li class="menu-flexible__item page-88 level2"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/factura-electronica" ><span class="menu-flexible__item-text">Factura electrònica</span></a></li><li class="menu-flexible__item page-133 level2"><a class="menu-flexible__link" aria-expanded="false" href="/serveis-i-tramits/finestreta-unica-empresarial-fue" ><span class="menu-flexible__item-text">Finestreta Ãnica Empresarial (FUE)</span></a></li></ul></li><li class="menu-flexible__item page-2 level1"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/el-municipi" ><span class="menu-flexible__item-text">El municipi</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-34 level2"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/com-arribar" ><span class="menu-flexible__item-text">Com arribar</span></a></li><li class="menu-flexible__item page-36 level2"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/planol--guia-de-carrers" ><span class="menu-flexible__item-text">Plà nol / Guia de carrers</span></a></li><li class="menu-flexible__item page-3 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/el-municipi/guia-del-municipi" ><span class="menu-flexible__item-text">Guia del municipi</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-37 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-del-municipi/equipaments" ><span class="menu-flexible__item-text">Equipaments</span></a></li><li class="menu-flexible__item page-39 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-del-municipi/empreses-i-comercos" ><span class="menu-flexible__item-text">Empreses i comerços</span></a></li><li class="menu-flexible__item page-40 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-del-municipi/entitats-i-associacions" ><span class="menu-flexible__item-text">Entitats i associacions</span></a></li><li class="menu-flexible__item page-43 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/guia-del-municipi/emergencie
279s" ><span class="menu-flexible__item-text">Emergències</span></a></li></ul></li><li class="menu-flexible__item page-7 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/el-municipi/informacio-del-municipi" ><span class="menu-flexible__item-text">Informació del municipi</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-46 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/informacio-del-municipi/historia" ><span class="menu-flexible__item-text">Història</span></a></li><li class="menu-flexible__item page-150 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/informacio-del-municipi/els-puig-de-perafita-i-la-guerra-de-successio" ><span class="menu-flexible__item-text">Els Puig de Perafita i la Guerra de Successió</span></a></li><li class="menu-flexible__item page-47 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/informacio-del-municipi/el-municipi-en-xifres" ><span class="menu-flexible__item-text">El municipi en xifres</span></a></li><li class="menu-flexible__item page-49 level3"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="http://patrimonicultural.diba.cat/index.php?codi_ine=08160" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Patrimoni cultural</span></a></li></ul></li><li class="menu-flexible__item page-131 level2"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/el-municipi/turisme" ><span class="menu-flexible__item-text">Turisme</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-157 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/turisme/157-llocs-dinteres" ><span class="menu-flexible__item-text">Llocs d'interès</span></a></li><li class="menu-flexible__item page-50 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/turisme/festes-i-fires" ><span class="menu-flexible__item-text">Festes i fires</span></a></li><li class="menu-flexible__item page-129 level3"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/el-municipi/turisme/rutesrutasroutes" ><span class="menu-flexible__item-text">Rutes/Rutas/Routes</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-153 level4"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/turisme/rutesrutasroutes/info" ><span class="menu-flexible__item-text">Info</span></a></li><li class="menu-flexible__item page-154 level4"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/turisme/rutesrutasroutes/rutesas-routes" ><span class="menu-flexible__item-text">Rutes/as/ Routes</span></a></li></ul></li><li class="menu-flexible__item page-38 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/turisme/on-dormir" ><span class="menu-flexible__item-text">On dormir</span></a></li><li class="menu-flexible__item page-130 level3"><a class="menu-flexible__link" aria-expanded="false" href="/el-municipi/turisme/on-menjar" ><span class="menu-flexible__item-text">On menjar</span></a></li></ul></li><li class="menu-flexible__item page-48 level2"><a class="menu-flexible__link menu-link--external" aria-expanded="false" href="http://sitmun.diba.cat/idelocals/?mun_ine=08160" target="_blank" rel="noopener noreferrer"><span class="menu-flexible__item-text">Informació geogrà fica</span></a></li></ul></li><li class="menu-flexible__item page-4 level1"><a class="menu-flexible__link menu-flexible__link--dropdown" aria-expanded="false" href="/actualitat" ><span class="menu-flexible__item-text">Actualitat</span></a><ul class="menu-flexible menu-flexible__submenu"><li class="menu-flexible__item page-128 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/avisos" ><span class="menu-flexible__item-text">Avisos</span></a></li><li class="menu-flexible__item page-53 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/noticies" ><span class="menu-flexible__item-text">NotÃcies</span></a></li><li class="menu-flexible__item page-54 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/agenda" ><span class="menu-flexible__item-text">Agenda</span></a></li><li class="menu-flexible__item page-164 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/agenda-cursos-i-taller
279s" ><span class="menu-flexible__item-text">Agenda cursos i tallers</span></a></li><li class="menu-flexible__item page-16 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/plans-campanyes-i-programes" ><span class="menu-flexible__item-text">Plans, campanyes i programes</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-56 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/full-de-perafita" ><span class="menu-flexible__item-text">Full de Perafita</span></a></li><li class="menu-flexible__item page-165 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/full-dhistoria-de-perafita" ><span class="menu-flexible__item-text">Full d'història de Perafita</span></a></li><li class="menu-flexible__item page-57 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/rss" ><span class="menu-flexible__item-text">Rss</span></a></li><li class="menu-flexible__item page-58 level2"><a class="menu-flexible__link" aria-expanded="false" href="/actualitat/hemeroteca" ><span class="menu-flexible__item-text">Hemeroteca</span></a></li></ul></li><li class="menu-flexible__item page-5 level1"><a class="menu-flexible__link" aria-expanded="false" href="/adreces-i-telefons" ><span class="menu-flexible__item-text">Adreces i telèfons</span></a></li></ul></div>
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/consistori">Consistori</a></li> 1145 <li><a class="dropdown-item" href="/ajuntament/informacio-oficial">Informació oficial</a></li> 1146 <li><a class="dropdown-item" href="/ajuntament/organitzacio-interna">Organització Interna</a></li> 1147 <li><a class="dropdown-item" href="/ajuntament/organismes-dependents-o-vinculats">Organismes dependents o vinculats</a></li> 1148 <li><a class="dropdown-item" href="/ajuntament/que-es-la-seu-electronica">Seu electrònica</a></li> 1149 <li><a class="dropdown-item" href="/ajuntament/transparencia">Transparència</a></li> 1150 </ul> 1151 </li> 1152 </ol> 1153 </nav> 1154 </div> 1155</div> 1156 <div class="container-xl columns"> 1157 <div class="row"> 1158 <div class="col-xs-12 col-sm-12 col-md-3 col-lg-3 leftSidebar responsiveHeight" data-nosnippet> 1159 <nav class="menuLeft" id="Menuleft_page" aria-label="Menú Consistori"> 1160 <ul> 1161 <li class="subMenuPage-12 level2"> 1162 <a href="/ajuntament/alcaldia" target="_self"> 1163 Salutació de l'Alcalde </a> 1164 1165 </li> 1166<li class="subMenuPage-8 current level2"> 1167 <a href="/ajuntament/consistori" target="_self" aria-current="page"> 1168 Consistori </a> 1169 1170 <ul> 1171 <li class="subMenuPage-115 level3"> 1172 <a class="" href="/ajuntament/consistori/composicio-del-ple" target="_self" rel=""> 1173 Composició del Ple </a> 1174 </li> 1175<li class="subMenuPage-127 level3"> 1176 <a class="" href="https://elecciones.locales2023.es/ca/" target="_blank" rel=""> 1177 Resultats electorals </a> 1178 </li> 1179<li class="subMenuPage-167 level3"> 1180 <a class="fly" href="/ajuntament/consistori/consistoris-anteriors" target="_self" rel=""> 1181 Consistoris anteriors </a> 1182 </li> 1183 </ul> 1184 </li> 1185<li class="subMenuPage-156 level2"> 1186 <a href="/ajuntament/informacio-oficial" target="_self"> 1187 Informació oficial </a> 1188 1189 </li> 1190<li class="subMenuPage-143 level2"> 1191 <a href="/ajuntament/organitzacio-interna" target="_self"> 1192 Organització Interna </a> 1193 1194 </li> 1195<li class="subMenuPage-81 level2"> 1196 <a href="/ajuntament/organismes-dependents-o-vinculats" target="_self"> 1197 Organismes dependents o vinculats </a> 1198 1199 </li> 1200<li class="subMenuPage-122 level2"> 1201 <a href="/ajuntament/que-es-la-seu-electronica" target="_self"> 1202 Seu electrònica </a> 1203 1204 </li> 1205<li class="subMenuPage-123 level2"> 1206 <a href="/ajuntament/transparencia" target="_self"> 1207 Transparència </a> 1208 1209 </li> 1210 </ul> 1211 </nav> 1212</div> 1213 <div class="col-xs-12 col-sm-12 col-md-9 col-lg-9 article responsiveHeight" id="readspeakerPage" tabindex="-1"> 1214 <div class="hideTablets"> 1215 </div> 1216<h1 class="title" id='title0' data-attribute="Consistori">Consistori</h1><div class="showTablets"> 1217 <div class="page-8 js-widget o-widget clearfix boxBX default " > <div class="o-widget-wrapper clearfix default-BX row " ><div class="o-widget-container "><div class="dinamic"> 1218 <ul class="widgetMenu"> 1219 <li class="menuClassic"> 1220 <a class="menuClassic-link" href="/ajuntament/consistori/composicio-del-ple" target="_self"> 1221 Composició del Ple </a> 1222</li> 1223<li class="menuClassic"> 1224 <a class="menuClassic-link" href="https://elecciones.locales2023.es/ca/" target="_blank"> 1225 Resultats electorals </a> 1226</li> 1227<li class="menuClassic"> 1228 <a class="menuClassic-link" href="/ajuntament/consistori/consistoris-anteriors" target="_self"> 1229 Consistoris anteriors </a> 1230</li> 1231 </ul> 1232 </div></div> </div></div></div> 1233<div> 1234 <div class="dinamic"> 1235 </div> </div> 1236<div class="hideTablets"> 1237 <div class="page-8 js-widget o-widget clearfix boxBX default " > <div class="o-widget-wrapper clearfix default-BX row " ><div class="o-widget-container "><div class="dinamic"> 1238 <ul class="widgetMenu"> 1239 <li class="menuClassic"> 1240 <a class="menuClassic-link" href="/ajuntament/consistori/composicio-del-ple" target="_self"> 1241 Composició del Ple </a> 1242</li> 1243<li class="menuClassic"> 1244 <a class="menuClassic-link" href="https://elecciones.locales2023.es/ca/" target="_blank"> 1245 Resultats electorals </a> 1246</li> 1247<li class="menuClassic"> 1248 <a class="menuClassic-link" href="/ajuntament/consistori/consistoris-anteriors" target="_self"> 1249 Consistoris anteriors </a> 1250</li> 1251 </ul> 1252 </div></div> </div></div> </div> 1253<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 ">
1253<div class="o-share o-share--icones_rodones"> 1254 1255 <div class="o-share__list"> 1256 <a 1257 class="o-share__link o-share__link--x" 1258 href="https://twitter.com/intent/tweet?text=Consistori&url=https%3A%2F%2Fwww.perafita.cat%2Fajuntament%2Fconsistori&via=Ajunt_Perafita" 1259 target="_blank" 1260 rel="noopener" 1261 title="X" 1262 > 1263 <span class="o-share__icon" aria-hidden="true"> 1264 <i class="fa-brands fa-x-twitter"></i> 1265 </span> 1266 <span class="visually-hidden">X</span> 1267 </a> 1268 </div> 1269</div> 1270</div> </div></div></div> 1271<span class="updated">Darrera actualització: 25.02.2024 | 07:54</span> 1272 </div> 1273 </div> 1274 </div> 1275 </div> 1276 </main> 1277 <footer id="footer-content" tabindex="-1"> 1278 <div class="footer"> 1279 <div class="shortcuts"> 1280 <div class="container-xl"> 1281 <div class="featuredItem responsiveHeight"> 1282 <h2 class="title">RSS</h2> 1283 <p class="subtitle">L'actualitat a un clic</p> 1284 <ul id="cm_rss"> 1285 <li style="background-image: url('/front/view/images/ico_16_rss.png');"> 1286 <a href="/rss/12"> 1287 Agenda </a> 1288</li> 1289<li style="background-image: url('/front/view/images/ico_16_rss.png');"> 1290 <a href="/rss/15"> 1291 Agenda polÃtica </a> 1292</li> 1293<li style="background-image: url('/front/view/images/ico_16_rss.png');"> 1294 <a href="/rss/13"> 1295 Avisos </a> 1296</li> 1297<li style="background-image: url('/front/view/images/ico_16_rss.png');"> 1298 <a href="/rss/23"> 1299 Llocs d'interès </a> 1300</li> 1301<li style="background-image: url('/front/view/images/ico_16_rss.png');"> 1302 <a href="/rss/11"> 1303 NotÃcies </a> 1304</li> 1305<li style="background-image: url('/front/view/images/ico_16_rss.png');"> 1306 <a href="/rss/14"> 1307 Publicacions </a> 1308</li> 1309 </ul> 1310</div> 1311<div class="featuredItem responsiveHeight"> 1312 <h2 class="title">Adreces i telèfons</h2> 1313 1314 <img width="96" height="96" src="/front/view/images/icons/plugin_home.png" alt=""> 1315 1316 <p class="elem_button"> 1317 <a href="/adreces-i-telefons" aria-label="Adreces i telèfons"> 1318 Accedeix </a> 1319 </p> 1320</div> 1321<div class="featuredItem"> 1322 <h2 class="title">Meteo</h2> 1323 <div id="cm_meteocat"> 1324 <ul class="bxslider"> 1325 <li> 1326 Dissabte, 3 dâoctubre <img width="80" height="80" 1327 alt="entre poc i mig ennuvolat" 1328 src="/front/view/images/meteocat/nuvolina.png" 1329 > 1330 <p> 1331 T.Mà x: 24° 1332 <br> 1333 T.Min: 12° 1334 </p> 1335 <p> 1336 Tarda 1337 <img alt="xà fec" width="24" height="24" 1338 src="/front/view/images/meteocat/pluja.png" 1339 > 1340 </p> 1341 </li> 1342<li> 1343 Diumenge, 4 dâoctubre <img width="80" height="80" 1344 alt="entre mig i molt ennuvolat" 1345 src="/front/view/images/meteocat/nuvol.png" 1346 > 1347 <p> 1348 T.Mà x: 22° 1349 <br> 1350 T.Min: 13° 1351 </p> 1352 <p> 1353 Tarda 1354 <img alt="ruixat" width="24" height="24" 1355 src="/front/view/images/meteocat/pluja.png" 1356 > 1357 </p> 1358 </li> 1359 </ul> 1360 <div class="outside"> 1361 <p><span id="slider-prev"></span><span id="slider-next"></span></p> 1362 </div> 1363 1364 </div> 1365</div> 1366<div class="featuredItem responsiveHeight"> 1367 <h2 class="title">Butlletà digital</h2> 1368 <img width="96" height="96" src="/front/view/images/icons/plugin_newsletter.png" alt=""> 1369 <p class="elem_button"> 1370 <a href="/actualitat/butlleti-digital" aria-label="Butlletà digital"> 1371 Subscriu-te </a> 1372 </p> 1373</div> 1374<div id="cm_planol" class="featuredItem responsiveHeight"> 1375 <h2 class="title">Plà nol / Carrers</h2> 1376 1377 <img width="96" height="96" src="/front/view/images/icons/plugin_map.png" alt=""> 1378 1379 <p class="elem_button"> 1380 <a href="/el-municipi/planol--guia-de-carrers" aria-label="Plà nol"> 1381 Accedeix </a> 1382 </p> 1383</div> 1384 </div> 1385</div> 1386 <div class="hightlights"> 1387 <div class="container-xl"> 1388 </div> 1389 </div> 1390 <nav class="menu" aria-label="Peu de menú"> 1391 <ul class="container-xl sitemap"> 1392 <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/consistori" target="_self" >Consistori </a></li><li class="subMenuPage-156"> <a class="subMenuPage-156" href="/ajuntament/informacio-oficial" target="_self" >Informació oficial </a></li><li class="subMenuPage-143"> <a class="subMenuPage-143" href="/ajuntament/organitzacio-interna" target="_self" >Organització Interna </a></li><li class="subMenuPage-81"> <a class="subMenuPage-81" href="/ajuntament/organismes-dependents-o-vinculats" target="_self" >Organismes dependents o vinculats </a></li><li class="subMenuPage-122"> <a class="subMenuPage-122" href="/ajuntament/que-es-la-seu-electronica" target="_self" >Seu electrònica </a></li><li class="subMenuPage-123"> <a class="subMenuPage-123" href="/ajuntament/transparencia" target="_self" >Transparència </a></li></ul></li><li class="page-10 Inferior"> <a class="page-10" href="/serveis-i-tramits" target="_self" >Serveis i trà mits </a><ul id="footer-menu-10"><li class="subMenuPage-82"> <a class="subMenuPage-82" href="/serveis-i-tramits/oficines-municipals" target="_self" >Oficines municipals </a></li><li class="subMenuPage-33"> <a class="subMenuPage-33" href="/serveis-i-tramits/serveis" target="_self" >Serveis </a></li><li class="subMenuPage-31"> <a class="subMenuPage-31" href="/serveis-i-tramits/tramits-i-gestions" target="_self" >Trà mits i gestions </a></li><li class="subMenuPage-90"> <a class="subMenuPage-90" href="/serveis-i-tramits/carpeta-ciutadana" target="_self" >Carpeta ciutadana </a></li><li class="subMenuPage-171"> <a class="subMenuPage-171" href="/serveis-i-tramits/verificacio-de-documents" target="_self" >Verificació de documents </a></li><li class="subMenuPage-32"> <a class="subMenuPage-32" href="/serveis-i-tramits/impostos" target="_self" >Impostos </a></li><li class="subMenuPage-88"> <a class="subMenuPage-88" href="/serveis-i-tramits/factura-electronica" target="_self" >Factura electrònica </a></li><li class="subMenuPage-133"> <a class="subMenuPage-133" href="/serveis-i-tramits/finestreta-unica-empresarial-fue" target="_self" >Finestreta Ãnica Empresarial (FUE) </a></li></ul></li><li class="page-2 Inferior"> <a class="page-2" href="/el-municipi" target="_self" >El municipi </a><ul id="footer-menu-2"><li class="subMenuPage-34"> <a class="subMenuPage-34" href="/el-municipi/com-arribar" target="_self" >Com arribar </a></li><li class="subMenuPage-36"> <a class="subMenuPage-36" href="/el-municipi/planol--guia-de-carrers" target="_self" >Plà nol / Guia de carrers </a></li><li class="subMenuPage-3"> <a class="subMenuPage-3" href="/el-municipi/guia-del-municipi" target="_self" >Guia del municipi </a></li><li class="subMenuPage-7"> <a class="subMenuPage-7" href="/el-municipi/informacio-del-municipi" target="_self" >Informació del municipi </a></li><li class="subMenuPage-131"> <a class="subMenuPage-131" href="/el-municipi/turisme" target="_self" >Turisme </a></li><li class="subMenuPage-48"> <a class="subMenuPage-48" href="http://sitmun.diba.cat/idelocals/?mun_ine=08160" target="_blank" rel="noopener noreferrer" >Informació geogrà fica </a></li></ul></li><li class="page-4 Inferior"> <a class="page-4" href="/actualitat" target="_self" >Actualitat </a><ul id="footer-menu-4"><li class="subMenuPage-128"> <a class="subMenuPage-128" href="/actualitat/avisos" target="_self" >Avisos </a></li><li class="subMenuPage-53"> <a class="subMenuPage-53" href="/actualitat/noticies" target="_self" >NotÃcies </a></li><li class="subMenuPage-54"> <a class="subMenuPage-54" href="/actualitat/agenda" target="_self" >Agenda </a></li><li class="subMenuPage-164"> <a class="subMenuPage-164" href="/actualitat/agenda-cursos-i-taller
1392s" target="_self" >Agenda cursos i tallers </a></li><li class="subMenuPage-16"> <a class="subMenuPage-16" href="/actualitat/plans-campanyes-i-programes" target="_self" >Plans, campanyes i programes </a></li><li class="subMenuPage-55"> <a class="subMenuPage-55" href="/actualitat/butlleti-digital" target="_self" >Butlletà digital </a></li><li class="subMenuPage-56"> <a class="subMenuPage-56" href="/actualitat/full-de-perafita" target="_self" >Full de Perafita </a></li><li class="subMenuPage-165"> <a class="subMenuPage-165" href="/actualitat/full-dhistoria-de-perafita" target="_self" >Full d'història de Perafita </a></li><li class="subMenuPage-57"> <a class="subMenuPage-57" href="/actualitat/rss" target="_self" >Rss </a></li><li class="subMenuPage-58"> <a class="subMenuPage-58" href="/actualitat/hemeroteca" target="_self" >Hemeroteca </a></li></ul></li> </ul> 1393 </nav> 1394 <div class="links"> 1395 <div class="container-xl"> 1396 <div class="row"> 1397 <div class="xxss col-md-6 col-sm-6 col-lg-6 middle"> 1398 <span class="titol">Xarxes socials:</span> 1399 1400 <a target="_blank" aria-label="Twitter" href="https://twitter.com/ajunt_perafita?lang=ca" title="Obre en finestra nova: Twitter"> 1401 <span style="display: none">Twitter</span> 1402 <img src="/front/view/images/icons/social/twitter.png" alt="Twitter" width="32" height="32"> 1403 </a> 1404 1405 <a target="_blank" aria-label="Youtube" href="https://www.youtube.com/channel/UCXvFhwduhumZxjpF55LXHEA?view_as=subscriber" title="Obre en finestra nova: Youtube"> 1406 <span style="display: none">Youtube</span> 1407 <img src="/front/view/images/icons/social/youtube.png" alt="Youtube" width="32" height="32"> 1408 </a> 1409 </div> 1410 <div class="col-md-6 col-sm-6 col-lg-6 middle"> 1411 <nav class="menu"><ul id="Inferior2"><li class="page-63"> <a href="/altres-continguts/credits" target="_self" >Crèdits </a></li><li class="page-62"> <a href="/altres-continguts/contactar" target="_self" >Contactar </a></li><li class="page-60"> <a href="/altres-continguts/proteccio-de-dades" target="_self" >Protecció de dades </a></li><li class="page-59"> <a href="/altres-continguts/avis-legal" target="_self" >AvÃs legal </a></li><li class="page-61"> <a href="/altres-continguts/accessibilitat" target="_self" >Accessibilitat </a></li></ul></nav> </div> 1412 </div> 1413 </div> 1414 </div> 1415 <div class="contact"> 1416 <div class="container-xl"> 1417 <div class="row"> 1418 <address class="address col-md-6 col-sm-6 col-lg-6"> 1419 <div class="title"> 1420 Ajuntament de Perafita </div> 1421 Carrer Major, 19<br>08589 Perafita<br>Tel. 938 530 001 / 621 14 72 95<br>Fax 938 530 001<br>NIF P0815900F<br></address><div class="diba col-md-6 col-sm-6 col-lg-6" id="diba-partner"> 1422 <div class="title"> 1423 Amb la col·laboració de: </div> 1424 <a href="http://diba.cat/" target="_blank" aria-label="Anar a la web Diputació de Barcelona" title="Obre en finestra nova: Diputació de Barcelona"> 1425 <span style="display: none">Diputació de Barcelona</span> 1426 <img src="/front/view//images/logoDiba/Blanc.svg" alt="Diputació de Barcelona" class="logo-diba"> 1427 </a> 1428</div> </div> 1429 </div> 1430 </div> 1431</div> 1432 </footer> 1433 <!-- Llibreries de tercers + js propis registrats a AssetManager (jQuery primer) -->
1434<script src="/front/view/js/bower_components/jquery/dist/jquery.min.js?ver=1790971452"></script>
vendor: 1 bytes, line 1434
1434
1435<script src="/front/view/js/bower_components/bootstrap/dist/js/bootstrap.bundle.min.js?ver=1790971452"></script>
vendor: 1 bytes, line 1435
1435
1436<script src="/front/view/js/bower_components/bxslider-4/dist/jquery.bxslider.js?ver=1790971452"></script>
vendor: 1 bytes, line 1436
1436
1437<script src="/front/view/js/bower_components/jscal/index.js?ver=1790971452"></script>
vendor: 1 bytes, line 1437
1437
1438<script src="/common/bower_components/select2/dist/js/select2.min.js?ver=1790971452"></script>
vendor: 1 bytes, line 1438
1438
1439<script src="/common/bower_components/select2/dist/js/i18n/ca.js?ver=1790971452"></script>
vendor: 1 bytes, line 1439
1439
1440<script src="/common/bower_components/strength.js/src/strength.min.js?ver=1790971452"></script>
vendor: 1 bytes, line 1440
1440
1441<script src="/front/view/js/bower_components/masonry-layout/dist/masonry.pkgd.min.js?ver=1790971452"></script>
vendor: 1 bytes, line 1441
1441
1442<script src="/front/view/js/constants.js?ver=1790971452"></script>
vendor: 1 bytes, line 1442
1442
1443<script src="/front/view/js/functions.js?ver=1790971452"></script>
vendor: 1 bytes, line 1443
1443
1444<script src="/front/view/js/functions/footer.js?ver=1790971452"></script>
vendor: 1 bytes, line 1444
1444
1445<script src="/front/view/js/bower_components/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js?ver=1790971452"></script>
vendor: 1 bytes, line 1445
1445
1446<script src="/front/view/js/bower_components/jquery.prettyPhoto/index.js?ver=1790971452"></script>
vendor: 1 bytes, line 1446
1446
1447<script> 1448 $(document).ready(function(){ 1449 $("a[rel^='prettyPhoto']").prettyPhoto(); 1450 $("a[rel^='prettyFrame']").prettyPhoto(); 1451 }); 1452</script>
vendor: 1 bytes, line 1452
1452
1453<script> 1454 var TWITTER = true; 1455 var FACEBOOK = null; 1456 $(window).on("load", function() { 1457 start(); 1458 }); 1459 $(document).ready(function() { 1460 if (typeof articlesId !== 'undefined') { 1461 var today = new Date(); 1462 var date = today 1463 articlesId.push('internal_calendar'); 1464 1465 var oneYearAfter = new Date(); 1466 oneYearAfter.setDate(oneYearAfter.getDate() + 365); 1467 for (id in articlesId) { 1468 Calendar.setup({ 1469 id: articlesId[id], 1470 cont: "dv_calendar_" + articlesId[id], 1471 fdow: 1, 1472 date: date, 1473 noScroll: true, 1474 bottomBar: false, 1475 max: oneYearAfter, 1476 animation: false, 1477 titleFormat: "%B %Y", 1478 dateInfo: getDateInfo 1479 }); 1480 setEqualContentColumns(); 1481 } 1482 } 1483 }); 1484 1485 1486 // Initialize Select2 with icon support for category filter 1487 $(document).ready(function() { 1488 if ($('#categoryFilter').length) { 1489 $('#categoryFilter').select2({ 1490 templateResult: 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 templateSelection: function(option) { 1497 if (!option.id) return option.text; 1498 var icon = $(option.element).data('icon'); 1499 if (!icon) return option.text; 1500 return $('<span><img src="' + icon + '" style="width: 16px; height: 16px; margin-right: 6px; vertical-align: middle;"> ' + option.text + '</span>'); 1501 }, 1502 allowHtml: true 1503 }); 1504 } 1505 }); 1506</script>
1506 1507 <!-- CSS final--> 1508 1509
1509<script> 1510 const css = "div.page-8 .o-widget-wrapper {\n border: 0;\n}\n"; 1511 const style = document.createElement('style'); 1512 style.textContent = css; 1513 document.head.appendChild(style); 1514 </script>
1514 1515 1516 <!-- Start Modal views--> 1517 1518 <div class="modal fade" id="videoModal" tabindex="-1" role="dialog" aria-hidden="true"> 1519 <div class="modal-dialog modal-dialog-centered" role="document"> 1520 <div class="modal-content"> 1521 <div class="modal-header"> 1522 <div class="title-head"></div> 1523 </div> 1524 <div class="modal-body"> 1525 <div class="tiktok-div-embed"></div> 1526 <iframe id="iframeVideo" title="VÃdeo" class="iframeVideo" allowfullscreen></iframe> 1527 1528 </div> 1529 <div class="modal-footer"> 1530 <span id="titleVideo" class="titleVideo"></span> 1531 <a id="closeModalVideo" class="close" href="javascript:void(0)" data-bs-dismiss="modal"><span style="display: none">X</span></a> 1532 1533 </div> 1534 </div> 1535 </div> 1536</div> <div class="modal fade" id="pdfModal" tabindex="-1" role="dialog" aria-hidden="true"> 1537 <div id="documentDialog" class="modal-dialog modal-dialog-centered" role="document"> 1538 <div class="modal-content"> 1539 <div class="modal-header"> 1540 <div class="title-head"></div> 1541 </div> 1542 <div class="modal-body"> 1543 <iframe id="iframePdf" title='Document' class="pdfview" style="width: 100%; height: 100%"></iframe> 1544 </div> 1545 <div class="modal-footer"> 1546 <span id="titlePdf" class="titlePdf"></span> 1547 <a id="closeModalPDF" class="close" href="javascript:void(0)"><span style="display: none">X</span></a> 1548 </div> 1549 </div> 1550 </div> 1551</div> <!-- End Modal views --> 1552
1552<script src="/front/view/js/endScript.js?ver=1790971452"></script>
1552 1553 <!-- Només activar per desenvolupament 1554
1554<script src="../../../node_modules/axe-core/axe.js"></script>
1554 1555
1555<script src="../../../dist/my-first-webpack.bundle.js"></script>
1555 1556 --> 1557
1557<script> 1558 $(document).ready(function () { 1559 startClock(1790971453); 1560 if (typeof (callMenuAfterJQueryLoaded) == "function") { 1561 callMenuAfterJQueryLoaded(); 1562 } 1563 1564 datepickerInit(); 1565 carouselControlSmall(); 1566 1567 if (typeof (callMenuBeforeJQueryLoaded) == "function") { 1568 callMenuBeforeJQueryLoaded(); 1569 } 1570 1571 if (typeof (callMenuBeforeTopJQueryLoaded) == "function") { 1572 callMenuBeforeTopJQueryLoaded(); 1573 } 1574 addAttributesDivVcards(); 1575 modalsImage(); 1576 modalsPdf(); 1577 translateWeb(); 1578 var carousel = $('#carouselControls'); 1579 carousel.on('slide.bs.carousel', function (event) { 1580 toSlideImage(event); 1581 }); 1582 /** Només activar per desenvolupament 1583 axe.configure({ 1584 locale: { 1585 lang: 'es', 1586 } 1587 }); 1588 1589 axe.run().then(results => { 1590 if (results.violations.length) { 1591 console.log(results.violations); 1592 throw new Error('Accessibility issues found'); 1593 } 1594 }) 1595 .catch(err => { 1596 console.log('Something bad happened:', err.message); 1597 }); 1598 */ 1599 }); 1600 1601 $(window).resize(function() { 1602 equalHeightIconTime(); 1603 }) 1604 </script>
1604 1605 </body> 1606</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.