mp-design-system 1.2.28 → 1.2.34

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. package/dist/build/js/app.js +1 -1
  2. package/dist/build/js/app.js.map +1 -1
  3. package/dist/build/scss/library.css +1 -1
  4. package/dist/build/scss/library.css.map +1 -1
  5. package/dist/build/scss/main.css +1 -1
  6. package/dist/build/scss/main.css.map +1 -1
  7. package/package.json +1 -1
  8. package/src/_includes/components/button/button.scss +1 -1
  9. package/src/_includes/components/card/card.njk +1 -1
  10. package/src/_includes/components/card/existing-customer-card.config.js +2 -2
  11. package/src/_includes/components/card/existing-customer-card.njk +7 -3
  12. package/src/_includes/components/card/industry-card.config.js +26 -3
  13. package/src/_includes/components/card/industry-card.njk +32 -6
  14. package/src/_includes/components/card/industry-card.scss +76 -6
  15. package/src/_includes/components/card/macro.njk +10 -2
  16. package/src/_includes/components/card/measurement-type-card.config.js +35 -0
  17. package/src/_includes/components/card/measurement-type-card.njk +35 -0
  18. package/src/_includes/components/card/measurement-type-card.scss +56 -0
  19. package/src/_includes/components/card/{product-comparison-card.config.js → product-card.config.js} +28 -27
  20. package/src/_includes/components/card/product-card.njk +50 -0
  21. package/src/_includes/components/card/product-card.scss +88 -0
  22. package/src/_includes/components/card/search-result-card.config.js +2 -2
  23. package/src/_includes/components/card/search-result-card.njk +9 -5
  24. package/src/_includes/components/card/search-result-card.scss +5 -1
  25. package/src/_includes/components/card/technology-card.config.js +35 -0
  26. package/src/_includes/components/card/technology-card.njk +35 -0
  27. package/src/_includes/components/card/technology-card.scss +56 -0
  28. package/src/_includes/components/eyebrow/eyebrow.scss +1 -1
  29. package/src/_includes/components/hero/hero.njk +18 -1
  30. package/src/_includes/components/hero/hero.scss +29 -1
  31. package/src/_includes/components/input/input.njk +1 -1
  32. package/src/_includes/components/internal-nav/internal-nav.scss +5 -4
  33. package/src/_includes/components/scroll-spy/scroll-spy.scss +1 -1
  34. package/src/_includes/components/signpost/signpost.config.js +21 -1
  35. package/src/_includes/components/signpost/signpost.njk +13 -3
  36. package/src/_includes/components/signpost/signpost.scss +39 -0
  37. package/src/_includes/components/tabs/tabs.scss +4 -0
  38. package/src/_includes/components/twi/twi.scss +5 -0
  39. package/src/_includes/navigation/corporate.njk +0 -3
  40. package/src/assets/js/imports/internal-nav.js +19 -1
  41. package/src/assets/js/imports/scroll-spy.js +10 -2
  42. package/src/assets/scss/components/index.scss +3 -1
  43. package/src/assets/scss/components/product-finder.scss +1 -1
  44. package/src/assets/scss/objects/grid.scss +12 -1
  45. package/src/assets/scss/tools/cutoff.scss +5 -1
  46. package/src/assets/scss/utilities/space.scss +6 -0
  47. package/src/brand/resources.njk +28 -23
  48. package/src/index.njk +1 -1
  49. package/src/prototype/events-hub.njk +524 -0
  50. package/src/prototype/index.njk +264 -180
  51. package/src/prototype/range.njk +5 -5
  52. package/src/prototype/sections.njk +6 -1
  53. package/src/static/pdf/Power of one Content guidance.pdf +0 -0
  54. package/src/static/svg/icon-globe-alt--white.svg +4 -0
  55. package/src/static/svg/icon-globe-alt.svg +4 -0
  56. package/src/static/svg/icon-live-webinars--white.svg +6 -0
  57. package/src/static/svg/icon-live-webinars.svg +6 -0
  58. package/src/static/svg/icon-recorded-webinars--white.svg +4 -0
  59. package/src/static/svg/icon-recorded-webinars.svg +4 -0
  60. package/src/static/svg/icon-user-training--white.svg +5 -0
  61. package/src/static/svg/icon-user-training.svg +5 -0
  62. package/src/_includes/components/card/product-comparison-card.njk +0 -37
  63. package/src/_includes/components/card/product-comparison-card.scss +0 -79
@@ -1,2 +1,2 @@
1
- (()=>{function e(e){e.addEventListener("click",(e=>{e.currentTarget.parentElement.classList.toggle("c-accordion__item--open")}))}var t=function(){Array.from(document.querySelectorAll(".c-accordion__title")).forEach(e)};var o=function(){let e=0;const t=document.querySelectorAll(".c-hero__image-bg"),o=document.querySelectorAll(".c-hero__image-fg");o.length>0&&setInterval((()=>{for(var n of t)n.style.opacity=0;for(var r of(e=e!=t.length-1?e+1:0,t[e].style.opacity=1,o))r.style.opacity=0;o[e].style.opacity=1}),5e3)};var n=function(){const e=document.getElementById("clearForm");e&&e.addEventListener("click",(function(){this.closest("form").elements.forEach((e=>{if(""!=e.value){if("text"==e.type.toLowerCase()||"email"==e.type.toLowerCase()||"tel"==e.type.toLowerCase()||"select-one"==e.type.toLowerCase()||"textarea"==e.type.toLowerCase())return void(e.value="");if("checkbox"==e.type.toLowerCase())return void(e.checked=!1)}}))}))};function r(e){const t=e.parentNode.parentNode,o=t.querySelector(".c-comparison-table tbody"),n=t.querySelector(".c-comparison-table thead"),r=t.parentElement.querySelector(".c-comparison-table__mobile");if(!o||!n||!r)return;const c=Array.from(n.children[0].children).filter(((e,t)=>t)).map((e=>({info:e.innerHTML}))),a=Array.from(n.children[1].children).filter(((e,t)=>t)).map((e=>({buttons:e.innerHTML}))),i=c.map(((e,t)=>({...e,...a[t],table:[]})));Array.from(o.children).forEach((e=>{if(e.classList.contains("c-comparison-table__title"))i.forEach((t=>{t.table.push({type:"title",title:e.children[0].textContent})}));else{const t=Array.from(e.children),o=t.shift();t.forEach(((e,t)=>{i[t].table.push({type:"row",key:o.textContent,value:e.innerHTML})}))}})),i.forEach((e=>{const t=function(e){const t=document.createElement("article");return t.innerHTML=`${e.info}${e.buttons}\n <table class="c-comparison-table">\n ${e.table.map((e=>"title"===e.type?`<tr class="c-comparison-table__title"><th><span>${e.title}</span></th><th></th></tr>`:`<tr>\n <td>${e.key}</td>\n <td>${e.value}</td>\n </tr>`)).join("")}\n </table>`,t}(e);r.appendChild(t)}))}var c=function(){document.querySelectorAll(".c-comparison-table").forEach(r)};var a=function(){const e=document.querySelectorAll(".c-gallery__main .c-gallery__slide"),t=document.querySelectorAll(".c-gallery__thumbnails .c-gallery__slide");function o(){const e=document.querySelector(".c-gallery__main").cloneNode(!0);e.classList.remove("c-gallery__main"),e.classList.add("c-lightbox"),e.querySelectorAll(".c-gallery__slide").forEach((function(e){if(e.classList.contains("c-gallery__video")&&e.remove(),!e.classList.contains("c-gallery__video")){var t=e.querySelector("img");""!=t.srcset&&t.removeAttribute("srcset");var o=t.getAttribute("src");o?-1!==o.indexOf("?")?t.setAttribute("src",o.split("?")[0]+"?quality=90&width=2176"):t.setAttribute("src",o+"?quality=90&width=2176"):(console.log(t),console.log("has no src defined..."))}e.classList.add("c-lightbox__slide"),e.classList.remove("c-gallery__slide")})),document.body.appendChild(e),e.insertAdjacentHTML("beforeend",'<a class="c-lightbox__prev"></a><a class="c-lightbox__next"></a>'),e.querySelector(".c-lightbox__prev").addEventListener("click",(function(){const t=e.querySelector(".active"),o=e.querySelector('[data-slide="'+(parseInt(t.dataset.slide)-1)+'"]');null!=o&&(t.classList.remove("active"),o.classList.add("active"))})),e.querySelector(".c-lightbox__next").addEventListener("click",(function(){const t=e.querySelector(".active"),o=e.querySelector('[data-slide="'+(parseInt(t.dataset.slide)+1)+'"]');null!=o&&(t.classList.remove("active"),o.classList.add("active"))})),e.addEventListener("click",(function(t){t.target===t.currentTarget&&e.remove()}))}t.forEach((o=>o.addEventListener("click",(function(n){t.forEach((function(e){e!=n.target.parentNode&&e.classList.remove("active")})),n.target.parentNode.classList.add("active"),e.forEach((function(e){e.dataset.slide==o.dataset.slide?e.classList.add("active"):e.classList.remove("active")}))})))),e.forEach((function(e){e.classList.contains("c-gallery__video")||e.addEventListener("click",o)}))};const i=(e,t,o)=>((e,t=0,o=1)=>Math.min(o,Math.max(t,e)))((o-e)/(t-e));var s=function(){let e=0;const t=document.querySelector(".c-hero__canvas");if(!t)return;const o=t.getContext("2d"),n=!window.matchMedia("(prefers-reduced-motion: no-preference)").matches,r=147,c=.25;let a,s,l,d,f,u=[];function h(){a=t.scrollWidth,s=t.scrollHeight,o.canvas.width=a,o.canvas.height=s,l=Math.ceil(a/r),d=Math.ceil(s/r),f=(l+1)*(d+1);const e=function(e){const t=[...e];for(let e=t.length-1;e>0;e--){let o=Math.floor(Math.random()*(e+1));[t[e],t[o]]=[t[o],t[e]]}return t}(Array.from({length:f},((e,t)=>t)));u=[];for(let t=0;t<=l;t++)for(let o=0;o<=d;o++)u.push({counter:e.shift(),direction:Math.random()>.5?c:-.25,x:r*(t+1)-147,y:r*(o+1)-73.5})}window.addEventListener("resize",h),h(),function r(){e+=.005,o.clearRect(0,0,t.width,t.height),o.beginPath();for(let n=t.width;n>0;n--)o.lineTo(n,.5*t.height-Math.cos(e+n/5*.03)*(.3*s));o.lineWidth=.5,o.strokeStyle="rgb(19,170,19)",o.stroke(),u.forEach((e=>{var t,n,r,a,s,l,d,f;t=e.x,n=e.y,a=0,s=u.length,l=0,d=.5,f=e.counter,r=((e,t,o)=>e*(1-o)+t*o)(l,d,i(a,s,f)),o.beginPath(),o.moveTo(t-14,n),o.lineTo(t+14,n),o.strokeStyle=`rgba(255, 255, 255, ${r}`,o.moveTo(t,n-14),o.lineTo(t,n+14),o.stroke(),e.counter+=e.direction,e.counter>=u.length&&(e.direction=-.25),e.counter<0&&(e.direction=c)})),n||window.requestAnimationFrame(r)}()};var l=function(){document.addEventListener("DOMContentLoaded",(()=>{const e=document.getElementById("videoBackground");if(void 0!==e&&null!=e){const o=window.matchMedia("(prefers-reduced-motion: reduce)");o&&!o.matches||e.pause();const n=document.getElementById("playVideo"),r=document.getElementById("lightboxVideo"),c=r.querySelector(".c-lightbox__video");function t(){r.classList.contains("u-hidden")?(e.paused&&e.play(),c.paused||c.pause()):e.paused||e.pause()}n.addEventListener("click",(o=>{e.pause(),r.classList.remove("u-hidden"),t()})),r.addEventListener("click",(o=>{o.target.classList.contains("c-lightbox__video")||(e.setAttribute("autoplay",""),r.classList.add("u-hidden"),t())})),window.addEventListener("keydown",(function(o){"Escape"==o.key&&(e.setAttribute("autoplay",""),r.classList.add("u-hidden"),t())}))}}))};var d=function(){const e=document.querySelector(".c-internal-nav.u-sticky");if(!e)return;new IntersectionObserver(((t,o)=>{const n=t[0].isIntersecting;e.classList.toggle("c-internal-nav--stuck",!n)}),{root:null,rootMargin:"0px",threshold:1}).observe(e)};function f(e){const t=e.getBoundingClientRect(),o=window.getComputedStyle(e);return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&t.right<=(window.innerWidth||document.documentElement.clientWidth)&&"none"!==o.display&&"hidden"!==o.visibility}function u(e,t){const o=document.getElementById(e.getAttribute("data-target"));!0===t?function(e){e.classList.add("c-off-canvas"),e.setAttribute("tabindex","-1"),e.setAttribute("aria-hidden","true");const t=e.querySelector('[data-off-canvas="header"]'),o=e.querySelector('[data-off-canvas="main"]'),n=e.querySelector('[data-off-canvas="footer"]'),r=null!==t?t.outerHTML:"",c=null!==o?o.outerHTML:"",a=null!==n?n.outerHTML:"";e.innerHTML=`\n <div class="c-off-canvas__backdrop" role="presentation"></div>\n <div class="c-off-canvas__content" role="dialog" aria-modal="true" aria-labelledby="offCanvasHeader">\n <header id="offCanvasHeader" class="c-off-canvas__header">${r}</header>\n <main class="c-off-canvas__main">${c}</main>\n <footer class="c-off-canvas__footer">\n ${a}\n <button class="mp c-twi c-twi--left c-off-canvas__close" data-off-canvas-close="true" onclick="return false">\n <span>Cancel</span>\n <svg role="img" aria-hidden="true" focusable="false" class="mp c-icon c-icon--cross">\n <use xlink:href="/static/svg/sprite.svg#cross"></use>\n </svg>\n </button>\n </footer>\n </div>\n `}(o):function(e){e.classList.remove("c-off-canvas","c-off-canvas--active"),e.removeAttribute("tabindex"),e.removeAttribute("aria-hidden");const t=e.querySelector(".c-off-canvas__backdrop");t&&t.remove();const o=e.querySelector(".c-off-canvas__content");if(o){for(;o.firstChild;)e.insertBefore(o.firstChild,o);e.removeChild(o)}const n=e.querySelector(".c-off-canvas__header");if(n){for(;n.firstChild;)e.insertBefore(n.firstChild,n);e.removeChild(n)}const r=e.querySelector(".c-off-canvas__main");if(r){for(;r.firstChild;)e.insertBefore(r.firstChild,r);e.removeChild(r)}const c=e.querySelector(".c-off-canvas__footer");if(c){for(;c.firstChild;)e.insertBefore(c.firstChild,c);e.removeChild(c)}const a=e.querySelector(".c-off-canvas__close");a&&a.remove()}(o)}function h(e){document.querySelector('[data-target="'+e.id+'"').setAttribute("aria-expanded","false"),e.classList.remove("c-off-canvas--active"),e.setAttribute("aria-hidden","true"),document.body.style.overflowY=""}function v(){h(this.closest(".c-off-canvas"))}function m(e){if("Escape"===e.key){const e=document.querySelector(".c-off-canvas--active");e&&h(e)}}function y(){h(this.closest(".c-off-canvas"))}var p=function(){const e=document.querySelectorAll(".c-off-canvas__toggle");e.length&&(e.forEach((e=>{u(e,f(e)),e.addEventListener("click",(()=>function(e){const t=document.getElementById(e.getAttribute("data-target"));t.classList.contains("c-off-canvas--active")?t.classList.contains("c-off-canvas--active")&&h(t):function(e,t){e.setAttribute("aria-expanded","true"),t.classList.add("c-off-canvas--active"),t.setAttribute("aria-hidden","false");const o=t.querySelector(".c-off-canvas__backdrop");o&&o.addEventListener("click",v);const n=t.querySelectorAll('[data-off-canvas-close="true"]');n.length>0&&n.forEach((e=>{e.addEventListener("click",y)}));document.addEventListener("keydown",m,{once:!0}),document.body.style.overflowY="hidden";const r=Array.from(document.querySelectorAll(".c-off-canvas")).filter((e=>e!==t));r.length>0&&r.forEach((e=>{h(e)}))}(e,t)}(e)))})),window.addEventListener("resize",(()=>{e.forEach((e=>{u(e,f(e))}))})))};var g=()=>{Array.from(document.querySelectorAll(".c-table--responsive")).forEach((function(e){const t=e.querySelectorAll("thead > :first-child th"),o=Number(e.getAttribute("data-columns"))||2;if(t.length<o)return void e.classList.remove("c-table--responsive");Array.from(e.querySelectorAll("tbody tr")).forEach((e=>{Array.from(t).map((e=>e.textContent)).forEach(((t,o)=>{e.children[o]&&e.children[o].setAttribute("data-responsive-title",t)}))}))}))};function b(){document.documentElement.style.setProperty("--scrollbarWidth",window.innerWidth-document.body.clientWidth+"px")}var _=function(){b(),window.addEventListener("resize",((e,t)=>{let o=!1;return()=>{o||(e(),o=!0,setTimeout((()=>o=!1),t))}})(b,250))};function L(e){const t=Array.from(e.querySelectorAll("a")),o=new IntersectionObserver(function(e){return t=>{const o=t.find((e=>e.isIntersecting));o&&e.forEach((e=>{e.classList.toggle("c-scroll-spy-active",e.getAttribute("href")==="#"+o.target.id)}))}}(t));t.forEach((e=>{const t=e.getAttribute("href").replace("#",""),n=document.getElementById(t);n&&o.observe(n)}))}var E=function(){Array.from(document.querySelectorAll(".c-scroll-spy")).forEach(L)};function A(e){const t=Array.from(e.querySelectorAll(".c-tabs__control")),o=Array.from(e.querySelectorAll(".c-tab")),n=e.classList.contains("c-tabs--persist");if(t.length&&o.length&&(t.forEach((e=>{e.addEventListener("click",function(e,t,o){return n=>{const r=n.currentTarget,c=t.find((e=>e.id===r.getAttribute("href").replace("#","")));if(!c)return!0;n.preventDefault(),o&&history.pushState(null,null,r.getAttribute("href")),e.forEach((e=>e.classList.toggle("c-tabs__control--active",e===r))),t.forEach((e=>{const t=e===c;if(e.classList.toggle("c-tab--active",t),!o)if(t){e.setAttribute("tabIndex",-1);const t=window.scrollY;e.focus(),window.scrollTo({behavior:"auto",top:t})}else e.removeAttribute("tabIndex")}))}}(t,o,n))})),n&&window.location.hash)){const t=e.querySelector('[href="'+window.location.hash+'"]');t&&t.dispatchEvent(new Event("click"))}}var w=function(){Array.from(document.querySelectorAll(".c-tabs--anchor")).forEach(A)};window.NodeList&&!NodeList.prototype.forEach&&(NodeList.prototype.forEach=Array.prototype.forEach),window.HTMLCollection&&!HTMLCollection.prototype.forEach&&(HTMLCollection.prototype.forEach=Array.prototype.forEach),t(),o(),n(),c(),a(),s(),l(),d(),p(),g(),_(),E(),w()})();
1
+ (()=>{function e(e){e.addEventListener("click",(e=>{e.currentTarget.parentElement.classList.toggle("c-accordion__item--open")}))}var t=function(){Array.from(document.querySelectorAll(".c-accordion__title")).forEach(e)};var o=function(){let e=0;const t=document.querySelectorAll(".c-hero__image-bg"),o=document.querySelectorAll(".c-hero__image-fg");o.length>0&&setInterval((()=>{for(var n of t)n.style.opacity=0;for(var r of(e=e!=t.length-1?e+1:0,t[e].style.opacity=1,o))r.style.opacity=0;o[e].style.opacity=1}),5e3)};var n=function(){const e=document.getElementById("clearForm");e&&e.addEventListener("click",(function(){this.closest("form").elements.forEach((e=>{if(""!=e.value){if("text"==e.type.toLowerCase()||"email"==e.type.toLowerCase()||"tel"==e.type.toLowerCase()||"select-one"==e.type.toLowerCase()||"textarea"==e.type.toLowerCase())return void(e.value="");if("checkbox"==e.type.toLowerCase())return void(e.checked=!1)}}))}))};function r(e){const t=e.parentNode.parentNode,o=t.querySelector(".c-comparison-table tbody"),n=t.querySelector(".c-comparison-table thead"),r=t.parentElement.querySelector(".c-comparison-table__mobile");if(!o||!n||!r)return;const c=Array.from(n.children[0].children).filter(((e,t)=>t)).map((e=>({info:e.innerHTML}))),a=Array.from(n.children[1].children).filter(((e,t)=>t)).map((e=>({buttons:e.innerHTML}))),i=c.map(((e,t)=>({...e,...a[t],table:[]})));Array.from(o.children).forEach((e=>{if(e.classList.contains("c-comparison-table__title"))i.forEach((t=>{t.table.push({type:"title",title:e.children[0].textContent})}));else{const t=Array.from(e.children),o=t.shift();t.forEach(((e,t)=>{i[t].table.push({type:"row",key:o.textContent,value:e.innerHTML})}))}})),i.forEach((e=>{const t=function(e){const t=document.createElement("article");return t.innerHTML=`${e.info}${e.buttons}\n <table class="c-comparison-table">\n ${e.table.map((e=>"title"===e.type?`<tr class="c-comparison-table__title"><th><span>${e.title}</span></th><th></th></tr>`:`<tr>\n <td>${e.key}</td>\n <td>${e.value}</td>\n </tr>`)).join("")}\n </table>`,t}(e);r.appendChild(t)}))}var c=function(){document.querySelectorAll(".c-comparison-table").forEach(r)};var a=function(){const e=document.querySelectorAll(".c-gallery__main .c-gallery__slide"),t=document.querySelectorAll(".c-gallery__thumbnails .c-gallery__slide");function o(){const e=document.querySelector(".c-gallery__main").cloneNode(!0);e.classList.remove("c-gallery__main"),e.classList.add("c-lightbox"),e.querySelectorAll(".c-gallery__slide").forEach((function(e){if(e.classList.contains("c-gallery__video")&&e.remove(),!e.classList.contains("c-gallery__video")){var t=e.querySelector("img");""!=t.srcset&&t.removeAttribute("srcset");var o=t.getAttribute("src");o?-1!==o.indexOf("?")?t.setAttribute("src",o.split("?")[0]+"?quality=90&width=2176"):t.setAttribute("src",o+"?quality=90&width=2176"):(console.log(t),console.log("has no src defined..."))}e.classList.add("c-lightbox__slide"),e.classList.remove("c-gallery__slide")})),document.body.appendChild(e),e.insertAdjacentHTML("beforeend",'<a class="c-lightbox__prev"></a><a class="c-lightbox__next"></a>'),e.querySelector(".c-lightbox__prev").addEventListener("click",(function(){const t=e.querySelector(".active"),o=e.querySelector('[data-slide="'+(parseInt(t.dataset.slide)-1)+'"]');null!=o&&(t.classList.remove("active"),o.classList.add("active"))})),e.querySelector(".c-lightbox__next").addEventListener("click",(function(){const t=e.querySelector(".active"),o=e.querySelector('[data-slide="'+(parseInt(t.dataset.slide)+1)+'"]');null!=o&&(t.classList.remove("active"),o.classList.add("active"))})),e.addEventListener("click",(function(t){t.target===t.currentTarget&&e.remove()}))}t.forEach((o=>o.addEventListener("click",(function(n){t.forEach((function(e){e!=n.target.parentNode&&e.classList.remove("active")})),n.target.parentNode.classList.add("active"),e.forEach((function(e){e.dataset.slide==o.dataset.slide?e.classList.add("active"):e.classList.remove("active")}))})))),e.forEach((function(e){e.classList.contains("c-gallery__video")||e.addEventListener("click",o)}))};const i=(e,t,o)=>((e,t=0,o=1)=>Math.min(o,Math.max(t,e)))((o-e)/(t-e));var s=function(){let e=0;const t=document.querySelector(".c-hero__canvas");if(!t)return;const o=t.getContext("2d"),n=!window.matchMedia("(prefers-reduced-motion: no-preference)").matches,r=147,c=.25;let a,s,l,d,f,u=[];function h(){a=t.scrollWidth,s=t.scrollHeight,o.canvas.width=a,o.canvas.height=s,l=Math.ceil(a/r),d=Math.ceil(s/r),f=(l+1)*(d+1);const e=function(e){const t=[...e];for(let e=t.length-1;e>0;e--){let o=Math.floor(Math.random()*(e+1));[t[e],t[o]]=[t[o],t[e]]}return t}(Array.from({length:f},((e,t)=>t)));u=[];for(let t=0;t<=l;t++)for(let o=0;o<=d;o++)u.push({counter:e.shift(),direction:Math.random()>.5?c:-.25,x:r*(t+1)-147,y:r*(o+1)-73.5})}window.addEventListener("resize",h),h(),function r(){e+=.005,o.clearRect(0,0,t.width,t.height),o.beginPath();for(let n=t.width;n>0;n--)o.lineTo(n,.5*t.height-Math.cos(e+n/5*.03)*(.3*s));o.lineWidth=.5,o.strokeStyle="rgb(19,170,19)",o.stroke(),u.forEach((e=>{var t,n,r,a,s,l,d,f;t=e.x,n=e.y,a=0,s=u.length,l=0,d=.5,f=e.counter,r=((e,t,o)=>e*(1-o)+t*o)(l,d,i(a,s,f)),o.beginPath(),o.moveTo(t-14,n),o.lineTo(t+14,n),o.strokeStyle=`rgba(255, 255, 255, ${r}`,o.moveTo(t,n-14),o.lineTo(t,n+14),o.stroke(),e.counter+=e.direction,e.counter>=u.length&&(e.direction=-.25),e.counter<0&&(e.direction=c)})),n||window.requestAnimationFrame(r)}()};var l=function(){document.addEventListener("DOMContentLoaded",(()=>{const e=document.getElementById("videoBackground");if(void 0!==e&&null!=e){const o=window.matchMedia("(prefers-reduced-motion: reduce)");o&&!o.matches||e.pause();const n=document.getElementById("playVideo"),r=document.getElementById("lightboxVideo"),c=r.querySelector(".c-lightbox__video");function t(){r.classList.contains("u-hidden")?(e.paused&&e.play(),c.paused||c.pause()):e.paused||e.pause()}n.addEventListener("click",(o=>{e.pause(),r.classList.remove("u-hidden"),t()})),r.addEventListener("click",(o=>{o.target.classList.contains("c-lightbox__video")||(e.setAttribute("autoplay",""),r.classList.add("u-hidden"),t())})),window.addEventListener("keydown",(function(o){"Escape"==o.key&&(e.setAttribute("autoplay",""),r.classList.add("u-hidden"),t())}))}}))};var d=function(){const e=document.querySelector(".c-internal-nav--sticky");if(!e)return;new IntersectionObserver(((t,o)=>{const n=t[0].isIntersecting;e.classList.toggle("c-internal-nav--stuck",!n)}),{root:null,rootMargin:"0px",threshold:1}).observe(e);let t=e.offsetHeight;const o=()=>{t=e.offsetHeight;Array.from(e.querySelectorAll("a")).forEach((e=>{const o=e.getAttribute("href").replace("#",""),n=document.getElementById(o);n&&(n.style.scrollMarginTop=`${t}px`)}))};window.addEventListener("resize",o),o()};function f(e){const t=e.getBoundingClientRect(),o=window.getComputedStyle(e);return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&t.right<=(window.innerWidth||document.documentElement.clientWidth)&&"none"!==o.display&&"hidden"!==o.visibility}function u(e,t){const o=document.getElementById(e.getAttribute("data-target"));!0===t?function(e){e.classList.add("c-off-canvas"),e.setAttribute("tabindex","-1"),e.setAttribute("aria-hidden","true");const t=e.querySelector('[data-off-canvas="header"]'),o=e.querySelector('[data-off-canvas="main"]'),n=e.querySelector('[data-off-canvas="footer"]'),r=null!==t?t.outerHTML:"",c=null!==o?o.outerHTML:"",a=null!==n?n.outerHTML:"";e.innerHTML=`\n <div class="c-off-canvas__backdrop" role="presentation"></div>\n <div class="c-off-canvas__content" role="dialog" aria-modal="true" aria-labelledby="offCanvasHeader">\n <header id="offCanvasHeader" class="c-off-canvas__header">${r}</header>\n <main class="c-off-canvas__main">${c}</main>\n <footer class="c-off-canvas__footer">\n ${a}\n <button class="mp c-twi c-twi--left c-off-canvas__close" data-off-canvas-close="true" onclick="return false">\n <span>Cancel</span>\n <svg role="img" aria-hidden="true" focusable="false" class="mp c-icon c-icon--cross">\n <use xlink:href="/static/svg/sprite.svg#cross"></use>\n </svg>\n </button>\n </footer>\n </div>\n `}(o):function(e){e.classList.remove("c-off-canvas","c-off-canvas--active"),e.removeAttribute("tabindex"),e.removeAttribute("aria-hidden");const t=e.querySelector(".c-off-canvas__backdrop");t&&t.remove();const o=e.querySelector(".c-off-canvas__content");if(o){for(;o.firstChild;)e.insertBefore(o.firstChild,o);e.removeChild(o)}const n=e.querySelector(".c-off-canvas__header");if(n){for(;n.firstChild;)e.insertBefore(n.firstChild,n);e.removeChild(n)}const r=e.querySelector(".c-off-canvas__main");if(r){for(;r.firstChild;)e.insertBefore(r.firstChild,r);e.removeChild(r)}const c=e.querySelector(".c-off-canvas__footer");if(c){for(;c.firstChild;)e.insertBefore(c.firstChild,c);e.removeChild(c)}const a=e.querySelector(".c-off-canvas__close");a&&a.remove()}(o)}function h(e){document.querySelector('[data-target="'+e.id+'"').setAttribute("aria-expanded","false"),e.classList.remove("c-off-canvas--active"),e.setAttribute("aria-hidden","true"),document.body.style.overflowY=""}function v(){h(this.closest(".c-off-canvas"))}function m(e){if("Escape"===e.key){const e=document.querySelector(".c-off-canvas--active");e&&h(e)}}function y(){h(this.closest(".c-off-canvas"))}var p=function(){const e=document.querySelectorAll(".c-off-canvas__toggle");e.length&&(e.forEach((e=>{u(e,f(e)),e.addEventListener("click",(()=>function(e){const t=document.getElementById(e.getAttribute("data-target"));t.classList.contains("c-off-canvas--active")?t.classList.contains("c-off-canvas--active")&&h(t):function(e,t){e.setAttribute("aria-expanded","true"),t.classList.add("c-off-canvas--active"),t.setAttribute("aria-hidden","false");const o=t.querySelector(".c-off-canvas__backdrop");o&&o.addEventListener("click",v);const n=t.querySelectorAll('[data-off-canvas-close="true"]');n.length>0&&n.forEach((e=>{e.addEventListener("click",y)}));document.addEventListener("keydown",m,{once:!0}),document.body.style.overflowY="hidden";const r=Array.from(document.querySelectorAll(".c-off-canvas")).filter((e=>e!==t));r.length>0&&r.forEach((e=>{h(e)}))}(e,t)}(e)))})),window.addEventListener("resize",(()=>{e.forEach((e=>{u(e,f(e))}))})))};var g=()=>{Array.from(document.querySelectorAll(".c-table--responsive")).forEach((function(e){const t=e.querySelectorAll("thead > :first-child th"),o=Number(e.getAttribute("data-columns"))||2;if(t.length<o)return void e.classList.remove("c-table--responsive");Array.from(e.querySelectorAll("tbody tr")).forEach((e=>{Array.from(t).map((e=>e.textContent)).forEach(((t,o)=>{e.children[o]&&e.children[o].setAttribute("data-responsive-title",t)}))}))}))};function b(){document.documentElement.style.setProperty("--scrollbarWidth",window.innerWidth-document.body.clientWidth+"px")}var _=function(){b(),window.addEventListener("resize",((e,t)=>{let o=!1;return()=>{o||(e(),o=!0,setTimeout((()=>o=!1),t))}})(b,250))};var L=function(){const e=document.querySelector(".c-internal-nav"),t=e?e.offsetHeight:0;Array.from(document.querySelectorAll(".c-scroll-spy")).forEach((e=>{!function(e,t){const o=Array.from(e.querySelectorAll("a")),n=new IntersectionObserver(function(e){return t=>{const o=t.find((e=>e.isIntersecting));o&&e.forEach((e=>{e.classList.toggle("c-scroll-spy-active",e.getAttribute("href")==="#"+o.target.id)}))}}(o));o.forEach((e=>{const t=e.getAttribute("href").replace("#",""),o=document.getElementById(t);o&&n.observe(o)}));const r=parseFloat(window.getComputedStyle(e).top);e.style.top=`${r+t}px`}(e,t)}))};function E(e){const t=Array.from(e.querySelectorAll(".c-tabs__control")),o=Array.from(e.querySelectorAll(".c-tab")),n=e.classList.contains("c-tabs--persist");if(t.length&&o.length&&(t.forEach((e=>{e.addEventListener("click",function(e,t,o){return n=>{const r=n.currentTarget,c=t.find((e=>e.id===r.getAttribute("href").replace("#","")));if(!c)return!0;n.preventDefault(),o&&history.pushState(null,null,r.getAttribute("href")),e.forEach((e=>e.classList.toggle("c-tabs__control--active",e===r))),t.forEach((e=>{const t=e===c;if(e.classList.toggle("c-tab--active",t),!o)if(t){e.setAttribute("tabIndex",-1);const t=window.scrollY;e.focus(),window.scrollTo({behavior:"auto",top:t})}else e.removeAttribute("tabIndex")}))}}(t,o,n))})),n&&window.location.hash)){const t=e.querySelector('[href="'+window.location.hash+'"]');t&&t.dispatchEvent(new Event("click"))}}var A=function(){Array.from(document.querySelectorAll(".c-tabs--anchor")).forEach(E)};window.NodeList&&!NodeList.prototype.forEach&&(NodeList.prototype.forEach=Array.prototype.forEach),window.HTMLCollection&&!HTMLCollection.prototype.forEach&&(HTMLCollection.prototype.forEach=Array.prototype.forEach),t(),o(),n(),c(),a(),s(),l(),d(),p(),g(),_(),L(),A()})();
2
2
  //# sourceMappingURL=app.js.map
@@ -1 +1 @@
1
- {"mappings":"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","sources":["src/assets/js/imports/accordion.js","src/assets/js/imports/carousel.js","src/assets/js/imports/clear-form.js","src/assets/js/imports/comparison.js","src/assets/js/imports/gallery.js","src/assets/js/imports/utilities.js","src/assets/js/imports/hero-pattern.js","src/assets/js/imports/hero-video.js","src/assets/js/imports/internal-nav.js","src/assets/js/imports/off-canvas.js","src/assets/js/imports/responsive-table.js","src/assets/js/imports/scrollbar-width.js","src/assets/js/imports/scroll-spy.js","src/assets/js/imports/tabs.js","src/assets/js/app.js"],"sourcesContent":["function Accordion() {\r\n const accordions = Array.from(document.querySelectorAll('.c-accordion__title'));\r\n accordions.forEach(setupAccordions);\r\n}\r\n\r\nfunction setupAccordions(title) {\r\n title.addEventListener('click', titleClick())\r\n}\r\n\r\nfunction titleClick() {\r\n return (event) => {\r\n var item = event.currentTarget.parentElement;\r\n item.classList.toggle('c-accordion__item--open');\r\n }\r\n}\r\n\r\nexport default Accordion;\r\n","function Carousel() {\r\n let current = 0;\r\n const bgSlides = document.querySelectorAll('.c-hero__image-bg');\r\n const fgSlides = document.querySelectorAll('.c-hero__image-fg');\r\n\r\n if(fgSlides.length > 0) {\r\n setInterval(() => {\r\n for (var bgSlide of bgSlides) {\r\n bgSlide.style.opacity = 0;\r\n }\r\n current = (current != bgSlides.length - 1) ? current + 1 : 0;\r\n bgSlides[current].style.opacity = 1;\r\n \r\n for (var fgSlide of fgSlides) {\r\n fgSlide.style.opacity = 0;\r\n }\r\n fgSlides[current].style.opacity = 1;\r\n }, 5000);\r\n }\r\n}\r\n\r\nexport default Carousel;","function ClearForm() {\r\n const formClear = document.getElementById('clearForm');\r\n if (formClear) {\r\n formClear.addEventListener('click', function () {\r\n const fields = this.closest('form').elements;\r\n fields.forEach(field => {\r\n if (field.value != '') {\r\n if (\r\n field.type.toLowerCase() == 'text' || \r\n field.type.toLowerCase() == 'email' || \r\n field.type.toLowerCase() == 'tel' || \r\n field.type.toLowerCase() == 'select-one' || \r\n field.type.toLowerCase() == 'textarea'\r\n ) {\r\n field.value = '';\r\n return;\r\n } else if (field.type.toLowerCase() == 'checkbox') {\r\n field.checked = false;\r\n return;\r\n }\r\n }\r\n });\r\n });\r\n };\r\n}\r\n\r\nexport default ClearForm;","function Comparison() {\r\n document.querySelectorAll('.c-comparison-table').forEach(extractMobileComparison)\r\n}\r\n\r\nfunction extractMobileComparison(container) {\r\n const parent = container.parentNode.parentNode;\r\n const body = parent.querySelector('.c-comparison-table tbody');\r\n const head = parent.querySelector('.c-comparison-table thead');\r\n const mobile = parent.parentElement.querySelector('.c-comparison-table__mobile');\r\n\r\n if (!body || !head || !mobile) return;\r\n\r\n // Remove empty corner piece \r\n const productsInfo = Array.from(head.children[0].children).filter((x, i) => i).map(x => ({ info: x.innerHTML }));\r\n const productsButtons = Array.from(head.children[1].children).filter((x, i) => i).map(x => ({ buttons: x.innerHTML }));\r\n const products = productsInfo.map((info, index) => ({ ...info, ...productsButtons[index], table: [] }));\r\n\r\n Array.from(body.children).forEach(row => {\r\n // For table row headers, push to all products\r\n if (row.classList.contains('c-comparison-table__title')) {\r\n products.forEach(x => {\r\n x.table.push({ type: 'title', title: row.children[0].textContent })\r\n })\r\n } else {\r\n // For all others, loop the cells and push to their appropriate parent\r\n const cells = Array.from(row.children);\r\n const firstCell = cells.shift();\r\n\r\n cells.forEach((el, index) => {\r\n products[index].table.push({\r\n type: 'row',\r\n key: firstCell.textContent,\r\n value: el.innerHTML\r\n })\r\n })\r\n }\r\n })\r\n\r\n products.forEach(product => {\r\n const el = createMobileProduct(product);\r\n mobile.appendChild(el)\r\n })\r\n}\r\n\r\nfunction createMobileProduct(product) {\r\n const parent = document.createElement('article');\r\n parent.innerHTML = `${product.info}${product.buttons}\r\n <table class=\"c-comparison-table\">\r\n ${product.table.map(x => {\r\n if (x.type === 'title') {\r\n return `<tr class=\"c-comparison-table__title\"><th><span>${x.title}</span></th><th></th></tr>`;\r\n } else {\r\n return `<tr>\r\n <td>${x.key}</td>\r\n <td>${x.value}</td>\r\n </tr>`;\r\n }\r\n }).join('')}\r\n </table>`;\r\n\r\n return parent;\r\n}\r\n\r\nexport default Comparison;\r\n","function Gallery() {\r\n const mainSlides = document.querySelectorAll('.c-gallery__main .c-gallery__slide');\r\n const thumbnailSlides = document.querySelectorAll('.c-gallery__thumbnails .c-gallery__slide');\r\n\r\n thumbnailSlides.forEach(thumbnailSlide => thumbnailSlide.addEventListener('click', function(e) {\r\n thumbnailSlides.forEach(function(thumbnail) {\r\n if(thumbnail != e.target.parentNode) {\r\n thumbnail.classList.remove('active');\r\n }\r\n });\r\n e.target.parentNode.classList.add('active');\r\n\r\n mainSlides.forEach(function(mainSlide) {\r\n if(mainSlide.dataset.slide == thumbnailSlide.dataset.slide) {\r\n mainSlide.classList.add('active');\r\n } else {\r\n mainSlide.classList.remove('active');\r\n }\r\n });\r\n }));\r\n\r\n mainSlides.forEach(function(mainSlide) {\r\n if(!mainSlide.classList.contains('c-gallery__video')) {\r\n mainSlide.addEventListener('click', lightboxTrigger);\r\n }\r\n });\r\n\r\n function lightboxTrigger() {\r\n const lightbox = document.querySelector('.c-gallery__main').cloneNode(true);\r\n lightbox.classList.remove('c-gallery__main');\r\n lightbox.classList.add('c-lightbox');\r\n lightbox.querySelectorAll('.c-gallery__slide').forEach(function(slide) {\r\n if(slide.classList.contains('c-gallery__video')) {\r\n slide.remove();\r\n }\r\n if(!slide.classList.contains('c-gallery__video')) {\r\n var slideImg = slide.querySelector('img');\r\n if(slideImg.srcset != '') {\r\n slideImg.removeAttribute('srcset');\r\n }\r\n var slideImgSrc = slideImg.getAttribute('src');\r\n if (slideImgSrc) {\r\n if (slideImgSrc.indexOf('?') !== -1) {\r\n slideImg.setAttribute('src', slideImgSrc.split(\"?\")[0] + '?quality=90&width=2176');\r\n } else {\r\n slideImg.setAttribute('src', slideImgSrc + '?quality=90&width=2176');\r\n }\r\n } else {\r\n console.log(slideImg);\r\n console.log('has no src defined...');\r\n }\r\n }\r\n slide.classList.add('c-lightbox__slide');\r\n slide.classList.remove('c-gallery__slide');\r\n });\r\n document.body.appendChild(lightbox);\r\n lightbox.insertAdjacentHTML('beforeend', '<a class=\"c-lightbox__prev\"></a><a class=\"c-lightbox__next\"></a>');\r\n\r\n lightbox.querySelector('.c-lightbox__prev').addEventListener('click', function() {\r\n const lightboxActive = lightbox.querySelector('.active');\r\n const prevImage = lightbox.querySelector('[data-slide=\"' + (parseInt(lightboxActive.dataset.slide) - 1) + '\"]');\r\n if(prevImage != null) {\r\n lightboxActive.classList.remove('active');\r\n prevImage.classList.add('active');\r\n }\r\n });\r\n\r\n lightbox.querySelector('.c-lightbox__next').addEventListener('click', function() {\r\n const lightboxActive = lightbox.querySelector('.active');\r\n const nextImage = lightbox.querySelector('[data-slide=\"' + (parseInt(lightboxActive.dataset.slide) + 1) + '\"]');\r\n if(nextImage != null) {\r\n lightboxActive.classList.remove('active');\r\n nextImage.classList.add('active');\r\n }\r\n });\r\n\r\n lightbox.addEventListener('click', function(e) {\r\n if (e.target !== e.currentTarget) {\r\n return;\r\n } else {\r\n lightbox.remove();\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport default Gallery;\r\n","export function shuffle(array) {\r\n const arr = [...array];\r\n for (let i = arr.length - 1; i > 0; i--) {\r\n let j = Math.floor(Math.random() * (i + 1));\r\n [arr[i], arr[j]] = [arr[j], arr[i]];\r\n }\r\n\r\n return arr;\r\n}\r\n\r\nexport function userPrefersReducedMotion() {\r\n const QUERY = '(prefers-reduced-motion: no-preference)';\r\n const mediaQueryList = window.matchMedia(QUERY);\r\n const prefersReducedMotion = !mediaQueryList.matches;\r\n return prefersReducedMotion;\r\n}\r\n\r\nexport const debounce = (func, limit) => {\r\n let wait = false; \r\n return () => {\r\n if (wait) return;\r\n func();\r\n wait = true;\r\n setTimeout(() => wait = false, limit);\r\n }\r\n}\r\n\r\nexport const lerp = (x, y, a) => x * (1 - a) + y * a;\r\nexport const clamp = (a, min = 0, max = 1) => Math.min(max, Math.max(min, a));\r\nexport const invlerp = (x, y, a) => clamp((a - x) / (y - x));\r\nexport const range = (x1, y1, x2, y2, a) => lerp(x2, y2, invlerp(x1, y1, a));\r\n","import { range, shuffle, userPrefersReducedMotion } from './utilities';\r\n\r\nfunction HeroPattern() {\r\n let time = 0;\r\n\r\n const c = document.querySelector('.c-hero__canvas');\r\n if (!c) return;\r\n const ctx = c.getContext(\"2d\");\r\n \r\n const sineColour = \"rgb(19,170,19)\";\r\n const reduceMotion = userPrefersReducedMotion();\r\n\r\n const crossGap = 147;\r\n const minimumOpacity = 0;\r\n const maximumOpacity = 0.5;\r\n const crossSpeed = 0.25;\r\n\r\n let width;\r\n let height;\r\n let across;\r\n let down;\r\n let crosses = [];\r\n let totalPoints;\r\n\r\n function draw() {\r\n // Sine wave\r\n time = time + 0.005;\r\n \r\n ctx.clearRect(0, 0, c.width, c.height);\r\n ctx.beginPath();\r\n \r\n for(let cnt = c.width; cnt > 0; cnt--) {\r\n ctx.lineTo(cnt, c.height * 0.5 - (Math.cos(time + cnt / 5 * 0.03) * (height * 0.3) ));\r\n }\r\n \r\n ctx.lineWidth = 0.5;\r\n ctx.strokeStyle = sineColour;\r\n ctx.stroke();\r\n \r\n // Crosses\r\n crosses.forEach(cross => {\r\n drawCross(cross.x, cross.y, range(0, crosses.length, minimumOpacity, maximumOpacity, cross.counter));\r\n \r\n cross.counter += cross.direction;\r\n if (cross.counter >= crosses.length) cross.direction = -1 * crossSpeed;\r\n if (cross.counter < 0) cross.direction = crossSpeed;\r\n })\r\n \r\n if (!reduceMotion) {\r\n window.requestAnimationFrame(draw);\r\n }\r\n }\r\n \r\n function onResize() {\r\n width = c.scrollWidth;\r\n height = c.scrollHeight;\r\n \r\n ctx.canvas.width = width;\r\n ctx.canvas.height = height;\r\n \r\n across = Math.ceil(width / crossGap);\r\n down = Math.ceil(height / crossGap);\r\n \r\n totalPoints = (across + 1) * (down + 1);\r\n const ids = shuffle(Array.from({ length: totalPoints }, (_, i) => (i)))\r\n crosses = [];\r\n for(let x = 0; x <= across; x++) {\r\n for(let y = 0; y <= down; y++) {\r\n crosses.push({\r\n counter: ids.shift(),\r\n direction: Math.random() > 0.5 ? crossSpeed : -1 * crossSpeed,\r\n x: crossGap * (x + 1) - crossGap / 1,\r\n y: crossGap * (y + 1) - crossGap / 2\r\n });\r\n }\r\n }\r\n }\r\n \r\n function drawCross(x, y, opacity) {\r\n ctx.beginPath();\r\n ctx.moveTo(x - 14, y);\r\n ctx.lineTo(x + 14, y);\r\n ctx.strokeStyle = `rgba(255, 255, 255, ${opacity}`;\r\n ctx.moveTo(x, y - 14);\r\n ctx.lineTo(x, y + 14);\r\n ctx.stroke();\r\n }\r\n\r\n window.addEventListener('resize', onResize);\r\n onResize();\r\n draw();\r\n}\r\n\r\nexport default HeroPattern;\r\n","function HeroVideo() {\r\n document.addEventListener(\"DOMContentLoaded\", () => {\r\n const videoBackground = document.getElementById('videoBackground');\r\n if(typeof(videoBackground) != 'undefined' && videoBackground != null) {\r\n const reducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)');\r\n if(!reducedMotion || reducedMotion.matches) {\r\n videoBackground.pause();\r\n }\r\n \r\n const lightboxTrigger = document.getElementById('playVideo');\r\n const lightboxContainer = document.getElementById('lightboxVideo');\r\n const lightboxVideo = lightboxContainer.querySelector('.c-lightbox__video');\r\n\r\n lightboxTrigger.addEventListener('click', e => {\r\n videoBackground.pause();\r\n lightboxContainer.classList.remove('u-hidden');\r\n checkVideos();\r\n });\r\n \r\n lightboxContainer.addEventListener('click', (e) => {\r\n if (!e.target.classList.contains('c-lightbox__video')) {\r\n videoBackground.setAttribute('autoplay','');\r\n lightboxContainer.classList.add('u-hidden');\r\n checkVideos();\r\n }\r\n });\r\n window.addEventListener('keydown', function(e) {\r\n if (e.key == \"Escape\") {\r\n videoBackground.setAttribute('autoplay','');\r\n lightboxContainer.classList.add('u-hidden');\r\n checkVideos();\r\n }\r\n });\r\n\r\n function checkVideos() {\r\n if(lightboxContainer.classList.contains('u-hidden')) {\r\n if (videoBackground.paused) {\r\n videoBackground.play();\r\n }\r\n if (!lightboxVideo.paused) {\r\n lightboxVideo.pause();\r\n }\r\n } else {\r\n if (!videoBackground.paused) {\r\n videoBackground.pause();\r\n }\r\n }\r\n }\r\n }\r\n });\r\n}\r\n\r\nexport default HeroVideo;","function InternalNav() {\r\n const internalNav = document.querySelector('.c-internal-nav.u-sticky');\r\n\r\n if (!internalNav) {\r\n return;\r\n }\r\n\r\n const observerOptions = {\r\n root: null,\r\n rootMargin: '0px',\r\n threshold: 1.0\r\n };\r\n\r\n const intersectionCallback = (entries, observer) => {\r\n const isIntersecting = entries[0].isIntersecting;\r\n internalNav.classList.toggle('c-internal-nav--stuck', !isIntersecting);\r\n };\r\n\r\n const observer = new IntersectionObserver(intersectionCallback, observerOptions);\r\n observer.observe(internalNav);\r\n}\r\n\r\nexport default InternalNav;\r\n","// Function to initialize off-canvas behavior\r\nfunction OffCanvas() {\r\n // Select all elements that trigger off-canvas behavior\r\n const toggles = document.querySelectorAll(\".c-off-canvas__toggle\");\r\n\r\n // Iterate through each toggle element\r\n if (toggles.length) {\r\n toggles.forEach(toggle => {\r\n // Determine initial visibility state and handle click event\r\n handleOffCanvas(toggle, isVisible(toggle));\r\n toggle.addEventListener('click', () => toggleOffCanvas(toggle));\r\n });\r\n\r\n // Add event listener for scroll events to check visibility\r\n // window.addEventListener('scroll', () => {\r\n // toggles.forEach(toggle => {\r\n // handleOffCanvas(toggle, isVisible(toggle));\r\n // });\r\n // });\r\n\r\n // Add event listener for resize events to check visibility\r\n window.addEventListener('resize', () => {\r\n toggles.forEach(toggle => {\r\n handleOffCanvas(toggle, isVisible(toggle));\r\n });\r\n });\r\n }\r\n}\r\n\r\n// Function to check if an element is currently visible on the page\r\nfunction isVisible(element) {\r\n // Check element's position and styles for visibility\r\n const rect = element.getBoundingClientRect();\r\n const style = window.getComputedStyle(element);\r\n return (\r\n rect.top >= 0 &&\r\n rect.left >= 0 &&\r\n rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\r\n rect.right <= (window.innerWidth || document.documentElement.clientWidth) &&\r\n style.display !== 'none' &&\r\n style.visibility !== 'hidden'\r\n );\r\n}\r\n\r\n// Function to handle off-canvas behavior based on visibility\r\nfunction handleOffCanvas(toggle, isVisible) {\r\n const target = document.getElementById(toggle.getAttribute('data-target'));\r\n if (isVisible === true) {\r\n createOffCanvas(target);\r\n } else {\r\n removeOffCanvas(target);\r\n }\r\n}\r\n\r\n// Function to create off canvas\r\nfunction createOffCanvas(target) {\r\n // Add necessary classes and attributes for off-canvas display\r\n target.classList.add('c-off-canvas');\r\n target.setAttribute('tabindex', '-1');\r\n target.setAttribute('aria-hidden', 'true');\r\n \r\n // Extract specific sections of the off-canvas content\r\n const targetHeader = target.querySelector('[data-off-canvas=\"header\"]');\r\n const targetMain = target.querySelector('[data-off-canvas=\"main\"]');\r\n const targetFooter = target.querySelector('[data-off-canvas=\"footer\"]');\r\n\r\n // Extract content from the sections\r\n const targetHeaderContent = targetHeader !== null ? targetHeader.outerHTML : '';\r\n const targetMainContent = targetMain !== null ? targetMain.outerHTML : '';\r\n const targetFooterContent = targetFooter !== null ? targetFooter.outerHTML : '';\r\n\r\n // Replace the target's content with off-canvas structure\r\n target.innerHTML = `\r\n <div class=\"c-off-canvas__backdrop\" role=\"presentation\"></div>\r\n <div class=\"c-off-canvas__content\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"offCanvasHeader\">\r\n <header id=\"offCanvasHeader\" class=\"c-off-canvas__header\">${targetHeaderContent}</header>\r\n <main class=\"c-off-canvas__main\">${targetMainContent}</main>\r\n <footer class=\"c-off-canvas__footer\">\r\n ${targetFooterContent}\r\n <button class=\"mp c-twi c-twi--left c-off-canvas__close\" data-off-canvas-close=\"true\" onclick=\"return false\">\r\n <span>Cancel</span>\r\n <svg role=\"img\" aria-hidden=\"true\" focusable=\"false\" class=\"mp c-icon c-icon--cross\">\r\n <use xlink:href=\"/static/svg/sprite.svg#cross\"></use>\r\n </svg>\r\n </button>\r\n </footer>\r\n </div>\r\n `;\r\n}\r\n\r\n// Function to remove off-canvas layout\r\nfunction removeOffCanvas(target) {\r\n // Remove classes and attributes for off-canvas display\r\n target.classList.remove('c-off-canvas', 'c-off-canvas--active');\r\n target.removeAttribute('tabindex');\r\n target.removeAttribute('aria-hidden');\r\n\r\n // Remove backdrop element if present\r\n const targetBackdrop = target.querySelector('.c-off-canvas__backdrop');\r\n if (targetBackdrop) {\r\n targetBackdrop.remove();\r\n }\r\n\r\n // Restore original content by removing off-canvas structure\r\n const targetContent = target.querySelector('.c-off-canvas__content');\r\n if (targetContent) {\r\n while (targetContent.firstChild) {\r\n target.insertBefore(targetContent.firstChild, targetContent);\r\n }\r\n target.removeChild(targetContent);\r\n }\r\n\r\n const targetHeader = target.querySelector('.c-off-canvas__header');\r\n if (targetHeader) {\r\n while (targetHeader.firstChild) {\r\n target.insertBefore(targetHeader.firstChild, targetHeader);\r\n }\r\n target.removeChild(targetHeader);\r\n }\r\n\r\n const targetMain = target.querySelector('.c-off-canvas__main');\r\n if (targetMain) {\r\n while (targetMain.firstChild) {\r\n target.insertBefore(targetMain.firstChild, targetMain);\r\n }\r\n target.removeChild(targetMain);\r\n }\r\n\r\n const targetFooter = target.querySelector('.c-off-canvas__footer');\r\n if (targetFooter) {\r\n while (targetFooter.firstChild) {\r\n target.insertBefore(targetFooter.firstChild, targetFooter);\r\n }\r\n target.removeChild(targetFooter);\r\n }\r\n \r\n // Remove close button element if present\r\n const targetClose = target.querySelector('.c-off-canvas__close');\r\n if (targetClose) {\r\n targetClose.remove();\r\n }\r\n}\r\n\r\n// Function to toggle off-canvas visibility\r\nfunction toggleOffCanvas(toggle) {\r\n const target = document.getElementById(toggle.getAttribute('data-target'));\r\n\r\n // Check if the target is already open or closed\r\n if (!target.classList.contains('c-off-canvas--active')) {\r\n openOffCanvas(toggle, target);\r\n } else if (target.classList.contains('c-off-canvas--active')) {\r\n closeOffCanvas(target);\r\n }\r\n}\r\n\r\nfunction openOffCanvas(toggle, target) {\r\n // Add classes and attributes for open off-canvas\r\n toggle.setAttribute('aria-expanded', 'true');\r\n target.classList.add('c-off-canvas--active');\r\n target.setAttribute('aria-hidden', 'false');\r\n\r\n // Add event listener for backdrop clicks\r\n const offCanvasBackdrop = target.querySelector('.c-off-canvas__backdrop');\r\n if(offCanvasBackdrop) {\r\n offCanvasBackdrop.addEventListener('click', handleBackdropClick);\r\n }\r\n\r\n // Add event listener forclose button clicks\r\n const offCanvasCloseElements = target.querySelectorAll('[data-off-canvas-close=\"true\"]');\r\n if (offCanvasCloseElements.length > 0) {\r\n offCanvasCloseElements.forEach((offCanvasClose) => {\r\n offCanvasClose.addEventListener('click', handleCloseClick);\r\n });\r\n }\r\n\r\n // Add event listener for Escape key press\r\n document.addEventListener('keydown', handleKeyDown, { once: true });\r\n\r\n // Adjust body overflow to prevent scrolling\r\n document.body.style.overflowY = 'hidden';\r\n\r\n // Close other open off-canvas elements\r\n const allOffCanvasElementsExceptCurrent = Array.from(document.querySelectorAll('.c-off-canvas')).filter(offCanvas => offCanvas !== target);\r\n if (allOffCanvasElementsExceptCurrent.length > 0) {\r\n allOffCanvasElementsExceptCurrent.forEach((offCanvas) => {\r\n closeOffCanvas(offCanvas);\r\n });\r\n }\r\n}\r\n\r\n// Function to close an off-canvas\r\nfunction closeOffCanvas(target) {\r\n // Remove classes and attributes for open off-canvas\r\n document.querySelector('[data-target=\"' + target.id + '\"').setAttribute('aria-expanded', 'false');\r\n target.classList.remove('c-off-canvas--active');\r\n target.setAttribute('aria-hidden', 'true');\r\n\r\n // Restore body overflow\r\n document.body.style.overflowY = '';\r\n}\r\n\r\n// Function to handle backdrop click\r\nfunction handleBackdropClick() {\r\n const offCanvas = this.closest('.c-off-canvas');\r\n closeOffCanvas(offCanvas);\r\n}\r\n\r\n// Function to handle Escape key press\r\nfunction handleKeyDown(event) {\r\n if (event.key === 'Escape') {\r\n const activeOffCanvas = document.querySelector('.c-off-canvas--active');\r\n if (activeOffCanvas) {\r\n closeOffCanvas(activeOffCanvas);\r\n }\r\n }\r\n}\r\n\r\n// Function to handle close button click\r\nfunction handleCloseClick() {\r\n const offCanvas = this.closest('.c-off-canvas');\r\n closeOffCanvas(offCanvas);\r\n}\r\n\r\nexport default OffCanvas;","const ResponsiveTable = () => {\r\n const tables = Array.from(document.querySelectorAll('.c-table--responsive'));\r\n tables.forEach(createResponsiveTable);\r\n\r\n /**\r\n * Create responsive table headers for large tables\r\n * @param {HTMLTableElement} table\r\n */\r\n function createResponsiveTable(table) {\r\n const headers = table.querySelectorAll('thead > :first-child th');\r\n const breakPoint = Number(table.getAttribute('data-columns')) || 2\r\n \r\n if (headers.length < breakPoint) {\r\n table.classList.remove('c-table--responsive');\r\n return;\r\n };\r\n\r\n Array.from(table.querySelectorAll('tbody tr')).forEach((row) => {\r\n Array.from(headers)\r\n .map((x) => x.textContent)\r\n .forEach((header, index) => {\r\n if (row.children[index]) {\r\n row.children[index].setAttribute('data-responsive-title', header);\r\n }\r\n });\r\n });\r\n }\r\n};\r\n\r\nexport default ResponsiveTable;\r\n","import { debounce } from './utilities';\r\n\r\nfunction ScrollbarWidth() {\r\n setScrollbarWidth();\r\n window.addEventListener('resize', debounce(setScrollbarWidth, 250));\r\n}\r\n\r\nfunction setScrollbarWidth() {\r\n document.documentElement.style.setProperty(\r\n '--scrollbarWidth', \r\n window.innerWidth - document.body.clientWidth + 'px'\r\n );\r\n}\r\n\r\nexport default ScrollbarWidth;","function ScrollSpy() {\r\n const spies = Array.from(document.querySelectorAll('.c-scroll-spy'));\r\n spies.forEach(setup);\r\n}\r\n\r\nfunction setup(element) {\r\n const anchors = Array.from(element.querySelectorAll('a'));\r\n const observer = new IntersectionObserver(observation(anchors));\r\n \r\n anchors.forEach(anchor => {\r\n const id = anchor.getAttribute('href').replace('#', '');\r\n const target = document.getElementById(id);\r\n if (!target) return;\r\n\r\n observer.observe(target);\r\n });\r\n}\r\n\r\n/**\r\n * @param {Array<HTMLAnchorElement>} results \r\n * @return {Array<IntersectionObserverEntry>}\r\n */\r\nfunction observation(anchors) {\r\n return (results) => {\r\n const firstObservation = results.find(x => x.isIntersecting);\r\n\r\n if (firstObservation) {\r\n anchors.forEach(x => {\r\n x.classList.toggle(\r\n 'c-scroll-spy-active',\r\n x.getAttribute('href') === '#' + firstObservation.target.id\r\n )\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport default ScrollSpy;\r\n","function Tabs() {\r\n const tabs = Array.from(document.querySelectorAll('.c-tabs--anchor'));\r\n tabs.forEach(setupTabs);\r\n}\r\n\r\nfunction setupTabs(parent) {\r\n const controls = Array.from(parent.querySelectorAll('.c-tabs__control'));\r\n const content = Array.from(parent.querySelectorAll('.c-tab'));\r\n const persist = parent.classList.contains('c-tabs--persist');\r\n \r\n if (!controls.length || !content.length) return;\r\n\r\n controls.forEach(control => {\r\n control.addEventListener('click', controlClick(controls, content, persist))\r\n })\r\n\r\n if (persist && window.location.hash) {\r\n const control = parent.querySelector('[href=\"' + window.location.hash + '\"]');\r\n if (control) control.dispatchEvent(new Event('click'));\r\n }\r\n}\r\n\r\nfunction controlClick(controls, contents, persist) {\r\n return (event) => {\r\n const control = event.currentTarget;\r\n const content = contents.find(x => x.id === control.getAttribute('href').replace('#', ''));\r\n \r\n if (!content) {\r\n return true;\r\n };\r\n\r\n event.preventDefault();\r\n \r\n if (persist) {\r\n history.pushState(null, null, control.getAttribute('href'));\r\n }\r\n\r\n controls.forEach(c => c.classList.toggle('c-tabs__control--active', c === control));\r\n contents.forEach(c => {\r\n const isCurrent = c === content;\r\n c.classList.toggle('c-tab--active', isCurrent);\r\n \r\n if (persist) return;\r\n\r\n if (isCurrent) {\r\n c.setAttribute('tabIndex', -1);\r\n \r\n const y = window.scrollY;\r\n c.focus();\r\n window.scrollTo({ behavior: \"auto\", top: y })\r\n } else {\r\n c.removeAttribute('tabIndex');\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport default Tabs;\r\n","import Accordion from './imports/accordion';\r\nimport Carousel from './imports/carousel';\r\nimport ClearForm from './imports/clear-form';\r\nimport Comparison from './imports/comparison';\r\nimport Gallery from './imports/gallery';\r\nimport HeroPattern from './imports/hero-pattern';\r\nimport HeroVideo from './imports/hero-video';\r\nimport InternalNav from './imports/internal-nav';\r\nimport OffCanvas from './imports/off-canvas';\r\nimport ResponsiveTable from './imports/responsive-table';\r\nimport ScrollbarWidth from './imports/scrollbar-width';\r\nimport ScrollSpy from './imports/scroll-spy';\r\nimport Tabs from './imports/tabs';\r\n\r\n(() => {\r\n if(window.NodeList && !NodeList.prototype.forEach) {\r\n NodeList.prototype.forEach = Array.prototype.forEach;\r\n }\r\n if(window.HTMLCollection && !HTMLCollection.prototype.forEach) {\r\n HTMLCollection.prototype.forEach = Array.prototype.forEach;\r\n }\r\n \r\n Accordion();\r\n Carousel();\r\n ClearForm();\r\n Comparison();\r\n Gallery();\r\n HeroPattern();\r\n HeroVideo();\r\n InternalNav();\r\n OffCanvas();\r\n ResponsiveTable();\r\n ScrollbarWidth();\r\n ScrollSpy();\r\n Tabs();\r\n})();"],"names":["$c274619fa9ae66ac$var$setupAccordions","title","addEventListener","event","currentTarget","parentElement","classList","toggle","$c274619fa9ae66ac$export$2e2bcd8739ae039","Array","from","document","querySelectorAll","forEach","$5bdce36a18199573$export$2e2bcd8739ae039","current","bgSlides","fgSlides","length","setInterval","bgSlide","style","opacity","fgSlide","$2b04c6f63ef290fb$export$2e2bcd8739ae039","formClear","getElementById","this","closest","elements","field","value","type","toLowerCase","checked","$7fbc59e2fab6d5d2$var$extractMobileComparison","container","parent","parentNode","body","querySelector","head","mobile","productsInfo","children","filter","x","i","map","info","innerHTML","productsButtons","buttons","products","index","table","row","contains","push","textContent","cells","firstCell","shift","el","key","product","createElement","join","$7fbc59e2fab6d5d2$var$createMobileProduct","appendChild","$7fbc59e2fab6d5d2$export$2e2bcd8739ae039","$dfe0031b837edf6f$export$2e2bcd8739ae039","mainSlides","thumbnailSlides","lightboxTrigger","lightbox","cloneNode","remove","add","slide","slideImg","srcset","removeAttribute","slideImgSrc","getAttribute","indexOf","setAttribute","split","console","log","insertAdjacentHTML","lightboxActive","prevImage","parseInt","dataset","nextImage","e","target","thumbnailSlide","thumbnail","mainSlide","$41a3994d4318effb$export$b568019c0551f0a4","y","a","min","max","Math","$41a3994d4318effb$export$7d15b64cf5a3a4c4","$2e27ca8f14f20195$export$2e2bcd8739ae039","time","c","ctx","getContext","reduceMotion","window","matchMedia","matches","crossGap","crossSpeed","width","height","across","down","totalPoints","crosses","onResize","scrollWidth","scrollHeight","canvas","ceil","ids","array","arr","j","floor","random","$41a3994d4318effb$export$448332262467e042","_","counter","direction","draw","clearRect","beginPath","cnt","lineTo","cos","lineWidth","strokeStyle","stroke","cross","x1","y1","x2","y2","$41a3994d4318effb$export$3a89f8d6f6bf6c9f","moveTo","requestAnimationFrame","$63fd9338c6a56d33$export$2e2bcd8739ae039","videoBackground","reducedMotion","pause","lightboxContainer","lightboxVideo","checkVideos","paused","play","$a8ec42a1db03828c$export$2e2bcd8739ae039","internalNav","IntersectionObserver","entries","observer","isIntersecting","root","rootMargin","threshold","observe","$34e92b90f028a0e5$var$isVisible","element","rect","getBoundingClientRect","getComputedStyle","top","left","bottom","innerHeight","documentElement","clientHeight","right","innerWidth","clientWidth","display","visibility","$34e92b90f028a0e5$var$handleOffCanvas","isVisible","targetHeader","targetMain","targetFooter","targetHeaderContent","outerHTML","targetMainContent","targetFooterContent","$34e92b90f028a0e5$var$createOffCanvas","targetBackdrop","targetContent","firstChild","insertBefore","removeChild","targetClose","$34e92b90f028a0e5$var$removeOffCanvas","$34e92b90f028a0e5$var$closeOffCanvas","id","overflowY","$34e92b90f028a0e5$var$handleBackdropClick","$34e92b90f028a0e5$var$handleKeyDown","activeOffCanvas","$34e92b90f028a0e5$var$handleCloseClick","$34e92b90f028a0e5$export$2e2bcd8739ae039","toggles","offCanvasBackdrop","offCanvasCloseElements","offCanvasClose","once","allOffCanvasElementsExceptCurrent","offCanvas","$34e92b90f028a0e5$var$openOffCanvas","$34e92b90f028a0e5$var$toggleOffCanvas","headers","breakPoint","Number","header","$e3dc92a106d80d6c$var$setScrollbarWidth","setProperty","$e3dc92a106d80d6c$export$2e2bcd8739ae039","func","limit","wait","setTimeout","$41a3994d4318effb$export$61fc7d43ac8f84b0","$9d1dec2ad218c628$var$setup","anchors","results","firstObservation","find","$9d1dec2ad218c628$var$observation","anchor","replace","$1d2dabc452d8efd6$var$setupTabs","controls","content","persist","control","contents","preventDefault","history","pushState","isCurrent","scrollY","focus","scrollTo","behavior","$1d2dabc452d8efd6$var$controlClick","location","hash","dispatchEvent","Event","$1d2dabc452d8efd6$export$2e2bcd8739ae039","NodeList","prototype","HTMLCollection","$384feef4bde84172$export$2e2bcd8739ae039","$9d1dec2ad218c628$export$2e2bcd8739ae039"],"version":3,"file":"app.js.map"}
1
+ {"mappings":"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","sources":["src/assets/js/imports/accordion.js","src/assets/js/imports/carousel.js","src/assets/js/imports/clear-form.js","src/assets/js/imports/comparison.js","src/assets/js/imports/gallery.js","src/assets/js/imports/utilities.js","src/assets/js/imports/hero-pattern.js","src/assets/js/imports/hero-video.js","src/assets/js/imports/internal-nav.js","src/assets/js/imports/off-canvas.js","src/assets/js/imports/responsive-table.js","src/assets/js/imports/scrollbar-width.js","src/assets/js/imports/scroll-spy.js","src/assets/js/imports/tabs.js","src/assets/js/app.js"],"sourcesContent":["function Accordion() {\r\n const accordions = Array.from(document.querySelectorAll('.c-accordion__title'));\r\n accordions.forEach(setupAccordions);\r\n}\r\n\r\nfunction setupAccordions(title) {\r\n title.addEventListener('click', titleClick())\r\n}\r\n\r\nfunction titleClick() {\r\n return (event) => {\r\n var item = event.currentTarget.parentElement;\r\n item.classList.toggle('c-accordion__item--open');\r\n }\r\n}\r\n\r\nexport default Accordion;\r\n","function Carousel() {\r\n let current = 0;\r\n const bgSlides = document.querySelectorAll('.c-hero__image-bg');\r\n const fgSlides = document.querySelectorAll('.c-hero__image-fg');\r\n\r\n if(fgSlides.length > 0) {\r\n setInterval(() => {\r\n for (var bgSlide of bgSlides) {\r\n bgSlide.style.opacity = 0;\r\n }\r\n current = (current != bgSlides.length - 1) ? current + 1 : 0;\r\n bgSlides[current].style.opacity = 1;\r\n \r\n for (var fgSlide of fgSlides) {\r\n fgSlide.style.opacity = 0;\r\n }\r\n fgSlides[current].style.opacity = 1;\r\n }, 5000);\r\n }\r\n}\r\n\r\nexport default Carousel;","function ClearForm() {\r\n const formClear = document.getElementById('clearForm');\r\n if (formClear) {\r\n formClear.addEventListener('click', function () {\r\n const fields = this.closest('form').elements;\r\n fields.forEach(field => {\r\n if (field.value != '') {\r\n if (\r\n field.type.toLowerCase() == 'text' || \r\n field.type.toLowerCase() == 'email' || \r\n field.type.toLowerCase() == 'tel' || \r\n field.type.toLowerCase() == 'select-one' || \r\n field.type.toLowerCase() == 'textarea'\r\n ) {\r\n field.value = '';\r\n return;\r\n } else if (field.type.toLowerCase() == 'checkbox') {\r\n field.checked = false;\r\n return;\r\n }\r\n }\r\n });\r\n });\r\n };\r\n}\r\n\r\nexport default ClearForm;","function Comparison() {\r\n document.querySelectorAll('.c-comparison-table').forEach(extractMobileComparison)\r\n}\r\n\r\nfunction extractMobileComparison(container) {\r\n const parent = container.parentNode.parentNode;\r\n const body = parent.querySelector('.c-comparison-table tbody');\r\n const head = parent.querySelector('.c-comparison-table thead');\r\n const mobile = parent.parentElement.querySelector('.c-comparison-table__mobile');\r\n\r\n if (!body || !head || !mobile) return;\r\n\r\n // Remove empty corner piece \r\n const productsInfo = Array.from(head.children[0].children).filter((x, i) => i).map(x => ({ info: x.innerHTML }));\r\n const productsButtons = Array.from(head.children[1].children).filter((x, i) => i).map(x => ({ buttons: x.innerHTML }));\r\n const products = productsInfo.map((info, index) => ({ ...info, ...productsButtons[index], table: [] }));\r\n\r\n Array.from(body.children).forEach(row => {\r\n // For table row headers, push to all products\r\n if (row.classList.contains('c-comparison-table__title')) {\r\n products.forEach(x => {\r\n x.table.push({ type: 'title', title: row.children[0].textContent })\r\n })\r\n } else {\r\n // For all others, loop the cells and push to their appropriate parent\r\n const cells = Array.from(row.children);\r\n const firstCell = cells.shift();\r\n\r\n cells.forEach((el, index) => {\r\n products[index].table.push({\r\n type: 'row',\r\n key: firstCell.textContent,\r\n value: el.innerHTML\r\n })\r\n })\r\n }\r\n })\r\n\r\n products.forEach(product => {\r\n const el = createMobileProduct(product);\r\n mobile.appendChild(el)\r\n })\r\n}\r\n\r\nfunction createMobileProduct(product) {\r\n const parent = document.createElement('article');\r\n parent.innerHTML = `${product.info}${product.buttons}\r\n <table class=\"c-comparison-table\">\r\n ${product.table.map(x => {\r\n if (x.type === 'title') {\r\n return `<tr class=\"c-comparison-table__title\"><th><span>${x.title}</span></th><th></th></tr>`;\r\n } else {\r\n return `<tr>\r\n <td>${x.key}</td>\r\n <td>${x.value}</td>\r\n </tr>`;\r\n }\r\n }).join('')}\r\n </table>`;\r\n\r\n return parent;\r\n}\r\n\r\nexport default Comparison;\r\n","function Gallery() {\r\n const mainSlides = document.querySelectorAll('.c-gallery__main .c-gallery__slide');\r\n const thumbnailSlides = document.querySelectorAll('.c-gallery__thumbnails .c-gallery__slide');\r\n\r\n thumbnailSlides.forEach(thumbnailSlide => thumbnailSlide.addEventListener('click', function(e) {\r\n thumbnailSlides.forEach(function(thumbnail) {\r\n if(thumbnail != e.target.parentNode) {\r\n thumbnail.classList.remove('active');\r\n }\r\n });\r\n e.target.parentNode.classList.add('active');\r\n\r\n mainSlides.forEach(function(mainSlide) {\r\n if(mainSlide.dataset.slide == thumbnailSlide.dataset.slide) {\r\n mainSlide.classList.add('active');\r\n } else {\r\n mainSlide.classList.remove('active');\r\n }\r\n });\r\n }));\r\n\r\n mainSlides.forEach(function(mainSlide) {\r\n if(!mainSlide.classList.contains('c-gallery__video')) {\r\n mainSlide.addEventListener('click', lightboxTrigger);\r\n }\r\n });\r\n\r\n function lightboxTrigger() {\r\n const lightbox = document.querySelector('.c-gallery__main').cloneNode(true);\r\n lightbox.classList.remove('c-gallery__main');\r\n lightbox.classList.add('c-lightbox');\r\n lightbox.querySelectorAll('.c-gallery__slide').forEach(function(slide) {\r\n if(slide.classList.contains('c-gallery__video')) {\r\n slide.remove();\r\n }\r\n if(!slide.classList.contains('c-gallery__video')) {\r\n var slideImg = slide.querySelector('img');\r\n if(slideImg.srcset != '') {\r\n slideImg.removeAttribute('srcset');\r\n }\r\n var slideImgSrc = slideImg.getAttribute('src');\r\n if (slideImgSrc) {\r\n if (slideImgSrc.indexOf('?') !== -1) {\r\n slideImg.setAttribute('src', slideImgSrc.split(\"?\")[0] + '?quality=90&width=2176');\r\n } else {\r\n slideImg.setAttribute('src', slideImgSrc + '?quality=90&width=2176');\r\n }\r\n } else {\r\n console.log(slideImg);\r\n console.log('has no src defined...');\r\n }\r\n }\r\n slide.classList.add('c-lightbox__slide');\r\n slide.classList.remove('c-gallery__slide');\r\n });\r\n document.body.appendChild(lightbox);\r\n lightbox.insertAdjacentHTML('beforeend', '<a class=\"c-lightbox__prev\"></a><a class=\"c-lightbox__next\"></a>');\r\n\r\n lightbox.querySelector('.c-lightbox__prev').addEventListener('click', function() {\r\n const lightboxActive = lightbox.querySelector('.active');\r\n const prevImage = lightbox.querySelector('[data-slide=\"' + (parseInt(lightboxActive.dataset.slide) - 1) + '\"]');\r\n if(prevImage != null) {\r\n lightboxActive.classList.remove('active');\r\n prevImage.classList.add('active');\r\n }\r\n });\r\n\r\n lightbox.querySelector('.c-lightbox__next').addEventListener('click', function() {\r\n const lightboxActive = lightbox.querySelector('.active');\r\n const nextImage = lightbox.querySelector('[data-slide=\"' + (parseInt(lightboxActive.dataset.slide) + 1) + '\"]');\r\n if(nextImage != null) {\r\n lightboxActive.classList.remove('active');\r\n nextImage.classList.add('active');\r\n }\r\n });\r\n\r\n lightbox.addEventListener('click', function(e) {\r\n if (e.target !== e.currentTarget) {\r\n return;\r\n } else {\r\n lightbox.remove();\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport default Gallery;\r\n","export function shuffle(array) {\r\n const arr = [...array];\r\n for (let i = arr.length - 1; i > 0; i--) {\r\n let j = Math.floor(Math.random() * (i + 1));\r\n [arr[i], arr[j]] = [arr[j], arr[i]];\r\n }\r\n\r\n return arr;\r\n}\r\n\r\nexport function userPrefersReducedMotion() {\r\n const QUERY = '(prefers-reduced-motion: no-preference)';\r\n const mediaQueryList = window.matchMedia(QUERY);\r\n const prefersReducedMotion = !mediaQueryList.matches;\r\n return prefersReducedMotion;\r\n}\r\n\r\nexport const debounce = (func, limit) => {\r\n let wait = false; \r\n return () => {\r\n if (wait) return;\r\n func();\r\n wait = true;\r\n setTimeout(() => wait = false, limit);\r\n }\r\n}\r\n\r\nexport const lerp = (x, y, a) => x * (1 - a) + y * a;\r\nexport const clamp = (a, min = 0, max = 1) => Math.min(max, Math.max(min, a));\r\nexport const invlerp = (x, y, a) => clamp((a - x) / (y - x));\r\nexport const range = (x1, y1, x2, y2, a) => lerp(x2, y2, invlerp(x1, y1, a));\r\n","import { range, shuffle, userPrefersReducedMotion } from './utilities';\r\n\r\nfunction HeroPattern() {\r\n let time = 0;\r\n\r\n const c = document.querySelector('.c-hero__canvas');\r\n if (!c) return;\r\n const ctx = c.getContext(\"2d\");\r\n \r\n const sineColour = \"rgb(19,170,19)\";\r\n const reduceMotion = userPrefersReducedMotion();\r\n\r\n const crossGap = 147;\r\n const minimumOpacity = 0;\r\n const maximumOpacity = 0.5;\r\n const crossSpeed = 0.25;\r\n\r\n let width;\r\n let height;\r\n let across;\r\n let down;\r\n let crosses = [];\r\n let totalPoints;\r\n\r\n function draw() {\r\n // Sine wave\r\n time = time + 0.005;\r\n \r\n ctx.clearRect(0, 0, c.width, c.height);\r\n ctx.beginPath();\r\n \r\n for(let cnt = c.width; cnt > 0; cnt--) {\r\n ctx.lineTo(cnt, c.height * 0.5 - (Math.cos(time + cnt / 5 * 0.03) * (height * 0.3) ));\r\n }\r\n \r\n ctx.lineWidth = 0.5;\r\n ctx.strokeStyle = sineColour;\r\n ctx.stroke();\r\n \r\n // Crosses\r\n crosses.forEach(cross => {\r\n drawCross(cross.x, cross.y, range(0, crosses.length, minimumOpacity, maximumOpacity, cross.counter));\r\n \r\n cross.counter += cross.direction;\r\n if (cross.counter >= crosses.length) cross.direction = -1 * crossSpeed;\r\n if (cross.counter < 0) cross.direction = crossSpeed;\r\n })\r\n \r\n if (!reduceMotion) {\r\n window.requestAnimationFrame(draw);\r\n }\r\n }\r\n \r\n function onResize() {\r\n width = c.scrollWidth;\r\n height = c.scrollHeight;\r\n \r\n ctx.canvas.width = width;\r\n ctx.canvas.height = height;\r\n \r\n across = Math.ceil(width / crossGap);\r\n down = Math.ceil(height / crossGap);\r\n \r\n totalPoints = (across + 1) * (down + 1);\r\n const ids = shuffle(Array.from({ length: totalPoints }, (_, i) => (i)))\r\n crosses = [];\r\n for(let x = 0; x <= across; x++) {\r\n for(let y = 0; y <= down; y++) {\r\n crosses.push({\r\n counter: ids.shift(),\r\n direction: Math.random() > 0.5 ? crossSpeed : -1 * crossSpeed,\r\n x: crossGap * (x + 1) - crossGap / 1,\r\n y: crossGap * (y + 1) - crossGap / 2\r\n });\r\n }\r\n }\r\n }\r\n \r\n function drawCross(x, y, opacity) {\r\n ctx.beginPath();\r\n ctx.moveTo(x - 14, y);\r\n ctx.lineTo(x + 14, y);\r\n ctx.strokeStyle = `rgba(255, 255, 255, ${opacity}`;\r\n ctx.moveTo(x, y - 14);\r\n ctx.lineTo(x, y + 14);\r\n ctx.stroke();\r\n }\r\n\r\n window.addEventListener('resize', onResize);\r\n onResize();\r\n draw();\r\n}\r\n\r\nexport default HeroPattern;\r\n","function HeroVideo() {\r\n document.addEventListener(\"DOMContentLoaded\", () => {\r\n const videoBackground = document.getElementById('videoBackground');\r\n if(typeof(videoBackground) != 'undefined' && videoBackground != null) {\r\n const reducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)');\r\n if(!reducedMotion || reducedMotion.matches) {\r\n videoBackground.pause();\r\n }\r\n \r\n const lightboxTrigger = document.getElementById('playVideo');\r\n const lightboxContainer = document.getElementById('lightboxVideo');\r\n const lightboxVideo = lightboxContainer.querySelector('.c-lightbox__video');\r\n\r\n lightboxTrigger.addEventListener('click', e => {\r\n videoBackground.pause();\r\n lightboxContainer.classList.remove('u-hidden');\r\n checkVideos();\r\n });\r\n \r\n lightboxContainer.addEventListener('click', (e) => {\r\n if (!e.target.classList.contains('c-lightbox__video')) {\r\n videoBackground.setAttribute('autoplay','');\r\n lightboxContainer.classList.add('u-hidden');\r\n checkVideos();\r\n }\r\n });\r\n window.addEventListener('keydown', function(e) {\r\n if (e.key == \"Escape\") {\r\n videoBackground.setAttribute('autoplay','');\r\n lightboxContainer.classList.add('u-hidden');\r\n checkVideos();\r\n }\r\n });\r\n\r\n function checkVideos() {\r\n if(lightboxContainer.classList.contains('u-hidden')) {\r\n if (videoBackground.paused) {\r\n videoBackground.play();\r\n }\r\n if (!lightboxVideo.paused) {\r\n lightboxVideo.pause();\r\n }\r\n } else {\r\n if (!videoBackground.paused) {\r\n videoBackground.pause();\r\n }\r\n }\r\n }\r\n }\r\n });\r\n}\r\n\r\nexport default HeroVideo;","function InternalNav() {\r\n const internalNav = document.querySelector('.c-internal-nav--sticky');\r\n\r\n if (!internalNav) {\r\n return;\r\n }\r\n\r\n const observerOptions = {\r\n root: null,\r\n rootMargin: '0px',\r\n threshold: 1.0\r\n };\r\n\r\n const intersectionCallback = (entries, observer) => {\r\n const isIntersecting = entries[0].isIntersecting;\r\n internalNav.classList.toggle('c-internal-nav--stuck', !isIntersecting);\r\n };\r\n\r\n const observer = new IntersectionObserver(intersectionCallback, observerOptions);\r\n observer.observe(internalNav);\r\n\r\n let internalNavHeight = internalNav.offsetHeight;\r\n\r\n const updateInternalNavHeight = () => {\r\n internalNavHeight = internalNav.offsetHeight;\r\n const anchors = Array.from(internalNav.querySelectorAll('a'));\r\n anchors.forEach(anchor => {\r\n const id = anchor.getAttribute('href').replace('#', '');\r\n const target = document.getElementById(id);\r\n if (target) {\r\n target.style.scrollMarginTop = `${internalNavHeight}px`;\r\n }\r\n });\r\n };\r\n\r\n window.addEventListener('resize', updateInternalNavHeight);\r\n\r\n updateInternalNavHeight();\r\n}\r\n\r\nexport default InternalNav;\r\n","// Function to initialize off-canvas behavior\r\nfunction OffCanvas() {\r\n // Select all elements that trigger off-canvas behavior\r\n const toggles = document.querySelectorAll(\".c-off-canvas__toggle\");\r\n\r\n // Iterate through each toggle element\r\n if (toggles.length) {\r\n toggles.forEach(toggle => {\r\n // Determine initial visibility state and handle click event\r\n handleOffCanvas(toggle, isVisible(toggle));\r\n toggle.addEventListener('click', () => toggleOffCanvas(toggle));\r\n });\r\n\r\n // Add event listener for scroll events to check visibility\r\n // window.addEventListener('scroll', () => {\r\n // toggles.forEach(toggle => {\r\n // handleOffCanvas(toggle, isVisible(toggle));\r\n // });\r\n // });\r\n\r\n // Add event listener for resize events to check visibility\r\n window.addEventListener('resize', () => {\r\n toggles.forEach(toggle => {\r\n handleOffCanvas(toggle, isVisible(toggle));\r\n });\r\n });\r\n }\r\n}\r\n\r\n// Function to check if an element is currently visible on the page\r\nfunction isVisible(element) {\r\n // Check element's position and styles for visibility\r\n const rect = element.getBoundingClientRect();\r\n const style = window.getComputedStyle(element);\r\n return (\r\n rect.top >= 0 &&\r\n rect.left >= 0 &&\r\n rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\r\n rect.right <= (window.innerWidth || document.documentElement.clientWidth) &&\r\n style.display !== 'none' &&\r\n style.visibility !== 'hidden'\r\n );\r\n}\r\n\r\n// Function to handle off-canvas behavior based on visibility\r\nfunction handleOffCanvas(toggle, isVisible) {\r\n const target = document.getElementById(toggle.getAttribute('data-target'));\r\n if (isVisible === true) {\r\n createOffCanvas(target);\r\n } else {\r\n removeOffCanvas(target);\r\n }\r\n}\r\n\r\n// Function to create off canvas\r\nfunction createOffCanvas(target) {\r\n // Add necessary classes and attributes for off-canvas display\r\n target.classList.add('c-off-canvas');\r\n target.setAttribute('tabindex', '-1');\r\n target.setAttribute('aria-hidden', 'true');\r\n \r\n // Extract specific sections of the off-canvas content\r\n const targetHeader = target.querySelector('[data-off-canvas=\"header\"]');\r\n const targetMain = target.querySelector('[data-off-canvas=\"main\"]');\r\n const targetFooter = target.querySelector('[data-off-canvas=\"footer\"]');\r\n\r\n // Extract content from the sections\r\n const targetHeaderContent = targetHeader !== null ? targetHeader.outerHTML : '';\r\n const targetMainContent = targetMain !== null ? targetMain.outerHTML : '';\r\n const targetFooterContent = targetFooter !== null ? targetFooter.outerHTML : '';\r\n\r\n // Replace the target's content with off-canvas structure\r\n target.innerHTML = `\r\n <div class=\"c-off-canvas__backdrop\" role=\"presentation\"></div>\r\n <div class=\"c-off-canvas__content\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"offCanvasHeader\">\r\n <header id=\"offCanvasHeader\" class=\"c-off-canvas__header\">${targetHeaderContent}</header>\r\n <main class=\"c-off-canvas__main\">${targetMainContent}</main>\r\n <footer class=\"c-off-canvas__footer\">\r\n ${targetFooterContent}\r\n <button class=\"mp c-twi c-twi--left c-off-canvas__close\" data-off-canvas-close=\"true\" onclick=\"return false\">\r\n <span>Cancel</span>\r\n <svg role=\"img\" aria-hidden=\"true\" focusable=\"false\" class=\"mp c-icon c-icon--cross\">\r\n <use xlink:href=\"/static/svg/sprite.svg#cross\"></use>\r\n </svg>\r\n </button>\r\n </footer>\r\n </div>\r\n `;\r\n}\r\n\r\n// Function to remove off-canvas layout\r\nfunction removeOffCanvas(target) {\r\n // Remove classes and attributes for off-canvas display\r\n target.classList.remove('c-off-canvas', 'c-off-canvas--active');\r\n target.removeAttribute('tabindex');\r\n target.removeAttribute('aria-hidden');\r\n\r\n // Remove backdrop element if present\r\n const targetBackdrop = target.querySelector('.c-off-canvas__backdrop');\r\n if (targetBackdrop) {\r\n targetBackdrop.remove();\r\n }\r\n\r\n // Restore original content by removing off-canvas structure\r\n const targetContent = target.querySelector('.c-off-canvas__content');\r\n if (targetContent) {\r\n while (targetContent.firstChild) {\r\n target.insertBefore(targetContent.firstChild, targetContent);\r\n }\r\n target.removeChild(targetContent);\r\n }\r\n\r\n const targetHeader = target.querySelector('.c-off-canvas__header');\r\n if (targetHeader) {\r\n while (targetHeader.firstChild) {\r\n target.insertBefore(targetHeader.firstChild, targetHeader);\r\n }\r\n target.removeChild(targetHeader);\r\n }\r\n\r\n const targetMain = target.querySelector('.c-off-canvas__main');\r\n if (targetMain) {\r\n while (targetMain.firstChild) {\r\n target.insertBefore(targetMain.firstChild, targetMain);\r\n }\r\n target.removeChild(targetMain);\r\n }\r\n\r\n const targetFooter = target.querySelector('.c-off-canvas__footer');\r\n if (targetFooter) {\r\n while (targetFooter.firstChild) {\r\n target.insertBefore(targetFooter.firstChild, targetFooter);\r\n }\r\n target.removeChild(targetFooter);\r\n }\r\n \r\n // Remove close button element if present\r\n const targetClose = target.querySelector('.c-off-canvas__close');\r\n if (targetClose) {\r\n targetClose.remove();\r\n }\r\n}\r\n\r\n// Function to toggle off-canvas visibility\r\nfunction toggleOffCanvas(toggle) {\r\n const target = document.getElementById(toggle.getAttribute('data-target'));\r\n\r\n // Check if the target is already open or closed\r\n if (!target.classList.contains('c-off-canvas--active')) {\r\n openOffCanvas(toggle, target);\r\n } else if (target.classList.contains('c-off-canvas--active')) {\r\n closeOffCanvas(target);\r\n }\r\n}\r\n\r\nfunction openOffCanvas(toggle, target) {\r\n // Add classes and attributes for open off-canvas\r\n toggle.setAttribute('aria-expanded', 'true');\r\n target.classList.add('c-off-canvas--active');\r\n target.setAttribute('aria-hidden', 'false');\r\n\r\n // Add event listener for backdrop clicks\r\n const offCanvasBackdrop = target.querySelector('.c-off-canvas__backdrop');\r\n if(offCanvasBackdrop) {\r\n offCanvasBackdrop.addEventListener('click', handleBackdropClick);\r\n }\r\n\r\n // Add event listener forclose button clicks\r\n const offCanvasCloseElements = target.querySelectorAll('[data-off-canvas-close=\"true\"]');\r\n if (offCanvasCloseElements.length > 0) {\r\n offCanvasCloseElements.forEach((offCanvasClose) => {\r\n offCanvasClose.addEventListener('click', handleCloseClick);\r\n });\r\n }\r\n\r\n // Add event listener for Escape key press\r\n document.addEventListener('keydown', handleKeyDown, { once: true });\r\n\r\n // Adjust body overflow to prevent scrolling\r\n document.body.style.overflowY = 'hidden';\r\n\r\n // Close other open off-canvas elements\r\n const allOffCanvasElementsExceptCurrent = Array.from(document.querySelectorAll('.c-off-canvas')).filter(offCanvas => offCanvas !== target);\r\n if (allOffCanvasElementsExceptCurrent.length > 0) {\r\n allOffCanvasElementsExceptCurrent.forEach((offCanvas) => {\r\n closeOffCanvas(offCanvas);\r\n });\r\n }\r\n}\r\n\r\n// Function to close an off-canvas\r\nfunction closeOffCanvas(target) {\r\n // Remove classes and attributes for open off-canvas\r\n document.querySelector('[data-target=\"' + target.id + '\"').setAttribute('aria-expanded', 'false');\r\n target.classList.remove('c-off-canvas--active');\r\n target.setAttribute('aria-hidden', 'true');\r\n\r\n // Restore body overflow\r\n document.body.style.overflowY = '';\r\n}\r\n\r\n// Function to handle backdrop click\r\nfunction handleBackdropClick() {\r\n const offCanvas = this.closest('.c-off-canvas');\r\n closeOffCanvas(offCanvas);\r\n}\r\n\r\n// Function to handle Escape key press\r\nfunction handleKeyDown(event) {\r\n if (event.key === 'Escape') {\r\n const activeOffCanvas = document.querySelector('.c-off-canvas--active');\r\n if (activeOffCanvas) {\r\n closeOffCanvas(activeOffCanvas);\r\n }\r\n }\r\n}\r\n\r\n// Function to handle close button click\r\nfunction handleCloseClick() {\r\n const offCanvas = this.closest('.c-off-canvas');\r\n closeOffCanvas(offCanvas);\r\n}\r\n\r\nexport default OffCanvas;","const ResponsiveTable = () => {\r\n const tables = Array.from(document.querySelectorAll('.c-table--responsive'));\r\n tables.forEach(createResponsiveTable);\r\n\r\n /**\r\n * Create responsive table headers for large tables\r\n * @param {HTMLTableElement} table\r\n */\r\n function createResponsiveTable(table) {\r\n const headers = table.querySelectorAll('thead > :first-child th');\r\n const breakPoint = Number(table.getAttribute('data-columns')) || 2\r\n \r\n if (headers.length < breakPoint) {\r\n table.classList.remove('c-table--responsive');\r\n return;\r\n };\r\n\r\n Array.from(table.querySelectorAll('tbody tr')).forEach((row) => {\r\n Array.from(headers)\r\n .map((x) => x.textContent)\r\n .forEach((header, index) => {\r\n if (row.children[index]) {\r\n row.children[index].setAttribute('data-responsive-title', header);\r\n }\r\n });\r\n });\r\n }\r\n};\r\n\r\nexport default ResponsiveTable;\r\n","import { debounce } from './utilities';\r\n\r\nfunction ScrollbarWidth() {\r\n setScrollbarWidth();\r\n window.addEventListener('resize', debounce(setScrollbarWidth, 250));\r\n}\r\n\r\nfunction setScrollbarWidth() {\r\n document.documentElement.style.setProperty(\r\n '--scrollbarWidth', \r\n window.innerWidth - document.body.clientWidth + 'px'\r\n );\r\n}\r\n\r\nexport default ScrollbarWidth;","function ScrollSpy() {\r\n const internalNav = document.querySelector('.c-internal-nav');\r\n const internalNavHeight = internalNav ? internalNav.offsetHeight : 0;\r\n\r\n const spies = Array.from(document.querySelectorAll('.c-scroll-spy'));\r\n spies.forEach(spy => {\r\n setup(spy, internalNavHeight);\r\n });\r\n}\r\n\r\nfunction setup(element, internalNavHeight) {\r\n const anchors = Array.from(element.querySelectorAll('a'));\r\n const observer = new IntersectionObserver(observation(anchors));\r\n \r\n anchors.forEach(anchor => {\r\n const id = anchor.getAttribute('href').replace('#', '');\r\n const target = document.getElementById(id);\r\n if (!target) return;\r\n\r\n observer.observe(target);\r\n });\r\n\r\n const currentTop = parseFloat(window.getComputedStyle(element).top);\r\n element.style.top = `${currentTop + internalNavHeight}px`;\r\n}\r\n\r\n/**\r\n * @param {Array<HTMLAnchorElement>} results \r\n * @return {Array<IntersectionObserverEntry>}\r\n */\r\nfunction observation(anchors) {\r\n return (results) => {\r\n const firstObservation = results.find(x => x.isIntersecting);\r\n\r\n if (firstObservation) {\r\n anchors.forEach(x => {\r\n x.classList.toggle(\r\n 'c-scroll-spy-active',\r\n x.getAttribute('href') === '#' + firstObservation.target.id\r\n )\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport default ScrollSpy;\r\n","function Tabs() {\r\n const tabs = Array.from(document.querySelectorAll('.c-tabs--anchor'));\r\n tabs.forEach(setupTabs);\r\n}\r\n\r\nfunction setupTabs(parent) {\r\n const controls = Array.from(parent.querySelectorAll('.c-tabs__control'));\r\n const content = Array.from(parent.querySelectorAll('.c-tab'));\r\n const persist = parent.classList.contains('c-tabs--persist');\r\n \r\n if (!controls.length || !content.length) return;\r\n\r\n controls.forEach(control => {\r\n control.addEventListener('click', controlClick(controls, content, persist))\r\n })\r\n\r\n if (persist && window.location.hash) {\r\n const control = parent.querySelector('[href=\"' + window.location.hash + '\"]');\r\n if (control) control.dispatchEvent(new Event('click'));\r\n }\r\n}\r\n\r\nfunction controlClick(controls, contents, persist) {\r\n return (event) => {\r\n const control = event.currentTarget;\r\n const content = contents.find(x => x.id === control.getAttribute('href').replace('#', ''));\r\n \r\n if (!content) {\r\n return true;\r\n };\r\n\r\n event.preventDefault();\r\n \r\n if (persist) {\r\n history.pushState(null, null, control.getAttribute('href'));\r\n }\r\n\r\n controls.forEach(c => c.classList.toggle('c-tabs__control--active', c === control));\r\n contents.forEach(c => {\r\n const isCurrent = c === content;\r\n c.classList.toggle('c-tab--active', isCurrent);\r\n \r\n if (persist) return;\r\n\r\n if (isCurrent) {\r\n c.setAttribute('tabIndex', -1);\r\n \r\n const y = window.scrollY;\r\n c.focus();\r\n window.scrollTo({ behavior: \"auto\", top: y })\r\n } else {\r\n c.removeAttribute('tabIndex');\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport default Tabs;\r\n","import Accordion from './imports/accordion';\r\nimport Carousel from './imports/carousel';\r\nimport ClearForm from './imports/clear-form';\r\nimport Comparison from './imports/comparison';\r\nimport Gallery from './imports/gallery';\r\nimport HeroPattern from './imports/hero-pattern';\r\nimport HeroVideo from './imports/hero-video';\r\nimport InternalNav from './imports/internal-nav';\r\nimport OffCanvas from './imports/off-canvas';\r\nimport ResponsiveTable from './imports/responsive-table';\r\nimport ScrollbarWidth from './imports/scrollbar-width';\r\nimport ScrollSpy from './imports/scroll-spy';\r\nimport Tabs from './imports/tabs';\r\n\r\n(() => {\r\n if(window.NodeList && !NodeList.prototype.forEach) {\r\n NodeList.prototype.forEach = Array.prototype.forEach;\r\n }\r\n if(window.HTMLCollection && !HTMLCollection.prototype.forEach) {\r\n HTMLCollection.prototype.forEach = Array.prototype.forEach;\r\n }\r\n \r\n Accordion();\r\n Carousel();\r\n ClearForm();\r\n Comparison();\r\n Gallery();\r\n HeroPattern();\r\n HeroVideo();\r\n InternalNav();\r\n OffCanvas();\r\n ResponsiveTable();\r\n ScrollbarWidth();\r\n ScrollSpy();\r\n Tabs();\r\n})();"],"names":["$c274619fa9ae66ac$var$setupAccordions","title","addEventListener","event","currentTarget","parentElement","classList","toggle","$c274619fa9ae66ac$export$2e2bcd8739ae039","Array","from","document","querySelectorAll","forEach","$5bdce36a18199573$export$2e2bcd8739ae039","current","bgSlides","fgSlides","length","setInterval","bgSlide","style","opacity","fgSlide","$2b04c6f63ef290fb$export$2e2bcd8739ae039","formClear","getElementById","this","closest","elements","field","value","type","toLowerCase","checked","$7fbc59e2fab6d5d2$var$extractMobileComparison","container","parent","parentNode","body","querySelector","head","mobile","productsInfo","children","filter","x","i","map","info","innerHTML","productsButtons","buttons","products","index","table","row","contains","push","textContent","cells","firstCell","shift","el","key","product","createElement","join","$7fbc59e2fab6d5d2$var$createMobileProduct","appendChild","$7fbc59e2fab6d5d2$export$2e2bcd8739ae039","$dfe0031b837edf6f$export$2e2bcd8739ae039","mainSlides","thumbnailSlides","lightboxTrigger","lightbox","cloneNode","remove","add","slide","slideImg","srcset","removeAttribute","slideImgSrc","getAttribute","indexOf","setAttribute","split","console","log","insertAdjacentHTML","lightboxActive","prevImage","parseInt","dataset","nextImage","e","target","thumbnailSlide","thumbnail","mainSlide","$41a3994d4318effb$export$b568019c0551f0a4","y","a","min","max","Math","$41a3994d4318effb$export$7d15b64cf5a3a4c4","$2e27ca8f14f20195$export$2e2bcd8739ae039","time","c","ctx","getContext","reduceMotion","window","matchMedia","matches","crossGap","crossSpeed","width","height","across","down","totalPoints","crosses","onResize","scrollWidth","scrollHeight","canvas","ceil","ids","array","arr","j","floor","random","$41a3994d4318effb$export$448332262467e042","_","counter","direction","draw","clearRect","beginPath","cnt","lineTo","cos","lineWidth","strokeStyle","stroke","cross","x1","y1","x2","y2","$41a3994d4318effb$export$3a89f8d6f6bf6c9f","moveTo","requestAnimationFrame","$63fd9338c6a56d33$export$2e2bcd8739ae039","videoBackground","reducedMotion","pause","lightboxContainer","lightboxVideo","checkVideos","paused","play","$a8ec42a1db03828c$export$2e2bcd8739ae039","internalNav","IntersectionObserver","entries","observer","isIntersecting","root","rootMargin","threshold","observe","internalNavHeight","offsetHeight","updateInternalNavHeight","anchor","id","replace","scrollMarginTop","$34e92b90f028a0e5$var$isVisible","element","rect","getBoundingClientRect","getComputedStyle","top","left","bottom","innerHeight","documentElement","clientHeight","right","innerWidth","clientWidth","display","visibility","$34e92b90f028a0e5$var$handleOffCanvas","isVisible","targetHeader","targetMain","targetFooter","targetHeaderContent","outerHTML","targetMainContent","targetFooterContent","$34e92b90f028a0e5$var$createOffCanvas","targetBackdrop","targetContent","firstChild","insertBefore","removeChild","targetClose","$34e92b90f028a0e5$var$removeOffCanvas","$34e92b90f028a0e5$var$closeOffCanvas","overflowY","$34e92b90f028a0e5$var$handleBackdropClick","$34e92b90f028a0e5$var$handleKeyDown","activeOffCanvas","$34e92b90f028a0e5$var$handleCloseClick","$34e92b90f028a0e5$export$2e2bcd8739ae039","toggles","offCanvasBackdrop","offCanvasCloseElements","offCanvasClose","once","allOffCanvasElementsExceptCurrent","offCanvas","$34e92b90f028a0e5$var$openOffCanvas","$34e92b90f028a0e5$var$toggleOffCanvas","headers","breakPoint","Number","header","$e3dc92a106d80d6c$var$setScrollbarWidth","setProperty","$e3dc92a106d80d6c$export$2e2bcd8739ae039","func","limit","wait","setTimeout","$41a3994d4318effb$export$61fc7d43ac8f84b0","spy","anchors","results","firstObservation","find","$9d1dec2ad218c628$var$observation","currentTop","parseFloat","$9d1dec2ad218c628$var$setup","$1d2dabc452d8efd6$var$setupTabs","controls","content","persist","control","contents","preventDefault","history","pushState","isCurrent","scrollY","focus","scrollTo","behavior","$1d2dabc452d8efd6$var$controlClick","location","hash","dispatchEvent","Event","$1d2dabc452d8efd6$export$2e2bcd8739ae039","NodeList","prototype","HTMLCollection","$384feef4bde84172$export$2e2bcd8739ae039","$9d1dec2ad218c628$export$2e2bcd8739ae039"],"version":3,"file":"app.js.map"}
@@ -1,2 +1,2 @@
1
- @import "https://fonts.googleapis.com/css2?family=Source+Code+Pro&display=swap";.u-breakout{left:50%;left:calc(50% + var(--scrollbarWidth)/2.0001);width:100vw;width:calc(100vw - var(--scrollbarWidth));padding-left:safe-space(0);padding-right:safe-space(0);position:relative;transform:translate(-50vw)}.u-cutoff{clip-path:polygon(0 0,100% 0,100% calc(100% - var(--gutter)),calc(100% - var(--gutter))100%,0 100%)}.u-cutoff--top-right{clip-path:polygon(0 0,calc(100% - var(--gutter))0,100% var(--gutter),100% 100%,0 100%)}.u-cutoff--top-left{clip-path:polygon(0 var(--gutter),var(--gutter)0,100% 0,100% 100%,0 100%)}.u-cutoff--bottom-left{clip-path:polygon(0 0,100% 0,100% 100%,var(--gutter)100%,0 calc(100% - var(--gutter)))}.u-cutoff--xl{clip-path:polygon(0 0,100% 0,100% calc(100% - var(--space-xl)),calc(100% - var(--space-xl))100%,0 100%)}:root{--fluid-min-width:320;--fluid-max-width:1332;--fluid-screen:100vw;--fluid-bp:calc( (var(--fluid-screen) - var(--fluid-min-width)/16*1rem)/(var(--fluid-max-width) - var(--fluid-min-width)))}@media screen and (min-width:1332px){:root{--fluid-screen:calc(var(--fluid-max-width)*1px)}}:root{--f--2-min:12.64;--f--2-max:12.5;--step--2:calc( ((var(--f--2-min)/16)*1rem) + (var(--f--2-max) - var(--f--2-min))*var(--fluid-bp));--f--1-min:14.22;--f--1-max:15;--step--1:calc( ((var(--f--1-min)/16)*1rem) + (var(--f--1-max) - var(--f--1-min))*var(--fluid-bp));--f-0-min:16;--f-0-max:18;--step-0:calc( ((var(--f-0-min)/16)*1rem) + (var(--f-0-max) - var(--f-0-min))*var(--fluid-bp));--f-1-min:18;--f-1-max:21.6;--step-1:calc( ((var(--f-1-min)/16)*1rem) + (var(--f-1-max) - var(--f-1-min))*var(--fluid-bp));--f-2-min:20.25;--f-2-max:25.92;--step-2:calc( ((var(--f-2-min)/16)*1rem) + (var(--f-2-max) - var(--f-2-min))*var(--fluid-bp));--f-3-min:22.78;--f-3-max:31.1;--step-3:calc( ((var(--f-3-min)/16)*1rem) + (var(--f-3-max) - var(--f-3-min))*var(--fluid-bp));--f-4-min:25.63;--f-4-max:37.32;--step-4:calc( ((var(--f-4-min)/16)*1rem) + (var(--f-4-max) - var(--f-4-min))*var(--fluid-bp));--f-5-min:28.83;--f-5-max:44.79;--step-5:calc( ((var(--f-5-min)/16)*1rem) + (var(--f-5-max) - var(--f-5-min))*var(--fluid-bp));--f-6-min:32.44;--f-6-max:53.75;--step-6:calc( ((var(--f-6-min)/16)*1rem) + (var(--f-6-max) - var(--f-6-min))*var(--fluid-bp));--f-7-min:36.49;--f-7-max:64.5;--step-7:calc( ((var(--f-7-min)/16)*1rem) + (var(--f-7-max) - var(--f-7-min))*var(--fluid-bp));--f-8-min:41.05;--f-8-max:77.4;--step-8:calc( ((var(--f-8-min)/16)*1rem) + (var(--f-8-max) - var(--f-8-min))*var(--fluid-bp));--f-9-min:46.18;--f-9-max:92.88;--step-9:calc( ((var(--f-9-min)/16)*1rem) + (var(--f-9-max) - var(--f-9-min))*var(--fluid-bp));--f-10-min:51.96;--f-10-max:111.45;--step-10:calc( ((var(--f-10-min)/16)*1rem) + (var(--f-10-max) - var(--f-10-min))*var(--fluid-bp))}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:../fonts/inter-regular.woff2 format("woff2"),../fonts/inter-regular.woff format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:../fonts/inter-semibold.woff2 format("woff2"),../fonts/inter-semibold.woff format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:../fonts/inter-bold.woff2 format("woff2"),../fonts/inter-bold.woff format("woff")}:root{--max-screen:83.25;--fc-screen:100vw;--fc-bp:calc((var(--fc-screen) - 20em)/(var(--max-screen) - 20));--fc-base:18;--fc-3xs:4.5;--space-3xs:calc(var(--fc-3xs)/16*1rem);--fc-2xs:9;--space-2xs:calc(var(--fc-2xs)/16*1rem);--fc-xs:13.5;--space-xs:calc(var(--fc-xs)/16*1rem);--fc-s:18;--space-s:calc(var(--fc-s)/16*1rem);--fc-m:27;--space-m:calc(var(--fc-m)/16*1rem);--fc-l:36;--space-l:calc(var(--fc-l)/16*1rem);--fc-xl:54;--space-xl:calc(var(--fc-xl)/16*1rem);--fc-2xl:72;--space-2xl:calc(var(--fc-2xl)/16*1rem);--fc-3xl:108;--space-3xl:calc(var(--fc-3xl)/16*1rem);--fc-4xl:144;--space-4xl:calc(var(--fc-4xl)/16*1rem);--space--3xs:calc( ((var(--fc-)/16)*1rem) + (var(--fc-3xs) - var(--fc-))*var(--fluid-bp));--space-3xs-2xs:calc( ((var(--fc-3xs)/16)*1rem) + (var(--fc-2xs) - var(--fc-3xs))*var(--fluid-bp));--space-2xs-xs:calc( ((var(--fc-2xs)/16)*1rem) + (var(--fc-xs) - var(--fc-2xs))*var(--fluid-bp));--space-xs-s:calc( ((var(--fc-xs)/16)*1rem) + (var(--fc-s) - var(--fc-xs))*var(--fluid-bp));--space-s-m:calc( ((var(--fc-s)/16)*1rem) + (var(--fc-m) - var(--fc-s))*var(--fluid-bp));--space-m-l:calc( ((var(--fc-m)/16)*1rem) + (var(--fc-l) - var(--fc-m))*var(--fluid-bp));--space-l-xl:calc( ((var(--fc-l)/16)*1rem) + (var(--fc-xl) - var(--fc-l))*var(--fluid-bp));--space-xl-2xl:calc( ((var(--fc-xl)/16)*1rem) + (var(--fc-2xl) - var(--fc-xl))*var(--fluid-bp));--space-2xl-3xl:calc( ((var(--fc-2xl)/16)*1rem) + (var(--fc-3xl) - var(--fc-2xl))*var(--fluid-bp));--space-3xl-4xl:calc( ((var(--fc-3xl)/16)*1rem) + (var(--fc-4xl) - var(--fc-3xl))*var(--fluid-bp));--space-s-l:calc( ((var(--fc-s)/16)*1rem) + (var(--fc-l) - var(--fc-s))*var(--fluid-bp));--space-s-m:calc( ((var(--fc-s)/16)*1rem) + (var(--fc-m) - var(--fc-s))*var(--fluid-bp));--space-xs-l:calc( ((var(--fc-xs)/16)*1rem) + (var(--fc-l) - var(--fc-xs))*var(--fluid-bp));--space-m-xl:calc( ((var(--fc-m)/16)*1rem) + (var(--fc-xl) - var(--fc-m))*var(--fluid-bp));--space-l-2xl:calc( ((var(--fc-l)/16)*1rem) + (var(--fc-2xl) - var(--fc-l))*var(--fluid-bp));--space-s-xl:calc( ((var(--fc-s)/16)*1rem) + (var(--fc-xl) - var(--fc-s))*var(--fluid-bp));--space-l-3xl:calc( ((var(--fc-l)/16)*1rem) + (var(--fc-3xl) - var(--fc-l))*var(--fluid-bp));--space-xl-3xl:calc( ((var(--fc-xl)/16)*1rem) + (var(--fc-3xl) - var(--fc-xl))*var(--fluid-bp));--space-l-4xl:calc( ((var(--fc-l)/16)*1rem) + (var(--fc-4xl) - var(--fc-l))*var(--fluid-bp));--space-3xs-m:calc( ((var(--fc-3xs)/16)*1rem) + (var(--fc-m) - var(--fc-3xs))*var(--fluid-bp));--gutter:var(--space-s-l)}@media screen and (min-width:75em){:root{--fc-screen:calc(var(--max-screen)*1rem)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}*,:before,:after{box-sizing:border-box}body{min-height:100vh;flex-direction:column;justify-content:flex-start;align-items:stretch;margin:0;display:flex}html{scroll-behavior:smooth}blockquote,pre,ol,ul,figure{margin:0;padding:0}img{max-width:100%;height:auto;border:0;display:block}article,aside,figure,footer,header,aside,main,nav{display:block}iframe{border:0}body{letter-spacing:-.01em;font:400 18px/1.2 Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:var(--step-0);color:#333}h1,h2,h3,h4,h5,h6,p,ul,ol,dl{margin:0}ul,ol,p{line-height:1.2}a{text-decoration:none}a,a:hover{cursor:pointer;color:inherit}.mp ol,.mp ul{list-style:none}cite,address{font-style:normal}[type=submit],[type=button],button{box-shadow:none;appearance:none;cursor:pointer;color:inherit;font:inherit;background:0 0;border:0;border-radius:0;padding:0}label{cursor:pointer}fieldset{border:0;padding:.01em 0 0}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}code[class*=language-],pre[class*=language-]{text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;color:#3d7b87;tab-size:4;hyphens:none;background:#ebf1f2;font-family:Source Code Pro,monospace;font-size:1rem;line-height:1.5em}.c-alert code[class*=language-],.c-alert pre[class*=language-]{background:0 0}code[class*=language-]::selection,pre[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-] ::selection{color:#263238;background:#cceae7}:not(pre)>code[class*=language-]{white-space:normal;border-radius:.2em;padding:.1em}pre[class*=language-]{padding:18px;padding:var(--space-s);position:relative;overflow:auto}.language-css>code,.language-sass>code,.language-scss>code{color:#f2a60d}[class*=language-] .namespace{opacity:.7}.token.atrule{color:#3d7b87}.token.attr-name{color:#00a2c2}.token.attr-value,.token.attribute{color:#13aa13}.token.boolean{color:#ce0058}.token.builtin,.token.cdata,.token.char,.token.class{color:#00a2c2}.token.class-name{color:#6182b8}.token.comment{color:#aabfc9}.token.constant{color:#3d7b87}.token.deleted{color:#ce0058}.token.doctype{color:#aabfc9}.token.entity{color:#ce0058}.token.function{color:#3d7b87}.token.hexcode{color:#f2a60d}.token.id,.token.important{color:#3d7b87;font-weight:700}.token.inserted{color:#00a2c2}.token.keyword{color:#3d7b87}.token.number{color:#f2a60d}.token.operator{color:#00a2c2}.token.prolog{color:#aabfc9}.token.property{color:#00a2c2}.token.pseudo-class,.token.pseudo-element{color:#13aa13}.token.punctuation,.token.regex{color:#00a2c2}.token.selector{color:#ce0058}.token.string{color:#13aa13}.token.symbol{color:#3d7b87}.token.tag{color:#005461}.token.unit{color:#f2a60d}.token.url,.token.variable{color:#ce0058}.u-hr,.c-library hr,.o-prose hr{padding-bottom:27px;padding-bottom:var(--space-m-xl);margin:0 0 27px;margin-bottom:var(--space-m-xl);border:0;border-bottom:1px solid #bfd3d6}.u-border-top{border-top:1px solid #bfd3d6}.u-border-bottom{border-bottom:1px solid #bfd3d6}.u-border{border:1px solid #bfd3d6}.o-grid{margin-bottom:-18px;margin-bottom:calc(-1*var(--gutter));width:100%;flex-wrap:wrap;justify-content:stretch;display:flex}.o-grid--float:after{content:" ";clear:both;display:table}.o-grid--between{justify-content:space-between}.o-grid--no-height-match{align-items:start}.o-grid>*{width:100%}@media (min-width:40em){.o-grid--of-two>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--gutter)/2 - .1px);margin-bottom:18px;margin-bottom:var(--gutter)}.o-grid--of-two>*+*{margin-left:18px;margin-left:var(--gutter)}.o-grid--of-two>:nth-child(2n+1){margin-left:0}.o-grid--of-two.o-grid--s>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--space-s)/2 - .1px);margin-bottom:18px;margin-bottom:var(--space-s)}.o-grid--of-two.o-grid--s>*+*{margin-left:18px;margin-left:var(--space-s)}.o-grid--of-two.o-grid--s>:nth-child(2n+1){margin-left:0}}.o-grid--of-two-switch{justify-content:space-between}@media (min-width:40em){.o-grid--of-two-switch>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--gutter)/2 - .1px);margin-bottom:18px;margin-bottom:var(--gutter)}.o-grid--of-two-switch>*+*{margin-left:18px;margin-left:var(--gutter)}.o-grid--of-two-switch>:nth-child(2n+1){margin-left:0}.o-grid--of-two-switch.o-grid--s>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--space-s)/2 - .1px);margin-bottom:18px;margin-bottom:var(--space-s)}.o-grid--of-two-switch.o-grid--s>*+*{margin-left:18px;margin-left:var(--space-s)}.o-grid--of-two-switch.o-grid--s>:nth-child(2n+1),.o-grid--of-two-switch>:nth-child(2n+2){margin-left:0}}@media (min-width:55em){.o-grid--of-two-late>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--gutter)/2 - .1px);margin-bottom:18px;margin-bottom:var(--gutter)}.o-grid--of-two-late>*+*{margin-left:18px;margin-left:var(--gutter)}.o-grid--of-two-late>:nth-child(2n+1){margin-left:0}.o-grid--of-two-late.o-grid--s>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--space-s)/2 - .1px);margin-bottom:18px;margin-bottom:var(--space-s)}.o-grid--of-two-late.o-grid--s>*+*{margin-left:18px;margin-left:var(--space-s)}.o-grid--of-two-late.o-grid--s>:nth-child(2n+1){margin-left:0}}@media (min-width:22.4em){.o-grid--of-two-early>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--gutter)/2 - .1px);margin-bottom:18px;margin-bottom:var(--gutter)}.o-grid--of-two-early>*+*{margin-left:18px;margin-left:var(--gutter)}.o-grid--of-two-early>:nth-child(2n+1){margin-left:0}.o-grid--of-two-early.o-grid--s>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--space-s)/2 - .1px);margin-bottom:18px;margin-bottom:var(--space-s)}.o-grid--of-two-early.o-grid--s>*+*{margin-left:18px;margin-left:var(--space-s)}.o-grid--of-two-early.o-grid--s>:nth-child(2n+1){margin-left:0}}@media (min-width:38em) and (max-width:54.9375em){.o-grid--of-three>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--gutter)/2 - .1px);margin-bottom:18px;margin-bottom:var(--gutter)}.o-grid--of-three>*+*{margin-left:18px;margin-left:var(--gutter)}.o-grid--of-three>:nth-child(2n+1){margin-left:0}.o-grid--of-three.o-grid--s>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--space-s)/2 - .1px);margin-bottom:18px;margin-bottom:var(--space-s)}.o-grid--of-three.o-grid--s>*+*{margin-left:18px;margin-left:var(--space-s)}.o-grid--of-three.o-grid--s>:nth-child(2n+1){margin-left:0}}@media (min-width:55em){.o-grid--of-three>*{width:calc(33.3333% - 12.1px);width:calc(33.3333% - 2*var(--gutter)/3 - .1px);margin-bottom:18px;margin-bottom:var(--gutter)}.o-grid--of-three>*+*{margin-left:18px;margin-left:var(--gutter)}.o-grid--of-three>:nth-child(3n+1){margin-left:0}.o-grid--of-three.o-grid--s>*{width:calc(33.3333% - 12.1px);width:calc(33.3333% - 2*var(--space-s)/3 - .1px);margin-bottom:18px;margin-bottom:var(--space-s)}.o-grid--of-three.o-grid--s>*+*{margin-left:18px;margin-left:var(--space-s)}.o-grid--of-three.o-grid--s>:nth-child(3n+1){margin-left:0}}@media (min-width:38em) and (max-width:67.9375em){.o-grid--of-three-late>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--gutter)/2 - .1px);margin-bottom:18px;margin-bottom:var(--gutter)}.o-grid--of-three-late>*+*{margin-left:18px;margin-left:var(--gutter)}.o-grid--of-three-late>:nth-child(2n+1){margin-left:0}.o-grid--of-three-late.o-grid--s>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--space-s)/2 - .1px);margin-bottom:18px;margin-bottom:var(--space-s)}.o-grid--of-three-late.o-grid--s>*+*{margin-left:18px;margin-left:var(--space-s)}.o-grid--of-three-late.o-grid--s>:nth-child(2n+1){margin-left:0}}@media (min-width:68em){.o-grid--of-three-late>*{width:calc(33.3333% - 12.1px);width:calc(33.3333% - 2*var(--gutter)/3 - .1px);margin-bottom:18px;margin-bottom:var(--gutter)}.o-grid--of-three-late>*+*{margin-left:18px;margin-left:var(--gutter)}.o-grid--of-three-late>:nth-child(3n+1){margin-left:0}.o-grid--of-three-late.o-grid--s>*{width:calc(33.3333% - 12.1px);width:calc(33.3333% - 2*var(--space-s)/3 - .1px);margin-bottom:18px;margin-bottom:var(--space-s)}.o-grid--of-three-late.o-grid--s>*+*{margin-left:18px;margin-left:var(--space-s)}.o-grid--of-three-late.o-grid--s>:nth-child(3n+1){margin-left:0}}@media (min-width:22.4em) and (max-width:54.9375em){.o-grid--of-three-early>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--gutter)/2 - .1px);margin-bottom:18px;margin-bottom:var(--gutter)}.o-grid--of-three-early>*+*{margin-left:18px;margin-left:var(--gutter)}.o-grid--of-three-early>:nth-child(2n+1){margin-left:0}.o-grid--of-three-early.o-grid--s>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--space-s)/2 - .1px);margin-bottom:18px;margin-bottom:var(--space-s)}.o-grid--of-three-early.o-grid--s>*+*{margin-left:18px;margin-left:var(--space-s)}.o-grid--of-three-early.o-grid--s>:nth-child(2n+1){margin-left:0}}@media (min-width:55em){.o-grid--of-three-early>*{width:calc(33.3333% - 12.1px);width:calc(33.3333% - 2*var(--gutter)/3 - .1px);margin-bottom:18px;margin-bottom:var(--gutter)}.o-grid--of-three-early>*+*{margin-left:18px;margin-left:var(--gutter)}.o-grid--of-three-early>:nth-child(3n+1){margin-left:0}.o-grid--of-three-early.o-grid--s>*{width:calc(33.3333% - 12.1px);width:calc(33.3333% - 2*var(--space-s)/3 - .1px);margin-bottom:18px;margin-bottom:var(--space-s)}.o-grid--of-three-early.o-grid--s>*+*{margin-left:18px;margin-left:var(--space-s)}.o-grid--of-three-early.o-grid--s>:nth-child(3n+1){margin-left:0}}@media (min-width:38em) and (max-width:59.9375em){.o-grid--of-four>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--gutter)/2 - .1px);margin-bottom:18px;margin-bottom:var(--gutter)}.o-grid--of-four>*+*{margin-left:18px;margin-left:var(--gutter)}.o-grid--of-four>:nth-child(2n+1){margin-left:0}.o-grid--of-four.o-grid--s>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--space-s)/2 - .1px);margin-bottom:18px;margin-bottom:var(--space-s)}.o-grid--of-four.o-grid--s>*+*{margin-left:18px;margin-left:var(--space-s)}.o-grid--of-four.o-grid--s>:nth-child(2n+1){margin-left:0}}@media (min-width:60em){.o-grid--of-four>*{width:calc(25% - 13.6px);width:calc(25% - 3*var(--gutter)/4 - .1px);margin-bottom:18px;margin-bottom:var(--gutter)}.o-grid--of-four>*+*{margin-left:18px;margin-left:var(--gutter)}.o-grid--of-four>:nth-child(4n+1){margin-left:0}.o-grid--of-four.o-grid--s>*{width:calc(25% - 13.6px);width:calc(25% - 3*var(--space-s)/4 - .1px);margin-bottom:18px;margin-bottom:var(--space-s)}.o-grid--of-four.o-grid--s>*+*{margin-left:18px;margin-left:var(--space-s)}.o-grid--of-four.o-grid--s>:nth-child(4n+1){margin-left:0}}@media (min-width:22.4em) and (max-width:59.9375em){.o-grid--of-four-early>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--gutter)/2 - .1px);margin-bottom:18px;margin-bottom:var(--gutter)}.o-grid--of-four-early>*+*{margin-left:18px;margin-left:var(--gutter)}.o-grid--of-four-early>:nth-child(2n+1){margin-left:0}.o-grid--of-four-early.o-grid--s>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--space-s)/2 - .1px);margin-bottom:18px;margin-bottom:var(--space-s)}.o-grid--of-four-early.o-grid--s>*+*{margin-left:18px;margin-left:var(--space-s)}.o-grid--of-four-early.o-grid--s>:nth-child(2n+1){margin-left:0}}@media (min-width:60em){.o-grid--of-four-early>*{width:calc(25% - 13.6px);width:calc(25% - 3*var(--gutter)/4 - .1px);margin-bottom:18px;margin-bottom:var(--gutter)}.o-grid--of-four-early>*+*{margin-left:18px;margin-left:var(--gutter)}.o-grid--of-four-early>:nth-child(4n+1){margin-left:0}.o-grid--of-four-early.o-grid--s>*{width:calc(25% - 13.6px);width:calc(25% - 3*var(--space-s)/4 - .1px);margin-bottom:18px;margin-bottom:var(--space-s)}.o-grid--of-four-early.o-grid--s>*+*{margin-left:18px;margin-left:var(--space-s)}.o-grid--of-four-early.o-grid--s>:nth-child(4n+1){margin-left:0}}@media (max-width:54.9375em){.o-grid--swipeable{left:50%;left:calc(50% + var(--scrollbarWidth)/2.0001);width:100vw;width:calc(100vw - var(--scrollbarWidth));padding-left:var(--gutter);padding-right:var(--gutter);scroll-snap-type:x mandatory;scroll-padding:var(--gutter);-webkit-overflow-scrolling:touch;flex-wrap:nowrap;position:relative;overflow-x:scroll;transform:translate(-50vw)}.o-grid--swipeable>*{max-width:23em;width:calc(85vw - var(--gutter)*2.333);scroll-snap-align:start;scroll-snap-stop:always;flex:none}.o-grid--swipeable>*+*{margin-left:var(--gutter)!important}}@media (max-width:55em){.o-grid--float:not([class*=switch])>:nth-child(2n+1),.o-grid--float[class*=switch]>:nth-child(2n+2),.o-grid--float:not([class*=switch])>:nth-child(2n+2),.o-grid--float[class*=switch]>:nth-child(2n+1){position:static}}@media (min-width:55em){.o-grid--4\/7>:nth-child(2n+2),.o-grid--4\/7-switch>:nth-child(2n+2){width:57.1429%}.o-grid--9\/3>:nth-child(2n+1),.o-grid--8\/3>:nth-child(2n+1),.o-grid--8\/4>:nth-child(2n+1),.o-grid--3\/9>:nth-child(2n+2),.o-grid--3\/8>:nth-child(2n+2),.o-grid--4\/8>:nth-child(2n+2),.o-grid--9\/3-switch>:nth-child(2n+2),.o-grid--8\/3-switch>:nth-child(2n+2),.o-grid--8\/4-switch>:nth-child(2n+2),.o-grid--3\/9-switch>:nth-child(2n+1),.o-grid--3\/8-switch>:nth-child(2n+1),.o-grid--4\/8-switch>:nth-child(2n+1){width:65.7143%}.o-grid--9\/3>:nth-child(2n+2),.o-grid--8\/3>:nth-child(2n+2),.o-grid--8\/4>:nth-child(2n+2),.o-grid--3\/9>:nth-child(2n+1),.o-grid--3\/8>:nth-child(2n+1),.o-grid--4\/8>:nth-child(2n+1),.o-grid--4\/7>:nth-child(2n+1),.o-grid--9\/3-switch>:nth-child(2n+1),.o-grid--8\/3-switch>:nth-child(2n+1),.o-grid--8\/4-switch>:nth-child(2n+1),.o-grid--3\/9-switch>:nth-child(2n+2),.o-grid--3\/8-switch>:nth-child(2n+2),.o-grid--4\/8-switch>:nth-child(2n+2),.o-grid--4\/7-switch>:nth-child(2n+1){width:31.4286%}.o-grid--3\/9>:nth-child(2n+2),.o-grid--3\/8>:nth-child(2n+2),.o-grid--4\/8>:nth-child(2n+2),.o-grid--9\/3>:nth-child(2n+2),.o-grid--8\/3>:nth-child(2n+2),.o-grid--8\/4>:nth-child(2n+2),.o-grid--9\/3-switch>:nth-child(2n+1),.o-grid--8\/3-switch>:nth-child(2n+1),.o-grid--8\/4-switch>:nth-child(2n+1),.o-grid--3\/9-switch>:nth-child(2n+1),.o-grid--3\/8-switch>:nth-child(2n+1),.o-grid--4\/8-switch>:nth-child(2n+1){margin-left:2.85714%;margin-right:0}.o-grid--8\/3>:nth-child(2n+1),.o-grid--3\/8>:nth-child(2n+2),.o-grid--8\/3-switch>:nth-child(2n+2),.o-grid--3\/8-switch>:nth-child(2n+1){max-width:828px}.o-grid[class*=switch]>:nth-child(2n+1){order:1}.o-grid--layout,.o-grid--layout>:nth-last-child(1),.o-grid--layout>:nth-last-child(2){margin-bottom:0}.o-grid--push{justify-content:space-between}.o-grid--pull{justify-content:flex-start}.o-grid--float{display:block}.o-grid--float:not([class*=switch])>:nth-child(2n+1),.o-grid--float[class*=switch]>:nth-child(2n+2){float:left}.o-grid--float:not([class*=switch])>:nth-child(2n+2),.o-grid--float[class*=switch]>:nth-child(2n+1){float:right}}@media (min-width:70em){.o-grid--9\/3>:nth-child(2n+1),.o-grid--8\/3>:nth-child(2n+1),.o-grid--3\/9>:nth-child(2n+2),.o-grid--3\/8>:nth-child(2n+2),.o-grid--9\/3-switch>:nth-child(2n+2),.o-grid--8\/3-switch>:nth-child(2n+2),.o-grid--3\/9-switch>:nth-child(2n+1),.o-grid--3\/8-switch>:nth-child(2n+1){width:74.2857%}.o-grid--9\/3>:nth-child(2n+2),.o-grid--8\/3>:nth-child(2n+2),.o-grid--3\/9>:nth-child(2n+1),.o-grid--3\/8>:nth-child(2n+1),.o-grid--9\/3-switch>:nth-child(2n+1),.o-grid--8\/3-switch>:nth-child(2n+1),.o-grid--3\/9-switch>:nth-child(2n+2),.o-grid--3\/8-switch>:nth-child(2n+2){width:22.8571%}}.c-library{min-height:100vh;grid-template-rows:auto 1fr auto;display:grid}.c-library--components{grid-template-rows:auto 1fr}.c-library__header{letter-spacing:-.01em;font-size:15px;font-size:var(--step--1);padding:9px;padding:var(--space-2xs);color:#fff;background:#005461;flex-direction:column;align-items:flex-start;font-weight:700}@media only screen and (min-width:650px){.c-library__header{letter-spacing:-.01em;font-size:12.5px;font-size:var(--step--2);flex-direction:row;align-items:center}}@media only screen and (min-width:1000px){.c-library__header{letter-spacing:-.01em;font-size:15px;font-size:var(--step--1);padding:18px;padding:var(--space-s)var(--space-s-l)}}.c-library__header img{filter:saturate(0)brightness(10)}.c-library__header .c-library-page-active{position:relative}.c-library__header .c-library-page-active:after{content:"";width:100%;border-bottom:1px solid ;position:absolute;bottom:-6px;left:0}.c-library__hero{color:#fff;background:linear-gradient(#005461,#0000),linear-gradient(45deg,#00a2c2,#005461)}.c-library__body{grid-template-rows:auto auto;display:grid}@media only screen and (min-width:600px){.c-library__body{grid-template-columns:10em 1fr}}@media only screen and (min-width:800px){.c-library__body{grid-template-columns:17em 1fr}}@media only screen and (min-width:600px){.c-library--components .c-library__body>*{height:calc(100vh - var(--headerHeight) - 1px);overflow-y:auto}}.c-library__sidebar{letter-spacing:-.01em;font-size:12.5px;font-size:var(--step--2);scroll-behavior:none;border-right:1px solid #ebf1f2;grid-row:-1}@media only screen and (min-width:600px){.c-library__sidebar{grid-row:auto}}@media only screen and (min-width:800px){.c-library__sidebar{letter-spacing:-.01em;font-size:15px;font-size:var(--step--1)}}.c-library__sidebar>*{padding:18px;padding:var(--space-s-l)var(--space-s)var(--space-s-l)var(--space-s-l)}.c-library__sidebar li{position:relative}.c-library__sidebar li a{color:#006daf}.c-library__sidebar li a:hover{color:#006daf;text-decoration:underline}.c-library__sidebar li+li{margin-top:13.5px;margin-top:var(--space-xs)}.c-library__sidebar ul ul{padding:13.5px;padding:var(--space-xs);padding-bottom:0}.c-library__sidebar ul ul li+li{margin-top:9px;margin-top:var(--space-2xs)}.c-library__skip-link{padding:13.5px;padding:var(--space-xs)}@media only screen and (min-width:600px){.c-library__skip-link{display:none}}.c-library__logo{max-width:15%;min-width:100px;justify-content:center;align-items:center;display:flex}@media only screen and (min-width:650px){.c-library__logo{justify-content:flex-start}}.c-library__logo-name{padding-left:13.5px;padding-left:var(--space-xs-s);margin-left:13.5px;margin-left:var(--space-xs-s);white-space:nowrap;border-left:1px solid #3d7b87}.c-library__logo-name span{display:block}.c-library__logo-name span:nth-last-child(3),.c-library__logo-name span:nth-last-child(1){text-transform:uppercase;letter-spacing:-.01em;font-size:15px;font-size:var(--step--1);letter-spacing:.08em;color:#bfd3d6}.c-library__logo-name span:nth-last-child(2){color:#fff;letter-spacing:-.03em;font-size:37.32px;font-size:var(--step-4)}.has-js .c-library__sidebar ul>li>ul{display:none}.has-js .c-library__sidebar ul>.c-library-accordion-open>ul{display:block}.c-library .c-library-accordion-open>.c-library-accordion__toggle{transform:rotate(180deg)}.c-library .c-library-accordion__toggle{color:#006daf;justify-content:center;align-items:center;padding:.25rem;font-size:1rem;line-height:1;display:flex;position:absolute;top:0;right:0}.c-library-menu-active{font-weight:700;position:relative}.c-library-menu-active:before{content:"▸ ";position:absolute;top:0;left:-17px}.c-library-stretch{flex-direction:column;flex:1;display:flex}.c-library__main{overflow-y:auto}@media only screen and (min-width:600px){.c-library__main{overflow-y:scroll}}.c-library__frame{width:100%;position:relative}.c-library__frame-links{right:0;top:calc(-1*(var(--space-m) + var(--space-s)));z-index:1;position:absolute}.c-library__frame-links a,.c-library__frame-links button{letter-spacing:-.01em;font-size:15px;font-size:var(--step--1);color:#959595;background:#bfd3d6;border-radius:0 0 .25em .25em;padding:.25em .666em}.c-library__frame-background{border-radius:0 0 0 .25em;top:0}.c-library__frame iframe{--negative-padding:calc( var(--space-m)*-1 );height:100%;width:100%;width:calc(100% - var(--negative-padding)*2);left:var(--negative-padding);top:var(--negative-padding);resize:both;transition:padding .3s cubic-bezier(.22,.61,.36,1),background-color .3s cubic-bezier(.22,.61,.36,1)}@media only screen and (min-width:600px){.c-library__frame iframe{position:absolute}}.c-library__frame iframe body{border:2px solid red}.c-library-code{font-family:Source Code Pro}.c-library-pre{padding:18px;padding:var(--space-s);background:#ebf1f2;font-family:Source Code Pro;line-height:1.4;overflow-x:auto}.c-library-pre--bordered{border-bottom:1px solid #bfd3d6}.c-library-version{letter-spacing:-.01em;font-size:15px;font-size:var(--step--1);color:#959595}.c-library-status{letter-spacing:-.01em;font-size:15px;font-size:var(--step--1);color:#959595;background:#bfd3d6;border-radius:.25em;padding:.25em .666em}.c-library-status--ready{color:#fff;background:#13aa13}.c-library-status--in-production,.c-library-status--development,.c-library-status--placeholder{color:#fff;background:#f2a60d}.c-library-status--deprecated{color:#fff;background:#ce0058}.c-library__swatch-grid{margin-bottom:var(--space-m);grid-auto-rows:minmax(4em,auto);gap:0 1em;display:grid}@media only screen and (min-width:680px){.c-library__swatch-grid{grid-template-rows:5em auto;grid-template-columns:repeat(5,auto);gap:0}}.c-library__swatch-grid--has-labels{grid-auto-flow:row}@media only screen and (min-width:40em){.c-library__swatch-grid--has-labels{grid-template-rows:auto;grid-template-columns:minmax(15%,15em) auto}}@media only screen and (min-width:1000px){.c-library__swatch-grid--has-labels{grid-template-rows:5em auto;grid-template-columns:repeat(5,1fr);grid-auto-flow:column}}.c-library__swatches,.c-library__swatch-labels{grid-template-columns:repeat(auto-fit,165px);display:grid}.c-library__swatch{display:flex}.c-library__swatch>*{justify-content:center;margin:auto;font-weight:700}.c-library__swatches>*{height:0;padding-bottom:50%;position:relative}.c-library__swatches>*>*{text-align:center;height:100%;width:100%;justify-content:center;align-items:center;padding:.5rem;font-weight:700;display:flex;position:absolute;top:0;left:0}.c-library__swatch-grid table{letter-spacing:-.01em;font-size:12.5px;font-size:var(--step--2)}.c-library__swatch-grid table td,.c-library__swatch-grid table th{padding:9px 0 9px 4.5px;padding:var(--space-2xs)0 var(--space-2xs)var(--space-3xs)}.c-library__swatch-grid table th{width:3em}.c-library__swatch-grid table td{font-family:monospace}.c-library__image-row{max-width:100%;display:flex}.c-library__image-row img{object-fit:contain;width:6%;flex:auto;margin:0 2% 0 0}.c-library__image-row img:last-child{margin-right:0}.c-library__space{display:block}.c-library__space span{height:0;background:linear-gradient(45deg,#fff3 0%,#fff0 100%),#ce005880;padding-bottom:100%;display:block;position:relative}.c-library__space code{margin-left:18px;margin-left:var(--space-s);white-space:nowrap;line-height:1;position:absolute;top:50%;left:100%;transform:translateY(-50%)}.c-library-grid{color:#fff;letter-spacing:-.01em;font-size:15px;font-size:var(--step--1);background:#00758c;justify-content:center;align-items:center;padding:3rem 1rem;display:flex}.c-library-grid--alt{background:#3d7b87;padding:2rem 1rem}.c-library-grid--alt:before{content:" ";display:block}.c-library-grid--first{background:#005461;padding:2rem 1rem}.c-library-grid--first:before{content:"First on mobile"}.c-library-copy{position:relative}.c-library-copy__trigger{letter-spacing:-.01em;font-size:15px;font-weight:700;font-size:var(--step--1);padding:4.5px 9px;padding:var(--space-3xs)var(--space-2xs);letter-spacing:.02em;background:#bfd3d6;position:absolute;bottom:0;right:0}.c-library-copy__trigger:hover{color:#ce0058}.c-library__typo__sidebar{width:14.2857%}.c-library__typo__sidebar span{display:block}.c-library__typo__sidebar .x2{height:2em;border:1px solid #333;border-width:1px 0;margin-top:4.25em;line-height:2em}.c-library__typo__main{width:82.8572%}.c-library__semi{font-weight:600}.c-library__photo-grid{margin-top:54px;margin-top:var(--space-xl);grid-template-columns:1fr;gap:2px;display:grid}@media only screen and (min-width:880px){.c-library__photo-grid{grid-auto-flow:dense;grid-auto-rows:auto}.c-library__photo-grid img{height:100%;width:100%;object-fit:cover}.c-library__photo-grid div{grid-area:1/1/2/3;display:flex}.c-library__photo-grid div h2{margin:auto var(--space-s)}.c-library__photo-grid.grid-1{grid-template-columns:40% 20% 40%;grid-template-rows:var(--space-2xl)400px 400px}.c-library__photo-grid.grid-1 img:nth-child(2){grid-area:2/1/3/3}.c-library__photo-grid.grid-1 img:nth-child(3){grid-area:1/3/3/4}.c-library__photo-grid.grid-1 img:nth-child(5){grid-column:2/4}.c-library__photo-grid.grid-2{grid-template-columns:50% 50%;grid-template-rows:var(--space-2xl)300px 300px}.c-library__photo-grid.grid-2 div{grid-column:1/2}.c-library__photo-grid.grid-2 img:nth-child(2){grid-row:2/4}.c-library__photo-grid.grid-2 img:nth-child(3){grid-row:1/3}}.c-library__illustration-grid{gap:var(--gutter);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.c-library__illustration-grid :nth-child(2n+1):nth-last-child(5){grid-column:1/-1}.c-library .c-alert ul li{margin-left:1em;padding-left:.5rem;list-style:outside url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"8\" height=\"20\" viewBox=\"0 0 10 20\"><circle cx=\"5\" cy=\"14\" r=\"3.5\" fill=\"%2313AA13\" fill-rule=\"evenodd\"/></svg>")}.c-library .c-alert ul li h3,.c-library .c-alert ul li h4{color:#13aa13;font-size:1em;line-height:1.6}@media only screen and (max-width:1050px){.c-library__logo-name span:nth-last-child(3),.c-library__logo-name span:nth-last-child(1){letter-spacing:-.01em;font-size:12.5px;font-size:var(--step--2)}.c-library__logo-name span:nth-last-child(2){letter-spacing:-.02em;font-size:21.6px;font-size:var(--step-1)}.c-library__header nav li:last-child{display:none}}@media only screen and (min-width:650px) and (max-width:700px),screen and (max-width:450px){.c-library__header nav .u-row{gap:9px;gap:var(--space-2xs);letter-spacing:-.01em;font-size:12.5px;font-size:var(--step--2)}}@media only screen and (max-width:650px){.c-library__header nav a{padding:9px 0;padding:var(--space-2xs)0;display:block}.c-library__header .c-library-page-active:after{bottom:4.5px;bottom:var(--space-3xs)}}
1
+ @import "https://fonts.googleapis.com/css2?family=Source+Code+Pro&display=swap";.u-breakout{left:50%;left:calc(50% + var(--scrollbarWidth)/2.0001);width:100vw;width:calc(100vw - var(--scrollbarWidth));padding-left:safe-space(0);padding-right:safe-space(0);position:relative;transform:translate(-50vw)}.u-cutoff{clip-path:polygon(0 0,100% 0,100% calc(100% - var(--gutter)),calc(100% - var(--gutter))100%,0 100%)}.u-cutoff--top-right{clip-path:polygon(0 0,calc(100% - var(--gutter))0,100% var(--gutter),100% 100%,0 100%)}.u-cutoff--top-left{clip-path:polygon(0 var(--gutter),var(--gutter)0,100% 0,100% 100%,0 100%)}.u-cutoff--bottom-left{clip-path:polygon(0 0,100% 0,100% 100%,var(--gutter)100%,0 calc(100% - var(--gutter)))}.u-cutoff--m{clip-path:polygon(0 0,100% 0,100% calc(100% - var(--space-m)),calc(100% - var(--space-m))100%,0 100%)}.u-cutoff--xl{clip-path:polygon(0 0,100% 0,100% calc(100% - var(--space-xl)),calc(100% - var(--space-xl))100%,0 100%)}:root{--fluid-min-width:320;--fluid-max-width:1332;--fluid-screen:100vw;--fluid-bp:calc( (var(--fluid-screen) - var(--fluid-min-width)/16*1rem)/(var(--fluid-max-width) - var(--fluid-min-width)))}@media screen and (min-width:1332px){:root{--fluid-screen:calc(var(--fluid-max-width)*1px)}}:root{--f--2-min:12.64;--f--2-max:12.5;--step--2:calc( ((var(--f--2-min)/16)*1rem) + (var(--f--2-max) - var(--f--2-min))*var(--fluid-bp));--f--1-min:14.22;--f--1-max:15;--step--1:calc( ((var(--f--1-min)/16)*1rem) + (var(--f--1-max) - var(--f--1-min))*var(--fluid-bp));--f-0-min:16;--f-0-max:18;--step-0:calc( ((var(--f-0-min)/16)*1rem) + (var(--f-0-max) - var(--f-0-min))*var(--fluid-bp));--f-1-min:18;--f-1-max:21.6;--step-1:calc( ((var(--f-1-min)/16)*1rem) + (var(--f-1-max) - var(--f-1-min))*var(--fluid-bp));--f-2-min:20.25;--f-2-max:25.92;--step-2:calc( ((var(--f-2-min)/16)*1rem) + (var(--f-2-max) - var(--f-2-min))*var(--fluid-bp));--f-3-min:22.78;--f-3-max:31.1;--step-3:calc( ((var(--f-3-min)/16)*1rem) + (var(--f-3-max) - var(--f-3-min))*var(--fluid-bp));--f-4-min:25.63;--f-4-max:37.32;--step-4:calc( ((var(--f-4-min)/16)*1rem) + (var(--f-4-max) - var(--f-4-min))*var(--fluid-bp));--f-5-min:28.83;--f-5-max:44.79;--step-5:calc( ((var(--f-5-min)/16)*1rem) + (var(--f-5-max) - var(--f-5-min))*var(--fluid-bp));--f-6-min:32.44;--f-6-max:53.75;--step-6:calc( ((var(--f-6-min)/16)*1rem) + (var(--f-6-max) - var(--f-6-min))*var(--fluid-bp));--f-7-min:36.49;--f-7-max:64.5;--step-7:calc( ((var(--f-7-min)/16)*1rem) + (var(--f-7-max) - var(--f-7-min))*var(--fluid-bp));--f-8-min:41.05;--f-8-max:77.4;--step-8:calc( ((var(--f-8-min)/16)*1rem) + (var(--f-8-max) - var(--f-8-min))*var(--fluid-bp));--f-9-min:46.18;--f-9-max:92.88;--step-9:calc( ((var(--f-9-min)/16)*1rem) + (var(--f-9-max) - var(--f-9-min))*var(--fluid-bp));--f-10-min:51.96;--f-10-max:111.45;--step-10:calc( ((var(--f-10-min)/16)*1rem) + (var(--f-10-max) - var(--f-10-min))*var(--fluid-bp))}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:../fonts/inter-regular.woff2 format("woff2"),../fonts/inter-regular.woff format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:../fonts/inter-semibold.woff2 format("woff2"),../fonts/inter-semibold.woff format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:../fonts/inter-bold.woff2 format("woff2"),../fonts/inter-bold.woff format("woff")}:root{--max-screen:83.25;--fc-screen:100vw;--fc-bp:calc((var(--fc-screen) - 20em)/(var(--max-screen) - 20));--fc-base:18;--fc-3xs:4.5;--space-3xs:calc(var(--fc-3xs)/16*1rem);--fc-2xs:9;--space-2xs:calc(var(--fc-2xs)/16*1rem);--fc-xs:13.5;--space-xs:calc(var(--fc-xs)/16*1rem);--fc-s:18;--space-s:calc(var(--fc-s)/16*1rem);--fc-m:27;--space-m:calc(var(--fc-m)/16*1rem);--fc-l:36;--space-l:calc(var(--fc-l)/16*1rem);--fc-xl:54;--space-xl:calc(var(--fc-xl)/16*1rem);--fc-2xl:72;--space-2xl:calc(var(--fc-2xl)/16*1rem);--fc-3xl:108;--space-3xl:calc(var(--fc-3xl)/16*1rem);--fc-4xl:144;--space-4xl:calc(var(--fc-4xl)/16*1rem);--space--3xs:calc( ((var(--fc-)/16)*1rem) + (var(--fc-3xs) - var(--fc-))*var(--fluid-bp));--space-3xs-2xs:calc( ((var(--fc-3xs)/16)*1rem) + (var(--fc-2xs) - var(--fc-3xs))*var(--fluid-bp));--space-2xs-xs:calc( ((var(--fc-2xs)/16)*1rem) + (var(--fc-xs) - var(--fc-2xs))*var(--fluid-bp));--space-xs-s:calc( ((var(--fc-xs)/16)*1rem) + (var(--fc-s) - var(--fc-xs))*var(--fluid-bp));--space-s-m:calc( ((var(--fc-s)/16)*1rem) + (var(--fc-m) - var(--fc-s))*var(--fluid-bp));--space-m-l:calc( ((var(--fc-m)/16)*1rem) + (var(--fc-l) - var(--fc-m))*var(--fluid-bp));--space-l-xl:calc( ((var(--fc-l)/16)*1rem) + (var(--fc-xl) - var(--fc-l))*var(--fluid-bp));--space-xl-2xl:calc( ((var(--fc-xl)/16)*1rem) + (var(--fc-2xl) - var(--fc-xl))*var(--fluid-bp));--space-2xl-3xl:calc( ((var(--fc-2xl)/16)*1rem) + (var(--fc-3xl) - var(--fc-2xl))*var(--fluid-bp));--space-3xl-4xl:calc( ((var(--fc-3xl)/16)*1rem) + (var(--fc-4xl) - var(--fc-3xl))*var(--fluid-bp));--space-s-l:calc( ((var(--fc-s)/16)*1rem) + (var(--fc-l) - var(--fc-s))*var(--fluid-bp));--space-s-m:calc( ((var(--fc-s)/16)*1rem) + (var(--fc-m) - var(--fc-s))*var(--fluid-bp));--space-xs-l:calc( ((var(--fc-xs)/16)*1rem) + (var(--fc-l) - var(--fc-xs))*var(--fluid-bp));--space-m-xl:calc( ((var(--fc-m)/16)*1rem) + (var(--fc-xl) - var(--fc-m))*var(--fluid-bp));--space-l-2xl:calc( ((var(--fc-l)/16)*1rem) + (var(--fc-2xl) - var(--fc-l))*var(--fluid-bp));--space-s-xl:calc( ((var(--fc-s)/16)*1rem) + (var(--fc-xl) - var(--fc-s))*var(--fluid-bp));--space-l-3xl:calc( ((var(--fc-l)/16)*1rem) + (var(--fc-3xl) - var(--fc-l))*var(--fluid-bp));--space-xl-3xl:calc( ((var(--fc-xl)/16)*1rem) + (var(--fc-3xl) - var(--fc-xl))*var(--fluid-bp));--space-l-4xl:calc( ((var(--fc-l)/16)*1rem) + (var(--fc-4xl) - var(--fc-l))*var(--fluid-bp));--space-3xs-m:calc( ((var(--fc-3xs)/16)*1rem) + (var(--fc-m) - var(--fc-3xs))*var(--fluid-bp));--gutter:var(--space-s-l)}@media screen and (min-width:75em){:root{--fc-screen:calc(var(--max-screen)*1rem)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}*,:before,:after{box-sizing:border-box}body{min-height:100vh;flex-direction:column;justify-content:flex-start;align-items:stretch;margin:0;display:flex}html{scroll-behavior:smooth}blockquote,pre,ol,ul,figure{margin:0;padding:0}img{max-width:100%;height:auto;border:0;display:block}article,aside,figure,footer,header,aside,main,nav{display:block}iframe{border:0}body{letter-spacing:-.01em;font:400 18px/1.2 Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:var(--step-0);color:#333}h1,h2,h3,h4,h5,h6,p,ul,ol,dl{margin:0}ul,ol,p{line-height:1.2}a{text-decoration:none}a,a:hover{cursor:pointer;color:inherit}.mp ol,.mp ul{list-style:none}cite,address{font-style:normal}[type=submit],[type=button],button{box-shadow:none;appearance:none;cursor:pointer;color:inherit;font:inherit;background:0 0;border:0;border-radius:0;padding:0}label{cursor:pointer}fieldset{border:0;padding:.01em 0 0}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}code[class*=language-],pre[class*=language-]{text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;color:#3d7b87;tab-size:4;hyphens:none;background:#ebf1f2;font-family:Source Code Pro,monospace;font-size:1rem;line-height:1.5em}.c-alert code[class*=language-],.c-alert pre[class*=language-]{background:0 0}code[class*=language-]::selection,pre[class*=language-]::selection,code[class*=language-] ::selection,pre[class*=language-] ::selection{color:#263238;background:#cceae7}:not(pre)>code[class*=language-]{white-space:normal;border-radius:.2em;padding:.1em}pre[class*=language-]{padding:18px;padding:var(--space-s);position:relative;overflow:auto}.language-css>code,.language-sass>code,.language-scss>code{color:#f2a60d}[class*=language-] .namespace{opacity:.7}.token.atrule{color:#3d7b87}.token.attr-name{color:#00a2c2}.token.attr-value,.token.attribute{color:#13aa13}.token.boolean{color:#ce0058}.token.builtin,.token.cdata,.token.char,.token.class{color:#00a2c2}.token.class-name{color:#6182b8}.token.comment{color:#aabfc9}.token.constant{color:#3d7b87}.token.deleted{color:#ce0058}.token.doctype{color:#aabfc9}.token.entity{color:#ce0058}.token.function{color:#3d7b87}.token.hexcode{color:#f2a60d}.token.id,.token.important{color:#3d7b87;font-weight:700}.token.inserted{color:#00a2c2}.token.keyword{color:#3d7b87}.token.number{color:#f2a60d}.token.operator{color:#00a2c2}.token.prolog{color:#aabfc9}.token.property{color:#00a2c2}.token.pseudo-class,.token.pseudo-element{color:#13aa13}.token.punctuation,.token.regex{color:#00a2c2}.token.selector{color:#ce0058}.token.string{color:#13aa13}.token.symbol{color:#3d7b87}.token.tag{color:#005461}.token.unit{color:#f2a60d}.token.url,.token.variable{color:#ce0058}.u-hr,.c-library hr,.o-prose hr{padding-bottom:27px;padding-bottom:var(--space-m-xl);margin:0 0 27px;margin-bottom:var(--space-m-xl);border:0;border-bottom:1px solid #bfd3d6}.u-border-top{border-top:1px solid #bfd3d6}.u-border-bottom{border-bottom:1px solid #bfd3d6}.u-border{border:1px solid #bfd3d6}.o-grid{margin-bottom:-18px;margin-bottom:calc(-1*var(--gutter));width:100%;flex-wrap:wrap;justify-content:stretch;display:flex}.o-grid--float:after{content:" ";clear:both;display:table}.o-grid--between{justify-content:space-between}.o-grid--no-height-match{align-items:start}.o-grid>*{margin-bottom:18px;margin-bottom:var(--gutter);width:100%}@media (min-width:40em){.o-grid--of-two>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--gutter)/2 - .1px)}.o-grid--of-two>*+*{margin-left:18px;margin-left:var(--gutter)}.o-grid--of-two>:nth-child(2n+1){margin-left:0}.o-grid--of-two.o-grid--s>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--space-s)/2 - .1px);margin-bottom:18px;margin-bottom:var(--space-s)}.o-grid--of-two.o-grid--s>*+*{margin-left:18px;margin-left:var(--space-s)}.o-grid--of-two.o-grid--s>:nth-child(2n+1){margin-left:0}}.o-grid--of-two-switch{justify-content:space-between}@media (min-width:40em){.o-grid--of-two-switch>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--gutter)/2 - .1px)}.o-grid--of-two-switch>*+*{margin-left:18px;margin-left:var(--gutter)}.o-grid--of-two-switch>:nth-child(2n+1){margin-left:0}.o-grid--of-two-switch.o-grid--s>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--space-s)/2 - .1px);margin-bottom:18px;margin-bottom:var(--space-s)}.o-grid--of-two-switch.o-grid--s>*+*{margin-left:18px;margin-left:var(--space-s)}.o-grid--of-two-switch.o-grid--s>:nth-child(2n+1),.o-grid--of-two-switch>:nth-child(2n+2){margin-left:0}}@media (min-width:55em){.o-grid--of-two-late>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--gutter)/2 - .1px)}.o-grid--of-two-late>*+*{margin-left:18px;margin-left:var(--gutter)}.o-grid--of-two-late>:nth-child(2n+1){margin-left:0}.o-grid--of-two-late.o-grid--s>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--space-s)/2 - .1px);margin-bottom:18px;margin-bottom:var(--space-s)}.o-grid--of-two-late.o-grid--s>*+*{margin-left:18px;margin-left:var(--space-s)}.o-grid--of-two-late.o-grid--s>:nth-child(2n+1){margin-left:0}}@media (min-width:22.4em){.o-grid--of-two-early>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--gutter)/2 - .1px)}.o-grid--of-two-early>*+*{margin-left:18px;margin-left:var(--gutter)}.o-grid--of-two-early>:nth-child(2n+1){margin-left:0}.o-grid--of-two-early.o-grid--s>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--space-s)/2 - .1px);margin-bottom:18px;margin-bottom:var(--space-s)}.o-grid--of-two-early.o-grid--s>*+*{margin-left:18px;margin-left:var(--space-s)}.o-grid--of-two-early.o-grid--s>:nth-child(2n+1){margin-left:0}}@media (min-width:38em) and (max-width:54.9375em){.o-grid--of-three>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--gutter)/2 - .1px)}.o-grid--of-three>*+*{margin-left:18px;margin-left:var(--gutter)}.o-grid--of-three>:nth-child(2n+1){margin-left:0}.o-grid--of-three.o-grid--s>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--space-s)/2 - .1px);margin-bottom:18px;margin-bottom:var(--space-s)}.o-grid--of-three.o-grid--s>*+*{margin-left:18px;margin-left:var(--space-s)}.o-grid--of-three.o-grid--s>:nth-child(2n+1){margin-left:0}}@media (min-width:55em){.o-grid--of-three>*{width:calc(33.3333% - 12.1px);width:calc(33.3333% - 2*var(--gutter)/3 - .1px)}.o-grid--of-three>*+*{margin-left:18px;margin-left:var(--gutter)}.o-grid--of-three>:nth-child(3n+1){margin-left:0}.o-grid--of-three.o-grid--s>*{width:calc(33.3333% - 12.1px);width:calc(33.3333% - 2*var(--space-s)/3 - .1px);margin-bottom:18px;margin-bottom:var(--space-s)}.o-grid--of-three.o-grid--s>*+*{margin-left:18px;margin-left:var(--space-s)}.o-grid--of-three.o-grid--s>:nth-child(3n+1){margin-left:0}}@media (min-width:38em) and (max-width:67.9375em){.o-grid--of-three-late>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--gutter)/2 - .1px)}.o-grid--of-three-late>*+*{margin-left:18px;margin-left:var(--gutter)}.o-grid--of-three-late>:nth-child(2n+1){margin-left:0}.o-grid--of-three-late.o-grid--s>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--space-s)/2 - .1px);margin-bottom:18px;margin-bottom:var(--space-s)}.o-grid--of-three-late.o-grid--s>*+*{margin-left:18px;margin-left:var(--space-s)}.o-grid--of-three-late.o-grid--s>:nth-child(2n+1){margin-left:0}}@media (min-width:68em){.o-grid--of-three-late>*{width:calc(33.3333% - 12.1px);width:calc(33.3333% - 2*var(--gutter)/3 - .1px)}.o-grid--of-three-late>*+*{margin-left:18px;margin-left:var(--gutter)}.o-grid--of-three-late>:nth-child(3n+1){margin-left:0}.o-grid--of-three-late.o-grid--s>*{width:calc(33.3333% - 12.1px);width:calc(33.3333% - 2*var(--space-s)/3 - .1px);margin-bottom:18px;margin-bottom:var(--space-s)}.o-grid--of-three-late.o-grid--s>*+*{margin-left:18px;margin-left:var(--space-s)}.o-grid--of-three-late.o-grid--s>:nth-child(3n+1){margin-left:0}}@media (min-width:22.4em) and (max-width:54.9375em){.o-grid--of-three-early>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--gutter)/2 - .1px)}.o-grid--of-three-early>*+*{margin-left:18px;margin-left:var(--gutter)}.o-grid--of-three-early>:nth-child(2n+1){margin-left:0}.o-grid--of-three-early.o-grid--s>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--space-s)/2 - .1px);margin-bottom:18px;margin-bottom:var(--space-s)}.o-grid--of-three-early.o-grid--s>*+*{margin-left:18px;margin-left:var(--space-s)}.o-grid--of-three-early.o-grid--s>:nth-child(2n+1){margin-left:0}}@media (min-width:55em){.o-grid--of-three-early>*{width:calc(33.3333% - 12.1px);width:calc(33.3333% - 2*var(--gutter)/3 - .1px)}.o-grid--of-three-early>*+*{margin-left:18px;margin-left:var(--gutter)}.o-grid--of-three-early>:nth-child(3n+1){margin-left:0}.o-grid--of-three-early.o-grid--s>*{width:calc(33.3333% - 12.1px);width:calc(33.3333% - 2*var(--space-s)/3 - .1px);margin-bottom:18px;margin-bottom:var(--space-s)}.o-grid--of-three-early.o-grid--s>*+*{margin-left:18px;margin-left:var(--space-s)}.o-grid--of-three-early.o-grid--s>:nth-child(3n+1){margin-left:0}}@media (min-width:38em) and (max-width:59.9375em){.o-grid--of-four>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--gutter)/2 - .1px)}.o-grid--of-four>*+*{margin-left:18px;margin-left:var(--gutter)}.o-grid--of-four>:nth-child(2n+1){margin-left:0}.o-grid--of-four.o-grid--s>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--space-s)/2 - .1px);margin-bottom:18px;margin-bottom:var(--space-s)}.o-grid--of-four.o-grid--s>*+*{margin-left:18px;margin-left:var(--space-s)}.o-grid--of-four.o-grid--s>:nth-child(2n+1){margin-left:0}}@media (min-width:60em){.o-grid--of-four>*{width:calc(25% - 13.6px);width:calc(25% - 3*var(--gutter)/4 - .1px)}.o-grid--of-four>*+*{margin-left:18px;margin-left:var(--gutter)}.o-grid--of-four>:nth-child(4n+1){margin-left:0}.o-grid--of-four.o-grid--s>*{width:calc(25% - 13.6px);width:calc(25% - 3*var(--space-s)/4 - .1px);margin-bottom:18px;margin-bottom:var(--space-s)}.o-grid--of-four.o-grid--s>*+*{margin-left:18px;margin-left:var(--space-s)}.o-grid--of-four.o-grid--s>:nth-child(4n+1){margin-left:0}}@media (min-width:22.4em) and (max-width:59.9375em){.o-grid--of-four-early>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--gutter)/2 - .1px)}.o-grid--of-four-early>*+*{margin-left:18px;margin-left:var(--gutter)}.o-grid--of-four-early>:nth-child(2n+1){margin-left:0}.o-grid--of-four-early.o-grid--s>*{width:calc(50% - 9.1px);width:calc(50% - 1*var(--space-s)/2 - .1px);margin-bottom:18px;margin-bottom:var(--space-s)}.o-grid--of-four-early.o-grid--s>*+*{margin-left:18px;margin-left:var(--space-s)}.o-grid--of-four-early.o-grid--s>:nth-child(2n+1){margin-left:0}}@media (min-width:60em){.o-grid--of-four-early>*{width:calc(25% - 13.6px);width:calc(25% - 3*var(--gutter)/4 - .1px)}.o-grid--of-four-early>*+*{margin-left:18px;margin-left:var(--gutter)}.o-grid--of-four-early>:nth-child(4n+1){margin-left:0}.o-grid--of-four-early.o-grid--s>*{width:calc(25% - 13.6px);width:calc(25% - 3*var(--space-s)/4 - .1px);margin-bottom:18px;margin-bottom:var(--space-s)}.o-grid--of-four-early.o-grid--s>*+*{margin-left:18px;margin-left:var(--space-s)}.o-grid--of-four-early.o-grid--s>:nth-child(4n+1){margin-left:0}}@media (min-width:22.4em) and (max-width:64.9375em){.o-grid--of-five>*{width:calc(33.3333% - 12.1px);width:calc(33.3333% - 2*var(--gutter)/3 - .1px)}.o-grid--of-five>*+*{margin-left:18px;margin-left:var(--gutter)}.o-grid--of-five>:nth-child(3n+1){margin-left:0}.o-grid--of-five.o-grid--s>*{width:calc(33.3333% - 12.1px);width:calc(33.3333% - 2*var(--space-s)/3 - .1px);margin-bottom:18px;margin-bottom:var(--space-s)}.o-grid--of-five.o-grid--s>*+*{margin-left:18px;margin-left:var(--space-s)}.o-grid--of-five.o-grid--s>:nth-child(3n+1){margin-left:0}}@media (min-width:65em){.o-grid--of-five>*{width:calc(20% - 14.5px);width:calc(20% - 4*var(--gutter)/5 - .1px)}.o-grid--of-five>*+*{margin-left:18px;margin-left:var(--gutter)}.o-grid--of-five>:nth-child(5n+1){margin-left:0}.o-grid--of-five.o-grid--s>*{width:calc(20% - 14.5px);width:calc(20% - 4*var(--space-s)/5 - .1px);margin-bottom:18px;margin-bottom:var(--space-s)}.o-grid--of-five.o-grid--s>*+*{margin-left:18px;margin-left:var(--space-s)}.o-grid--of-five.o-grid--s>:nth-child(5n+1){margin-left:0}}@media (max-width:54.9375em){.o-grid--swipeable{left:50%;left:calc(50% + var(--scrollbarWidth)/2.0001);width:100vw;width:calc(100vw - var(--scrollbarWidth));padding-left:var(--gutter);padding-right:var(--gutter);scroll-snap-type:x mandatory;scroll-padding:var(--gutter);-webkit-overflow-scrolling:touch;flex-wrap:nowrap;position:relative;overflow-x:scroll;transform:translate(-50vw)}.o-grid--swipeable>*{max-width:23em;width:calc(85vw - var(--gutter)*2.333);scroll-snap-align:start;scroll-snap-stop:always;flex:none}.o-grid--swipeable>*+*{margin-left:var(--gutter)!important}}@media (max-width:55em){.o-grid--float:not([class*=switch])>:nth-child(2n+1),.o-grid--float[class*=switch]>:nth-child(2n+2),.o-grid--float:not([class*=switch])>:nth-child(2n+2),.o-grid--float[class*=switch]>:nth-child(2n+1){position:static}}@media (min-width:55em){.o-grid--4\/7>:nth-child(2n+2),.o-grid--4\/7-switch>:nth-child(2n+2){width:57.1429%}.o-grid--9\/3>:nth-child(2n+1),.o-grid--8\/3>:nth-child(2n+1),.o-grid--8\/4>:nth-child(2n+1),.o-grid--3\/9>:nth-child(2n+2),.o-grid--3\/8>:nth-child(2n+2),.o-grid--4\/8>:nth-child(2n+2),.o-grid--9\/3-switch>:nth-child(2n+2),.o-grid--8\/3-switch>:nth-child(2n+2),.o-grid--8\/4-switch>:nth-child(2n+2),.o-grid--3\/9-switch>:nth-child(2n+1),.o-grid--3\/8-switch>:nth-child(2n+1),.o-grid--4\/8-switch>:nth-child(2n+1){width:65.7143%}.o-grid--9\/3>:nth-child(2n+2),.o-grid--8\/3>:nth-child(2n+2),.o-grid--8\/4>:nth-child(2n+2),.o-grid--3\/9>:nth-child(2n+1),.o-grid--3\/8>:nth-child(2n+1),.o-grid--4\/8>:nth-child(2n+1),.o-grid--4\/7>:nth-child(2n+1),.o-grid--9\/3-switch>:nth-child(2n+1),.o-grid--8\/3-switch>:nth-child(2n+1),.o-grid--8\/4-switch>:nth-child(2n+1),.o-grid--3\/9-switch>:nth-child(2n+2),.o-grid--3\/8-switch>:nth-child(2n+2),.o-grid--4\/8-switch>:nth-child(2n+2),.o-grid--4\/7-switch>:nth-child(2n+1){width:31.4286%}.o-grid--3\/9>:nth-child(2n+2),.o-grid--3\/8>:nth-child(2n+2),.o-grid--4\/8>:nth-child(2n+2),.o-grid--9\/3>:nth-child(2n+2),.o-grid--8\/3>:nth-child(2n+2),.o-grid--8\/4>:nth-child(2n+2),.o-grid--9\/3-switch>:nth-child(2n+1),.o-grid--8\/3-switch>:nth-child(2n+1),.o-grid--8\/4-switch>:nth-child(2n+1),.o-grid--3\/9-switch>:nth-child(2n+1),.o-grid--3\/8-switch>:nth-child(2n+1),.o-grid--4\/8-switch>:nth-child(2n+1){margin-left:2.85714%;margin-right:0}.o-grid--8\/3>:nth-child(2n+1),.o-grid--3\/8>:nth-child(2n+2),.o-grid--8\/3-switch>:nth-child(2n+2),.o-grid--3\/8-switch>:nth-child(2n+1){max-width:828px}.o-grid[class*=switch]>:nth-child(2n+1){order:1}.o-grid--layout,.o-grid--layout>:nth-last-child(1),.o-grid--layout>:nth-last-child(2){margin-bottom:0}.o-grid--push{justify-content:space-between}.o-grid--pull{justify-content:flex-start}.o-grid--float{display:block}.o-grid--float:not([class*=switch])>:nth-child(2n+1),.o-grid--float[class*=switch]>:nth-child(2n+2){float:left}.o-grid--float:not([class*=switch])>:nth-child(2n+2),.o-grid--float[class*=switch]>:nth-child(2n+1){float:right}}@media (min-width:70em){.o-grid--9\/3>:nth-child(2n+1),.o-grid--8\/3>:nth-child(2n+1),.o-grid--3\/9>:nth-child(2n+2),.o-grid--3\/8>:nth-child(2n+2),.o-grid--9\/3-switch>:nth-child(2n+2),.o-grid--8\/3-switch>:nth-child(2n+2),.o-grid--3\/9-switch>:nth-child(2n+1),.o-grid--3\/8-switch>:nth-child(2n+1){width:74.2857%}.o-grid--9\/3>:nth-child(2n+2),.o-grid--8\/3>:nth-child(2n+2),.o-grid--3\/9>:nth-child(2n+1),.o-grid--3\/8>:nth-child(2n+1),.o-grid--9\/3-switch>:nth-child(2n+1),.o-grid--8\/3-switch>:nth-child(2n+1),.o-grid--3\/9-switch>:nth-child(2n+2),.o-grid--3\/8-switch>:nth-child(2n+2){width:22.8571%}}.c-library{min-height:100vh;grid-template-rows:auto 1fr auto;display:grid}.c-library--components{grid-template-rows:auto 1fr}.c-library__header{letter-spacing:-.01em;font-size:15px;font-size:var(--step--1);padding:9px;padding:var(--space-2xs);color:#fff;background:#005461;flex-direction:column;align-items:flex-start;font-weight:700}@media only screen and (min-width:650px){.c-library__header{letter-spacing:-.01em;font-size:12.5px;font-size:var(--step--2);flex-direction:row;align-items:center}}@media only screen and (min-width:1000px){.c-library__header{letter-spacing:-.01em;font-size:15px;font-size:var(--step--1);padding:18px;padding:var(--space-s)var(--space-s-l)}}.c-library__header img{filter:saturate(0)brightness(10)}.c-library__header .c-library-page-active{position:relative}.c-library__header .c-library-page-active:after{content:"";width:100%;border-bottom:1px solid ;position:absolute;bottom:-6px;left:0}.c-library__hero{color:#fff;background:linear-gradient(#005461,#0000),linear-gradient(45deg,#00a2c2,#005461)}.c-library__body{grid-template-rows:auto auto;display:grid}@media only screen and (min-width:600px){.c-library__body{grid-template-columns:10em 1fr}}@media only screen and (min-width:800px){.c-library__body{grid-template-columns:17em 1fr}}@media only screen and (min-width:600px){.c-library--components .c-library__body>*{height:calc(100vh - var(--headerHeight) - 1px);overflow-y:auto}}.c-library__sidebar{letter-spacing:-.01em;font-size:12.5px;font-size:var(--step--2);scroll-behavior:none;border-right:1px solid #ebf1f2;grid-row:-1}@media only screen and (min-width:600px){.c-library__sidebar{grid-row:auto}}@media only screen and (min-width:800px){.c-library__sidebar{letter-spacing:-.01em;font-size:15px;font-size:var(--step--1)}}.c-library__sidebar>*{padding:18px;padding:var(--space-s-l)var(--space-s)var(--space-s-l)var(--space-s-l)}.c-library__sidebar li{position:relative}.c-library__sidebar li a{color:#006daf}.c-library__sidebar li a:hover{color:#006daf;text-decoration:underline}.c-library__sidebar li+li{margin-top:13.5px;margin-top:var(--space-xs)}.c-library__sidebar ul ul{padding:13.5px;padding:var(--space-xs);padding-bottom:0}.c-library__sidebar ul ul li+li{margin-top:9px;margin-top:var(--space-2xs)}.c-library__skip-link{padding:13.5px;padding:var(--space-xs)}@media only screen and (min-width:600px){.c-library__skip-link{display:none}}.c-library__logo{max-width:15%;min-width:100px;justify-content:center;align-items:center;display:flex}@media only screen and (min-width:650px){.c-library__logo{justify-content:flex-start}}.c-library__logo-name{padding-left:13.5px;padding-left:var(--space-xs-s);margin-left:13.5px;margin-left:var(--space-xs-s);white-space:nowrap;border-left:1px solid #3d7b87}.c-library__logo-name span{display:block}.c-library__logo-name span:nth-last-child(3),.c-library__logo-name span:nth-last-child(1){text-transform:uppercase;letter-spacing:-.01em;font-size:15px;font-size:var(--step--1);letter-spacing:.08em;color:#bfd3d6}.c-library__logo-name span:nth-last-child(2){color:#fff;letter-spacing:-.03em;font-size:37.32px;font-size:var(--step-4)}.has-js .c-library__sidebar ul>li>ul{display:none}.has-js .c-library__sidebar ul>.c-library-accordion-open>ul{display:block}.c-library .c-library-accordion-open>.c-library-accordion__toggle{transform:rotate(180deg)}.c-library .c-library-accordion__toggle{color:#006daf;justify-content:center;align-items:center;padding:.25rem;font-size:1rem;line-height:1;display:flex;position:absolute;top:0;right:0}.c-library-menu-active{font-weight:700;position:relative}.c-library-menu-active:before{content:"▸ ";position:absolute;top:0;left:-17px}.c-library-stretch{flex-direction:column;flex:1;display:flex}.c-library__main{overflow-y:auto}@media only screen and (min-width:600px){.c-library__main{overflow-y:scroll}}.c-library__frame{width:100%;position:relative}.c-library__frame-links{right:0;top:calc(-1*(var(--space-m) + var(--space-s)));z-index:1;position:absolute}.c-library__frame-links a,.c-library__frame-links button{letter-spacing:-.01em;font-size:15px;font-size:var(--step--1);color:#959595;background:#bfd3d6;border-radius:0 0 .25em .25em;padding:.25em .666em}.c-library__frame-background{border-radius:0 0 0 .25em;top:0}.c-library__frame iframe{--negative-padding:calc( var(--space-m)*-1 );height:100%;width:100%;width:calc(100% - var(--negative-padding)*2);left:var(--negative-padding);top:var(--negative-padding);resize:both;transition:padding .3s cubic-bezier(.22,.61,.36,1),background-color .3s cubic-bezier(.22,.61,.36,1)}@media only screen and (min-width:600px){.c-library__frame iframe{position:absolute}}.c-library__frame iframe body{border:2px solid red}.c-library-code{font-family:Source Code Pro}.c-library-pre{padding:18px;padding:var(--space-s);background:#ebf1f2;font-family:Source Code Pro;line-height:1.4;overflow-x:auto}.c-library-pre--bordered{border-bottom:1px solid #bfd3d6}.c-library-version{letter-spacing:-.01em;font-size:15px;font-size:var(--step--1);color:#959595}.c-library-status{letter-spacing:-.01em;font-size:15px;font-size:var(--step--1);color:#959595;background:#bfd3d6;border-radius:.25em;padding:.25em .666em}.c-library-status--ready{color:#fff;background:#13aa13}.c-library-status--in-production,.c-library-status--development,.c-library-status--placeholder{color:#fff;background:#f2a60d}.c-library-status--deprecated{color:#fff;background:#ce0058}.c-library__swatch-grid{margin-bottom:var(--space-m);grid-auto-rows:minmax(4em,auto);gap:0 1em;display:grid}@media only screen and (min-width:680px){.c-library__swatch-grid{grid-template-rows:5em auto;grid-template-columns:repeat(5,auto);gap:0}}.c-library__swatch-grid--has-labels{grid-auto-flow:row}@media only screen and (min-width:40em){.c-library__swatch-grid--has-labels{grid-template-rows:auto;grid-template-columns:minmax(15%,15em) auto}}@media only screen and (min-width:1000px){.c-library__swatch-grid--has-labels{grid-template-rows:5em auto;grid-template-columns:repeat(5,1fr);grid-auto-flow:column}}.c-library__swatches,.c-library__swatch-labels{grid-template-columns:repeat(auto-fit,165px);display:grid}.c-library__swatch{display:flex}.c-library__swatch>*{justify-content:center;margin:auto;font-weight:700}.c-library__swatches>*{height:0;padding-bottom:50%;position:relative}.c-library__swatches>*>*{text-align:center;height:100%;width:100%;justify-content:center;align-items:center;padding:.5rem;font-weight:700;display:flex;position:absolute;top:0;left:0}.c-library__swatch-grid table{letter-spacing:-.01em;font-size:12.5px;font-size:var(--step--2)}.c-library__swatch-grid table td,.c-library__swatch-grid table th{padding:9px 0 9px 4.5px;padding:var(--space-2xs)0 var(--space-2xs)var(--space-3xs)}.c-library__swatch-grid table th{width:3em}.c-library__swatch-grid table td{font-family:monospace}.c-library__image-row{max-width:100%;display:flex}.c-library__image-row img{object-fit:contain;width:6%;flex:auto;margin:0 2% 0 0}.c-library__image-row img:last-child{margin-right:0}.c-library__space{display:block}.c-library__space span{height:0;background:linear-gradient(45deg,#fff3 0%,#fff0 100%),#ce005880;padding-bottom:100%;display:block;position:relative}.c-library__space code{margin-left:18px;margin-left:var(--space-s);white-space:nowrap;line-height:1;position:absolute;top:50%;left:100%;transform:translateY(-50%)}.c-library-grid{color:#fff;letter-spacing:-.01em;font-size:15px;font-size:var(--step--1);background:#00758c;justify-content:center;align-items:center;padding:3rem 1rem;display:flex}.c-library-grid--alt{background:#3d7b87;padding:2rem 1rem}.c-library-grid--alt:before{content:" ";display:block}.c-library-grid--first{background:#005461;padding:2rem 1rem}.c-library-grid--first:before{content:"First on mobile"}.c-library-copy{position:relative}.c-library-copy__trigger{letter-spacing:-.01em;font-size:15px;font-weight:700;font-size:var(--step--1);padding:4.5px 9px;padding:var(--space-3xs)var(--space-2xs);letter-spacing:.02em;background:#bfd3d6;position:absolute;bottom:0;right:0}.c-library-copy__trigger:hover{color:#ce0058}.c-library__typo__sidebar{width:14.2857%}.c-library__typo__sidebar span{display:block}.c-library__typo__sidebar .x2{height:2em;border:1px solid #333;border-width:1px 0;margin-top:4.25em;line-height:2em}.c-library__typo__main{width:82.8572%}.c-library__semi{font-weight:600}.c-library__photo-grid{margin-top:54px;margin-top:var(--space-xl);grid-template-columns:1fr;gap:2px;display:grid}@media only screen and (min-width:880px){.c-library__photo-grid{grid-auto-flow:dense;grid-auto-rows:auto}.c-library__photo-grid img{height:100%;width:100%;object-fit:cover}.c-library__photo-grid div{grid-area:1/1/2/3;display:flex}.c-library__photo-grid div h2{margin:auto var(--space-s)}.c-library__photo-grid.grid-1{grid-template-columns:40% 20% 40%;grid-template-rows:var(--space-2xl)400px 400px}.c-library__photo-grid.grid-1 img:nth-child(2){grid-area:2/1/3/3}.c-library__photo-grid.grid-1 img:nth-child(3){grid-area:1/3/3/4}.c-library__photo-grid.grid-1 img:nth-child(5){grid-column:2/4}.c-library__photo-grid.grid-2{grid-template-columns:50% 50%;grid-template-rows:var(--space-2xl)300px 300px}.c-library__photo-grid.grid-2 div{grid-column:1/2}.c-library__photo-grid.grid-2 img:nth-child(2){grid-row:2/4}.c-library__photo-grid.grid-2 img:nth-child(3){grid-row:1/3}}.c-library__illustration-grid{gap:var(--gutter);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.c-library__illustration-grid :nth-child(2n+1):nth-last-child(5){grid-column:1/-1}.c-library .c-alert ul li{margin-left:1em;padding-left:.5rem;list-style:outside url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"8\" height=\"20\" viewBox=\"0 0 10 20\"><circle cx=\"5\" cy=\"14\" r=\"3.5\" fill=\"%2313AA13\" fill-rule=\"evenodd\"/></svg>")}.c-library .c-alert ul li h3,.c-library .c-alert ul li h4{color:#13aa13;font-size:1em;line-height:1.6}@media only screen and (max-width:1050px){.c-library__logo-name span:nth-last-child(3),.c-library__logo-name span:nth-last-child(1){letter-spacing:-.01em;font-size:12.5px;font-size:var(--step--2)}.c-library__logo-name span:nth-last-child(2){letter-spacing:-.02em;font-size:21.6px;font-size:var(--step-1)}.c-library__header nav li:last-child{display:none}}@media only screen and (min-width:650px) and (max-width:700px),screen and (max-width:450px){.c-library__header nav .u-row{gap:9px;gap:var(--space-2xs);letter-spacing:-.01em;font-size:12.5px;font-size:var(--step--2)}}@media only screen and (max-width:650px){.c-library__header nav a{padding:9px 0;padding:var(--space-2xs)0;display:block}.c-library__header .c-library-page-active:after{bottom:4.5px;bottom:var(--space-3xs)}}
2
2
  /*# sourceMappingURL=library.css.map */