Ομάδα

">
${portrait(p)}

${esc(p.name)}

${esc(p.title)}

`}).join(''):'
Δεν βρέθηκαν μέλη της ομάδας που να αντιστοιχούν στην αναζήτησή σας.
'; } tabs.addEventListener('click',e=>{const b=e.target.closest('[data-year]');if(!b)return;year=b.dataset.year;query='';$('#searchInput').value='';render();});$('#searchInput').addEventListener('input',e=>{query=e.target.value.trim();render();}); function openProfile(p){lastFocus=document.activeElement;$('#profileName').textContent=p.name;$('#profileRole').textContent=p.title;$('#dialogPortrait').innerHTML=portrait(p);const bio=$('#profileBio');if(p.html){const parser=new DOMParser();const doc=parser.parseFromString(p.cv||'','text/html');bio.textContent='';for(const n of [...doc.body.childNodes]){if(n.nodeType===3)bio.append(document.createTextNode(n.textContent));else if(n.nodeName==='BR')bio.append(document.createElement('br'));else if(n.nodeName==='A'&&/^https:\/\//.test(n.getAttribute('href')||'')){const a=document.createElement('a');a.href=n.getAttribute('href');a.textContent=n.textContent;a.target='_blank';a.rel='noopener noreferrer';bio.append(a)}else bio.append(document.createTextNode(n.textContent||''));}}else bio.textContent=p.cv||'Δεν υπάρχει βιογραφία.';overlay.classList.add('open');overlay.setAttribute('aria-hidden','false');inertRestore=[...document.body.children].filter(el=>el!==modalPortal).map(el=>[el,el.inert]);inertRestore.forEach(([el])=>{el.inert=true});previousOverflow=document.body.style.overflow;document.body.style.overflow='hidden';$('#closeProfile').focus();} function closeProfile(){overlay.classList.remove('open');overlay.setAttribute('aria-hidden','true');inertRestore.forEach(([el,wasInert])=>{if(el.isConnected)el.inert=wasInert});inertRestore=[];document.body.style.overflow=previousOverflow;if(lastFocus&&lastFocus.isConnected)lastFocus.focus();} grid.addEventListener('click',e=>{const b=e.target.closest('[data-index]');if(b)openProfile(data[year][Number(b.dataset.index)]);});$('#closeProfile').addEventListener('click',closeProfile);overlay.addEventListener('click',e=>{if(e.target===overlay)closeProfile();});document.addEventListener('keydown',e=>{if(!overlay.classList.contains('open'))return;if(e.key==='Escape')closeProfile();if(e.key==='Tab'){const focusable=[...overlay.querySelectorAll('button,a[href]')];const i=focusable.indexOf(document.activeElement);if(e.shiftKey&&i===0){e.preventDefault();focusable.at(-1).focus();}else if(!e.shiftKey&&i===focusable.length-1){e.preventDefault();focusable[0].focus();}}}); renderTabs();render(); })();