if(window.Element&&!Element.prototype.closest){Element.prototype.closest=function(c){var d=(this.document||this.ownerDocument).querySelectorAll(c); var b=this; var a; do{a=d.length; while(--a>=0&&d.item(a)!==b){}}while((a<0)&&(b=b.parentElement)); return b } }if(window.Element&&!Element.prototype.matches){Element.prototype.matches=Element.prototype.matchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector||Element.prototype.webkitMatchesSelector||function(b){var c=(this.document||this.ownerDocument).querySelectorAll(b); var a=c.length; while(--a>=0&&c.item(a)!==this){}return a>-1 } }if(!Object.assign){Object.assign=function(d,f){if(d===null){throw new TypeError("Cannot convert undefined or null to object") }var e=Object(d); for(var c=1; c0; var B=z?"."+v():""; var A=t._properties.src.replace(m,B); if(t._elements.image.getAttribute("src")!==A){t._elements.image.setAttribute("src",A); if(!z){window.removeEventListener("scroll",t.update) }}if(t._lazyLoaderShowing){t._elements.image.addEventListener("load",u) }}function v(){var C=t._elements.self.clientWidth; var A=C*j; var z=t._properties.widths.length; var B=0; while((B=z-l&&C<=B+l }function y(E){t._elements={}; t._elements.self=E; var z=t._elements.self.querySelectorAll("[data-"+e+"-hook-"+n+"]"); for(var B=0; B0){v.forEach(function(w){if(w.querySelectorAll){var x=[].slice.call(w.querySelectorAll(k.self)); x.forEach(function(y){new b({element:y,options:c(y)}) }) }}) }}) }); p.observe(o,{subtree:true,childList:true,characterData:true}) }if(document.readyState!=="loading"){f() }else{document.addEventListener("DOMContentLoaded",f()) }function d(o){o=o.replace(/&(amp;)*lt;/g,"<"); o=o.replace(/&(amp;)*gt;/g,">"); return o }})(); (function(){var e="cmp"; var p="search"; var b=300; var l=300; var c="resultsOffset"; var j={TAB:9,ENTER:13,ESCAPE:27,ARROW_UP:38,ARROW_DOWN:40}; var m={self:"[data-"+e+'-is="'+p+'"]',item:{self:"[data-"+e+"-hook-"+p+'="item"]',title:"[data-"+e+"-hook-"+p+'="itemTitle"]',focused:"."+e+"-search__item--is-focused"}}; var k={minLength:{"default":3,transform:function(q){q=parseFloat(q); return isNaN(q)?null:q }},resultsSize:{"default":10,transform:function(q){q=parseFloat(q); return isNaN(q)?null:q }}}; var n=0; function a(t){var v=t.dataset; var r=[]; var w=p; w=w.charAt(0).toUpperCase()+w.slice(1); var q=["is","hook"+w]; for(var s in v){if(v.hasOwnProperty(s)){var u=v[s]; if(s.indexOf(e)===0){s=s.slice(e.length); s=s.charAt(0).toLowerCase()+s.substring(1); if(q.indexOf(s)===-1){r[s]=u }}}}return r }function h(r,q){if(r){if(q!==false){r.style.display="block"; r.setAttribute("aria-hidden",false) }else{r.style.display="none"; r.setAttribute("aria-hidden",true) }}}function o(s){var t=[]; if(s&&s.elements){for(var q=0; q=this._elements.results.scrollHeight){this._resultsOffset+=this._properties.resultsSize; this._displayResults() }}; d.prototype._onInput=function(r){var q=this; q._cancelResults(); this._timeout=setTimeout(function(){q._displayResults() },b) }; d.prototype._onKeydown=function(r){var q=this; switch(r.keyCode){case j.TAB:if(q._resultsOpen()){r.preventDefault() }break; case j.ENTER:r.preventDefault(); if(q._resultsOpen()){var s=q._elements.results.querySelector(m.item.focused); if(s){s.click() }}break; case j.ESCAPE:q._cancelResults(); break; case j.ARROW_UP:if(q._resultsOpen()){r.preventDefault(); q._stepResultFocus(true) }break; case j.ARROW_DOWN:if(q._resultsOpen()){r.preventDefault(); q._stepResultFocus() }else{q._onInput() }break; default:return }}; d.prototype._onClearClick=function(q){q.preventDefault(); this._elements.input.value=""; h(this._elements.clear,false); h(this._elements.results,false) }; d.prototype._onDocumentClick=function(r){var s=this._elements.input.contains(r.target); var q=this._elements.results.contains(r.target); if(!(s||q)){h(this._elements.results,false) }}; d.prototype._resultsOpen=function(){return this._elements.results.style.display!=="none" }; d.prototype._makeAccessible=function(){var q=e+"-search-results-"+n; this._elements.input.setAttribute("aria-owns",q); this._elements.results.id=q; n++ }; d.prototype._generateItems=function(s,r){var q=this; s.forEach(function(u){var t=document.createElement("span"); t.innerHTML=q._elements.itemTemplate.innerHTML; t.querySelectorAll(m.item.title)[0].appendChild(document.createTextNode(u.title)); t.querySelectorAll(m.item.self)[0].setAttribute("href",u.url); r.innerHTML+=t.innerHTML }) }; d.prototype._markResults=function(){var s=this._elements.results.querySelectorAll(m.item.self); var r=this._elements.input.value.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"); var u=new RegExp("("+r+")","gi"); for(var t=this._resultsOffset-1; t0){if(!s){if(q<0){u[0].classList.add(v) }else{if(q+10){this._elements.results.scrollTop+=x }else{this._onScroll() }}}else{if(q>=1){u[q].classList.remove(v); u[q-1].classList.add(v) }r=this._elements.results.querySelector(m.item.focused); if(r){var t=this._elements.results.scrollTop-r.offsetTop; if(t>0){this._elements.results.scrollTop-=t }}}}}; d.prototype._updateResults=function(){var q=this; if(q._hasMoreResults){var s=new XMLHttpRequest(); var r=q._action+"?"+o(q._elements.form)+"&"+c+"="+q._resultsOffset; s.open("GET",r,true); s.onload=function(){setTimeout(function(){h(q._elements.loadingIndicator,false); h(q._elements.icon,true) },l); if(s.status>=200&&s.status<400){var t=JSON.parse(s.responseText); if(t.length>0){q._generateItems(t,q._elements.results); q._markResults(); h(q._elements.results,true) }else{q._hasMoreResults=false }if(q._elements.results.querySelectorAll(m.item.self).length%q._properties.resultsSize>0){q._hasMoreResults=false }}else{}}; h(q._elements.loadingIndicator,true); h(q._elements.icon,false); s.send() }}; d.prototype._cancelResults=function(){clearTimeout(this._timeout); this._elements.results.scrollTop=0; this._resultsOffset=0; this._hasMoreResults=true; this._elements.results.innerHTML="" }; d.prototype._cacheElements=function(v){this._elements={}; this._elements.self=v; var q=this._elements.self.querySelectorAll("[data-"+e+"-hook-"+p+"]"); for(var s=0; s0){x.forEach(function(y){if(y.querySelectorAll){var z=[].slice.call(y.querySelectorAll(m.self)); z.forEach(function(A){new d({element:A,options:a(A)}) }) }}) }}) }); r.observe(q,{subtree:true,childList:true,characterData:true}) }if(document.readyState!=="loading"){g() }else{document.addEventListener("DOMContentLoaded",g) }})(); (function(){var g="cmp"; var h="formText"; var e="form-text"; var d={self:"[data-"+g+'-is="'+h+'"]'}; var c={constraintMessage:{},requiredMessage:{}}; function b(m){var o=m.dataset; var k=[]; var p=h; p=p.charAt(0).toUpperCase()+p.slice(1); var j=["is","hook"+p]; for(var l in o){if(o.hasOwnProperty(l)){var n=o[l]; if(l.indexOf(g)===0){l=l.slice(g.length); l=l.charAt(0).toLowerCase()+l.substring(1); if(j.indexOf(l)===-1){k[l]=n }}}}return k }function a(j){if(j.element){j.element.removeAttribute("data-"+g+"-is") }this._cacheElements(j.element); this._setupProperties(j.options); this._elements.input.addEventListener("invalid",this._onInvalid.bind(this)); this._elements.input.addEventListener("input",this._onInput.bind(this)) }a.prototype._onInvalid=function(j){j.target.setCustomValidity(""); if(j.target.validity.typeMismatch){if(this._properties.constraintMessage){j.target.setCustomValidity(this._properties.constraintMessage) }}else{if(j.target.validity.valueMissing){if(this._properties.requiredMessage){j.target.setCustomValidity(this._properties.requiredMessage) }}}}; a.prototype._onInput=function(j){j.target.setCustomValidity("") }; a.prototype._cacheElements=function(o){this._elements={}; this._elements.self=o; var j=this._elements.self.querySelectorAll("[data-"+g+"-hook-"+e+"]"); for(var l=0; l0){q.forEach(function(r){if(r.querySelectorAll){var s=[].slice.call(r.querySelectorAll(d.self)); s.forEach(function(t){new a({element:t,options:b(t)}) }) }}) }}) }); k.observe(j,{subtree:true,childList:true,characterData:true}) }if(document.readyState!=="loading"){f() }else{document.addEventListener("DOMContentLoaded",f()) }})(); (function(){var d=9,q=38,p=40; var o=$("body"); var r=$(".header-container"); var b=r.find(".icon-nav-grid"); var a=r.find(".closer-container"); var s=a.find(".closer"); var c=r.find(".side-nav"); var j=c.find(".children"); var m=$(".main-nav"); var g=c.find("a"); var n=0; var k=0; Array.prototype.forEach.call(j,function(u){var t=$(u).prev(); t.on("click",function(v){$(u).toggleClass("hide"); $(t).find("a").toggleClass("colored"); v.preventDefault() }) }); b.on("click",h); s.on("click",h); $(window).on("scroll",e); $(window).keydown(f); function h(){c.toggleClass("show"); a.toggleClass("show"); o.toggleClass("hide-scroll") }function f(v){if(v.keyCode===d){h(); g.first().focus(); n=0; v.preventDefault() }else{if(v.keyCode===p&&nb?c.addClass("product-header--top"):c.removeClass("product-header--top"); b=e<=0?0:e }); a() }function a(){var f=d(".header-container"); if(f){var e=f.find(".main-nav"); if(e){e.css({"background-image":"linear-gradient(to bottom, black, rgba(0, 0, 0, 0.75))"}) }}}})(jQuery); (function(a){var b=a(".product-features"); b.each(function(c){var d=a(this).width(); var f=window.innerWidth; var e=d/f>0.66?"third":"half"; a(this).find(".product-features__item").each(function(g){a(this).addClass(e) }) }) })(jQuery); (function(){var b=[]; document.addEventListener("DOMContentLoaded",function(f){b=document.querySelectorAll(".fancy-fadeins > .category"); var e=document.getElementsByClassName("fancy-fadeins")[0]; if(!e){return }e.addEventListener("mouseover",function(g){e.classList.toggle("dim") }); e.addEventListener("mouseout",function(g){e.classList.toggle("dim") }); window.addEventListener("scroll",function(j){var k=window.innerHeight; for(var g=0; g0&&g!=e){for(i=0; ia?d:a }); c.forEach(function(d){b(d).height(a) }) })(jQuery); (function(b){var d=".spy-ruler__indicator"; var c=".sections-container"; var e=a(); b(window).on("jennairResize",function(){e=a(); b(window).scroll() }); b(window).scroll(function(){var j=b(this).scrollTop(); var g=j+window.innerHeight; var f=[]; e.forEach(function(l){if(l.top>=j&&l.top<=g){f.push({id:l.id,visibleHeight:g-l.top}) }else{if(l.bottom>=j&&l.bottom<=g){f.push({id:l.id,visibleHeight:l.bottom-j}) }else{if(l.top<=j&&l.bottom>=g){f.push({id:l.id,visibleHeight:window.innerHeight}) }}}}); f.sort(function(m,l){return l.visibleHeight-m.visibleHeight }); if(f.length==0){f.push(j>0?e[e.length-1]:e[0]) }var k=(f[0]||{}).id; var h="spy-ruler__indicator--active"; b(d).removeClass(h); b('a[href="#'+k+'"]').addClass(h) }); b(window).scroll(); b(d).on("click",function(j){j.preventDefault(); var f=b(this).attr("href"); var h; var g=0; for(g; g