document.addEventListener('DOMContentLoaded',function(){var BACKEND='ok-alams.sites.olt.ubc.ca';document.querySelectorAll('img[src*="'+BACKEND+'"]').forEach(function(img){img.src=img.getAttribute('src').split(BACKEND).pop();});var LOGO='/files/2026/10/alams-logo-white.png';if(!document.querySelector('.alams-footbrand')){var fb=document.createElement('div');fb.className='alams-footbrand';fb.innerHTML=''+'
Applied Laboratory for Advanced Materials & Structures · ALAMS · UBC Okanagan
';var foot=document.querySelector('#ubc7-footer, .ubc7-footer, #footer, footer, #body-footer');if(foot&&foot.parentNode){foot.parentNode.insertBefore(fb,foot);}else{(document.getElementById('content')||document.body).appendChild(fb);}}});(function(){function init(){var home=document.querySelector('.alams-home');if(!home)return;function mq(q){return!!(window.matchMedia&&window.matchMedia(q).matches);} var reduce=mq('(prefers-reduced-motion: reduce)');var conn=navigator.connection||{};var lowData=!!conn.saveData||/(^|-)2g$|^3g$/.test(conn.effectiveType||'');var small=mq('(max-width: 767px)');var hasIO='IntersectionObserver'in window;var ICON={pause:'',play:'',film:'',close:''};function makeBtn(cls){var b=document.createElement('button');b.type='button';b.className=cls;return b;} function paint(bg){var jpg=bg.getAttribute('data-wall-jpg');var webp=bg.getAttribute('data-wall-webp');if(!jpg||bg.hasAttribute('data-painted'))return;bg.style.backgroundImage='url("'+jpg+'")';if(webp){bg.style.backgroundImage='image-set(url("'+webp+'") type("image/webp"), url("'+ jpg+'") type("image/jpeg"))';} bg.setAttribute('data-painted','');} var wins=Array.prototype.slice.call(home.querySelectorAll('.alams-home-win'));var bgOf=function(w){return w.querySelector('.alams-home-win__bg');};wins.forEach(function(w){var bg=bgOf(w);var f=bg&&bg.getAttribute('data-focal');if(bg&&f){bg.style.backgroundPosition=f+' 50%';}});if(hasIO){var near=new IntersectionObserver(function(es){es.forEach(function(e){if(e.isIntersecting){var bg=bgOf(e.target);if(bg)paint(bg);near.unobserve(e.target);}});},{rootMargin:'100% 0px'});var onScreen=new IntersectionObserver(function(es){es.forEach(function(e){var bg=bgOf(e.target);if(bg){bg.toggleAttribute('data-off',!e.isIntersecting);}});});wins.forEach(function(w){near.observe(w);onScreen.observe(w);});}else{wins.forEach(function(w){var bg=bgOf(w);if(bg)paint(bg);});} function loop(holder,ctlParent,label,target){if(!holder||reduce||lowData||!hasIO)return null;var src=(small&&holder.getAttribute('data-loop-sm'))||holder.getAttribute('data-loop');if(!src)return null;var v=document.createElement('video');v.muted=true;v.defaultMuted=true;v.setAttribute('muted','');v.playsInline=true;v.setAttribute('playsinline','');v.loop=true;v.preload='metadata';v.setAttribute('aria-hidden','true');v.setAttribute('tabindex','-1');if(holder.getAttribute('data-poster')){v.poster=holder.getAttribute('data-poster');} v.src=src;holder.appendChild(v);var userPaused=false;var held=false;var seen=false;var btn=makeBtn('alams-home-vidctl');function sync(){if(seen&&!userPaused&&!held){var p=v.play();if(p&&p.catch)p.catch(function(){});}else{v.pause();}} function render(){btn.innerHTML=userPaused?ICON.play:ICON.pause;btn.setAttribute('aria-label',(userPaused?'Play ':'Pause ')+label);} render();btn.addEventListener('click',function(){userPaused=!userPaused;render();sync();});if(ctlParent)ctlParent.appendChild(btn);new IntersectionObserver(function(es){seen=es[es.length-1].isIntersecting;sync();}).observe(target);return{hold:function(on){held=on;sync();}};} var players=[];var hero=home.querySelector('.alams-home-hero');var heroLoop=hero&&loop(bgOf(hero),hero.querySelector('.alams-home-hero__actions'),'background video',hero);if(heroLoop)players.push(heroLoop);var tclip=home.querySelector('.alams-home-tcard__media');if(tclip&&tclip.getAttribute('data-poster')){tclip.style.backgroundImage='url("'+tclip.getAttribute('data-poster')+'")';} var tLoop=tclip&&loop(tclip,tclip,'testimonial preview',tclip);if(tLoop)players.push(tLoop);Array.prototype.forEach.call(home.querySelectorAll('.alams-home-btn-film'),function(a){a.insertAdjacentHTML('afterbegin',ICON.film);});var dlg=null;var frame=null;var lastTrigger=null;function buildDialog(){dlg=document.createElement('dialog');dlg.className='alams-home-film';dlg.setAttribute('aria-labelledby','alams-home-film-title');dlg.innerHTML=''+'';home.appendChild(dlg);frame=dlg.querySelector('.alams-home-film__frame');dlg.querySelector('.alams-home-film__close').addEventListener('click',function(){dlg.close();});dlg.addEventListener('click',function(ev){if(ev.target===dlg)dlg.close();});dlg.addEventListener('close',function(){frame.textContent='';players.forEach(function(p){p.hold(false);});if(lastTrigger)lastTrigger.focus();});} if(typeof HTMLDialogElement==='function'){home.addEventListener('click',function(ev){var t=ev.target.closest&&ev.target.closest('[data-alams-film]');if(!t||!home.contains(t))return;ev.preventDefault();if(!dlg)buildDialog();var url=t.getAttribute('data-alams-film')||'';var title=t.getAttribute('data-alams-film-title')||'Video';frame.textContent='';if(/^https:/var f=document.createElement('iframe');f.src=url;f.title=title;f.allow='autoplay; fullscreen; encrypted-media; picture-in-picture';f.setAttribute('allowfullscreen','');frame.appendChild(f);}else{var ph=document.createElement('p');ph.className='alams-home-film__ph';ph.textContent=url||'This video is coming soon.';frame.appendChild(ph);} dlg.querySelector('.alams-home-film__title').textContent=title;lastTrigger=t;players.forEach(function(p){p.hold(true);});dlg.showModal();});} var band=home.querySelector('.alams-partners');if(band&&!reduce){var mbtn=makeBtn('alams-home-marquee-ctl');var mPaused=false;var mRender=function(){mbtn.innerHTML=mPaused?ICON.play:ICON.pause;mbtn.setAttribute('aria-label',(mPaused?'Play':'Pause')+' logo carousel');};mRender();mbtn.addEventListener('click',function(){mPaused=!mPaused;band.classList.toggle('alams-home-paused',mPaused);mRender();});band.appendChild(mbtn);} home.classList.add('alams-home--js');var bars=home.querySelectorAll('.alams-home-bar');if(bars.length){if(reduce||!hasIO){Array.prototype.forEach.call(bars,function(b){b.classList.add('is-in');});}else{var bio=new IntersectionObserver(function(es){es.forEach(function(e){if(e.isIntersecting){e.target.classList.add('is-in');bio.unobserve(e.target);}});},{threshold:0.2});Array.prototype.forEach.call(bars,function(b){bio.observe(b);});}} var nums=home.querySelectorAll('.alams-stat-num[data-target]');function fmt(el,n){return(el.getAttribute('data-prefix')||'')+ n+ (el.getAttribute('data-suffix')||'');} if(nums.length){if(reduce||!hasIO){Array.prototype.forEach.call(nums,function(n){n.textContent=fmt(n,n.getAttribute('data-target'));});}else{var run=function(el){var target=parseInt(el.getAttribute('data-target'),10);var start=null;(function tick(ts){if(!start)start=ts;var p=Math.min((ts-start)/1600,1);el.textContent=fmt(el,p<1?Math.round((1-Math.pow(1-p,3))*target):target);if(p<1)requestAnimationFrame(tick);})(performance.now());};var cio=new IntersectionObserver(function(es){es.forEach(function(e){if(e.isIntersecting){run(e.target);cio.unobserve(e.target);}});},{threshold:0.4});Array.prototype.forEach.call(nums,function(n){n.textContent=fmt(n,0);cio.observe(n);});}}} if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',init);}else{init();}})();h2.alams-team-h{color:#fff!important;font-size:clamp(1.6rem,3vw,2.1rem);line-height:1.2;} h2.alams-team-h::after{content:"";display:block;width:56px;height:3px;margin-top:.6rem;background:#F5871F;} h2.alams-team-h--band{box-sizing:border-box;width:100vw;margin:0 0 0 calc(50%-50vw);background:#001a38;padding:clamp(2.25rem,4.5vw,3.25rem)max(clamp(1.25rem,5vw,3rem),calc((100vw-1120px)/2+clamp(1.25rem,5vw,3rem)))clamp(1.5rem,3vw,2rem);}.team-grid{position:relative;width:100vw;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:0;}.tcard{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;text-decoration:none!important;background:#0d2136;transition:transform.35s cubic-bezier(.2,.7,.2,1),box-shadow.35s ease,opacity.35s ease,filter.35s ease;}.tcard__img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.92);transition:transform.5s cubic-bezier(.2,.7,.2,1),filter.35s ease;}.tcard--noimg{background:linear-gradient(160deg,#14304d,#0a1c30);}.tcard__mono{position:absolute;top:38%;left:50%;transform:translate(-50%,-50%);color:#5f7fa6;font-size:3rem;font-weight:700;letter-spacing:.04em;}.tcard__cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1.4rem 1rem.95rem;text-align:left;background:linear-gradient(to top,rgba(0,20,45,.92)0%,rgba(0,20,45,.55)55%,rgba(0,20,45,0)100%);}.tcard__name{display:block;color:#fff;font-weight:700;font-size:1.05rem;line-height:1.2;}.tcard__role{display:block;color:#cfe0f5;font-size:.85rem;margin-top:.15rem;}.team-grid.tcard:hover{transform:scale(1.02);z-index:2;box-shadow:0 6px 16px rgba(0,0,0,.18);}.tcard:hover.tcard__img{transform:scale(1.03);}.tcard:focus-visible{outline:3px solid#D9740E;outline-offset:-3px;}.alams-team-alumni{box-sizing:border-box;width:100vw;margin:0 0 0 calc(50%-50vw);background:#001a38;color:#fff;padding:clamp(2.5rem,5vw,4rem)0 clamp(2.75rem,5vw,4.25rem);}.alams-team-alumni__in{box-sizing:border-box;max-width:1120px;margin:0 auto;padding:0 clamp(1.25rem,5vw,3rem);}.alams-team-alumni h2.alams-team-h{margin:0 0.75rem;padding:0;} p.alams-team-alumni__intro{margin:0 0 1.5rem;color:#cfe0f5!important;max-width:62ch;} summary.alams-team-al__sum{display:flex;align-items:center;gap:1rem;cursor:pointer;list-style:none;padding:1rem 1.25rem;min-height:56px;margin:0;background:#002145;border:1.5px solid rgba(255,255,255,.28);border-radius:10px;color:#fff;font-weight:700;font-size:1.05rem;} summary.alams-team-al__sum::-webkit-details-marker{display:none;} summary.alams-team-al__sum::after{content:"";margin-left:auto;flex:0 0 auto;width:.6rem;height:.6rem;border-right:2.5px solid#FFB05C;border-bottom:2.5px solid#FFB05C;transform:translateY(-3px)rotate(45deg);transition:transform.2s ease;}.alams-team-al[open]>summary.alams-team-al__sum::after{transform:translateY(2px)rotate(-135deg);} summary.alams-team-al__sum:hover{border-color:#FFB05C;} summary.alams-team-al__sum:focus-visible{outline:3px solid#FFB05C;outline-offset:3px;}.alams-team-al__count{color:#FFB05C;font-weight:700;}.alams-team-al__open{display:none;}.alams-team-al[open].alams-team-al__open{display:inline;}.alams-team-al[open].alams-team-al__closed{display:none;} ul.alams-team-al__list{list-style:none;margin:.5rem 0 0;padding:0;display:grid;grid-template-columns:1fr;column-gap:2.5rem;}@media(min-width:900px){ul.alams-team-al__list{grid-template-columns:1fr 1fr;}} li.alams-team-al__row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;min-height:72px;margin:0;padding:.6rem 0;border-bottom:1px solid rgba(255,255,255,.12);list-style:none;} li.alams-team-al__row::before{content:none;}.alams-team-al__who{display:flex;align-items:center;gap:1rem;flex:1 1 200px;min-width:0;color:inherit!important;text-decoration:none!important;border-radius:6px;} a.alams-team-al__who:hover.alams-team-al__name{color:#FFB05C;text-decoration:underline;} a.alams-team-al__who:focus-visible{outline:3px solid#FFB05C;outline-offset:4px;}.alams-team-av{box-sizing:border-box;flex:0 0 56px;width:56px;height:56px;margin:0;border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(160deg,#14304d,#0a1c30);border:1px solid rgba(255,255,255,.18);color:#9fb6d4;font-weight:700;font-size:1.05rem;letter-spacing:.04em;object-fit:cover;object-position:50%25%;}.alams-team-al__txt{display:block;min-width:0;}.alams-team-al__name{display:block;color:#fff;font-weight:700;font-size:1.02rem;line-height:1.3;}.alams-team-al__role,.alams-team-al__now{display:block;font-size:.88rem;line-height:1.4;}.alams-team-al__role{color:#cfe0f5;}.alams-team-al__now{color:#fff;}.alams-team-al__lbl{color:#FFB05C;font-weight:700;margin-right:.25rem;}.alams-team-al__links{display:flex;flex-wrap:wrap;gap:.4rem;} a.alams-team-al__link{display:inline-flex;align-items:center;min-height:28px;padding:.15rem.6rem;border:1.5px solid rgba(255,255,255,.4);border-radius:999px;color:#fff!important;font-size:.8rem;font-weight:700;text-decoration:none!important;} a.alams-team-al__link:hover{border-color:#FFB05C;color:#FFB05C!important;} a.alams-team-al__link:focus-visible{outline:3px solid#FFB05C;outline-offset:2px;}@media(max-width:599px),(min-width:900px){.alams-team-al__links{flex-basis:100%;padding-left:calc(56px+1rem);}}.alams-team-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}.alams-team-ph{color:#FFB05C;font-style:italic;}.team-photo-band{position:relative;width:100vw;left:50%;transform:translateX(-50%);margin:0;line-height:0;overflow:hidden;}.team-photo-band img{width:100%;height:clamp(280px,42vw,600px);object-fit:cover;object-position:center;display:block;transition:transform.5s cubic-bezier(.2,.7,.2,1);}.team-photo-band:hover img{transform:scale(1.03);}@media(prefers-reduced-motion:reduce){.tcard,.tcard__img,.team-photo-band img,summary.alams-team-al__sum::after{transition:none!important;}.team-grid.tcard:hover,.tcard:hover.tcard__img,.team-photo-band:hover img{transform:none;}}@media print{h2.alams-team-h--band{width:auto;margin:0;padding:1rem 0;background:#fff;}.alams-team-alumni{width:auto;margin:0;padding:1rem 0;background:#fff;color:#000;} h2.alams-team-h,.alams-team-al__name,.alams-team-al__now,.alams-team-al__role,p.alams-team-alumni__intro{color:#000!important;} summary.alams-team-al__sum{background:none;border:0;padding:.25rem 0;color:#000;} summary.alams-team-al__sum::after{display:none;}.alams-team-al::details-content{content-visibility:visible;height:auto;} li.alams-team-al__row{break-inside:avoid;border-bottom-color:#ccc;}.alams-team-av{border-color:#999;color:#333;background:#eee;} a.alams-team-al__link{border-color:#999;color:#000!important;}}