{"version":3,"sources":["jsdelivr-header.js","/npm/@aw-webflow/agentic_iga_page@1.0.0/script.js"],"names":[],"mappings":"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","file":"/npm/@aw-webflow/agentic_iga_page@1.0.0/script.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.48.0.\n * Original file: /npm/@aw-webflow/agentic_iga_page@1.0.0/script.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","(function () {\n  function each(list, fn) {\n    for (var i = 0; i < list.length; i++) {\n      fn(list[i]);\n    }\n  }\n\n  function initVideoPlayers() {\n    if (typeof window.gsap === 'undefined') {\n      return;\n    }\n\n    var players = document.querySelectorAll('.video-player');\n    if (!players.length) {\n      return;\n    }\n\n    var PLYR_CSS = 'https://cdn.jsdelivr.net/npm/plyr@3.7.8/dist/plyr.css';\n    var PLYR_JS = 'https://cdn.jsdelivr.net/npm/plyr@3.7.8/dist/plyr.min.js';\n\n    var plyrStyle = document.createElement('style');\n    plyrStyle.textContent = [\n      '.plyr__control--overlaid { display: none !important; }',\n      '.video-player {',\n      '  overflow: hidden;',\n      '  overflow-anchor: none;',\n      '  contain: layout style;',\n      '}',\n      '.video-player-loop video {',\n      '  width: 100% !important;',\n      '  height: 100% !important;',\n      '  object-fit: cover;',\n      '  display: block;',\n      '}'\n    ].join('\\n');\n    document.head.appendChild(plyrStyle);\n\n    var plyrLoadingCallbacks = null;\n    var activeWrapper = null;\n    var saveData = navigator.connection && navigator.connection.saveData;\n    var reduceMotion = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n    var skipAutoplay = !!(saveData || reduceMotion);\n\n    function getLoopVideo(loopEl) {\n      if (!loopEl) return null;\n      if (loopEl.tagName === 'VIDEO') return loopEl;\n      return loopEl.querySelector('video');\n    }\n\n    function playLoop(video) {\n      if (!video || skipAutoplay) return;\n      try {\n        var p = video.play();\n        if (p && typeof p.catch === 'function') p.catch(function () {});\n      } catch (err) {}\n    }\n\n    function pauseLoop(video) {\n      if (!video) return;\n      try { video.pause(); } catch (err) {}\n    }\n\n    function ensurePlayerReady(wrapper, onReady) {\n      var iframeContainer = wrapper.querySelector('.video-player-iframe');\n      var vimeoId = wrapper.getAttribute('data-vimeo-id');\n      if (!iframeContainer || !vimeoId) return;\n\n      if (wrapper._plyrInstance) {\n        onReady(wrapper._plyrInstance);\n        return;\n      }\n      if (wrapper._plyrPending) {\n        wrapper._plyrPending.push(onReady);\n        return;\n      }\n      wrapper._plyrPending = [onReady];\n\n      loadPlyr(function (Plyr) {\n        if (!Plyr) {\n          wrapper._plyrPending = null;\n          return;\n        }\n        gsap.set(iframeContainer, { opacity: 0, pointerEvents: 'none' });\n        iframeContainer.innerHTML = '';\n        var plyrEl = document.createElement('div');\n        plyrEl.setAttribute('data-plyr-provider', 'vimeo');\n        plyrEl.setAttribute('data-plyr-embed-id', vimeoId);\n        iframeContainer.appendChild(plyrEl);\n\n        var player = new Plyr(plyrEl, {\n          autoplay: false,\n          loop: { active: false }\n        });\n        wrapper._plyrInstance = player;\n\n        var pending = wrapper._plyrPending;\n        wrapper._plyrPending = null;\n        for (var i = 0; i < pending.length; i++) {\n          pending[i](player);\n        }\n      });\n    }\n\n    function preload(wrapper) {\n      ensurePlayerReady(wrapper, function () {});\n    }\n\n    function loadPlyr(callback) {\n      if (window.Plyr) {\n        callback(window.Plyr);\n        return;\n      }\n      if (plyrLoadingCallbacks) {\n        plyrLoadingCallbacks.push(callback);\n        return;\n      }\n      plyrLoadingCallbacks = [callback];\n\n      var link = document.createElement('link');\n      link.rel = 'stylesheet';\n      link.href = PLYR_CSS;\n      document.head.appendChild(link);\n\n      var script = document.createElement('script');\n      script.src = PLYR_JS;\n      script.onload = function () {\n        var cbs = plyrLoadingCallbacks;\n        plyrLoadingCallbacks = null;\n        for (var i = 0; i < cbs.length; i++) {\n          cbs[i](window.Plyr);\n        }\n      };\n      script.onerror = function () {\n        plyrLoadingCallbacks = null;\n      };\n      document.head.appendChild(script);\n    }\n\n    function teardown(wrapper) {\n      if (!wrapper) {\n        return;\n      }\n      if (wrapper._plyrInstance) {\n        try { wrapper._plyrInstance.pause(); } catch (err) {}\n      }\n\n      var iframeContainer = wrapper.querySelector('.video-player-iframe');\n      var loop = wrapper.querySelector('.video-player-loop');\n      var play = wrapper.querySelector('.video-player-play');\n\n      if (iframeContainer) {\n        gsap.set(iframeContainer, { opacity: 0, pointerEvents: 'none', zIndex: '' });\n      }\n      if (loop) {\n        loop.style.pointerEvents = '';\n        loop.style.visibility = '';\n      }\n      if (play) {\n        play.style.pointerEvents = '';\n        play.style.visibility = '';\n      }\n\n      var fadeTargets = [];\n      if (loop) fadeTargets.push(loop);\n      if (play) fadeTargets.push(play);\n      if (fadeTargets.length) {\n        gsap.to(fadeTargets, { opacity: 1, duration: 0.25, ease: 'power2.out', overwrite: 'auto' });\n      }\n\n      playLoop(getLoopVideo(loop));\n    }\n\n    function activate(wrapper) {\n      if (wrapper === activeWrapper) return;\n      var vimeoId = wrapper.getAttribute('data-vimeo-id');\n      if (!vimeoId) return;\n\n      if (activeWrapper) teardown(activeWrapper);\n      activeWrapper = wrapper;\n\n      var loop = wrapper.querySelector('.video-player-loop');\n      var play = wrapper.querySelector('.video-player-play');\n      var iframeContainer = wrapper.querySelector('.video-player-iframe');\n      if (!iframeContainer) {\n        activeWrapper = null;\n        return;\n      }\n\n      if (loop) loop.style.pointerEvents = 'none';\n      if (play) play.style.pointerEvents = 'none';\n\n      ensurePlayerReady(wrapper, function (player) {\n        if (activeWrapper !== wrapper) return;\n\n        gsap.set(iframeContainer, { opacity: 0, pointerEvents: 'auto', zIndex: 10 });\n        try { player.play(); } catch (err) {}\n\n        pauseLoop(getLoopVideo(loop));\n        var fadeTargets = [];\n        if (loop) fadeTargets.push(loop);\n        if (play) fadeTargets.push(play);\n        if (fadeTargets.length) {\n          gsap.to(fadeTargets, {\n            opacity: 0,\n            duration: 0.3,\n            ease: 'power2.out',\n            overwrite: 'auto',\n            onComplete: function () {\n              if (loop) loop.style.visibility = 'hidden';\n              if (play) play.style.visibility = 'hidden';\n            }\n          });\n        }\n        gsap.to(iframeContainer, { opacity: 1, duration: 0.3, ease: 'power2.out', overwrite: 'auto' });\n      });\n    }\n\n    function setupIO(wrapper) {\n      if (!('IntersectionObserver' in window)) return;\n\n      var io = new IntersectionObserver(function (entries) {\n        for (var i = 0; i < entries.length; i++) {\n          var entry = entries[i];\n          var visible = entry.isIntersecting && entry.intersectionRatio >= 0.5;\n\n          if (wrapper === activeWrapper && !visible && wrapper._plyrInstance) {\n            try { wrapper._plyrInstance.pause(); } catch (err) {}\n          }\n        }\n      }, { threshold: [0, 0.5] });\n\n      io.observe(wrapper);\n    }\n\n    each(players, function (wrapper) {\n      var loopVideo = getLoopVideo(wrapper.querySelector('.video-player-loop'));\n\n      if (loopVideo) {\n        loopVideo.setAttribute('preload', 'auto');\n        try { loopVideo.load(); } catch (err) {}\n      }\n\n      if (skipAutoplay && loopVideo) {\n        loopVideo.removeAttribute('autoplay');\n        pauseLoop(loopVideo);\n      }\n\n      wrapper.style.cursor = 'pointer';\n      wrapper.addEventListener('click', function () { activate(wrapper); });\n      wrapper.addEventListener('mouseenter', function () { preload(wrapper); });\n      wrapper.addEventListener('touchstart', function () { preload(wrapper); }, { passive: true });\n\n      setupIO(wrapper);\n    });\n  }\n\n  // Word-by-word scroll reveal for .workforce-display-txt\n  // The #text_wrapper section pins to the top while words fade up to 100%\n  // opacity one by one as you scroll. Smooth scrub (opacity tied to scroll).\n  function initWordScrollReveal() {\n    if (!window.gsap || !window.ScrollTrigger) {\n      // GSAP / ScrollTrigger not present yet, retry shortly.\n      window.setTimeout(initWordScrollReveal, 50);\n      return;\n    }\n\n    var WRAPPER_ID = 'text_wrapper';\n    var TEXT_SELECTOR = '.workforce-display-txt';\n    // Scroll distance (px) allotted to revealing each word while pinned.\n    // Lower = faster reveal (less scrolling to light up all words).\n    var SCROLL_PER_WORD = 60;\n    // Where the section sticks. Format: \"<triggerPoint> <viewportPoint>\".\n    // \"top top\"    -> sticks to the very top of the viewport\n    // \"top center\" -> sticks at vertical center of the viewport\n    // \"top 20%\"    -> sticks 20% down from the top\n    // \"top 100px\"  -> sticks 100px below the top (e.g. clearing a fixed navbar)\n    var PIN_START = 'top 30%';\n\n    gsap.registerPlugin(ScrollTrigger);\n\n    var wrapper = document.getElementById(WRAPPER_ID);\n    if (!wrapper) {\n      return;\n    }\n\n    var textEls = wrapper.querySelectorAll(TEXT_SELECTOR);\n    if (!textEls.length) {\n      return;\n    }\n\n    var words = [];\n    var i;\n    for (i = 0; i < textEls.length; i++) {\n      words = words.concat(splitIntoWords(textEls[i]));\n    }\n    if (!words.length) {\n      return;\n    }\n\n    // Animate every word from its (Webflow-set) dim opacity up to 1.\n    var tl = gsap.timeline({\n      scrollTrigger: {\n        trigger: wrapper,\n        start: PIN_START,\n        end: '+=' + (words.length * SCROLL_PER_WORD),\n        pin: true,\n        scrub: 1,\n        invalidateOnRefresh: true\n      }\n    });\n\n    tl.to(words, {\n      opacity: 1,\n      ease: 'none',\n      stagger: 1\n    });\n  }\n\n  // Wraps each word of an element in a <span>, preserving whitespace.\n  // The element's original (dim) opacity is transferred to each word span\n  // and the element itself is reset to full opacity, so words can animate\n  // independently up to 100%.\n  function splitIntoWords(el) {\n    var dimOpacity = window.getComputedStyle(el).opacity;\n    var text = el.textContent;\n    // Split on whitespace but keep the separators so spacing is preserved.\n    var tokens = text.split(/(\\s+)/);\n    var spans = [];\n    var html = '';\n    var i;\n\n    for (i = 0; i < tokens.length; i++) {\n      var token = tokens[i];\n      if (token.length === 0) {\n        continue;\n      }\n      if (/^\\s+$/.test(token)) {\n        html += token;\n      } else {\n        html +=\n          '<span class=\"workforce-display-word\" style=\"display:inline-block;opacity:' +\n          dimOpacity +\n          '\">' +\n          escapeHtml(token) +\n          '</span>';\n      }\n    }\n\n    el.innerHTML = html;\n    el.style.opacity = '1';\n\n    var nodeList = el.querySelectorAll('.workforce-display-word');\n    for (i = 0; i < nodeList.length; i++) {\n      spans.push(nodeList[i]);\n    }\n    return spans;\n  }\n\n  function escapeHtml(str) {\n    return str\n      .replace(/&/g, '&amp;')\n      .replace(/</g, '&lt;')\n      .replace(/>/g, '&gt;');\n  }\n\n  function init() {\n    initWordScrollReveal();\n    initVideoPlayers();\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', init);\n  } else {\n    init();\n  }\n})();\n"]}