{"version":3,"file":"static/chunks/7477.051c29b0a4dab3e9.js","mappings":"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","sources":["webpack://_N_E/./components/StaggeredDelayedAnimation/StaggeredDelayedAnimation.js","webpack://_N_E/./components/StreamField/StreamField.js","webpack://_N_E/./components/StreamField/index.js","webpack://_N_E/./components/WhatWeOfferModule/WhatWeOfferModule.js","webpack://_N_E/./components/WhatWeOfferModule/index.js","webpack://_N_E/./node_modules/react-div-100vh/dist/esm/index.js","webpack://_N_E/./hooks/usePreviousValue.js","webpack://_N_E/./components/VideoTextCarouselHero/VideoTextCarouselHero.js","webpack://_N_E/./public/img/globb.webp","webpack://_N_E/./containers/HomePage/HomePage.js","webpack://_N_E/./containers/HomePage/index.js","webpack://_N_E/./hooks/useDelayedEffect.js","webpack://_N_E/./hooks/useIntersectionObserver.js","webpack://_N_E/./hooks/useMediaQuery.ts","webpack://_N_E/./hooks/useWindowWidthTitles.js","webpack://_N_E/./utils/helpers.js","webpack://_N_E/./components/VideoTextCarouselHero/VideoTextCarouselHero.module.scss","webpack://_N_E/./components/WhatWeOfferModule/WhatWeOfferModule.module.scss","webpack://_N_E/./containers/HomePage/HomePage.module.scss","webpack://_N_E/./node_modules/framer-motion/dist/es/utils/use-is-mounted.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/utils/use-force-update.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/components/AnimatePresence/PopChild.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/utils/use-unmount-effect.mjs","webpack://_N_E/./node_modules/framer-motion/dist/es/components/AnimatePresence/index.mjs","webpack://_N_E/"],"sourcesContent":["import React from 'react';\nimport { motion } from 'framer-motion';\nimport PropTypes from 'prop-types';\n\nconst StaggeredDelayedAnimation = (props) => {\n const { children, delay = 0, stagger = 0.15 } = props;\n\n const animProps = {\n hidden: {},\n visible: {\n transition: {\n delayChildren: delay,\n staggerChildren: stagger,\n },\n },\n };\n\n return (\n \n {children}\n \n );\n};\n\nStaggeredDelayedAnimation.propTypes = {\n children: PropTypes.node.isRequired,\n delay: PropTypes.number,\n stagger: PropTypes.number,\n};\n\nStaggeredDelayedAnimation.defaultProps = {\n delay: 0.3,\n stagger: 0.25,\n};\n\nconst AnimatedWords = (props) => {\n const { text, duration, initialY } = props;\n\n const words = text.split(' ').filter((word) => word !== ' ');\n\n const wordAnimProps = {\n hidden: {\n opacity: 0,\n y: initialY,\n skew: 15,\n },\n visible: {\n opacity: 1,\n y: 0,\n skew: 0,\n transition: {\n duration,\n opacity: {\n duration: duration * 1.5,\n },\n y: {\n duration: duration * 0.8,\n },\n skew: {\n duration: duration * 1,\n },\n },\n },\n };\n\n return (\n <>\n {words.map((word, i) => {\n return (\n \n \n {word}\n \n {i < words.length - 1 ? ' ' : ''}\n \n );\n })}\n \n );\n};\n\nAnimatedWords.propTypes = {\n duration: PropTypes.number,\n initialY: PropTypes.number,\n text: PropTypes.string.isRequired,\n};\n\nAnimatedWords.defaultProps = {\n duration: 0.7,\n initialY: 16,\n text: '',\n};\n\nconst AnimatedSentences = (props) => {\n const { text = '', duration } = props;\n\n const splittedSentences = text.match(/[^\\.!\\?]+[\\.!\\?]+/g);\n const sentences = splittedSentences ? splittedSentences : [text];\n\n const sentenceAnimProps = {\n hidden: {\n opacity: 0,\n },\n visible: {\n opacity: 1,\n transition: {\n duration,\n },\n },\n };\n\n return (\n <>\n {sentences?.map((sentence, i) => {\n return (\n \n \n {sentence}\n {i < sentences.length - 1 ? '' : ''}\n \n \n );\n })}\n \n );\n};\n\nAnimatedSentences.propTypes = {\n duration: PropTypes.number,\n text: PropTypes.string.isRequired,\n};\n\nAnimatedSentences.defaultProps = {\n duration: 0.8,\n};\n\nexport default StaggeredDelayedAnimation;\nexport { StaggeredDelayedAnimation, AnimatedSentences, AnimatedWords };\n","import React from 'react';\n\nimport dynamic from 'next/dynamic';\nimport { snakeToPascal } from '../../utils/caseconverters';\n// import i18n from '../../i18n';\n// import PropTypes from 'prop-types';\nimport s from './StreamField.module.scss';\n\nconst CardGlassLink = dynamic(() => import('../CardGlassLink'));\nconst Testemonial = dynamic(() => import('../Testemonial'));\nconst RichText = dynamic(() => import('../RichText'));\nconst ImageRichText = dynamic(() => import('../ImageRichText'));\nconst CardLinkRichText = dynamic(() => import('../CardLinkRichText'));\nconst FactsRichText = dynamic(() => import('../FactsRichText'));\nconst BlockQuoteRichText = dynamic(() => import('../BlockQuoteRichText'));\nconst VerticalScroller = dynamic(() => import('../VerticalScroller'));\nconst MediaBankModule = dynamic(() => import('../MediaBankModule'));\nconst NewsList = dynamic(() => import('../NewsList'));\nconst Stories = dynamic(() => import('../Stories'));\nconst BlockQuoteCta = dynamic(() => import('../BlockQuoteCta'));\nconst FiftyFiftyImages = dynamic(() => import('../FiftyFiftyImages'));\nconst AccordionList = dynamic(() => import('../AccordionList'));\nconst VideoPlayer = dynamic(() => import('../VideoPlayer'));\nconst ReportColumnChart = dynamic(() => import('../ReportColumnChart'));\nconst ReportPieChart = dynamic(() => import('../ReportPieChart'));\nconst ReportLineChart = dynamic(() => import('../ReportLineChart'));\n\nconst StreamField = ({ blocks = [], from }) => {\n if (!blocks.length) {\n return null;\n }\n const components = {\n CardGlassLink,\n TestimonialBlock: Testemonial,\n RichText,\n ImageRichText,\n CardLinkRichText,\n FactsRichText,\n BlockQuoteRichText,\n VerticalScroller,\n MediaBank: MediaBankModule,\n NewsList,\n Stories,\n BlockQuoteCta,\n FiftyFiftyImages,\n AccordionList,\n Video: VideoPlayer,\n ReportColumnChart,\n ReportPieChart,\n ReportLineChart,\n };\n\n const dynamicComponents = blocks.map((item, index) => {\n const componentName = snakeToPascal(item.type);\n const Component = components[componentName];\n return ;\n });\n\n return <>{dynamicComponents};\n};\n\nStreamField.propTypes = {};\n\nStreamField.defaultProps = {};\n\nexport default StreamField;\n","import StreamField from './StreamField';\n\nexport default StreamField;\n","import React, { useState, useEffect } from 'react';\n\nimport { useTranslation } from 'next-i18next';\n// import PropTypes from 'prop-types';\nimport s from './WhatWeOfferModule.module.scss';\nimport classNames from 'classnames';\nimport Link from 'next/link';\nimport Image from 'next/image';\nimport useWindowWidthTitles from '../../hooks/useWindowWidthTitles';\n\nconst WhatWeOfferModule = ({\n title = {},\n preamble,\n pages,\n image,\n modifier,\n isDesktop,\n}) => {\n const { t } = useTranslation();\n const [isVisible, setIsVisible] = useState(false);\n const [currentImage, setCurrentImage] = useState(undefined);\n const titleClasses = classNames(s.Title, 'grid', { [s.Visible]: isVisible });\n const titleMobileClasses = classNames(s.TitleMobile, {\n [s.Visible]: isVisible,\n });\n\n let HeadingTag = 'h1';\n if (modifier === 'HomePage') {\n HeadingTag = 'h2';\n }\n\n const contentClasses = classNames(s.Content, 'grid', {\n [s.NoContent]: !preamble,\n [s.Visible]: isVisible,\n });\n\n const imgStyle = { objectFit: 'cover' };\n\n if (!!image?.focal && !!image.focal.x && !!image.focal.y) {\n imgStyle.objectPosition = `${image.focal.x} ${image.focal.y}`;\n }\n\n const width = useWindowWidthTitles(isDesktop);\n\n const isMobile = width < 768;\n\n useEffect(() => {\n setIsVisible(true);\n }, []);\n\n return (\n \n {isMobile ? (\n \n \n \n {title.titleTop}{' '}\n {title.titleBottom}\n \n \n \n ) : (\n \n \n {title.titleTop}\n {title.titleBottom}\n \n \n )}\n\n
\n

{preamble}

\n
\n\n
\n {modifier === 'HomePage' && (\n <>\n \n \n \n )}\n
\n

{t('WhatWeOfferCategoryPage.tagline')}

\n {pages?.items?.map((item, i) => (\n setCurrentImage(i)}\n onMouseLeave={() => setCurrentImage(undefined)}\n key={i}\n href={item.href}\n className={s.Link}>\n {item.title}\n \n ))}\n
\n
\n \n {pages?.items?.map((item, i) => {\n const imageStyle = { objectFit: 'cover' };\n\n const imgClass = classNames(s.Img, {\n [s.Visible]: i === currentImage,\n });\n\n if (\n !!item?.image?.focal &&\n !!item.image.focal.x &&\n !!item.image.focal.y\n ) {\n imageStyle.objectPosition = `${item.image.focal.x} ${item.image.focal.y}`;\n }\n\n return (\n \n );\n })}\n
\n
\n \n );\n};\n\nWhatWeOfferModule.propTypes = {};\n\nWhatWeOfferModule.defaultProps = {};\n\nexport default WhatWeOfferModule;\n","import WhatWeOfferModule from './WhatWeOfferModule';\n\nexport default WhatWeOfferModule;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React, { forwardRef, useState, useEffect } from 'react';\nvar warned = false;\nvar Div100vh = forwardRef(function (_a, ref) {\n var style = _a.style, other = __rest(_a, [\"style\"]);\n var height = use100vh();\n // TODO: warn only in development\n if (!warned && (style === null || style === void 0 ? void 0 : style.height)) {\n warned = true;\n console.warn(' overrides the height property of the style prop');\n }\n var styleWithRealHeight = __assign(__assign({}, style), { height: height ? height + \"px\" : '100vh' });\n return React.createElement(\"div\", __assign({ ref: ref, style: styleWithRealHeight }, other));\n});\nDiv100vh.displayName = 'Div100vh';\nexport default Div100vh;\nexport function use100vh() {\n var _a = useState(measureHeight), height = _a[0], setHeight = _a[1];\n var wasRenderedOnClientAtLeastOnce = useWasRenderedOnClientAtLeastOnce();\n useEffect(function () {\n if (!wasRenderedOnClientAtLeastOnce)\n return;\n function setMeasuredHeight() {\n var measuredHeight = measureHeight();\n setHeight(measuredHeight);\n }\n window.addEventListener('resize', setMeasuredHeight);\n return function () { return window.removeEventListener('resize', setMeasuredHeight); };\n }, [wasRenderedOnClientAtLeastOnce]);\n return wasRenderedOnClientAtLeastOnce ? height : null;\n}\nexport function measureHeight() {\n if (!isClient())\n return null;\n return window.innerHeight;\n}\n// Once we ended up on the client, the first render must look the same as on\n// the server so hydration happens without problems. _Then_ we immediately\n// schedule a subsequent update and return the height measured on the client.\n// It's not needed for CSR-only apps, but is critical for SSR.\nfunction useWasRenderedOnClientAtLeastOnce() {\n var _a = useState(false), wasRenderedOnClientAtLeastOnce = _a[0], setWasRenderedOnClientAtLeastOnce = _a[1];\n useEffect(function () {\n if (isClient()) {\n setWasRenderedOnClientAtLeastOnce(true);\n }\n }, []);\n return wasRenderedOnClientAtLeastOnce;\n}\nfunction isClient() {\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n","import { useEffect, useRef } from 'react';\n\n// https://usehooks.com/usePrevious/\nfunction usePreviousValue(value) {\n // The ref object is a generic container whose current property is mutable ...\n // ... and can hold any value, similar to an instance property on a class\n const ref = useRef();\n // Store current value in ref\n useEffect(() => {\n ref.current = value;\n }, [value]); // Only re-run if value changes\n // Return previous value (happens before update in useEffect above)\n return ref.current;\n}\n\nexport default usePreviousValue;\n","import React, { useState, useEffect, useCallback, useContext } from 'react';\nimport Image from 'next/image';\nimport Div100vh from 'react-div-100vh';\n\nimport {\n motion,\n useScroll,\n useTransform,\n AnimatePresence,\n} from 'framer-motion';\n\nimport { useTranslation } from 'next-i18next';\n\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport ButtonSecondary from '../ButtonSecondary/ButtonSecondary';\nimport {\n StaggeredDelayedAnimation,\n AnimatedWords,\n} from '../StaggeredDelayedAnimation/StaggeredDelayedAnimation';\n\nimport useMediaQuery from '../../hooks/useMediaQuery';\nimport usePreviousValue from '../../hooks/usePreviousValue';\nimport useDelayedEffect from '../../hooks/useDelayedEffect';\nimport useIntersectionObserver from '../../hooks/useIntersectionObserver';\nimport { ZoomLevelContext } from '../../containers/BasePage';\n\nimport {\n trackHeroCarouselSlideImpression,\n trackHeroCarouselSlideSelect,\n trackHeroCarouselCtaClick,\n} from '../../utils/dataLayer';\n\nimport { mapRange, easeOutCubic } from '../../utils/helpers';\n\nimport s from './VideoTextCarouselHero.module.scss';\n\nexport const SCENE_TYPE_INTRO = 'scene-intro';\nexport const SCENE_TYPE_REGULAR = 'scene-regular';\nexport const SCENE_TYPE_CONTACT = 'scene-contact';\n\nconst CONTROLS_OPACITY_DELAY = 3 * 1000;\n\nconst videoSrcsDesktop = [\n {\n src: '/video/why-bg--desktop--vp9.webm',\n type: 'video/webm; codecs=\"vp9\"',\n },\n {\n src: '/video/why-bg--desktop--vp8.webm',\n type: 'video/webm; codecs=\"vp8\"',\n },\n {\n src: '/video/why-bg--desktop--hevc.mp4',\n type: 'video/mp4',\n },\n];\n\nconst videoSrcsResp = [\n {\n src: '/video/why-bg--responsive--vp9.webm',\n type: 'video/webm; codecs=\"vp9\"',\n },\n {\n src: '/video/why-bg--responsive--vp8.webm',\n type: 'video/webm; codecs=\"vp8\"',\n },\n {\n src: '/video/why-bg--responsive--hevc.mp4',\n type: 'video/mp4',\n },\n];\n\nconst IntroScene = (props) => {\n const { regularTitle, boldTitle } = props;\n\n const { t } = useTranslation();\n\n return (\n \n

\n \n \n \n \n {boldTitle && (\n \n \n \n )}\n \n

\n \n );\n};\n\nconst BaseScene = (props) => {\n const { regularTitle, boldTitle, preamble } = props;\n\n return (\n \n
\n \n

\n \n \n \n \n \n \n

\n
\n\n {preamble && (\n
\n
\n \n \n \n
\n
\n )}\n
\n \n );\n};\n\nconst ContactScene = (props) => {\n const { regularTitle, boldTitle, link } = props;\n const { t } = useTranslation();\n\n const linkLabel = link?.text || t('Generic.contactUs');\n\n const [programmticHoverActive, setProgrammaticHoverActive] = useState(false);\n const buttonDisplayDelay = 2;\n\n useEffect(() => {\n const delayBeforeHoverActive = buttonDisplayDelay * 1.4 * 1000;\n const hoverActiveDuration = 1 * 1000;\n\n setTimeout(() => {\n setProgrammaticHoverActive(true);\n setTimeout(() => {\n setProgrammaticHoverActive(false);\n }, hoverActiveDuration);\n }, delayBeforeHoverActive);\n }, []);\n\n return (\n \n

\n \n \n \n \n {boldTitle && (\n \n \n \n )}\n \n

\n \n {\n trackHeroCarouselCtaClick(linkLabel);\n }}\n href={link?.href}>\n {linkLabel}\n \n \n \n );\n};\n\nconst sceneComponents = {\n [SCENE_TYPE_INTRO]: IntroScene,\n [SCENE_TYPE_REGULAR]: BaseScene,\n [SCENE_TYPE_CONTACT]: ContactScene,\n};\n\nconst VideoTextCarouselHero = (props) => {\n const { scenes } = props;\n const introScene = scenes.find((scene) => scene.type === SCENE_TYPE_INTRO);\n\n const [inViewRef, isVisible] = useIntersectionObserver(\n 0.3,\n undefined,\n false,\n true\n );\n\n const { t } = useTranslation();\n\n const [isVideoPlaying, setIsVideoPlaying] = useState(false);\n const [isPlaying, setIsPlaying] = useState(true);\n const [nextSceneTimeoutId, setNextSceneTimeoutId] = useState(null);\n\n const [hasLowerControlsOpacity, setHasLowerControlsOpacity] = useState(false);\n\n const [slideWasManuallySelected, setSlideWasManuallySelected] =\n useState(false);\n\n const [videoNode, setVideoNode] = useState(null);\n const videoRefFn = useCallback((_videoNode) => {\n setVideoNode(_videoNode);\n }, []);\n\n const [currentVideoSrcs, setCurrentVideoSrcs] = useState(null);\n const prevCurrentVideoSrcs = usePreviousValue(currentVideoSrcs);\n const largeVideoMq = useMediaQuery('(min-width: 542px)');\n const browserZoomPercentage = useContext(ZoomLevelContext);\n\n useEffect(() => {\n setCurrentVideoSrcs(largeVideoMq ? videoSrcsDesktop : videoSrcsResp);\n }, [largeVideoMq]);\n\n // init video\n\n useEffect(() => {\n if (!videoNode) {\n return;\n }\n\n const activateVideo = () => {\n videoNode.play();\n };\n\n // ios\n document.addEventListener('touchstart', activateVideo);\n return () => {\n document.removeEventListener('touchstart', activateVideo);\n };\n }, [videoNode]);\n\n // handle video loaded event\n\n const videoHasLoaded = () => {\n setIsVideoPlaying(true);\n\n videoNode.play();\n videoNode.removeEventListener('canplaythrough', videoHasLoaded);\n };\n\n useEffect(() => {\n if (!videoNode) {\n return;\n }\n\n // we need to trigger load() manually if the video srcs have changed\n // (i.e. due to resized browser window)\n if (prevCurrentVideoSrcs !== currentVideoSrcs) {\n videoNode.load();\n } else {\n // if the video is in the cache of the browser,\n // the 'canplaythrough' event might have been triggered\n // before we registered the event handler.\n if (videoNode.readyState > 3) {\n videoHasLoaded();\n return;\n }\n }\n\n videoNode.addEventListener('canplaythrough', videoHasLoaded);\n return () => {\n videoNode.removeEventListener('canplaythrough', videoHasLoaded);\n };\n }, [videoNode, currentVideoSrcs]);\n\n // handle controls opacity fade after video start\n\n useDelayedEffect(\n CONTROLS_OPACITY_DELAY,\n () => {\n setHasLowerControlsOpacity(isVideoPlaying);\n },\n [isVideoPlaying]\n );\n\n // handle scene progression\n\n const [currentSceneIndex, setCurrentSceneIndex] = useState(0);\n useEffect(() => {\n const currentScene = scenes[currentSceneIndex];\n const currentSceneDuration = currentScene?.duration;\n\n if (!isPlaying) {\n return;\n }\n\n if (currentSceneIndex === scenes.length - 1) {\n clearTimeout(nextSceneTimeoutId);\n setTimeout(() => {\n setIsPlaying(false);\n }, currentSceneDuration * 1000);\n } else {\n const id = setTimeout(() => {\n setCurrentSceneIndex((i) => (i + 1) % scenes.length);\n }, currentSceneDuration * 1000);\n\n setNextSceneTimeoutId(id);\n }\n }, [currentSceneIndex, isPlaying]);\n\n // track slide impressions\n\n useEffect(() => {\n if (isVisible) {\n if (slideWasManuallySelected) {\n setSlideWasManuallySelected(false);\n return;\n }\n\n trackHeroCarouselSlideImpression(currentSceneIndex + 1);\n }\n }, [currentSceneIndex]);\n\n // event handlers\n\n const handleToggleScenesCarousel = () => {\n clearTimeout(nextSceneTimeoutId);\n if (currentSceneIndex === scenes.length - 1) {\n setCurrentSceneIndex(0);\n }\n\n if (isPlaying) {\n videoNode.pause();\n } else {\n videoNode.play();\n }\n\n setIsPlaying(!isPlaying);\n };\n\n const handleRestart = () => {\n clearTimeout(nextSceneTimeoutId);\n setCurrentSceneIndex(0);\n setIsPlaying(true);\n };\n\n const handleGoToScene = (idx) => {\n clearTimeout(nextSceneTimeoutId);\n setSlideWasManuallySelected(true);\n trackHeroCarouselSlideSelect(idx + 1);\n setCurrentSceneIndex(idx);\n\n if (!isPlaying && currentSceneIndex === scenes.length - 1) {\n setIsPlaying(true);\n }\n };\n\n // current scene\n\n const currentScene = scenes[currentSceneIndex];\n const SceneComponent = sceneComponents[currentScene?.type];\n\n // fade overlay\n\n const { scrollY } = useScroll();\n const fadeYEased = useTransform(scrollY, (v) => {\n const windowInnerHeight =\n typeof window !== 'undefined' ? window.innerHeight : 2000;\n const scrollYPx = scrollY.get();\n\n const fadeY = mapRange(scrollYPx, 0, windowInnerHeight, 0, 1);\n const eased =\n -1 * easeOutCubic(Math.min(fadeY, 1)) * windowInnerHeight * 0.5;\n\n return eased;\n });\n\n // classes\n\n const rootCls = classNames(s.Root, {\n [s.LowerControlsOpacity]: hasLowerControlsOpacity,\n [s.ZoomLevel200]: browserZoomPercentage >= 190,\n [s.ZoomLevel300]: browserZoomPercentage >= 290,\n [s.ZoomLevel300]: browserZoomPercentage >= 290,\n [s.ZoomLevel400]: browserZoomPercentage >= 390,\n });\n\n return (\n \n
\n \n \n\n \n
\n {t('Why.slide', { idx: currentSceneIndex + 1 })} of {scenes.length}\n
\n\n
\n \n {currentVideoSrcs &&\n currentVideoSrcs.map((s, i) => (\n \n ))}\n \n \n\n
\n \n {currentScene && (\n \n )}\n \n
\n\n
\n
\n
\n \n \n {isPlaying ? t('Generic.pause') : t('Generic.play')}\n \n \n \n
\n \n {currentSceneIndex === scenes.length - 1 && (\n \n \n {t('Generic.restart')}\n \n \n \n )}\n \n
\n\n
\n \n \n {isPlaying ? t('Generic.pause') : t('Generic.play')}\n \n \n \n
\n
\n {scenes.map((scene, i) => {\n const barStyle = {\n width: `${100 / (scenes.length - 1)}%`,\n };\n\n const innerBarCls = classNames(s.ProgressLineInner, {\n [s.Playing]: i === currentSceneIndex && isPlaying,\n [s.Paused]: i === currentSceneIndex && !isPlaying,\n [s.Played]: i < currentSceneIndex,\n });\n\n const innerBarStyle =\n currentSceneIndex === i && isPlaying\n ? {\n animationDuration: `${scene?.duration}s`,\n animationPlayState: 'running',\n animationIterationCount:\n scene.type === SCENE_TYPE_CONTACT\n ? '1'\n : 'infinite',\n }\n : null;\n\n return (\n
\n {i <= currentSceneIndex && (\n
\n )}\n handleGoToScene(i)}>\n \n {t('Why.slide', { idx: i })}\n \n \n
\n );\n })}\n
\n\n
\n \n {currentSceneIndex === scenes.length - 1 && (\n \n {t('Generic.restart')}\n \n \n )}\n \n
\n
\n
\n \n
\n
\n );\n};\n\nVideoTextCarouselHero.propTypes = {\n scenes: PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.oneOf([\n SCENE_TYPE_INTRO,\n SCENE_TYPE_REGULAR,\n SCENE_TYPE_CONTACT,\n ]).isRequired,\n duration: PropTypes.number,\n regularTitle: PropTypes.string.isRequired,\n boldTitle: PropTypes.string.isRequired,\n preamble: PropTypes.string,\n link: PropTypes.shape({\n href: PropTypes.string.isRequired,\n text: PropTypes.string.isRequired,\n }),\n })\n ),\n};\n\nVideoTextCarouselHero.defaultProps = {\n scenes: [],\n};\n\nexport default VideoTextCarouselHero;\n","export default {\"src\":\"/_next/static/media/globb.97dc212d.webp\",\"height\":1944,\"width\":4186,\"blurDataURL\":\"data:image/webp;base64,UklGRooAAABXRUJQVlA4WAoAAAAQAAAABwAAAwAAQUxQSCEAAAAAARJKXkcPAABQ4f///+FPAuP19fX19eMeTk5OTk5OTiAAVlA4IEIAAACwAQCdASoIAAQAAkA4JbACdAD0h/pcAP3G2cnOEjZLdbx+qxpZxWqgv9MEGsCL8ufffftmEUldUW4AY+6Y8f8AAAA=\",\"blurWidth\":8,\"blurHeight\":4};","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { basePageWrap } from '../BasePage';\nimport useIntersectionObserver from '../../hooks/useIntersectionObserver';\n\nimport VideoTextCarouselHero from '../../components/VideoTextCarouselHero/VideoTextCarouselHero';\nimport WhatWeOfferModule from '../../components/WhatWeOfferModule';\nimport Footer from '../../components/Footer';\nimport ButtonPrimary from '../../components/ButtonPrimary';\nimport classNames from 'classnames';\nimport Image from 'next/image';\nimport Globe from '../../public/img/globb.webp';\nimport StreamField from '../../components/StreamField';\nimport useWindowWidthTitle from '../../hooks/useWindowWidthTitles';\n\nimport s from './HomePage.module.scss';\n\nconst HomePage = ({\n homeHero,\n whatWeOffer,\n siteSetting,\n insights,\n blocks,\n isDesktop,\n}) => {\n const [ref, isVisible] = useIntersectionObserver();\n const titleClasses = classNames(s.Title, 'grid', { [s.Visible]: isVisible });\n const titleMobileClasses = classNames(s.TitleMobile, {\n [s.Visible]: isVisible,\n });\n\n const contentClasses = classNames(s.TextContent, 'grid', {\n [s.Visible]: isVisible,\n });\n\n const width = useWindowWidthTitle(isDesktop);\n\n const isMobile = width < 768;\n\n return (\n
\n \n
\n \n\n
\n {isMobile ? (\n

\n \n \n {insights?.titleTop}{' '}\n {insights?.titleBottom}\n \n \n

\n ) : (\n

\n \n {insights?.titleTop}\n {insights?.titleBottom}\n \n

\n )}\n\n
\n

{insights?.preamble}

\n
\n
\n
\n \n Discover Stockholm Insights\n \n
\n
\n
\n
\n \n \n \n
\n
\n\n \n
\n\n
\n
\n \n
\n
\n
\n );\n};\n\nHomePage.defaultProps = {\n title: '',\n};\n\nHomePage.propTypes = {\n title: PropTypes.string.isRequired,\n};\n\nexport default basePageWrap(HomePage, { noBasePageFooter: true });\n","import HomePage from './HomePage';\n\nexport default HomePage;\n","import { useEffect } from 'react';\n\nconst useDelayedEffect = (delay = 300, fn, deps = []) => {\n useEffect(() => {\n const timer = setTimeout(() => {\n fn();\n }, delay);\n\n return () => {\n clearTimeout(timer);\n };\n }, deps);\n};\n\nexport default useDelayedEffect;\n","import { CONSOLE_LEVELS } from '@sentry/utils';\nimport { useEffect, useRef, useState } from 'react';\n\nexport default function useIntersectionObserver(\n threshold = 0,\n rootMargin = '',\n triggerOnce = true,\n initialVisibleValue = false\n) {\n const positionEnum = Object.freeze({\n below: 'BELOW',\n over: 'OVER',\n center: 'CENTER',\n });\n\n const ref = useRef(null);\n const [isVisible, setIsVisible] = useState(initialVisibleValue);\n const [position, setPosition] = useState(null);\n\n useEffect(() => {\n let element = ref.current;\n\n const cb = (entries) => {\n const [entry] = entries;\n\n if (entry.boundingClientRect.top > 0) {\n setPosition(positionEnum.below);\n setIsVisible(false);\n } else if (!entry.isIntersecting) {\n setPosition(positionEnum.over);\n setIsVisible(false);\n }\n\n if (entry.isIntersecting) {\n setIsVisible(true);\n setPosition(positionEnum.center);\n\n if (triggerOnce) {\n observer.unobserve(element);\n }\n }\n };\n\n const observer = new IntersectionObserver(cb, {\n threshold,\n rootMargin,\n });\n\n if (element) {\n observer.observe(element);\n }\n\n return () => {\n if (element) {\n observer.unobserve(element);\n }\n };\n }, [ref, threshold, rootMargin]);\n\n return [ref, isVisible, position];\n}\n","import { useEffect, useState } from 'react';\n\nfunction useMediaQuery(query: string): boolean {\n const getMatches = (query: string): boolean => {\n // Prevents SSR issues\n if (typeof window !== 'undefined' && window.matchMedia) {\n return window.matchMedia(query).matches;\n }\n\n return false;\n };\n\n const [matches, setMatches] = useState(getMatches(query));\n\n function handleChange() {\n setMatches(getMatches(query));\n }\n\n useEffect(() => {\n const matchMedia = window.matchMedia(query);\n\n // Triggered at the first client-side load and if query changes\n handleChange();\n\n // Listen matchMedia\n if (matchMedia.addListener) {\n matchMedia.addListener(handleChange);\n } else {\n matchMedia.addEventListener('change', handleChange);\n }\n\n return () => {\n if (matchMedia.removeListener) {\n matchMedia.removeListener(handleChange);\n } else {\n matchMedia.removeEventListener('change', handleChange);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [query]);\n\n return matches;\n}\n\nexport default useMediaQuery;\n","import { useEffect, useState } from 'react';\nimport debounce from 'lodash/debounce';\n\nfunction useWindowWidthTitles(isDesktop, delay = 120) {\n const [width, setWidth] = useState(isDesktop ? 1024 : 600); // Default to 1024 for desktop and 600 for mobile\n\n useEffect(() => {\n if (window?.innerWidth) {\n setWidth(window?.innerWidth);\n }\n }, []);\n\n useEffect(() => {\n const handleResize = () => setWidth(window?.innerWidth);\n const debouncedHandleResize =\n delay > 0 ? debounce(handleResize, delay) : handleResize;\n\n window.addEventListener('resize', debouncedHandleResize);\n return () => {\n window.removeEventListener('resize', debouncedHandleResize);\n };\n }, [delay]);\n\n return width;\n}\n\nexport default useWindowWidthTitles;\n","const clamp = (val, min, max) => Math.max(min, Math.min(max, val));\n\nconst mapRange = (\n input,\n inLow,\n inHigh,\n outLow,\n outHigh,\n clampValue = false\n) => {\n const value =\n ((input - inLow) / (inHigh - inLow)) * (outHigh - outLow) + outLow;\n\n return clampValue ? clamp(value, outLow, outHigh) : value;\n};\n\nconst slugify = (string) => {\n return string\n .toLowerCase()\n .replace(/\\s+/g, '-')\n .replace(/å/g, 'a')\n .replace(/ä/g, 'a')\n .replace(/ö/g, 'o')\n .replace(/[^\\w\\-]+/g, '')\n .replace(/\\-\\-+/g, '-')\n .replace(/^-+/, '')\n .replace(/-+$/, '');\n};\n\nconst formatNumberReadable = (number, opts = {}) => {\n let { thousandsSeparator = ' ' } = opts || {};\n return (number + '').replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandsSeparator);\n};\n\nconst endPadString = (s, char, padAmount) => {\n let padStr = char.repeat(padAmount);\n return `${s}${padStr}`;\n};\n\nconst easeOutCubic = (x) => {\n return 1 - Math.pow(1 - x, 3);\n};\n\nconst calculateVisibilityPercentage = (element) => {\n const rect = element.getBoundingClientRect();\n const windowWidth = window.innerWidth || document.documentElement.clientWidth;\n\n // If the element is partially visible along the x-axis, calculate the visibility percentage\n const visibleWidth =\n Math.min(rect.right, windowWidth) - Math.max(rect.left, 0);\n const elementWidth = rect.width;\n const visibilityPercentage = (visibleWidth / elementWidth) * 100;\n return visibilityPercentage;\n};\n\nexport {\n clamp,\n mapRange,\n slugify,\n formatNumberReadable,\n endPadString,\n easeOutCubic,\n calculateVisibilityPercentage,\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"VideoTextCarouselHero_Root__6753s\",\"ZoomLevel400\":\"VideoTextCarouselHero_ZoomLevel400__8e_gU\",\"ZoomLevel300\":\"VideoTextCarouselHero_ZoomLevel300___4JkN\",\"Wrapper\":\"VideoTextCarouselHero_Wrapper__6kwX_\",\"Desktop\":\"VideoTextCarouselHero_Desktop__ruAm1\",\"Div100\":\"VideoTextCarouselHero_Div100__L6uo9\",\"Loader\":\"VideoTextCarouselHero_Loader__dp6nP\",\"Container\":\"VideoTextCarouselHero_Container__65_EW\",\"FadeOverlay\":\"VideoTextCarouselHero_FadeOverlay__8jPAU\",\"Video\":\"VideoTextCarouselHero_Video__j7qEU\",\"SceneContainer\":\"VideoTextCarouselHero_SceneContainer__TE0Ac\",\"ProgressContainer\":\"VideoTextCarouselHero_ProgressContainer__TtGrV\",\"RespButtonWrapper\":\"VideoTextCarouselHero_RespButtonWrapper__A4MFj\",\"ButtonContainer\":\"VideoTextCarouselHero_ButtonContainer__GPQPE\",\"ButtonTextResp\":\"VideoTextCarouselHero_ButtonTextResp__cqu6B\",\"PlayButton\":\"VideoTextCarouselHero_PlayButton__vKyW9\",\"PlayIcon\":\"VideoTextCarouselHero_PlayIcon__yls3F\",\"Progress\":\"VideoTextCarouselHero_Progress__XwRq3\",\"ProgressLine\":\"VideoTextCarouselHero_ProgressLine___zX8H\",\"ProgressLineInner\":\"VideoTextCarouselHero_ProgressLineInner__45Wia\",\"Playing\":\"VideoTextCarouselHero_Playing__fHKvi\",\"progress\":\"VideoTextCarouselHero_progress__n_wp0\",\"Played\":\"VideoTextCarouselHero_Played__Wq3Gc\",\"Paused\":\"VideoTextCarouselHero_Paused__QyTdI\",\"ProgressLineButton\":\"VideoTextCarouselHero_ProgressLineButton__L7MSr\",\"IntroSceneContainer\":\"VideoTextCarouselHero_IntroSceneContainer__TOgjs\",\"IntroHeading\":\"VideoTextCarouselHero_IntroHeading__O0bik\",\"IntroHeadingRegular\":\"VideoTextCarouselHero_IntroHeadingRegular__YvODE\",\"IntroHeadingBold\":\"VideoTextCarouselHero_IntroHeadingBold__pHS8l\",\"BaseSceneContainer\":\"VideoTextCarouselHero_BaseSceneContainer__EJIEv\",\"BaseHeading\":\"VideoTextCarouselHero_BaseHeading__KkI_5\",\"BaseHeadingRegular\":\"VideoTextCarouselHero_BaseHeadingRegular__vcFGl\",\"BaseHeadingBold\":\"VideoTextCarouselHero_BaseHeadingBold__M1_wf\",\"BasePreambleContainer\":\"VideoTextCarouselHero_BasePreambleContainer__Fzdmy\",\"BasePreamble\":\"VideoTextCarouselHero_BasePreamble__kx1iU\",\"ContactSceneContainer\":\"VideoTextCarouselHero_ContactSceneContainer__Nfwp5\",\"ContactHeading\":\"VideoTextCarouselHero_ContactHeading__HR1q7\",\"ContactHeadingRegular\":\"VideoTextCarouselHero_ContactHeadingRegular__dvrxX\",\"ContactHeadingBold\":\"VideoTextCarouselHero_ContactHeadingBold__p0ZQ_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"WhatWeOfferModule_Root__hSZNF\",\"HomePage\":\"WhatWeOfferModule_HomePage__sEylz\",\"PageSwitcher\":\"WhatWeOfferModule_PageSwitcher__QILB_\",\"BlobLeft\":\"WhatWeOfferModule_BlobLeft__ln5F4\",\"BlobRight\":\"WhatWeOfferModule_BlobRight__TqV3r\",\"Img\":\"WhatWeOfferModule_Img__XxDgz\",\"Visible\":\"WhatWeOfferModule_Visible__lI1Ls\",\"Title\":\"WhatWeOfferModule_Title__lysX4\",\"TitleDesktop\":\"WhatWeOfferModule_TitleDesktop__kmXSt\",\"TitleMobile\":\"WhatWeOfferModule_TitleMobile__iPHvg\",\"TitleContainer\":\"WhatWeOfferModule_TitleContainer__b4gVX\",\"TitleTop\":\"WhatWeOfferModule_TitleTop__lwNwi\",\"TitleBottom\":\"WhatWeOfferModule_TitleBottom__CdKS3\",\"Text\":\"WhatWeOfferModule_Text___8g57\",\"Tagline\":\"WhatWeOfferModule_Tagline__tfiMr\",\"Link\":\"WhatWeOfferModule_Link__sjogh\",\"Links\":\"WhatWeOfferModule_Links__Zv_Cn\",\"Image\":\"WhatWeOfferModule_Image__IZIvd\",\"TaglineText\":\"WhatWeOfferModule_TaglineText__j_eC7\",\"NoContent\":\"WhatWeOfferModule_NoContent__qyvKy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Root\":\"HomePage_Root__pVp7q\",\"Content\":\"HomePage_Content__YbPHQ\",\"InsightsWrapper\":\"HomePage_InsightsWrapper__GoYbz\",\"Title\":\"HomePage_Title__wHUv7\",\"TitleDesktop\":\"HomePage_TitleDesktop__5t42m\",\"TitleMobile\":\"HomePage_TitleMobile__4bc04\",\"Visible\":\"HomePage_Visible___CKTa\",\"TitleContainer\":\"HomePage_TitleContainer__UsDa8\",\"TitleTop\":\"HomePage_TitleTop__bPCXQ\",\"TitleBottom\":\"HomePage_TitleBottom__1S51j\",\"ButtonWrapper\":\"HomePage_ButtonWrapper__ZKg_e\",\"Text\":\"HomePage_Text__dMgYM\",\"ImageWrapper\":\"HomePage_ImageWrapper__NsOfA\",\"BlobRight\":\"HomePage_BlobRight__B1ILO\",\"BlobLeft\":\"HomePage_BlobLeft__Dhune\",\"FooterHr\":\"HomePage_FooterHr__Eykfl\",\"TaglineText\":\"HomePage_TaglineText__376Tm\",\"Tagline\":\"HomePage_Tagline__4LSlA\"};","import { useRef } from 'react';\nimport { useIsomorphicLayoutEffect } from './use-isomorphic-effect.mjs';\n\nfunction useIsMounted() {\n const isMounted = useRef(false);\n useIsomorphicLayoutEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n return isMounted;\n}\n\nexport { useIsMounted };\n","import { frame } from '../frameloop/index.mjs';\nimport { useState, useCallback } from 'react';\nimport { useIsMounted } from './use-is-mounted.mjs';\n\nfunction useForceUpdate() {\n const isMounted = useIsMounted();\n const [forcedRenderCount, setForcedRenderCount] = useState(0);\n const forceRender = useCallback(() => {\n isMounted.current && setForcedRenderCount(forcedRenderCount + 1);\n }, [forcedRenderCount]);\n /**\n * Defer this to the end of the next animation frame in case there are multiple\n * synchronous calls.\n */\n const deferredForceRender = useCallback(() => frame.postRender(forceRender), [forceRender]);\n return [deferredForceRender, forcedRenderCount];\n}\n\nexport { useForceUpdate };\n","import * as React from 'react';\nimport { useId, useRef, useInsertionEffect } from 'react';\n\n/**\n * Measurement functionality has to be within a separate component\n * to leverage snapshot lifecycle.\n */\nclass PopChildMeasure extends React.Component {\n getSnapshotBeforeUpdate(prevProps) {\n const element = this.props.childRef.current;\n if (element && prevProps.isPresent && !this.props.isPresent) {\n const size = this.props.sizeRef.current;\n size.height = element.offsetHeight || 0;\n size.width = element.offsetWidth || 0;\n size.top = element.offsetTop;\n size.left = element.offsetLeft;\n }\n return null;\n }\n /**\n * Required with getSnapshotBeforeUpdate to stop React complaining.\n */\n componentDidUpdate() { }\n render() {\n return this.props.children;\n }\n}\nfunction PopChild({ children, isPresent }) {\n const id = useId();\n const ref = useRef(null);\n const size = useRef({\n width: 0,\n height: 0,\n top: 0,\n left: 0,\n });\n /**\n * We create and inject a style block so we can apply this explicit\n * sizing in a non-destructive manner by just deleting the style block.\n *\n * We can't apply size via render as the measurement happens\n * in getSnapshotBeforeUpdate (post-render), likewise if we apply the\n * styles directly on the DOM node, we might be overwriting\n * styles set via the style prop.\n */\n useInsertionEffect(() => {\n const { width, height, top, left } = size.current;\n if (isPresent || !ref.current || !width || !height)\n return;\n ref.current.dataset.motionPopId = id;\n const style = document.createElement(\"style\");\n document.head.appendChild(style);\n if (style.sheet) {\n style.sheet.insertRule(`\n [data-motion-pop-id=\"${id}\"] {\n position: absolute !important;\n width: ${width}px !important;\n height: ${height}px !important;\n top: ${top}px !important;\n left: ${left}px !important;\n }\n `);\n }\n return () => {\n document.head.removeChild(style);\n };\n }, [isPresent]);\n return (React.createElement(PopChildMeasure, { isPresent: isPresent, childRef: ref, sizeRef: size }, React.cloneElement(children, { ref })));\n}\n\nexport { PopChild };\n","import * as React from 'react';\nimport { useId, useMemo } from 'react';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\nimport { useConstant } from '../../utils/use-constant.mjs';\nimport { PopChild } from './PopChild.mjs';\n\nconst PresenceChild = ({ children, initial, isPresent, onExitComplete, custom, presenceAffectsLayout, mode, }) => {\n const presenceChildren = useConstant(newChildrenMap);\n const id = useId();\n const context = useMemo(() => ({\n id,\n initial,\n isPresent,\n custom,\n onExitComplete: (childId) => {\n presenceChildren.set(childId, true);\n for (const isComplete of presenceChildren.values()) {\n if (!isComplete)\n return; // can stop searching when any is incomplete\n }\n onExitComplete && onExitComplete();\n },\n register: (childId) => {\n presenceChildren.set(childId, false);\n return () => presenceChildren.delete(childId);\n },\n }), \n /**\n * If the presence of a child affects the layout of the components around it,\n * we want to make a new context value to ensure they get re-rendered\n * so they can detect that layout change.\n */\n presenceAffectsLayout ? undefined : [isPresent]);\n useMemo(() => {\n presenceChildren.forEach((_, key) => presenceChildren.set(key, false));\n }, [isPresent]);\n /**\n * If there's no `motion` components to fire exit animations, we want to remove this\n * component immediately.\n */\n React.useEffect(() => {\n !isPresent &&\n !presenceChildren.size &&\n onExitComplete &&\n onExitComplete();\n }, [isPresent]);\n if (mode === \"popLayout\") {\n children = React.createElement(PopChild, { isPresent: isPresent }, children);\n }\n return (React.createElement(PresenceContext.Provider, { value: context }, children));\n};\nfunction newChildrenMap() {\n return new Map();\n}\n\nexport { PresenceChild };\n","import { useEffect } from 'react';\n\nfunction useUnmountEffect(callback) {\n return useEffect(() => () => callback(), []);\n}\n\nexport { useUnmountEffect };\n","import * as React from 'react';\nimport { useContext, useRef, cloneElement, Children, isValidElement } from 'react';\nimport { useForceUpdate } from '../../utils/use-force-update.mjs';\nimport { useIsMounted } from '../../utils/use-is-mounted.mjs';\nimport { PresenceChild } from './PresenceChild.mjs';\nimport { LayoutGroupContext } from '../../context/LayoutGroupContext.mjs';\nimport { useIsomorphicLayoutEffect } from '../../utils/use-isomorphic-effect.mjs';\nimport { useUnmountEffect } from '../../utils/use-unmount-effect.mjs';\nimport { invariant } from '../../utils/errors.mjs';\n\nconst getChildKey = (child) => child.key || \"\";\nfunction updateChildLookup(children, allChildren) {\n children.forEach((child) => {\n const key = getChildKey(child);\n allChildren.set(key, child);\n });\n}\nfunction onlyElements(children) {\n const filtered = [];\n // We use forEach here instead of map as map mutates the component key by preprending `.$`\n Children.forEach(children, (child) => {\n if (isValidElement(child))\n filtered.push(child);\n });\n return filtered;\n}\n/**\n * `AnimatePresence` enables the animation of components that have been removed from the tree.\n *\n * When adding/removing more than a single child, every child **must** be given a unique `key` prop.\n *\n * Any `motion` components that have an `exit` property defined will animate out when removed from\n * the tree.\n *\n * ```jsx\n * import { motion, AnimatePresence } from 'framer-motion'\n *\n * export const Items = ({ items }) => (\n * \n * {items.map(item => (\n * \n * ))}\n * \n * )\n * ```\n *\n * You can sequence exit animations throughout a tree using variants.\n *\n * If a child contains multiple `motion` components with `exit` props, it will only unmount the child\n * once all `motion` components have finished animating out. Likewise, any components using\n * `usePresence` all need to call `safeToRemove`.\n *\n * @public\n */\nconst AnimatePresence = ({ children, custom, initial = true, onExitComplete, exitBeforeEnter, presenceAffectsLayout = true, mode = \"sync\", }) => {\n invariant(!exitBeforeEnter, \"Replace exitBeforeEnter with mode='wait'\");\n // We want to force a re-render once all exiting animations have finished. We\n // either use a local forceRender function, or one from a parent context if it exists.\n const forceRender = useContext(LayoutGroupContext).forceRender || useForceUpdate()[0];\n const isMounted = useIsMounted();\n // Filter out any children that aren't ReactElements. We can only track ReactElements with a props.key\n const filteredChildren = onlyElements(children);\n let childrenToRender = filteredChildren;\n const exiting = new Set();\n // Keep a living record of the children we're actually rendering so we\n // can diff to figure out which are entering and exiting\n const presentChildren = useRef(childrenToRender);\n // A lookup table to quickly reference components by key\n const allChildren = useRef(new Map()).current;\n // If this is the initial component render, just deal with logic surrounding whether\n // we play onMount animations or not.\n const isInitialRender = useRef(true);\n useIsomorphicLayoutEffect(() => {\n isInitialRender.current = false;\n updateChildLookup(filteredChildren, allChildren);\n presentChildren.current = childrenToRender;\n });\n useUnmountEffect(() => {\n isInitialRender.current = true;\n allChildren.clear();\n exiting.clear();\n });\n if (isInitialRender.current) {\n return (React.createElement(React.Fragment, null, childrenToRender.map((child) => (React.createElement(PresenceChild, { key: getChildKey(child), isPresent: true, initial: initial ? undefined : false, presenceAffectsLayout: presenceAffectsLayout, mode: mode }, child)))));\n }\n // If this is a subsequent render, deal with entering and exiting children\n childrenToRender = [...childrenToRender];\n // Diff the keys of the currently-present and target children to update our\n // exiting list.\n const presentKeys = presentChildren.current.map(getChildKey);\n const targetKeys = filteredChildren.map(getChildKey);\n // Diff the present children with our target children and mark those that are exiting\n const numPresent = presentKeys.length;\n for (let i = 0; i < numPresent; i++) {\n const key = presentKeys[i];\n if (targetKeys.indexOf(key) === -1) {\n exiting.add(key);\n }\n }\n // If we currently have exiting children, and we're deferring rendering incoming children\n // until after all current children have exiting, empty the childrenToRender array\n if (mode === \"wait\" && exiting.size) {\n childrenToRender = [];\n }\n // Loop through all currently exiting components and clone them to overwrite `animate`\n // with any `exit` prop they might have defined.\n exiting.forEach((key) => {\n // If this component is actually entering again, early return\n if (targetKeys.indexOf(key) !== -1)\n return;\n const child = allChildren.get(key);\n if (!child)\n return;\n const insertionIndex = presentKeys.indexOf(key);\n const onExit = () => {\n allChildren.delete(key);\n exiting.delete(key);\n // Remove this child from the present children\n const removeIndex = presentChildren.current.findIndex((presentChild) => presentChild.key === key);\n presentChildren.current.splice(removeIndex, 1);\n // Defer re-rendering until all exiting children have indeed left\n if (!exiting.size) {\n presentChildren.current = filteredChildren;\n if (isMounted.current === false)\n return;\n forceRender();\n onExitComplete && onExitComplete();\n }\n };\n childrenToRender.splice(insertionIndex, 0, React.createElement(PresenceChild, { key: getChildKey(child), isPresent: false, onExitComplete: onExit, custom: custom, presenceAffectsLayout: presenceAffectsLayout, mode: mode }, child));\n });\n // Add `MotionContext` even to children that don't need it to ensure we're rendering\n // the same tree between renders\n childrenToRender = childrenToRender.map((child) => {\n const key = child.key;\n return exiting.has(key) ? (child) : (React.createElement(PresenceChild, { key: getChildKey(child), isPresent: true, presenceAffectsLayout: presenceAffectsLayout, mode: mode }, child));\n });\n if (process.env.NODE_ENV !== \"production\" &&\n mode === \"wait\" &&\n childrenToRender.length > 1) {\n console.warn(`You're attempting to animate multiple children within AnimatePresence, but its mode is set to \"wait\". This will lead to odd visual behaviour.`);\n }\n return (React.createElement(React.Fragment, null, exiting.size\n ? childrenToRender\n : childrenToRender.map((child) => cloneElement(child))));\n};\n\nexport { AnimatePresence };\n"],"names":["StaggeredDelayedAnimation","props","children","delay","_props_stagger","stagger","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","motion","variants","hidden","visible","transition","delayChildren","_props_delay","staggerChildren","initial","animate","propTypes","PropTypes","defaultProps","AnimatedWords","text","duration","initialY","words","split","filter","word","wordAnimProps","opacity","y","skew","Fragment","map","i","jsxs","span","style","display","transformOrigin","length","AnimatedSentences","_props_text","sentences","splittedSentences","match","sentenceAnimProps","sentence","CardGlassLink","dynamic","__webpack_require__","e","then","bind","Testemonial","Promise","all","RichText","ImageRichText","CardLinkRichText","FactsRichText","BlockQuoteRichText","VerticalScroller","MediaBankModule","NewsList","Stories","BlockQuoteCta","FiftyFiftyImages","AccordionList","VideoPlayer","ReportColumnChart","ReportPieChart","ReportLineChart","StreamField","param","blocks","_param_blocks","from","components","TestimonialBlock","MediaBank","Video","dynamicComponents","item","index","Component","snakeToPascal","type","jsx_runtime","value","fromPage","components_StreamField","WhatWeOfferModule","pages","_obj","title","_param_title","preamble","image","modifier","isDesktop","t","useTranslation","useState","isVisible","setIsVisible","undefined","currentImage","setCurrentImage","titleClasses","classNames","s","_define_property","Z","titleMobileClasses","HeadingTag","contentClasses","imgStyle","objectFit","focal","x","objectPosition","concat","width","useWindowWidthTitles","useEffect","div","className","isMobile","titleTop","titleBottom","p","h2","items","Link","onMouseEnter","onMouseLeave","href","Image","src","url","alt","fill","imageStyle","imgClass","components_WhatWeOfferModule","__assign","Object","assign","n","arguments","prototype","hasOwnProperty","call","apply","__rest","indexOf","getOwnPropertySymbols","propertyIsEnumerable","warned","Div100vh","react","forwardRef","_a","ref","wasRenderedOnClientAtLeastOnce","setWasRenderedOnClientAtLeastOnce","height","setHeight","other","measureHeight","isClient","window","addEventListener","setMeasuredHeight","removeEventListener","console","warn","styleWithRealHeight","createElement","innerHeight","document","displayName","hooks_usePreviousValue","useRef","current","SCENE_TYPE_INTRO","SCENE_TYPE_REGULAR","SCENE_TYPE_CONTACT","videoSrcsDesktop","videoSrcsResp","sceneComponents","regularTitle","boldTitle","exit","h1","initialDelay","link","linkLabel","programmticHoverActive","setProgrammaticHoverActive","setTimeout","buttonDisplayDelay","ButtonSecondary","borderColor","modifiers","icon","asLink","onClick","trackHeroCarouselCtaClick","VideoTextCarouselHero","scenes","introScene","find","scene","useIntersectionObserver","inViewRef","isVideoPlaying","setIsVideoPlaying","isPlaying","setIsPlaying","nextSceneTimeoutId","setNextSceneTimeoutId","hasLowerControlsOpacity","setHasLowerControlsOpacity","slideWasManuallySelected","setSlideWasManuallySelected","videoNode","setVideoNode","videoRefFn","useCallback","_videoNode","currentVideoSrcs","setCurrentVideoSrcs","prevCurrentVideoSrcs","usePreviousValue","largeVideoMq","useMediaQuery","browserZoomPercentage","useContext","ZoomLevelContext","activateVideo","play","videoHasLoaded","load","readyState","useDelayedEffect","currentSceneIndex","setCurrentSceneIndex","currentScene","currentSceneDuration","clearTimeout","trackHeroCarouselSlideImpression","handleToggleScenesCarousel","pause","handleRestart","handleGoToScene","idx","trackHeroCarouselSlideSelect","SceneComponent","scrollY","useScroll","fadeYEased","useTransform","v","windowInnerHeight","scrollYPx","get","fadeY","mapRange","easeOutCubic","Math","min","rootCls","aria-labelledby","id","aria-live","aria-atomic","video","data-matomo-ignore","playsInline","autoPlay","loop","preload","muted","source","track","kind","srclang","AnimatePresence","button","scale","barStyle","innerBarCls","innerBarStyle","animationDuration","animationPlayState","animationIterationCount","isRequired","globb","HomePage","homeHero","whatWeOffer","siteSetting","insights","useWindowWidthTitle","ButtonPrimary","Globe","footer","Footer","cookieConsent","containers_HomePage","basePageWrap","noBasePageFooter","__webpack_exports__","fn","deps","timer","threshold","rootMargin","triggerOnce","initialVisibleValue","positionEnum","freeze","below","over","center","position","setPosition","element","observer","IntersectionObserver","entries","entry","boundingClientRect","top","isIntersecting","unobserve","observe","query","handleChange","setMatches","getMatches","matchMedia","matches","addListener","removeListener","setWidth","innerWidth","handleResize","debouncedHandleResize","debounce","input","inLow","inHigh","outLow","outHigh","clampValue","max","slugify","string","toLowerCase","replace","formatNumberReadable","number","opts","_ref_thousandsSeparator","thousandsSeparator","endPadString","char","padAmount","padStr","repeat","pow","module","exports","useIsMounted","isMounted","use_isomorphic_effect","L","PopChildMeasure","getSnapshotBeforeUpdate","prevProps","childRef","isPresent","size","sizeRef","offsetHeight","offsetWidth","offsetTop","left","offsetLeft","componentDidUpdate","render","PopChild","useId","useInsertionEffect","dataset","motionPopId","head","appendChild","sheet","insertRule","removeChild","cloneElement","PresenceChild","onExitComplete","custom","presenceAffectsLayout","mode","presenceChildren","use_constant","h","newChildrenMap","context","useMemo","isComplete","set","childId","values","register","delete","forEach","_","key","PresenceContext","O","Provider","Map","getChildKey","child","exitBeforeEnter","callback","errors","k","forceRender","LayoutGroupContext","useForceUpdate","forcedRenderCount","setForcedRenderCount","deferredForceRender","frameloop","Wi","postRender","filteredChildren","onlyElements","filtered","Children","isValidElement","push","childrenToRender","exiting","Set","presentChildren","allChildren","isInitialRender","updateChildLookup","clear","presentKeys","targetKeys","numPresent","add","insertionIndex","onExit","removeIndex","findIndex","presentChild","splice","has"],"sourceRoot":""}