var twentytwenty=twentytwenty||{};twentytwenty.scrolled=0;if(!Element.prototype.closest){Element.prototype.closest=function(s){var el=this;do{if(el.matches(s)){return el;} el=el.parentElement||el.parentNode;}while(el!==null&&el.nodeType===1);return null;};} if(window.NodeList&&!NodeList.prototype.forEach){NodeList.prototype.forEach=function(callback,thisArg){var i;var len=this.length;thisArg=thisArg||window;for(i=0;i=0&&matches.item(i)!==this){} return i>-1;};} twentytwenty.touchEnabled={init:function(){var matchMedia=function(){var prefixes=['-webkit-','-moz-','-o-','-ms-'];var query=['(',prefixes.join('touch-enabled),('),'heartz',')'].join('');return window.matchMedia&&window.matchMedia(query).matches;};if(('ontouchstart'in window)||(window.DocumentTouch&&document instanceof window.DocumentTouch)||matchMedia()){document.body.classList.add('touch-enabled');}}};twentytwenty.coverModals={init:function(){if(document.querySelector('.cover-modal')){this.onToggle();this.outsideUntoggle();this.closeOnEscape();this.hideAndShowModals();}},onToggle:function(){document.querySelectorAll('.cover-modal').forEach(function(element){element.addEventListener('toggled',function(event){var modal=event.target,body=document.body;if(modal.classList.contains('active')){body.classList.add('showing-modal');}else{body.classList.remove('showing-modal');body.classList.add('hiding-modal');setTimeout(function(){body.classList.remove('hiding-modal');},500);}});});},outsideUntoggle:function(){document.addEventListener('click',function(event){var target=event.target;var modal=document.querySelector('.cover-modal.active');if(event.target.tagName.toLowerCase()==='a'&&event.target.hash.includes('#')&&modal!==null){this.untoggleModal(modal);setTimeout(function(){var anchor=document.getElementById(event.target.hash.slice(1));anchor.scrollIntoView();},550);} if(target===modal){this.untoggleModal(target);}}.bind(this));},closeOnEscape:function(){document.addEventListener('keydown',function(event){if(event.keyCode===27){event.preventDefault();document.querySelectorAll('.cover-modal.active').forEach(function(element){this.untoggleModal(element);}.bind(this));}}.bind(this));},hideAndShowModals:function(){var _doc=document,_win=window,modals=_doc.querySelectorAll('.cover-modal'),htmlStyle=_doc.documentElement.style,adminBar=_doc.querySelector('#wpadminbar');function getAdminBarHeight(negativeValue){var height,currentScroll=_win.pageYOffset;if(adminBar){height=currentScroll+adminBar.getBoundingClientRect().height;return negativeValue?-height:height;} return currentScroll===0?0:-currentScroll;} function htmlStyles(){var overflow=_win.innerHeight>_doc.documentElement.getBoundingClientRect().height;return{'overflow-y':overflow?'hidden':'scroll',position:'fixed',width:'100%',top:getAdminBarHeight(true)+'px',left:0};} modals.forEach(function(modal){modal.addEventListener('toggle-target-before-inactive',function(event){var styles=htmlStyles(),offsetY=_win.pageYOffset,paddingTop=(Math.abs(getAdminBarHeight())-offsetY)+'px',mQuery=_win.matchMedia('(max-width: 600px)');if(event.target!==modal){return;} Object.keys(styles).forEach(function(styleKey){htmlStyle.setProperty(styleKey,styles[styleKey]);});_win.twentytwenty.scrolled=parseInt(styles.top,10);if(adminBar){_doc.body.style.setProperty('padding-top',paddingTop);if(mQuery.matches){if(offsetY>=getAdminBarHeight()){modal.style.setProperty('top',0);}else{modal.style.setProperty('top',(getAdminBarHeight()-offsetY)+'px');}}} modal.classList.add('show-modal');});modal.addEventListener('toggle-target-after-inactive',function(event){if(event.target!==modal){return;} setTimeout(function(){var clickedEl=twentytwenty.toggles.clickedEl;modal.classList.remove('show-modal');Object.keys(htmlStyles()).forEach(function(styleKey){htmlStyle.removeProperty(styleKey);});if(adminBar){_doc.body.style.removeProperty('padding-top');modal.style.removeProperty('top');} if(clickedEl!==false){clickedEl.focus();clickedEl=false;} _win.scrollTo(0,Math.abs(_win.twentytwenty.scrolled+getAdminBarHeight()));_win.twentytwenty.scrolled=0;},500);});});},untoggleModal:function(modal){var modalTargetClass,modalToggle=false;if(modal.dataset.modalTargetString){modalTargetClass=modal.dataset.modalTargetString;modalToggle=document.querySelector('*[data-toggle-target="'+modalTargetClass+'"]');} if(modalToggle){modalToggle.click();}else{modal.classList.remove('active');}}};twentytwenty.intrinsicRatioVideos={init:function(){this.makeFit();window.addEventListener('resize',function(){this.makeFit();}.bind(this));},makeFit:function(){document.querySelectorAll('iframe, object, video').forEach(function(video){var ratio,iTargetWidth,container=video.parentNode;if(video.classList.contains('intrinsic-ignore')||video.parentNode.classList.contains('intrinsic-ignore')){return true;} if(!video.dataset.origwidth){video.setAttribute('data-origwidth',video.width);video.setAttribute('data-origheight',video.height);} iTargetWidth=container.offsetWidth;ratio=iTargetWidth/video.dataset.origwidth;video.style.width=iTargetWidth+'px';video.style.height=(video.dataset.origheight*ratio)+'px';});}};twentytwenty.modalMenu={init:function(){this.expandLevel();this.keepFocusInModal();},expandLevel:function(){var modalMenus=document.querySelectorAll('.modal-menu');modalMenus.forEach(function(modalMenu){var activeMenuItem=modalMenu.querySelector('.current-menu-item');if(activeMenuItem){twentytwentyFindParents(activeMenuItem,'li').forEach(function(element){var subMenuToggle=element.querySelector('.sub-menu-toggle');if(subMenuToggle){twentytwenty.toggles.performToggle(subMenuToggle,true);}});}});},keepFocusInModal:function(){var _doc=document;_doc.addEventListener('keydown',function(event){var toggleTarget,modal,selectors,elements,menuType,bottomMenu,activeEl,lastEl,firstEl,tabKey,shiftKey,clickedEl=twentytwenty.toggles.clickedEl;if(clickedEl&&_doc.body.classList.contains('showing-modal')){toggleTarget=clickedEl.dataset.toggleTarget;selectors='input, a, button';modal=_doc.querySelector(toggleTarget);elements=modal.querySelectorAll(selectors);elements=Array.prototype.slice.call(elements);if('.menu-modal'===toggleTarget){menuType=window.matchMedia('(min-width: 1000px)').matches;menuType=menuType?'.expanded-menu':'.mobile-menu';elements=elements.filter(function(element){return null!==element.closest(menuType)&&null!==element.offsetParent;});elements.unshift(_doc.querySelector('.close-nav-toggle'));bottomMenu=_doc.querySelector('.menu-bottom > nav');if(bottomMenu){bottomMenu.querySelectorAll(selectors).forEach(function(element){elements.push(element);});}} lastEl=elements[elements.length-1];firstEl=elements[0];activeEl=_doc.activeElement;tabKey=event.keyCode===9;shiftKey=event.shiftKey;if(!shiftKey&&tabKey&&lastEl===activeEl){event.preventDefault();firstEl.focus();} if(shiftKey&&tabKey&&firstEl===activeEl){event.preventDefault();lastEl.focus();}}});}};twentytwenty.primaryMenu={init:function(){this.focusMenuWithChildren();},focusMenuWithChildren:function(){var links,i,len,menu=document.querySelector('.primary-menu-wrapper');if(!menu){return false;} links=menu.getElementsByTagName('a');for(i=0,len=links.length;iunToggleAbove)||(unToggleBelow&&winWidthtoggleAbove)||(toggleBelow&&winWidth