{"version":3,"file":"js/main.min.js","mappings":"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","sources":["webpack://umbrellas/./src/js/main/animations/fade-in-left.js","webpack://umbrellas/./src/js/main/animations/fade-in-right.js","webpack://umbrellas/./src/js/main/animations/fade-in-up.js","webpack://umbrellas/./src/js/main/core/accessibility.js","webpack://umbrellas/./src/js/main/core/scrolling.js","webpack://umbrellas/./src/js/main/layout/footer.js","webpack://umbrellas/webpack/bootstrap","webpack://umbrellas/webpack/runtime/compat get default export","webpack://umbrellas/webpack/runtime/define property getters","webpack://umbrellas/webpack/runtime/hasOwnProperty shorthand","webpack://umbrellas/./src/js/main.js"],"sourcesContent":["// Fade-In-Left animation\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n // Animate elements with the class .has-fade-in-left\n const fadeInLeftElements = document.querySelectorAll(\".has-fade-in-left\");\n if (fadeInLeftElements.length > 0) {\n fadeInLeftElements.forEach(function (element) {\n gsap.from(element, {\n scrollTrigger: {\n trigger: element,\n start: \"top 85%\",\n toggleActions: \"play none none none\"\n },\n opacity: 0,\n x: -50, // Start 50px from the left\n duration: 1.5,\n ease: \"power2.out\",\n });\n });\n }\n});","// Fade-In-Right animation\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n const fadeInRightElements = document.querySelectorAll(\".has-fade-in-right\");\n if (fadeInRightElements.length > 0) {\n fadeInRightElements.forEach(function (element) {\n gsap.from(element, {\n scrollTrigger: {\n trigger: element,\n start: \"top 85%\",\n toggleActions: \"play none none none\"\n },\n opacity: 0,\n x: 50, // Start 50px from the right\n duration: 1.5,\n ease: \"power2.out\",\n });\n });\n }\n});","// Fade-In-Up animation\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n // Animate elements with the class .has-fade-in-up\n const fadeInUpElements = document.querySelectorAll(\".has-fade-in-up\");\n if (fadeInUpElements.length > 0) {\n fadeInUpElements.forEach(function (element) {\n gsap.from(element, {\n scrollTrigger: {\n trigger: element,\n start: \"top 85%\", // Start the animation when the top of the element is 85% from the top of the viewport\n toggleActions: \"play none none none\" // Play the animation once when the element comes into view\n },\n opacity: 0,\n y: 30, // Adjust the starting position\n duration: 1.5,\n ease: \"power2.out\",\n });\n });\n }\n});","/* Accessibility Updates. */\ndocument.querySelectorAll('a[href$=\".pdf\"]').forEach(link => link.innerHTML += '(opens PDF)');\ndocument.querySelectorAll('a[href^=\"mailto:\"]').forEach(link => link.innerHTML += '(opens default email app)');\ndocument.querySelectorAll('a[href^=\"tel:\"]').forEach(link => link.innerHTML += '(opens telephone link)');\ndocument.querySelectorAll('a[target=\"_blank\"]').forEach(link => link.innerHTML += '(opens in a new tab)');\n\n\n\ndocument.addEventListener('DOMContentLoaded', function() {\n // Find skip link and main content\n const skipLink = document.querySelector('.skip-link');\n const mainContent = document.querySelector('main');\n \n if (!skipLink || !mainContent) return;\n\n // Ensure main content has tabindex if not already set\n if (!mainContent.hasAttribute('tabindex')) {\n mainContent.setAttribute('tabindex', '-1');\n }\n\n // Handle click/keyboard activation of skip link\n skipLink.addEventListener('click', function(e) {\n e.preventDefault();\n mainContent.focus();\n });\n\n // Clean up tabindex when focus leaves main content\n mainContent.addEventListener('blur', function() {\n // Only remove if it was automatically added\n if (mainContent.getAttribute('tabindex') === '-1') {\n mainContent.removeAttribute('tabindex');\n }\n });\n});","// Function to calculate total offset from headers\nfunction calculateHeaderOffset() {\n let totalOffset = 0;\n \n // Check for sticky offset header\n const stickyHeader = document.querySelector('.sticky-offset-header');\n if (stickyHeader) {\n totalOffset += stickyHeader.offsetHeight;\n }\n \n // Check for regular header\n const header = document.querySelector('header');\n if (header) {\n totalOffset += header.offsetHeight;\n }\n \n // Add a small buffer for spacing (optional)\n const buffer = 20;\n totalOffset += buffer;\n \n return totalOffset;\n}\n\n// Function to handle smooth scrolling with dynamic offset\nfunction initSmoothScroll() {\n // Select all anchor links that have a hash\n const anchorLinks = document.querySelectorAll('a[href^=\"#\"]');\n \n anchorLinks.forEach(link => {\n link.addEventListener('click', function(e) {\n // Prevent default anchor behavior\n e.preventDefault();\n \n // Get the target element from the href\n const targetId = this.getAttribute('href');\n \n // Skip if it's just \"#\"\n if (targetId === '#') return;\n \n const targetElement = document.querySelector(targetId);\n \n // Check if target element exists\n if (!targetElement) {\n console.warn(`Target element ${targetId} not found`);\n return;\n }\n \n // Calculate current header offset\n const headerOffset = calculateHeaderOffset();\n \n // Calculate the target position with dynamic offset\n const targetPosition = targetElement.getBoundingClientRect().top + window.scrollY - headerOffset;\n \n // Perform the smooth scroll\n window.scrollTo({\n top: targetPosition,\n behavior: 'smooth'\n });\n });\n });\n}\n\n// Initialize smooth scrolling when DOM is loaded\ndocument.addEventListener('DOMContentLoaded', () => {\n initSmoothScroll();\n});\n\n// Optional: Recalculate offset on window resize in case header height changes\nwindow.addEventListener('resize', () => {\n // You might want to debounce this in production\n calculateHeaderOffset();\n});\n","// JavaScript for handling the accordion functionality\ndocument.addEventListener('DOMContentLoaded', function() {\n const footerColumns = document.querySelectorAll('.footer-columns .wp-block-column');\n \n footerColumns.forEach(column => {\n // Get all heading-nav pairs within this column\n const headings = column.querySelectorAll('.nav-heading.wp-block-heading');\n \n headings.forEach(heading => {\n // Find the next nav element after this heading\n const nav = heading.nextElementSibling;\n \n if (nav && nav.tagName.toLowerCase() === 'nav' && nav.classList.contains('footer-nav')) {\n heading.addEventListener('click', function() {\n // Check if we're in mobile view\n if (window.innerWidth <= 600) {\n // Toggle active classes\n this.classList.toggle('active');\n nav.classList.toggle('active');\n \n // Accessibility\n const isExpanded = nav.classList.contains('active');\n nav.setAttribute('aria-hidden', !isExpanded);\n heading.setAttribute('aria-expanded', isExpanded);\n \n // Optionally close other open navs in the same column\n const siblingHeadings = column.querySelectorAll('.nav-heading.wp-block-heading');\n siblingHeadings.forEach(siblingHeading => {\n if (siblingHeading !== heading) {\n siblingHeading.classList.remove('active');\n siblingHeading.setAttribute('aria-expanded', 'false');\n \n const siblingNav = siblingHeading.nextElementSibling;\n if (siblingNav && siblingNav.tagName.toLowerCase() === 'nav') {\n siblingNav.classList.remove('active');\n siblingNav.setAttribute('aria-hidden', 'true');\n }\n }\n });\n }\n });\n \n // Add ARIA attributes\n heading.setAttribute('role', 'button');\n heading.setAttribute('aria-expanded', 'false');\n nav.setAttribute('aria-hidden', 'true');\n \n // Add tabindex for keyboard navigation\n heading.setAttribute('tabindex', '0');\n \n // Handle keyboard events\n heading.addEventListener('keydown', function(e) {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this.click();\n }\n });\n }\n });\n });\n \n // Handle resize events\n let timeout;\n window.addEventListener('resize', function() {\n clearTimeout(timeout);\n timeout = setTimeout(function() {\n const isMobile = window.innerWidth <= 600;\n const navs = document.querySelectorAll('nav.footer-nav');\n const headings = document.querySelectorAll('.nav-heading.wp-block-heading');\n \n navs.forEach(nav => {\n if (!isMobile) {\n nav.classList.remove('active');\n nav.style.display = '';\n nav.setAttribute('aria-hidden', 'false');\n }\n });\n \n headings.forEach(heading => {\n if (!isMobile) {\n heading.classList.remove('active');\n heading.setAttribute('aria-expanded', 'false');\n }\n });\n }, 150);\n });\n });","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// Ensure webpack processes the main scss file.\nimport \"../scss/main.scss\";\n\n// Register plugins\n//gsap.registerPlugin(ScrollTrigger, SplitText, ScrollSmoother);\n\n// Import core scripts\nimport \"./main/core/accessibility.js\";\nimport \"./main/core/scrolling.js\";\n\n// Import our layout scripts\n//import './main/layout/header.js';\nimport './main/layout/footer.js';\n\n// Import UI scripts\n// import './main/ui/buttons.js';\n// import './main/ui/links.js';\n\n// Import animation scripts\nimport './main/animations/fade-in-up.js';\nimport './main/animations/fade-in-left.js';\nimport './main/animations/fade-in-right.js';\n// import './main/animations/scroll-highlighter.js';\n// import './main/animations/case-study-titles.js';\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n const siteHeader = document.querySelector(\".site-header\");\n let isFixed = false;\n\n // Debounce function\n const debounce = (func, delay) => {\n let timeout;\n return (...args) => {\n clearTimeout(timeout);\n timeout = setTimeout(() => func(...args), delay);\n };\n };\n\n // Scroll handler\n const handleScroll = () => {\n const currentScrollY = window.scrollY;\n\n if (currentScrollY > 200 && !isFixed) {\n // Add fixed-header if scrolling past 200px and not already fixed\n siteHeader.classList.add(\"fixed-header\");\n isFixed = true;\n } else if (currentScrollY <= 100 && isFixed) {\n // Remove fixed-header if scrolling back above 200px\n siteHeader.classList.remove(\"fixed-header\");\n isFixed = false;\n }\n };\n\n window.addEventListener(\"scroll\", debounce(handleScroll, 5));\n\n\n\n\n\n\n // Function to highlight active navigation item based on scroll position\n function updateNavigation() {\n // Get the sticky offset header and site header elements\n const stickyOffsetHeader = document.querySelector(\n \".sticky-offset-header\"\n );\n const siteHeader = document.querySelector(\".site-header\");\n\n if (!stickyOffsetHeader || !siteHeader) return;\n\n // Get the heights dynamically, based on the current layout\n const stickyOffsetHeight =\n stickyOffsetHeader.getBoundingClientRect().height;\n const siteHeaderHeight = siteHeader.getBoundingClientRect().height;\n\n // Calculate total offset + 35px for padding\n const totalOffset = stickyOffsetHeight + siteHeaderHeight + 35;\n\n const navItems = document.querySelectorAll(\".sticky-offset-items > p\");\n\n // Get section selectors from anchor href attributes within these paragraphs\n const sectionSelectors = Array.from(navItems)\n .map((item) => {\n const anchor = item.querySelector(\"a\");\n return anchor ? anchor.getAttribute(\"href\") : null;\n })\n .filter((selector) => selector !== null);\n\n // Select corresponding sections\n const sections = sectionSelectors.map((selector) =>\n document.querySelector(selector)\n );\n\n // Get current scroll position\n const scrollPosition = window.scrollY;\n\n // Remove 'active' class from all nav items\n navItems.forEach((item) => item.classList.remove(\"active\"));\n\n // Find the section currently in view\n for (let i = sections.length - 1; i >= 0; i--) {\n const section = sections[i];\n\n if (!section) continue;\n\n // Get section's position and height\n const sectionTop =\n section.getBoundingClientRect().top + window.scrollY;\n const sectionHeight = section.offsetHeight;\n\n // Use dynamically calculated offset instead of 275\n if (\n scrollPosition >= sectionTop - totalOffset &&\n scrollPosition < sectionTop + sectionHeight - totalOffset\n ) {\n navItems[i].classList.add(\"active\");\n break;\n }\n }\n }\n\n\n // Add scroll event listener\n window.addEventListener('scroll', updateNavigation);\n\n // Initial call to set active state on page load\n window.addEventListener('load', updateNavigation);\n\n\n\n function adjustSidebarPosition() {\n const banner = document.getElementById('sitewide-banner');\n const header = document.getElementById('header-main-nav');\n const adminBar = document.getElementById('wpadminbar');\n const sidebar = document.getElementById('page-sidebar');\n \n if (sidebar) {\n // Initialize total height\n let totalHeight = 0;\n \n // Add admin bar height if it exists\n if (adminBar) {\n totalHeight += adminBar.getBoundingClientRect().height;\n }\n \n // Add banner height if it exists\n if (banner) {\n totalHeight += banner.getBoundingClientRect().height;\n }\n \n // Add header height if it exists\n if (header) {\n totalHeight += header.getBoundingClientRect().height;\n }\n \n // Set the top position dynamically\n sidebar.style.top = `${totalHeight}px`;\n }\n }\n \n // Call the function on page load\n window.addEventListener('load', adjustSidebarPosition);\n \n // Also call on window resize to handle responsive changes\n window.addEventListener('resize', adjustSidebarPosition);\n\n});\n\n\n"],"names":["document","addEventListener","fadeInLeftElements","querySelectorAll","length","forEach","element","gsap","from","scrollTrigger","trigger","start","toggleActions","opacity","x","duration","ease","fadeInRightElements","fadeInUpElements","y","link","innerHTML","skipLink","querySelector","mainContent","hasAttribute","setAttribute","e","preventDefault","focus","getAttribute","removeAttribute","calculateHeaderOffset","totalOffset","stickyHeader","offsetHeight","header","targetId","this","targetElement","headerOffset","targetPosition","getBoundingClientRect","top","window","scrollY","scrollTo","behavior","console","warn","concat","timeout","column","heading","nav","nextElementSibling","tagName","toLowerCase","classList","contains","innerWidth","toggle","isExpanded","siblingHeading","remove","siblingNav","key","click","clearTimeout","setTimeout","isMobile","navs","headings","style","display","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","n","getter","__esModule","d","a","definition","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","func","siteHeader","isFixed","updateNavigation","stickyOffsetHeader","height","navItems","sections","Array","map","item","anchor","filter","selector","scrollPosition","i","section","sectionTop","sectionHeight","add","adjustSidebarPosition","banner","getElementById","adminBar","sidebar","totalHeight","currentScrollY","_len","arguments","args","_key","apply"],"sourceRoot":""}