{"version":3,"sources":["about-path.js","animations.js","app-overviewjs.js","compare-list.js","home-path.js","navigation.js","rotating-list.js","small-bits.js","sticky-nav.js","text-slider.js","video-modal.js"],"names":["journeyAbout","document","querySelector","path","length","getTotalLength","style","strokeDasharray","strokeDashoffset","updateDrawing","progress","drawLength","gsap","set","ScrollTrigger","create","trigger","start","end","scrub","onUpdate","self","addEventListener","event","registerPlugin","Observer","ScrollToPlugin","MotionPathPlugin","from","scrollTrigger","opacity","duration","y","stagger","querySelectorAll","forEach","section","timeline","firstElementChild","fromTo","autoAlpha","marginBottom","position","delay","imageWheel","imageWheelItems","utils","toArray","imageWheelContent","onComplete","iwTl","repeat","item","itemSpan","to","e","pause","play","scale","sections","matchMedia","add","isDesktopXl","isDesktopLg","isDesktop","isTablet","isMobile","context","conditions","xPercent","ease","pin","xScrollList","listLength","getBoundingClientRect","width","stroke","apWrapper","apControlsWrap","apImagesWrap","apContent","apInner","apControls","apPanels","apImages","x","itemPos","classList","contains","setTimeout","remove","clearAnimate","body","removeAttribute","clearTimeout","setAttribute","yPercent","compareList","clBtns","clearActive","btn","listId","getAttribute","preventDefault","mm","point","getPointAtLength","animateBubbles","circleRect","circleTop","top","window","scrollY","height","circleLeft","left","scrollX","bubble","bubbleRect","bubbleTopPos","bubbleLeft","bubbleTop","xOffset","yOffset","updateMobileDrawing","mobilePath","bubbles","onEnter","onLeaveBack","transform","connectedListItems","desktopLinePosition","mobileLinePosition","csJourney","mobileLinePositionLeft","innerWidth","gridTemplateColumns","index","color","mainNav","mainNavOpen","mainNavClose","openNav","closeNav","toggleNav","stopPropagation","mainNavDrops","mainNavDropOpen","drop","mainNavDropCloseAll","mainNavDropToggle","child","outerWidth","console","log","rotatingList","prevBtn","nextBtn","images","paginationBubbles","currentIndex","totalItems","updateActiveItem","pagination","image","dataID","activeImage","createElement","itemDataID","appendChild","rotatingListWrapper","listContent","listImages","activeIndex","Math","floor","img","sharingOptions","postPageContent","setShareOffset","postPageOffset","setProperty","sharingOptionsArry","sharePageUrl","location","href","soLinkedin","soPage","setLinks","pageLink","val","copiedSuccess","parentEl","linkEl","linkOffset","msgEl","innerHTML","updateClipboard","newClip","cb","navigator","clipboard","writeText","then","sharingOption","permissions","query","name","result","state","chonkyTabs","clearChonkyTabs","tab","chonkyTabsTransition","timing","clickedTab","parentTab","nextElementSibling","oldTab","scrollIntoView","behavior","block","inline","chonkyTab","tabBtns","tabBtn","postPagePopups","box","openBtns","closeBtns","closeAllPopups","pId","pModal","target","lastScrollTopNav","siteHeader","siteAlert","setHeaderHeight","headerHeight","siteAlertHeight","st","documentElement","scrollTop","textSliders","slider","slides","animationTime","parseInt","getComputedStyle","getPropertyValue","replace","currentSlide","controlVisibility","changeSlide","startSlide","endSlide","Promise","resolve","clickHandler","direction","YT","ready","videoModals","closeModal","modal","close","Player","playerVars","origin","modalBtn","modalId","modalDialog","iframe","iframeSrc","src","modalVideoSrc","video","showModal","stopImmediatePropagation"],"mappings":"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","file":"../app.js","sourcesContent":["//===-----------------===\r\n// about animation fill\r\n//===-----------------===\r\n\r\nconst journeyAbout = document.querySelector(\".cs-journey-about\")\r\nif (journeyAbout) {\r\n\tconst path = document.querySelector(\".journey-about-svg-path\")\r\n\tif (path) {\r\n\t\tconst length = path.getTotalLength()\r\n\t\tpath.style.strokeDasharray = length\r\n\t\tpath.style.strokeDashoffset = length\r\n\r\n\t\tconst updateDrawing = progress => {\r\n\t\t\tconst drawLength = length * progress\r\n\r\n\t\t\tgsap.set(path, {\r\n\t\t\t\tstrokeDashoffset: length - drawLength,\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tScrollTrigger.create({\r\n\t\t\ttrigger: journeyAbout,\r\n\t\t\tstart: \"top top\",\r\n\t\t\tend: \"bottom bottom\",\r\n\t\t\tscrub: true,\r\n\t\t\tonUpdate: self => {\r\n\t\t\t\tupdateDrawing(self.progress)\r\n\t\t\t},\r\n\t\t})\r\n\t}\r\n}\r\n","//---------------------------------\r\n//===---------------------------===\r\n// Animations - GreenSock\r\n//===---------------------------===\r\n\r\n//---------------------------------\r\ndocument.addEventListener(\"DOMContentLoaded\", event => {\r\n\tgsap.registerPlugin(ScrollTrigger, Observer, ScrollToPlugin, MotionPathPlugin)\r\n\r\n\tif (document.querySelector(\".cl-list\")) {\r\n\t\t//===-----------------===\r\n\t\t// Compare list animation\r\n\t\t//===-----------------===\r\n\t\tgsap.from(\".cl-list--good ul li\", {\r\n\t\t\tscrollTrigger: \".cl-list\",\r\n\t\t\topacity: 0,\r\n\t\t\tduration: 0.25,\r\n\t\t\ty: -100,\r\n\t\t\tstagger: 0.5,\r\n\t\t})\r\n\r\n\t\tgsap.from(\".cl-list--bad ul li\", {\r\n\t\t\tscrollTrigger: \".cl-list\",\r\n\t\t\topacity: 0,\r\n\t\t\tduration: 0.25,\r\n\t\t\ty: -100,\r\n\t\t\tstagger: 0.5,\r\n\t\t})\r\n\t}\r\n\r\n\t//===-----------------===\r\n\t// Content fading\r\n\t//===-----------------===\r\n\tif (document.querySelector(\".animate-fade-in\")) {\r\n\t\tconst fadingSections = document.querySelectorAll(\".animate-fade-in\")\r\n\t\tfadingSections.forEach(section => {\r\n\t\t\tconst fadeTL = gsap\r\n\t\t\t\t.timeline({\r\n\t\t\t\t\tscrollTrigger: {\r\n\t\t\t\t\t\ttrigger: section.firstElementChild,\r\n\t\t\t\t\t},\r\n\t\t\t\t})\r\n\t\t\t\t.fromTo(\r\n\t\t\t\t\tsection,\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tautoAlpha: 0,\r\n\t\t\t\t\t\tmarginBottom: \"-10rem\",\r\n\t\t\t\t\t\tposition: \"relative\",\r\n\t\t\t\t\t\ty: 200,\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{ autoAlpha: 1, delay: 0.5, duration: 0.5, marginBottom: 0, y: 0 }\r\n\t\t\t\t)\r\n\t\t})\r\n\t}\r\n\r\n\t//===-----------------===\r\n\t// Image wheel animate in\r\n\t//===-----------------===\r\n\tconst imageWheel = document.querySelector(\".image-wheel\")\r\n\tif (imageWheel) {\r\n\t\tconst imageWheelItems = gsap.utils.toArray(\".image-wheel__item\")\r\n\t\tconst imageWheelContent = document.querySelector(\".image-wheel__content\")\r\n\t\tconst imageWheelTl = gsap\r\n\t\t\t.timeline({\r\n\t\t\t\tscrollTrigger: {\r\n\t\t\t\t\ttrigger: imageWheel,\r\n\t\t\t\t},\r\n\t\t\t\tonComplete: () => {\r\n\t\t\t\t\tconst iwD1 = 0.3\r\n\t\t\t\t\tconst iwD2 = 0.5\r\n\t\t\t\t\tconst iwDelay = 0.7\r\n\t\t\t\t\tconst iwTl = gsap.timeline({ repeat: 2 })\r\n\r\n\t\t\t\t\timageWheelItems.forEach(item => {\r\n\t\t\t\t\t\tconst itemSpan = item.querySelector(\"span\")\r\n\t\t\t\t\t\tiwTl\r\n\t\t\t\t\t\t\t.fromTo(\r\n\t\t\t\t\t\t\t\titemSpan,\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\topacity: 0,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\topacity: 1,\r\n\t\t\t\t\t\t\t\t\tduration: iwD1,\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t.to(itemSpan, {\r\n\t\t\t\t\t\t\t\topacity: 0,\r\n\t\t\t\t\t\t\t\tduration: iwD2,\r\n\t\t\t\t\t\t\t\tdelay: iwDelay,\r\n\t\t\t\t\t\t\t})\r\n\r\n\t\t\t\t\t\titem.addEventListener(\"mouseenter\", e => {\r\n\t\t\t\t\t\t\tiwTl.pause()\r\n\t\t\t\t\t\t})\r\n\r\n\t\t\t\t\t\titem.addEventListener(\"mouseleave\", e => {\r\n\t\t\t\t\t\t\tiwTl.play()\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t})\r\n\t\t\t\t\tiwTl.repeat(2)\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t\t.fromTo(\r\n\t\t\t\timageWheel.querySelector(\".image-wheel__wrapper\"),\r\n\t\t\t\t{\r\n\t\t\t\t\tautoAlpha: 0,\r\n\t\t\t\t\tscale: 1.5,\r\n\t\t\t\t},\r\n\t\t\t\t{ duration: 1, delay: 0.5, autoAlpha: 1, scale: 1 }\r\n\t\t\t)\r\n\t\tconst imageWheelContentTl = gsap\r\n\t\t\t.timeline({\r\n\t\t\t\tscrollTrigger: {\r\n\t\t\t\t\ttrigger: imageWheel,\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t\t.fromTo(\r\n\t\t\t\timageWheelContent,\r\n\t\t\t\t{\r\n\t\t\t\t\tautoAlpha: 0,\r\n\t\t\t\t\tposition: \"relative\",\r\n\t\t\t\t\ty: 100,\r\n\t\t\t\t},\r\n\t\t\t\t{ autoAlpha: 1, delay: 0.5, duration: 1, y: 0 }\r\n\t\t\t)\r\n\t}\r\n\r\n\t// ====---------------====\r\n\t// Scroll content - MemeBurrs\r\n\t// ====---------------====\r\n\tconst cardWrapper = document.querySelector(\".card-scroll\")\r\n\tif (cardWrapper) {\r\n\t\tlet sections = document.querySelector(\".cs__content\")\r\n\t\tlet xScrollCardDesktop = gsap.matchMedia()\r\n\t\txScrollCardDesktop.add(\r\n\t\t\t{\r\n\t\t\t\tisDesktopXl: `(min-width: ${1500}px)`,\r\n\t\t\t\tisDesktopLg: `(min-width: ${1200}px)`,\r\n\t\t\t\tisDesktop: `(min-width: ${960}px)`,\r\n\t\t\t\tisTablet: `(min-width: ${768}px)`,\r\n\t\t\t\tisMobile: `(max-width: ${767}px)`,\r\n\t\t\t},\r\n\t\t\tcontext => {\r\n\t\t\t\tlet { isDesktopXl, isDesktopLg, isDesktop, isTablet, isMobile } =\r\n\t\t\t\t\tcontext.conditions\r\n\r\n\t\t\t\tif (!isMobile) {\r\n\t\t\t\t\tgsap.to(sections, {\r\n\t\t\t\t\t\txPercent: () => {\r\n\t\t\t\t\t\t\tif (isDesktopXl) {\r\n\t\t\t\t\t\t\t\treturn -60\r\n\t\t\t\t\t\t\t} else if (isDesktopLg) {\r\n\t\t\t\t\t\t\t\treturn -68\r\n\t\t\t\t\t\t\t} else if (isDesktop) {\r\n\t\t\t\t\t\t\t\treturn -75\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\treturn -85\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tease: \"none\",\r\n\t\t\t\t\t\tscrollTrigger: {\r\n\t\t\t\t\t\t\ttrigger: \".card-scroll\",\r\n\t\t\t\t\t\t\tpin: true,\r\n\t\t\t\t\t\t\tscrub: 1,\r\n\t\t\t\t\t\t\tstart: `-=100`,\r\n\t\t\t\t\t\t\tend: `+=1500`,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t)\r\n\t}\r\n\r\n\t// ====---------------====\r\n\t// Scroll content - Experience\r\n\t// ====---------------====\r\n\tif (document.querySelector(\".x-scroll-content .x-scroll-content__list\")) {\r\n\t\tconst xScrollListWrapper = document.querySelector(\".x-scroll-content\")\r\n\t\tconst xScrollList = xScrollListWrapper.querySelector(\r\n\t\t\t\".x-scroll-content__list\"\r\n\t\t)\r\n\t\tlet xScrollListSections = gsap.utils.toArray(\r\n\t\t\t\".x-scroll-content .x-scroll-content__list > div\"\r\n\t\t)\r\n\t\tconst listLength = xScrollList.getBoundingClientRect().width\r\n\r\n\t\tlet xScrollListDesktop = gsap.matchMedia().add(\"(min-width: 768px)\", () => {\r\n\t\t\tgsap.to(xScrollList, {\r\n\t\t\t\txPercent: -60,\r\n\t\t\t\tease: \"none\",\r\n\t\t\t\tscrollTrigger: {\r\n\t\t\t\t\ttrigger: \".x-scroll-content\",\r\n\t\t\t\t\tpin: true,\r\n\t\t\t\t\tscrub: 1,\r\n\t\t\t\t\tend: `+=${listLength}`,\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t})\r\n\t}\r\n\r\n\t//---------------------------------\r\n\t//===---------------------------===\r\n\t// Portfolio svg loop\r\n\t//===---------------------------===\r\n\t//---------------------------------\r\n\tif (document.querySelector(\".portfolio-circles\")) {\r\n\t\tconst timeline = gsap.timeline({ repeat: -1 })\r\n\t\tgsap.set(\".stage-3\", {\r\n\t\t\topacity: 0,\r\n\t\t})\r\n\t\ttimeline\r\n\t\t\t.to(\".stage-2, .stage-2 path\", {\r\n\t\t\t\tstroke: \"#f05724\",\r\n\t\t\t\tduration: 0.75,\r\n\t\t\t})\r\n\t\t\t.to(\".stage-2, .stage-2 path\", {\r\n\t\t\t\tstroke: \"#CDCDCC\",\r\n\t\t\t\tduration: 0.75,\r\n\t\t\t\tdelay: 0.5,\r\n\t\t\t})\r\n\t\t\t.to(\".stage-3\", {\r\n\t\t\t\tstroke: \"#f05724\",\r\n\t\t\t\tduration: 0.75,\r\n\t\t\t\tdelay: 0.5,\r\n\t\t\t\topacity: 1,\r\n\t\t\t})\r\n\r\n\t\t\t.to(\".stage-3\", {\r\n\t\t\t\tduration: 0.75,\r\n\t\t\t\tdelay: 0.5,\r\n\t\t\t\topacity: 0,\r\n\t\t\t})\r\n\t}\r\n})\r\n","//---------------------------------\r\n//===---------------------------===\r\n// App overview animation - GreenSock\r\n//===---------------------------===\r\n//---------------------------------\r\ngsap.registerPlugin(ScrollTrigger)\r\n\r\nconst apWrapper = document.querySelector(\".app-overview\")\r\n\r\nif (apWrapper) {\r\n\tconst apControlsWrap = document.querySelector(\".app-overview__controls\")\r\n\tconst apImagesWrap = document.querySelector(\".app-overview__images\")\r\n\tconst apContent = document.querySelector(\".app-overview__content\")\r\n\tconst apInner = document.querySelector(\".app-overview__inner\")\r\n\tlet apControls = gsap.utils.toArray(\r\n\t\t\".app-overview__controls li\",\r\n\t\tapControlsWrap\r\n\t)\r\n\tlet apPanels = gsap.utils.toArray(\".app-overview__item\", apContent)\r\n\tlet apImages = gsap.utils.toArray(\".app-overview__images > img\", apWrapper)\r\n\tlet apScroll = gsap.matchMedia().add(\"(min-width: 992px)\", () => {\r\n\t\tgsap\r\n\t\t\t.timeline({\r\n\t\t\t\tonComplete: () => {},\r\n\t\t\t\tscrollTrigger: {\r\n\t\t\t\t\ttrigger: apInner,\r\n\t\t\t\t\tstart: \"top top\",\r\n\t\t\t\t\tend: \"+=2000\",\r\n\t\t\t\t\tpin: true,\r\n\t\t\t\t\tscrub: 2,\r\n\t\t\t\t\tonUpdate: self => {\r\n\t\t\t\t\t\tconst x = self.progress\r\n\t\t\t\t\t\tconst itemPos = x <= 0.3 ? 0 : x <= 0.6 ? 1 : x <= 0.9 ? 2 : 3\r\n\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t!apControls[itemPos].classList.contains(\"js-active\") &&\r\n\t\t\t\t\t\t\t!apControlsWrap.querySelector(\".js-in\")\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t// Set animation states\r\n\t\t\t\t\t\t\tapControlsWrap.querySelector(\".js-active\").classList.add(\"js-out\")\r\n\t\t\t\t\t\t\tapImagesWrap.querySelector(\".js-active\").classList.add(\"js-out\")\r\n\r\n\t\t\t\t\t\t\t// delay in\r\n\t\t\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\t\t\tapControls[itemPos].classList.add(\"js-in\")\r\n\t\t\t\t\t\t\t\tapImages[itemPos].classList.add(\"js-in\")\r\n\t\t\t\t\t\t\t}, 100)\r\n\r\n\t\t\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\t\t\tapControlsWrap\r\n\t\t\t\t\t\t\t\t\t.querySelector(\".js-active\")\r\n\t\t\t\t\t\t\t\t\t.classList.remove(\"js-out\", \"js-active\")\r\n\t\t\t\t\t\t\t\tapImagesWrap\r\n\t\t\t\t\t\t\t\t\t.querySelector(\".js-active\")\r\n\t\t\t\t\t\t\t\t\t.classList.remove(\"js-out\", \"js-active\")\r\n\t\t\t\t\t\t\t\tapControls[itemPos].classList.add(\"js-active\")\r\n\t\t\t\t\t\t\t\tapImages[itemPos].classList.add(\"js-active\")\r\n\t\t\t\t\t\t\t\tapControls[itemPos].classList.remove(\"js-in\")\r\n\t\t\t\t\t\t\t\tapImages[itemPos].classList.remove(\"js-in\")\r\n\t\t\t\t\t\t\t}, 600)\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tconst clearAnimate = setTimeout(() => {\r\n\t\t\t\t\t\t\tdocument.body.removeAttribute(\"data-animating\")\r\n\t\t\t\t\t\t}, 500)\r\n\r\n\t\t\t\t\t\tif (x >= 1 || x <= 0) {\r\n\t\t\t\t\t\t\tclearAnimate\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tclearTimeout(clearAnimate)\r\n\t\t\t\t\t\t\tdocument.body.setAttribute(\"data-animating\", \"active\")\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t\t.to(apPanels, {\r\n\t\t\t\tyPercent: -100 * (apPanels.length - 1),\r\n\t\t\t\tease: \"none\",\r\n\t\t\t\tduration: apPanels.length,\r\n\t\t\t})\r\n\t})\r\n}\r\n","// ---------------------------------------------\r\n// ======---------------------------------======\r\n// Compare list\r\n// ======---------------------------------======\r\n// ---------------------------------------------\r\nconst compareList = document.querySelector(\".compare-list\")\r\nif (compareList) {\r\n\tconst clBtns = document.querySelectorAll(\".cl-controls button\")\r\n\r\n\tfunction clearActive() {\r\n\t\tclBtns.forEach(btn => {\r\n\t\t\tconst listId = btn.getAttribute(\"aria-controls\")\r\n\r\n\t\t\tbtn.setAttribute(\"aria-expanded\", false)\r\n\t\t\tdocument.querySelector(`#${listId}`).classList.remove(\"active\")\r\n\t\t})\r\n\t}\r\n\r\n\tclBtns.forEach(btn => {\r\n\t\tbtn.addEventListener(\"click\", event => {\r\n\t\t\tevent.preventDefault()\r\n\t\t\tconst listId = btn.getAttribute(\"aria-controls\")\r\n\r\n\t\t\t// clear active\r\n\t\t\tclearActive()\r\n\r\n\t\t\t// set new active\r\n\t\t\tbtn.setAttribute(\"aria-expanded\", true)\r\n\t\t\tdocument.querySelector(`#${listId}`).classList.add(\"active\")\r\n\t\t})\r\n\t})\r\n}\r\n","//===-------//\r\n// Home path\r\n//-------===//\r\n\r\n//===-----------------===\r\n// Home animation fill\r\n//===-----------------===\r\nif (document.querySelector(\".cs-journey\")) {\r\n\tlet mm = gsap.matchMedia()\r\n\tconst path = document.querySelector(\".journey-svg-path\"),\r\n\t\tlength = path.getTotalLength()\r\n\r\n\tpath.style.strokeDasharray = length\r\n\tpath.style.strokeDashoffset = length\r\n\r\n\tconst updateDrawing = progress => {\r\n\t\t\tconst drawLength = length * progress\r\n\r\n\t\t\tgsap.set(path, {\r\n\t\t\t\tstrokeDashoffset: length - drawLength,\r\n\t\t\t})\r\n\r\n\t\t\tconst point = path.getPointAtLength(drawLength)\r\n\r\n\t\t\tmm.add(\"(min-width: 768px)\", () => {\r\n\t\t\t\tgsap.set(\".celeste-circle\", {\r\n\t\t\t\t\tx: point.x - 30,\r\n\t\t\t\t\ty: point.y - 30,\r\n\t\t\t\t})\r\n\t\t\t\tif (progress === 1) {\r\n\t\t\t\t\tgsap.set(\".celeste-circle\", {\r\n\t\t\t\t\t\topacity: 0,\r\n\t\t\t\t\t})\r\n\t\t\t\t\tgsap.set(\"#journey-svg-path-arrow\", {\r\n\t\t\t\t\t\tstroke: \"#1392cd\",\r\n\t\t\t\t\t})\r\n\r\n\t\t\t\t\tgsap.set(\".celeste-circle-phone\", {\r\n\t\t\t\t\t\tx: 129,\r\n\t\t\t\t\t\ty: 120,\r\n\t\t\t\t\t\topacity: 1,\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t\tif (progress < 1) {\r\n\t\t\t\t\tgsap.set(\"#journey-svg-path-arrow\", {\r\n\t\t\t\t\t\tstroke: \"#d6dcdc\",\r\n\t\t\t\t\t})\r\n\t\t\t\t\tgsap.set(\".celeste-circle\", {\r\n\t\t\t\t\t\tx: point.x - 30,\r\n\t\t\t\t\t\ty: point.y - 30,\r\n\t\t\t\t\t\tscale: 1,\r\n\t\t\t\t\t\topacity: 1,\r\n\t\t\t\t\t})\r\n\r\n\t\t\t\t\tgsap.set(\".celeste-circle-phone\", {\r\n\t\t\t\t\t\tx: 129,\r\n\t\t\t\t\t\ty: 120,\r\n\t\t\t\t\t\topacity: 0,\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t},\r\n\t\tanimateBubbles = progress => {\r\n\t\t\tconst circleRect = document\r\n\t\t\t\t\t.querySelector(\".celeste-circle\")\r\n\t\t\t\t\t.getBoundingClientRect(),\r\n\t\t\t\tcircleTop =\r\n\t\t\t\t\t(circleRect.top + window.scrollY + circleRect.height / 2) * 1.4,\r\n\t\t\t\tcircleLeft = circleRect.left + window.scrollX + circleRect.width / 2,\r\n\t\t\t\tbubbles = document.querySelectorAll(\".bubble\")\r\n\r\n\t\t\tbubbles.forEach(bubble => {\r\n\t\t\t\tmm.add(\"(min-width: 768px)\", () => {\r\n\t\t\t\t\tconst bubbleRect = bubble.getBoundingClientRect(),\r\n\t\t\t\t\t\tbubbleTopPos = bubbleRect.top + window.scrollY,\r\n\t\t\t\t\t\tbubbleLeftPos = bubbleRect.left + window.scrollX,\r\n\t\t\t\t\t\tbubbleLeft = bubbleLeftPos + bubbleRect.width / 2,\r\n\t\t\t\t\t\tbubbleTop = bubbleTopPos + bubbleRect.height / 2,\r\n\t\t\t\t\t\ttopDiff = circleTop - bubbleTop, // y\r\n\t\t\t\t\t\tleftDiff = circleLeft - bubbleLeft // x\r\n\r\n\t\t\t\t\tlet xOffset = leftDiff * progress,\r\n\t\t\t\t\t\tyOffset = topDiff * progress * 1.35\r\n\r\n\t\t\t\t\tgsap.set(bubble, {\r\n\t\t\t\t\t\tx: xOffset,\r\n\t\t\t\t\t\ty: yOffset,\r\n\t\t\t\t\t})\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t},\r\n\t\tupdateMobileDrawing = progress => {\r\n\t\t\tconst mobilePath = document.querySelector(\".journey-svg-path-mobile\"),\r\n\t\t\t\tlength = mobilePath.getTotalLength()\r\n\r\n\t\t\tmobilePath.style.strokeDasharray = length\r\n\t\t\tmobilePath.style.strokeDashoffset = length\r\n\r\n\t\t\tconst drawLength = length * progress\r\n\r\n\t\t\tgsap.set(mobilePath, {\r\n\t\t\t\tstrokeDashoffset: length - drawLength,\r\n\t\t\t})\r\n\r\n\t\t\tconst point = mobilePath.getPointAtLength(drawLength)\r\n\r\n\t\t\tif (progress > 0.2) {\r\n\t\t\t\tgsap.set(\".journey-svg-mobile .celeste-circle\", {\r\n\t\t\t\t\tx: point.x - 25,\r\n\t\t\t\t\ty: point.y - 25,\r\n\t\t\t\t\tautoAlpha: 1,\r\n\t\t\t\t\tscale: 0.75,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\tif (progress === 1) {\r\n\t\t\t\tgsap.set(\".celeste-circle\", {\r\n\t\t\t\t\topacity: 0,\r\n\t\t\t\t})\r\n\t\t\t\tgsap.set(\"#journey-svg-path-arrow-mobile\", {\r\n\t\t\t\t\tstroke: \"#1392cd\",\r\n\t\t\t\t})\r\n\r\n\t\t\t\tgsap.set(\".celeste-circle-phone\", {\r\n\t\t\t\t\tx: 129,\r\n\t\t\t\t\ty: 120,\r\n\t\t\t\t\topacity: 1,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\tif (progress < 1) {\r\n\t\t\t\tgsap.set(\"#journey-svg-path-arrow-mobile\", {\r\n\t\t\t\t\tstroke: \"#d6dcdc\",\r\n\t\t\t\t})\r\n\r\n\t\t\t\tgsap.set(\".celeste-circle-phone\", {\r\n\t\t\t\t\tx: 129,\r\n\t\t\t\t\ty: 120,\r\n\t\t\t\t\topacity: 0,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\tScrollTrigger.create({\r\n\t\ttrigger: \".cs-journey\",\r\n\t\tstart: \"top center\",\r\n\t\tend: \"bottom bottom\",\r\n\t\tscrub: true,\r\n\t\tonUpdate: self => {\r\n\t\t\tmm.add(\"(min-width: 768px)\", () => {\r\n\t\t\t\tupdateDrawing(self.progress)\r\n\t\t\t})\r\n\r\n\t\t\tmm.add(\"(max-width: 767px)\", () => {\r\n\t\t\t\tupdateMobileDrawing(self.progress)\r\n\t\t\t})\r\n\t\t},\r\n\t})\r\n\r\n\tScrollTrigger.create({\r\n\t\ttrigger: \"#cs-journey__disconnected-title\",\r\n\t\tstart: \"top center\",\r\n\t\tend: \"bottom center\",\r\n\t\tscrub: 3,\r\n\t\tonUpdate: self => {\r\n\t\t\t// put if statement for progress to start the animation\r\n\t\t\tconst bubbles = document.querySelectorAll(\".bubble\")\r\n\t\t\tif (self.progress >= 0.05) {\r\n\t\t\t\tanimateBubbles(self.progress)\r\n\t\t\t}\r\n\r\n\t\t\tmm.add(\"(min-width: 768px)\", () => {\r\n\t\t\t\tif (self.progress >= 0.6) {\r\n\t\t\t\t\tbubbles.forEach(bubble => {\r\n\t\t\t\t\t\tbubble.style.opacity = \"0\"\r\n\t\t\t\t\t})\r\n\t\t\t\t} else {\r\n\t\t\t\t\tbubbles.forEach(bubble => {\r\n\t\t\t\t\t\tbubble.style.opacity = \"1\"\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t})\r\n\r\n\t\t\t//figure out where to stop the animation to change the opacity to 0\r\n\t\t},\r\n\t})\r\n\r\n\tmm.add(\"(min-width: 768px)\", () => {\r\n\t\tgsap.to(\"#cs-journey__disconnected-title\", {\r\n\t\t\tscrollTrigger: {\r\n\t\t\t\ttrigger: \"#cs-journey__disconnected-title\",\r\n\t\t\t\tpin: \"#cs-journey__disconnected-title h3\",\r\n\t\t\t\tstart: \"top center\",\r\n\t\t\t\tend: \"bottom +=120%\",\r\n\t\t\t},\r\n\t\t})\r\n\r\n\t\tgsap.to(\"#cs-journey__connected-title\", {\r\n\t\t\tscrollTrigger: {\r\n\t\t\t\ttrigger: \"#cs-journey__connected-title\",\r\n\t\t\t\tpin: \"#cs-journey__connected-title h3\",\r\n\t\t\t\tstart: \"top center\",\r\n\t\t\t\tend: \"bottom +=98%\",\r\n\t\t\t},\r\n\t\t})\r\n\t})\r\n\r\n\tmm.add(\"(min-width: 768px)\", () => {\r\n\t\tgsap.to(\".celeste-circle\", {\r\n\t\t\tscrollTrigger: {\r\n\t\t\t\ttrigger: \"#cs-journey__disconnected-title\",\r\n\t\t\t\tstart: \"bottom bottom+=300\",\r\n\t\t\t\tonEnter: () => {\r\n\t\t\t\t\tgsap.to(\".celeste-circle\", { autoAlpha: 1, duration: 0.5 })\r\n\t\t\t\t},\r\n\t\t\t\tonLeaveBack: () => {\r\n\t\t\t\t\tgsap.to(\".celeste-circle\", { autoAlpha: 0, duration: 0.5 })\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\tautoAlpha: 0,\r\n\t\t})\r\n\r\n\t\tgsap.to(\".cs-journey__phone\", {\r\n\t\t\ttrigger: \".cs-journey__phone\",\r\n\t\t\tstart: \"top center\",\r\n\t\t\tend: \"bottom center\",\r\n\t\t\tonEnter: () => {\r\n\t\t\t\tconst circle = document.querySelector(\".celeste-circle\")\r\n\t\t\t\tcircle.style.transform = \"translate(10px, 10px)\"\r\n\t\t\t},\r\n\t\t})\r\n\t})\r\n\r\n\tconst connectedListItems = gsap.utils.toArray(\r\n\t\t\"#cs-journey__connected-list li\"\r\n\t)\r\n\r\n\tconst desktopLine = document.querySelector(\".journey-svg g\"),\r\n\t\tdesktopLinePosition = desktopLine.getBoundingClientRect(),\r\n\t\tmobileLine = document.querySelector(\".journey-svg-mobile g\"),\r\n\t\tmobileLinePosition = mobileLine.getBoundingClientRect(),\r\n\t\tcsJourney = document.querySelector(\".cs-journey\"),\r\n\t\tmobileLinePositionLeft = mobileLinePosition.left - 14\r\n\r\n\tif (window.innerWidth >= 768) {\r\n\t\tcsJourney.style.gridTemplateColumns = `${desktopLinePosition.left}px 2fr 1fr 30%`\r\n\t} else if (window.innerWidth < 768) {\r\n\t\tcsJourney.style.gridTemplateColumns = `${mobileLinePositionLeft}px 1fr 1fr 30%`\r\n\t}\r\n\r\n\tconnectedListItems.forEach((item, index) => {\r\n\t\tgsap.to(item, {\r\n\t\t\tscrollTrigger: {\r\n\t\t\t\ttrigger: item,\r\n\t\t\t\tstart: \"top center\",\r\n\t\t\t\tend: \"bottom center\",\r\n\t\t\t\tscrub: \"1\",\r\n\t\t\t\tonEnter: () => {\r\n\t\t\t\t\titem.classList.add(\"active\")\r\n\t\t\t\t},\r\n\t\t\t\tonLeaveBack: () => {\r\n\t\t\t\t\tif (item.classList.contains(\"active\")) {\r\n\t\t\t\t\t\titem.classList.remove(\"active\")\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\tcolor: \"#1392cd\",\r\n\t\t})\r\n\t})\r\n}\r\n","// ---------------------------------------------\r\n// ======---------------------------------======\r\n// Page navigation\r\n// ======---------------------------------======\r\n// ---------------------------------------------\r\n\r\nconst mainNav = document.querySelector(\"#primary-navigation\")\r\nif (mainNav) {\r\n\t// ====---------------====\r\n\t// Main nav toggles\r\n\t// ====---------------====\r\n\tconst mainNavOpen = document.querySelector(\".ph__nav__open\")\r\n\tconst mainNavClose = document.querySelector(\".ph__nav__close\")\r\n\r\n\tfunction openNav() {\r\n\t\tmainNavOpen.setAttribute(\"aria-expanded\", true)\r\n\t\tmainNavClose.setAttribute(\"aria-expanded\", true)\r\n\t\tmainNav.setAttribute(\"data-state\", \"open\")\r\n\t}\r\n\r\n\tfunction closeNav() {\r\n\t\tmainNavOpen.setAttribute(\"aria-expanded\", false)\r\n\t\tmainNavClose.setAttribute(\"aria-expanded\", false)\r\n\t\tmainNav.setAttribute(\"data-state\", \"closed\")\r\n\t}\r\n\r\n\tfunction toggleNav() {\r\n\t\tif (mainNav.getAttribute(\"data-state\") == \"closed\") {\r\n\t\t\topenNav()\r\n\t\t} else {\r\n\t\t\tcloseNav()\r\n\t\t}\r\n\t}\r\n\r\n\tmainNavOpen.addEventListener(\"click\", event => {\r\n\t\tevent.stopPropagation()\r\n\t\ttoggleNav()\r\n\t})\r\n\r\n\tmainNavClose.addEventListener(\"click\", event => {\r\n\t\tevent.stopPropagation()\r\n\t\ttoggleNav()\r\n\t})\r\n\r\n\t// ====---------------====\r\n\t// Dropdown toggles\r\n\t// ====---------------====\r\n\tconst mainNavDrops = document.querySelectorAll(\".pn-drop\")\r\n\r\n\tfunction mainNavDropOpen(drop) {\r\n\t\tdrop.setAttribute(\"data-state\", \"open\")\r\n\t\tdrop.querySelector(\".pn-drop-link\").setAttribute(\"aria-expanded\", true)\r\n\t}\r\n\r\n\tfunction mainNavDropCloseAll() {\r\n\t\tmainNavDrops.forEach(drop => {\r\n\t\t\tdrop.setAttribute(\"data-state\", \"closed\")\r\n\t\t\tdrop.querySelector(\".pn-drop-link\").setAttribute(\"aria-expanded\", false)\r\n\t\t})\r\n\t}\r\n\r\n\tfunction mainNavDropToggle(drop) {\r\n\t\tif (drop.getAttribute(\"data-state\") == \"closed\") {\r\n\t\t\tmainNavDropCloseAll()\r\n\t\t\tmainNavDropOpen(drop)\r\n\t\t} else {\r\n\t\t\tmainNavDropCloseAll()\r\n\t\t}\r\n\t}\r\n\r\n\tmainNavDrops.forEach(drop => {\r\n\t\t// ===------ Fix child elements firing parent ------===\r\n\t\tconst dropDownChildren = drop.querySelectorAll(\".pn-drop-sub a\")\r\n\t\tdropDownChildren.forEach(child => {\r\n\t\t\tchild.addEventListener(\"click\", e => {\r\n\t\t\t\tchild.classList.add(\"clicking\")\r\n\t\t\t\te.stopPropagation()\r\n\t\t\t})\r\n\t\t})\r\n\r\n\t\t// ===------ Mouse Enters the Drop list element ------===\r\n\t\tdrop.addEventListener(\"mouseenter\", e => {\r\n\t\t\te.stopPropagation()\r\n\r\n\t\t\tif (window.outerWidth >= 768) {\r\n\t\t\t\tif (drop.getAttribute(\"data-state\") == \"closed\") {\r\n\t\t\t\t\tmainNavDropCloseAll()\r\n\t\t\t\t\tmainNavDropOpen(drop)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tmainNavDropCloseAll()\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\t// ===------ Mouse Leaves the Drop list element ------===\r\n\t\tdrop.addEventListener(\"mouseleave\", e => {\r\n\t\t\te.stopPropagation()\r\n\t\t\tif (drop.querySelector(\".clicking\")) {\r\n\t\t\t\tconsole.log(\"child being clicked\")\r\n\t\t\t\treturn false\r\n\t\t\t} else if (window.outerWidth >= 768) {\r\n\t\t\t\tmainNavDropCloseAll()\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\t// ===------ click event ------===\r\n\t\tdrop.querySelector(\".pn-drop-link\").addEventListener(\"click\", e => {\r\n\t\t\tif (window.outerWidth <= 767) {\r\n\t\t\t\te.stopPropagation()\r\n\t\t\t\te.preventDefault()\r\n\r\n\t\t\t\tmainNavDropToggle(drop)\r\n\t\t\t}\r\n\t\t})\r\n\t})\r\n}\r\n","//---------------------------------\r\n//===---------------------------===\r\n// Rotating list\r\n//===---------------------------===\r\n//---------------------------------\r\nif (document.querySelector(\".rl-controls\")) {\r\n\tconst rotatingList = document.querySelectorAll(\".rl__content li\"),\r\n\t\tprevBtn = document.querySelector(\".rl-control--prev\"),\r\n\t\tnextBtn = document.querySelector(\".rl-control--next\"),\r\n\t\timages = document.querySelectorAll(\".rl__images > img\"),\r\n\t\tpaginationBubbles = document.querySelector(\".rl-control__pagination\")\r\n\r\n\tlet currentIndex = 0\r\n\tconst totalItems = rotatingList.length\r\n\r\n\trotatingList[currentIndex].classList.add(\"js-active\")\r\n\r\n\trotatingList.forEach((item, index) => {\r\n\t\tconst bubble = document.createElement(\"span\"),\r\n\t\t\titemDataID = rotatingList[index].getAttribute(\"data-id\")\r\n\t\tbubble.classList.add(\"rl-control--circle\")\r\n\r\n\t\tbubble.setAttribute(\"data-id\", itemDataID)\r\n\r\n\t\tif (item.classList.contains(\"js-active\")) {\r\n\t\t\tbubble.classList.add(\"js-active\")\r\n\t\t}\r\n\r\n\t\tpaginationBubbles.appendChild(bubble)\r\n\t})\r\n\r\n\tfunction updateActiveItem(index) {\r\n\t\tconst pagination = document.querySelectorAll(\".rl-control--circle\")\r\n\r\n\t\trotatingList.forEach(item => item.classList.remove(\"js-active\"))\r\n\t\timages.forEach(image => image.classList.remove(\"js-active\"))\r\n\t\tpagination.forEach(item => item.classList.remove(\"js-active\"))\r\n\r\n\t\trotatingList[index].classList.add(\"js-active\")\r\n\r\n\t\tconst activeItem = rotatingList[index],\r\n\t\t\tdataID = activeItem.getAttribute(\"data-id\"),\r\n\t\t\tactiveImage = document.querySelector(\r\n\t\t\t\t`.rl__images > img[data-id=\"${dataID}\"]`\r\n\t\t\t),\r\n\t\t\tactivePagination = document.querySelector(\r\n\t\t\t\t`.rl-control--circle[data-id=\"${dataID}\"]`\r\n\t\t\t)\r\n\t\tactivePagination.classList.add(\"js-active\")\r\n\t\tactiveImage.classList.add(\"js-active\")\r\n\t}\r\n\r\n\tnextBtn.addEventListener(\"click\", function () {\r\n\t\tcurrentIndex = (currentIndex + 1) % totalItems\r\n\t\tupdateActiveItem(currentIndex)\r\n\t})\r\n\r\n\tprevBtn.addEventListener(\"click\", function () {\r\n\t\tcurrentIndex = (currentIndex - 1 + totalItems) % totalItems\r\n\t\tupdateActiveItem(currentIndex)\r\n\t})\r\n}\r\n\r\nconst rotatingListWrapper = document.querySelector(\".rotating-list\")\r\n\r\nif (rotatingListWrapper) {\r\n\tconst rlImages = document.querySelector(\".rl__images\")\r\n\tconst rlContent = document.querySelector(\".rl__content\")\r\n\r\n\tlet listContent = gsap.utils.toArray(\".rl__content li\")\r\n\tlet listImages = gsap.utils.toArray(\".rl__images > img\", rotatingListWrapper)\r\n\r\n\tgsap.matchMedia().add(\"(min-width: 992px)\", () => {\r\n\t\tgsap.timeline({\r\n\t\t\tscrollTrigger: {\r\n\t\t\t\ttrigger: rotatingListWrapper,\r\n\t\t\t\tstart: \"top top\",\r\n\t\t\t\tend: \"+=3000\",\r\n\t\t\t\tpin: true,\r\n\t\t\t\tscrub: 8,\r\n\t\t\t\tonUpdate: self => {\r\n\t\t\t\t\tconst progress = self.progress\r\n\t\t\t\t\tconst totalItems = listContent.length\r\n\t\t\t\t\tconst activeIndex = Math.floor(progress * totalItems)\r\n\r\n\t\t\t\t\tlistContent.forEach((item, index) => {\r\n\t\t\t\t\t\tif (index === activeIndex) {\r\n\t\t\t\t\t\t\tif (!item.classList.contains(\"js-active\")) {\r\n\t\t\t\t\t\t\t\titem.classList.add(\"js-active\")\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\titem.classList.remove(\"js-active\")\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\r\n\t\t\t\t\tlistImages.forEach((img, index) => {\r\n\t\t\t\t\t\tif (index === activeIndex) {\r\n\t\t\t\t\t\t\tif (!img.classList.contains(\"js-active\")) {\r\n\t\t\t\t\t\t\t\timg.classList.add(\"js-active\")\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\timg.classList.remove(\"js-active\")\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t})\r\n\t})\r\n}\r\n","// ---------------------------------------------\r\n// ======---------------------------------======\r\n// Random one off bits and bobs\r\n// ======---------------------------------======\r\n// ---------------------------------------------\r\n\r\nconst body = document.querySelector(\"body\")\r\n// ====---------------====\r\n// Sharing options\r\n// ====---------------====\r\nconst sharingOptions = document.querySelector(\".share-options\")\r\nconst postPageContent = document.querySelector(\".post-page__content\")\r\n\r\nfunction setShareOffset() {\r\n\tconst postPageOffset = postPageContent.getBoundingClientRect().top\r\n\tif (postPageOffset > 100) {\r\n\t\tbody.style.setProperty(\"--share-y-pos\", `${postPageOffset}px`)\r\n\t\tbody.setAttribute(\"data-sh-sticky\", \"no-header\")\r\n\t} else {\r\n\t\tbody.style.setProperty(\"--share-y-pos\", \"0px\")\r\n\t\tbody.setAttribute(\"data-sh-sticky\", \"header\")\r\n\t}\r\n}\r\n\r\nif (sharingOptions && postPageContent) {\r\n\tsetShareOffset()\r\n\twindow.addEventListener(\"scroll\", setShareOffset, false)\r\n}\r\n\r\nif (sharingOptions) {\r\n\tconst sharingOptionsArry = document.querySelectorAll(\".share-options\")\r\n\tconst sharePageUrl = window.location.href\r\n\tlet soLinkedin = `https://www.linkedin.com/shareArticle?mini=true&url=${sharePageUrl}`\r\n\tlet soPage = `${sharePageUrl}`\r\n\r\n\tfunction setLinks(pageLink, val) {\r\n\t\tpageLink.setAttribute(\"href\", val)\r\n\t}\r\n\r\n\tfunction copiedSuccess(parentEl, linkEl) {\r\n\t\tconst msg = \"link copied\"\r\n\t\tconst linkOffset =\r\n\t\t\tlinkEl.getBoundingClientRect().top - parentEl.getBoundingClientRect().top\r\n\r\n\t\tlet msgEl = document.createElement(\"div\")\r\n\t\tmsgEl.innerHTML = msg\r\n\t\tmsgEl.classList.add(\"share-options__msg\", \"share-options__msg--success\")\r\n\t\tmsgEl.style.setProperty(\"--msg-offset\", `${linkOffset}px`)\r\n\t\tparentEl.appendChild(msgEl)\r\n\r\n\t\tsetTimeout(() => {\r\n\t\t\tmsgEl.remove()\r\n\t\t}, 800)\r\n\t}\r\n\r\n\tfunction updateClipboard(newClip, cb) {\r\n\t\tnavigator.clipboard.writeText(newClip).then(\r\n\t\t\t() => {\r\n\t\t\t\t/* clipboard successfully set */\r\n\t\t\t\tconsole.log(\"success\")\r\n\t\t\t\tcb\r\n\t\t\t},\r\n\t\t\t() => {\r\n\t\t\t\t/* clipboard write failed */\r\n\t\t\t\tconsole.log(\"failed\")\r\n\t\t\t}\r\n\t\t)\r\n\t}\r\n\r\n\tsharingOptionsArry.forEach(sharingOption => {\r\n\t\tconst soPageLinks = sharingOption.querySelectorAll(\r\n\t\t\t'a[data-link=\"page-url\"]'\r\n\t\t)\r\n\t\tsoPageLinks.forEach(pageLink => {\r\n\t\t\tsetLinks(pageLink, soPage)\r\n\t\t\tpageLink.addEventListener(\"click\", e => {\r\n\t\t\t\te.preventDefault()\r\n\r\n\t\t\t\tnavigator.permissions\r\n\t\t\t\t\t.query({ name: \"clipboard-write\" })\r\n\t\t\t\t\t.then(result => {\r\n\t\t\t\t\t\tif (result.state === \"granted\" || result.state === \"prompt\") {\r\n\t\t\t\t\t\t\tupdateClipboard(soPage, copiedSuccess(sharingOption, pageLink))\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t})\r\n\t\t})\r\n\r\n\t\tconst soLinkedinLinks = sharingOption.querySelectorAll(\r\n\t\t\t'[data-link=\"linkedin\"]'\r\n\t\t)\r\n\t\tsoLinkedinLinks.forEach(pageLink => setLinks(pageLink, soLinkedin))\r\n\t})\r\n}\r\n\r\n// ====---------------====\r\n// Chonky tabs\r\n// ====---------------====\r\nconst chonkyTabs = document.querySelectorAll(\".chonky-tabs\")\r\nif (chonkyTabs.length > 0) {\r\n\tfunction clearChonkyTabs(tab) {\r\n\t\tconst activeTabs = tab.querySelectorAll(\".chonky-tabs__content .js-active\")\r\n\t\tactiveTabs.forEach(x => x.classList.remove(\"js-active\"))\r\n\t}\r\n\r\n\tfunction chonkyTabsTransition(timing, clickedTab, parentTab) {\r\n\t\t// if mobile handle as accordion\r\n\t\tif (clickedTab.classList.contains(\"js-active\") && window.outerWidth < 991) {\r\n\t\t\tclickedTab.classList.remove(\"js-active\")\r\n\t\t\tclickedTab.nextElementSibling.classList.add(\"js-out\")\r\n\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tclickedTab.nextElementSibling.classList.remove(\"js-active\")\r\n\t\t\t\tclickedTab.nextElementSibling.classList.remove(\"js-out\")\r\n\t\t\t}, timing)\r\n\t\t} else {\r\n\t\t\tconst oldTab = parentTab.querySelectorAll(\".js-active\")\r\n\t\t\t// add animate out class\r\n\t\t\tif (oldTab.length > 0) oldTab[1].classList.add(\"js-out\")\r\n\t\t\tif (oldTab.length > 0) oldTab[0].classList.remove(\"js-active\")\r\n\r\n\t\t\tif (oldTab.length > 0) {\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tclickedTab.classList.add(\"js-active\")\r\n\t\t\t\t\tclickedTab.nextElementSibling.classList.add(\"js-in\")\r\n\r\n\t\t\t\t\t// clear old actives (want this slightly delayed to prevent visibility oddness)\r\n\t\t\t\t\tif (oldTab.length > 0) oldTab[1].classList.remove(\"js-active\")\r\n\t\t\t\t}, timing)\r\n\t\t\t} else {\r\n\t\t\t\tclickedTab.classList.add(\"js-active\")\r\n\t\t\t\tclickedTab.nextElementSibling.classList.add(\"js-in\")\r\n\t\t\t}\r\n\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\t// clear in and out classes\r\n\t\t\t\tif (oldTab.length > 0) oldTab[1].classList.remove(\"js-out\")\r\n\r\n\t\t\t\t// set new active\r\n\r\n\t\t\t\tclickedTab.classList.remove(\"js-in\")\r\n\t\t\t\tclickedTab.nextElementSibling.classList.remove(\"js-in\")\r\n\r\n\t\t\t\t// set new active\r\n\t\t\t\tclickedTab.nextElementSibling.classList.add(\"js-active\")\r\n\r\n\t\t\t\tif (window.outerWidth < 991) {\r\n\t\t\t\t\tclickedTab.scrollIntoView({\r\n\t\t\t\t\t\tbehavior: \"smooth\",\r\n\t\t\t\t\t\tblock: \"start\",\r\n\t\t\t\t\t\tinline: \"nearest\",\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t}, timing * 2)\r\n\t\t}\r\n\t}\r\n\r\n\tchonkyTabs.forEach(chonkyTab => {\r\n\t\tconst tabBtns = chonkyTab.querySelectorAll(\".chonky-tabs__content > button\")\r\n\t\tconst timing = 300\r\n\t\tchonkyTab.style.setProperty(\"--timing\", `${timing}ms`)\r\n\r\n\t\ttabBtns.forEach(tabBtn => {\r\n\t\t\ttabBtn.addEventListener(\"click\", e => {\r\n\t\t\t\te.preventDefault()\r\n\r\n\t\t\t\tchonkyTabsTransition(timing, tabBtn, chonkyTab)\r\n\t\t\t})\r\n\t\t})\r\n\t})\r\n}\r\n\r\n// ====---------------====\r\n// Post page popups\r\n// ====---------------====\r\nconst postPagePopups = document.querySelectorAll(\".post-page__popups\")\r\nif (postPagePopups.length > 0) {\r\n\tpostPagePopups.forEach(box => {\r\n\t\tconst openBtns = box.querySelectorAll(\":scope > button\")\r\n\t\tconst closeBtns = box.querySelectorAll(\":scope > div > button\")\r\n\r\n\t\tfunction closeAllPopups() {\r\n\t\t\topenBtns.forEach(btn => {\r\n\t\t\t\tconst pId = btn.getAttribute(\"aria-controls\")\r\n\t\t\t\tbox.querySelector(`#${pId}`).setAttribute(\"hidden\", true)\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\topenBtns.forEach(btn => {\r\n\t\t\tconst pId = btn.getAttribute(\"aria-controls\")\r\n\t\t\tconst pModal = box.querySelector(`#${pId}`)\r\n\r\n\t\t\tbtn.addEventListener(\"click\", e => {\r\n\t\t\t\te.preventDefault()\r\n\t\t\t\tcloseAllPopups()\r\n\t\t\t\tpModal.removeAttribute(\"hidden\")\r\n\t\t\t})\r\n\t\t})\r\n\r\n\t\tcloseBtns.forEach(btn => {\r\n\t\t\tbtn.addEventListener(\"click\", e => {\r\n\t\t\t\te.preventDefault()\r\n\t\t\t\tcloseAllPopups()\r\n\t\t\t})\r\n\t\t})\r\n\r\n\t\tdocument.querySelector(\".post-page\").addEventListener(\"click\", e => {\r\n\t\t\te.stopPropagation()\r\n\t\t\tif (!box.contains(e.target)) closeAllPopups()\r\n\t\t})\r\n\t})\r\n}\r\n","// ---------------------------------------------\r\n// ======---------------------------------======\r\n// Sticky header\r\n// ======---------------------------------======\r\n// ---------------------------------------------\r\nif (typeof document.querySelector(\"#page-header\") !== \"undefined\") {\r\n\tlet lastScrollTopNav = 0\r\n\tconst body = document.querySelector(\"body\")\r\n\tconst siteHeader = document.querySelector(\"#page-header\")\r\n\tconst siteAlert = document.querySelector(\".site-alert\")\r\n\r\n\tfunction setHeaderHeight() {\r\n\t\tconst headerHeight = siteHeader.getBoundingClientRect().height\r\n\t\tconst siteAlertHeight = siteAlert.getBoundingClientRect().height\r\n\t\tbody.style.setProperty(\"--js-header-height\", `${headerHeight}px`)\r\n\t\tbody.style.setProperty(\"--js-alert-height\", `${siteAlertHeight}px`)\r\n\t}\r\n\tsetHeaderHeight()\r\n\r\n\twindow.addEventListener(\r\n\t\t\"scroll\",\r\n\t\tfunction () {\r\n\t\t\tconst st = window.scrollY || document.documentElement.scrollTop\r\n\t\t\tconst headerHeight = siteHeader.getBoundingClientRect().height\r\n\t\t\tsetHeaderHeight()\r\n\r\n\t\t\tif (body.getAttribute(\"data-animating\") === \"active\") {\r\n\t\t\t\treturn true\r\n\t\t\t} else if (lastScrollTopNav <= headerHeight || st > lastScrollTopNav) {\r\n\t\t\t\tif (\r\n\t\t\t\t\tbody.getAttribute(\"data-sticky\") === \"header\" &&\r\n\t\t\t\t\tbody.getAttribute(\"data-menu-status\") != \"open\"\r\n\t\t\t\t) {\r\n\t\t\t\t\tbody.setAttribute(\"data-sticky\", \"header-out\")\r\n\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\tbody.removeAttribute(\"data-sticky\")\r\n\t\t\t\t\t\tbody.classList.remove(\"sticky-header\")\r\n\t\t\t\t\t}, 300)\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (body.getAttribute(\"data-sticky\") !== \"header\") {\r\n\t\t\t\t\tbody.classList.add(\"sticky-header\")\r\n\t\t\t\t\tbody.setAttribute(\"data-sticky\", \"header-in\")\r\n\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\tif (lastScrollTopNav <= headerHeight) {\r\n\t\t\t\t\t\t\tbody.removeAttribute(\"data-sticky\")\r\n\t\t\t\t\t\t\tbody.classList.add(\"sticky-header\")\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tbody.setAttribute(\"data-sticky\", \"header\")\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}, 300)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tlastScrollTopNav = st <= 0 ? 0 : st\r\n\t\t},\r\n\t\tfalse\r\n\t)\r\n}\r\n","// ---------------------------------------------\r\n// ======---------------------------------======\r\n// Text slider\r\n// ======---------------------------------======\r\n// ---------------------------------------------\r\nconst textSliders = document.querySelectorAll(\".text-slider\")\r\nif (textSliders.length > 0) {\r\n\ttextSliders.forEach(slider => {\r\n\t\tconst slides = slider.querySelectorAll(\".text-slider__slides > div\")\r\n\t\tconst prevBtn = slider.querySelector(\r\n\t\t\t'.text-slider__controls [data-control=\"prev\"]'\r\n\t\t)\r\n\t\tconst nextBtn = slider.querySelector(\r\n\t\t\t'.text-slider__controls [data-control=\"next\"]'\r\n\t\t)\r\n\t\tconst animationTime = parseInt(\r\n\t\t\twindow\r\n\t\t\t\t.getComputedStyle(slider)\r\n\t\t\t\t.getPropertyValue(\"--ts-time\")\r\n\t\t\t\t.replace(\"ms\", \"\")\r\n\t\t)\r\n\r\n\t\tlet currentSlide = 0\r\n\t\tslides[currentSlide].classList.add(\"js-active\")\r\n\r\n\t\tfunction controlVisibility(state) {\r\n\t\t\tif (state === \"disable\") {\r\n\t\t\t\tprevBtn.setAttribute(\"disabled\", true)\r\n\t\t\t\tnextBtn.setAttribute(\"disabled\", true)\r\n\t\t\t} else {\r\n\t\t\t\tprevBtn.removeAttribute(\"disabled\")\r\n\t\t\t\tnextBtn.removeAttribute(\"disabled\")\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction changeSlide(startSlide, end) {\r\n\t\t\tcontrolVisibility(\"disable\") // disable controls\r\n\r\n\t\t\tconst endSlide =\r\n\t\t\t\tend < 0 ? slides.length - 1 : end >= slides.length ? 0 : end\r\n\r\n\t\t\tconst transitionSlide = new Promise(resolve => {\r\n\t\t\t\tslides[startSlide].classList.add(\"js-out\") // set fade out el\r\n\t\t\t\tslides[startSlide].classList.remove(\"js-active\") // clear active\r\n\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tslides[endSlide].classList.add(\"js-in\") // start new fade in\r\n\t\t\t\t}, animationTime / 2)\r\n\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tslides[startSlide].classList.remove(\"js-out\") // clear fade out\r\n\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\tslides[endSlide].classList.remove(\"js-in\") // clear fade in\r\n\t\t\t\t\t\tslides[endSlide].classList.add(\"js-active\") // set active\r\n\t\t\t\t\t\tresolve(\"done\")\r\n\t\t\t\t\t}, animationTime)\r\n\t\t\t\t}, animationTime)\r\n\t\t\t})\r\n\r\n\t\t\ttransitionSlide.then(() => {\r\n\t\t\t\tcurrentSlide = endSlide\r\n\t\t\t\tcontrolVisibility(\"enable\") // enable controls\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tfunction clickHandler(direction) {\r\n\t\t\tif (direction === \"prev\") {\r\n\t\t\t\tchangeSlide(currentSlide, currentSlide - 1)\r\n\t\t\t}\r\n\r\n\t\t\tif (direction === \"next\") {\r\n\t\t\t\tchangeSlide(currentSlide, currentSlide + 1)\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tprevBtn.addEventListener(\"click\", () => clickHandler(\"prev\"))\r\n\t\tnextBtn.addEventListener(\"click\", () => clickHandler(\"next\"))\r\n\t})\r\n}\r\n","// ---------------------------------------------\r\n// ======---------------------------------======\r\n// Video modal\r\n// ======---------------------------------======\r\n// ---------------------------------------------\r\n// import \"https://player.vimeo.com/api/player.js\"\r\nwindow.YT.ready(() => {\r\n\tconst videoModals = document.querySelectorAll(\"[data-vm-id]\")\r\n\tconst overlay = document.querySelector(\".overlay\")\r\n\tvar player\r\n\r\n\tif (videoModals.length > 0) {\r\n\t\tfunction onYouTubeIframeAPIReady() {\r\n\t\t\tplayer = new YT.Player(\"celeste-video\", {\r\n\t\t\t\tplayerVars: {\r\n\t\t\t\t\tstart: 0,\r\n\t\t\t\t\torigin: `${window.location.origin}`,\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tonYouTubeIframeAPIReady()\r\n\r\n\t\tfunction closeModal(modal) {\r\n\t\t\tmodal.close()\r\n\t\t}\r\n\r\n\t\tvideoModals.forEach(modalBtn => {\r\n\t\t\tconst modalId = modalBtn.getAttribute(\"data-vm-id\")\r\n\t\t\tconst modalDialog = document.querySelector(`#${modalId}`)\r\n\t\t\tconst iframe = modalDialog.querySelector(\"iframe\")\r\n\t\t\tconst iframeSrc = iframe.src\r\n\t\t\tconst videoVars = `&autoplay=1`\r\n\t\t\tconst modalVideoSrc = iframeSrc + videoVars\r\n\t\t\tconst video = document.querySelector(\".video-hero__video video\")\r\n\r\n\t\t\tmodalBtn.addEventListener(\"click\", e => {\r\n\t\t\t\te.preventDefault()\r\n\t\t\t\tiframe.src = modalVideoSrc\r\n\t\t\t\tmodalDialog.showModal()\r\n\t\t\t})\r\n\r\n\t\t\tmodalDialog.querySelector(\"button\").addEventListener(\"click\", e => {\r\n\t\t\t\te.preventDefault()\r\n\t\t\t\tiframe.src = iframeSrc\r\n\t\t\t\tcloseModal(modalDialog)\r\n\t\t\t})\r\n\r\n\t\t\tmodalDialog.addEventListener(\"click\", e => {\r\n\t\t\t\te.stopImmediatePropagation()\r\n\t\t\t\tiframe.src = iframeSrc\r\n\r\n\t\t\t\tcloseModal(modalDialog)\r\n\t\t\t})\r\n\r\n\t\t\tvideo.addEventListener(\"click\", e => {\r\n\t\t\t\te.preventDefault()\r\n\t\t\t\tiframe.src = modalVideoSrc\r\n\t\t\t\tmodalDialog.showModal()\r\n\t\t\t})\r\n\t\t})\r\n\t}\r\n})\r\n"]}