{"version":3,"file":"adce4488bce451234994015b7b56f521628e210c-32c99892e6f090961047.js","mappings":"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","sources":["webpack://portail-innovation/./src/templates/our-approach/content-block/content-block.module.scss","webpack://portail-innovation/./src/hooks/use-window-height.ts","webpack://portail-innovation/./static/vectors/buttonArrowMobile.svg","webpack://portail-innovation/./src/templates/our-approach/content-block/content-block.tsx","webpack://portail-innovation/./src/templates/our-approach/key-figure/our-approach-key-figure-row.module.scss","webpack://portail-innovation/./src/templates/our-approach/key-figure/key-figure-v2/our-approach-key-figure-v2.tsx","webpack://portail-innovation/./src/templates/our-approach/key-figure/key-figure-v2/our-approach-key-figure-v2.module.scss","webpack://portail-innovation/./src/templates/our-approach/key-figure/our-approach-key-figure-row.tsx","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/structured-text-content/structured-text-content-container.tsx","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/structured-text-content/structured-text-content-container.module.scss","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/article-structured-text-content/article-structured-text-content.module.scss","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/article-structured-text-content/article-structured-text-content.tsx","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/image/image.module.scss","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/image/image.tsx","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/quote/quote.module.scss","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/quote/quote.tsx","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/large-key-figure/large-key-figure.module.scss","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/large-key-figure/large-key-figure.tsx","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/key-figure-row/key-figure-row.module.scss","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/key-figure-row/key-figure/key-figure.module.scss","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/key-figure-row/key-figure/key-figure.tsx","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/key-figure-row/key-figure-row.tsx","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/image-text-overlay/image-text-overlay.module.scss","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/image-text-overlay/image-text-overlay.tsx","webpack://portail-innovation/./node_modules/reactjs-social-embed/dist/index.es.js","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/embed-social-media/embed-social-media.module.scss","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/embed-social-media/embed-social-media.tsx","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/embed-social-media-v2/embed-social-media-v2.tsx","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/embed-social-media-v2/embed-social-media-v2.module.scss","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/slider/slider-v2.module.scss","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/slider/slider-v2.tsx","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/video/video.module.scss","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/video/video.tsx","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/pdf/pdf.tsx","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/pdf/pdf.module.scss","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/simple-text/simple-text.tsx","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/simple-text/simple-text.module.scss","webpack://portail-innovation/./src/hooks/use-script.ts","webpack://portail-innovation/./src/components/common/jsx/script/script.tsx","webpack://portail-innovation/./src/components/common/jsx/script/script.module.scss","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/framed-text/framed-text.module.scss","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/framed-text/framed-text.tsx","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/key-figure-row-v2/key-figure-row-v2.module.scss","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/key-figure-row-v2/key-figure-v2/key-figure-v2.tsx","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/key-figure-row-v2/key-figure-v2/key-figure-v2.module.scss","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/key-figure-row-v2/key-figure-row-v2.tsx","webpack://portail-innovation/./src/templates/our-approach/lab-mode/lab-mode.tsx","webpack://portail-innovation/./src/templates/our-approach/lab-mode/lab-mode.module.scss","webpack://portail-innovation/./src/templates/our-approach/highlightedArticles/highlightedArticles.module.scss","webpack://portail-innovation/./src/templates/our-approach/highlightedArticles/highlightedArticles.tsx","webpack://portail-innovation/./src/templates/our-approach/accordion/accordion.module.scss","webpack://portail-innovation/./src/templates/our-approach/accordion/accordion.tsx","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/rich-dato-cms-content.tsx","webpack://portail-innovation/./src/components/common/jsx/rich-dato-cms-content/rich-dato-cms-content.module.scss","webpack://portail-innovation/./static/vectors/arrow.svg","webpack://portail-innovation/./static/vectors/arrowV2.svg","webpack://portail-innovation/./static/vectors/backArrowV2.svg","webpack://portail-innovation/./static/vectors/diagonal_arrow.svg","webpack://portail-innovation/./static/vectors/thin_cross.svg"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport var arrow = \"content-block-module--arrow--810e9\";\nexport var arrowContainer = \"content-block-module--arrowContainer--4abab\";\nexport var button = \"content-block-module--button--2d7e4\";\nexport var circle = \"content-block-module--circle--76a45\";\nexport var circleImage = \"content-block-module--circleImage--d712b\";\nexport var circleImageContainer = \"content-block-module--circleImageContainer--cb09a\";\nexport var content = \"content-block-module--content--15151\";\nexport var contentBlock = \"content-block-module--contentBlock--244c4\";\nexport var mainContent = \"content-block-module--mainContent--5c867\";\nexport var moveArrow = \"content-block-module--moveArrow--45cf2\";\nexport var roundImageCircle = \"content-block-module--roundImageCircle--ebb93\";\nexport var squareImage = \"content-block-module--squareImage--5b89e\";\nexport var squareImageContainer = \"content-block-module--squareImageContainer--3dfce\";\nexport var structuredTextContainer = \"content-block-module--structuredTextContainer--817d0\";","import { useEffect, useState } from \"react\"\n\nconst useWindowHeight = () => {\n const isOnBrowser = typeof window !== \"undefined\"\n const [height, setHeight] = useState(isOnBrowser ? window.innerHeight : 1200)\n\n useEffect(() => {\n if (!isOnBrowser) {\n return\n }\n const callback = () => setHeight(window.innerHeight)\n window.addEventListener(\"resize\", callback)\n return () => window.removeEventListener(\"resize\", callback)\n }, [])\n\n return height\n}\n\nexport default useWindowHeight\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAyMiAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE1IDFMMjAgNk0yMCA2TDE1IDExTTIwIDZMMCA2IiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjIiLz4KPC9zdmc+Cg==\"","import React, { useEffect } from \"react\"\nimport { ReactSVG } from \"react-svg\"\n\nimport { graphql } from \"gatsby\"\nimport { ContentBlockFieldsFragment } from \"../../../../graphql-types\"\n\nimport * as styles from \"./content-block.module.scss\"\nimport { elementOffset, transformItem } from \"../../../components/common/functions/functions\"\nimport RichDatoCmsContent from \"../../../components/common/jsx/rich-dato-cms-content/rich-dato-cms-content\"\nimport useWindowHeight from \"../../../hooks/use-window-height\"\nimport useWindowWidth from \"../../../hooks/use-window-width\"\nimport arrow from \"../../../../static/vectors/arrow.svg\"\nimport mobileArrow from \"../../../../static/vectors/buttonArrowMobile.svg\"\nimport { useLocale } from \"../../../context/locale-context\"\n\ntype ContentBlockProps = { data: ContentBlockFieldsFragment }\n\nconst ContentBlock: React.FC = ({ data }) => {\n const { locale, defaultLocale } = useLocale()\n const isBeforeMobile = useWindowWidth() < 1200\n const isMobile = useWindowWidth() <= 825\n const circlePosition = isBeforeMobile ? \"-7.5vw\" : isMobile ? \"-60px\" : \"-120px\"\n const circleOrange = { backgroundColor: \"#D14000\", bottom: circlePosition, right: circlePosition }\n const circleBlue = { backgroundColor: \"#33CCDD\", bottom: circlePosition, left: circlePosition }\n const circleOptions = [circleOrange, circleBlue]\n const circleStyle = circleOptions[Math.floor(Math.random() * circleOptions.length)]\n const windowHeight = useWindowHeight()\n\n const displayImage = (image): JSX.Element => {\n if (image.format === \"svg\") {\n return \n } else {\n return (\n \n )\n }\n }\n\n const handleAnimation = (): void => {\n const structuredTextContainer = document.getElementById(\"structuredTextContainer\")\n const structuredTextElements = document.querySelectorAll(\"h1, h2, h3, h4, h5, h6, p, a\")\n const imageElements = document.querySelectorAll(\"aside\")\n\n const renderContentBlock = () => {\n Array.from(structuredTextElements).forEach(text => {\n if (window.scrollY + windowHeight >= elementOffset(text).top - structuredTextContainer.clientHeight - 300) {\n transformItem(text, 400)\n }\n })\n Array.from(imageElements).forEach(img => {\n if (window.scrollY + windowHeight >= elementOffset(img).top - structuredTextContainer.clientHeight - 300) {\n transformItem(img, 400)\n }\n })\n }\n\n if (structuredTextContainer) {\n renderContentBlock()\n document.addEventListener(\"scroll\", () => renderContentBlock())\n }\n }\n\n useEffect(() => {\n handleAnimation()\n }, [])\n\n return (\n
\n
\n
\n {(data.imageOnLeftSide || isMobile) && (\n \n )}\n
\n \n {data.button && (\n \n {data.buttonTitle}\n
\n \n \n
\n \n )}\n
\n {!data.imageOnLeftSide && !isMobile && (\n \n )}\n
\n
\n
\n )\n}\n\nexport const fragment = graphql`\n fragment ContentBlockFields on DatoCmsOurApproachContentBlock {\n __typename\n id\n button\n buttonLink\n buttonTitle\n imageHasCircleShape\n imageOnLeftSide\n isInternalLink\n grayBackground\n image {\n alt\n format\n url\n }\n structuredText {\n ...StructuredTextFields\n }\n }\n`\n\nexport default ContentBlock\n","// extracted by mini-css-extract-plugin\nexport var arrow = \"our-approach-key-figure-row-module--arrow--8a22e\";\nexport var carouselButton = \"our-approach-key-figure-row-module--carouselButton--c5790\";\nexport var carouselButtons = \"our-approach-key-figure-row-module--carouselButtons--8cdb6\";\nexport var container = \"our-approach-key-figure-row-module--container--e8539\";\nexport var keyFigure = \"our-approach-key-figure-row-module--keyFigure--c6f08\";\nexport var keyFiguresRow = \"our-approach-key-figure-row-module--keyFiguresRow--6869f\";\nexport var mobileCarousel = \"our-approach-key-figure-row-module--mobileCarousel--fdace\";\nexport var nextButton = \"our-approach-key-figure-row-module--nextButton--6d047\";\nexport var prevButton = \"our-approach-key-figure-row-module--prevButton--ffda7\";\nexport var title = \"our-approach-key-figure-row-module--title--46649\";","import React, { useRef } from \"react\"\n\nimport { graphql } from \"gatsby\"\nimport { KeyFigureV2FieldsFragment } from \"../../../../../graphql-types\"\nimport * as styles from \"./our-approach-key-figure-v2.module.scss\"\n\n\ntype OurApproachKeyFigureElementProps = {\n data: KeyFigureV2FieldsFragment\n keyFigureAmount: number\n isVisible?: boolean\n}\n\nconst OurApproachKeyFigureElement: React.FC = ({ data, keyFigureAmount, isVisible = true }) => {\n const refContainer = useRef(null)\n\n return (\n
\n
\n

{data.value}

\n

{data.description}

\n
\n
\n )\n}\n\nexport const fragment = graphql`\n fragment KeyFigureV2Fields on DatoCmsKeyFigureV2 {\n __typename\n id\n value\n description\n textColor {\n hex\n }\n backgroundColor {\n hex\n }\n }\n`\n\nexport default OurApproachKeyFigureElement\n","// extracted by mini-css-extract-plugin\nexport var container = \"our-approach-key-figure-v2-module--container--3ab9a\";\nexport var description = \"our-approach-key-figure-v2-module--description--cc33d\";\nexport var hidden = \"our-approach-key-figure-v2-module--hidden--178e3\";\nexport var value = \"our-approach-key-figure-v2-module--value--84175\";\nexport var valueOnly = \"our-approach-key-figure-v2-module--valueOnly--38a0b\";","import React, { useState, useEffect } from \"react\"\nimport { graphql } from \"gatsby\"\nimport * as styles\t from \"./our-approach-key-figure-row.module.scss\"\nimport OurApproachKeyFigureElement from \"./key-figure-v2/our-approach-key-figure-v2\"\nimport { KeyFigureV2FieldsFragment, OurApproachKeyFigureRowFieldsFragment } from \"../../../../graphql-types\"\n\nimport BackArrowSvg from \"../../../../static/vectors/backArrowV2.svg\"\nimport ArrowSvg from \"../../../../static/vectors/arrowV2.svg\"\n\ntype OurApproachKeyFigureRowProps = { data: OurApproachKeyFigureRowFieldsFragment }\n\nconst OurApproachKeyFigureRow: React.FC = ({ data }) => {\n const [isMobile, setIsMobile] = useState(false)\n const [currentIndex, setCurrentIndex] = useState(0)\n\n useEffect(() => {\n const handleResize = () => {\n setIsMobile(window.innerWidth < 825)\n }\n \n handleResize()\n window.addEventListener('resize', handleResize)\n return () => window.removeEventListener('resize', handleResize)\n }, [])\n\n const handleNext = () => {\n setCurrentIndex((prev) => (prev + 1) % data.keyFigures.length)\n }\n\n const handlePrev = () => {\n setCurrentIndex((prev) => (prev - 1 + data.keyFigures.length) % data.keyFigures.length)\n }\n \n return (\n
\n

\n {data.title}\n

\n
\n {isMobile ? (\n
\n
\n \n
\n {data.keyFigures.length > 1 && (\n
\n \n \n
\n )}\n
\n ) : (\n data.keyFigures.map((keyFigure) => (\n
\n \n
\n ))\n )}\n
\n
\n )\n}\n\nexport const fragment = graphql`\n fragment OurApproachKeyFigureRowFields on DatoCmsOurApproachKeyFigureRow {\n __typename\n id\n title\n textColor {\n hex\n }\n backgroundColor {\n hex\n }\n keyFigures {\n ...KeyFigureV2Fields\n }\n }\n`\n\nexport default OurApproachKeyFigureRow\n\n","import { StructuredTextFieldsFragment } from \"../../../../../../graphql-types\"\nimport React from \"react\"\nimport StructuredTextContent from \"./structured-text-content\"\nimport * as styles from \"./structured-text-content-container.module.scss\"\n\n\ntype StructuredTextContentContainerProps = {\n data: StructuredTextFieldsFragment\n}\n\nconst StructuredTextContentContainer: React.FC = ({ data }) => {\n return (\n
\n
\n \n
\n
\n\n )\n}\n\nexport default StructuredTextContentContainer\n","// extracted by mini-css-extract-plugin\nexport var container = \"structured-text-content-container-module--container--dc4bb\";\nexport var structuredText = \"structured-text-content-container-module--structuredText--e4f87\";","// extracted by mini-css-extract-plugin\nexport var OptionalImageContainer = \"article-structured-text-content-module--OptionalImageContainer--06ced\";\nexport var articleStructuredText = \"article-structured-text-content-module--articleStructuredText--8e0e2\";\nexport var circleContainer = \"article-structured-text-content-module--circleContainer--ade4a\";\nexport var circleIcon = \"article-structured-text-content-module--circleIcon--ee99a\";\nexport var circleText = \"article-structured-text-content-module--circleText--a8d29\";\nexport var container = \"article-structured-text-content-module--container--3419b\";\nexport var image = \"article-structured-text-content-module--image--9ed82\";\nexport var imageContainer = \"article-structured-text-content-module--imageContainer--b0f16\";\nexport var imageIcon = \"article-structured-text-content-module--imageIcon--a0d24\";\nexport var imageTitle = \"article-structured-text-content-module--imageTitle--2747c\";\nexport var keyContainer = \"article-structured-text-content-module--keyContainer--55894\";\nexport var keyFigureIcon = \"article-structured-text-content-module--keyFigureIcon--0f70e\";\nexport var number = \"article-structured-text-content-module--number--c4fee\";\nexport var optionalContainer = \"article-structured-text-content-module--optionalContainer--cd419\";\nexport var structuredText = \"article-structured-text-content-module--structuredText--df9da\";\nexport var subtitle = \"article-structured-text-content-module--subtitle--c46a5\";\nexport var symbol = \"article-structured-text-content-module--symbol--e1122\";","import React, { useEffect } from \"react\"\nimport { ReactSVG } from \"react-svg\"\n\nimport { graphql } from \"gatsby\"\nimport { ArticleStructuredTextFieldsFragment } from \"../../../../../../graphql-types\"\n\nimport * as styles from \"./article-structured-text-content.module.scss\"\nimport { elementOffset, transformItem } from \"../../../functions/functions\"\nimport useWindowWidth from \"../../../../../hooks/use-window-width\"\nimport StructuredTextContent from \"../structured-text-content/structured-text-content\"\n\ntype ArticleStructuredTextContentProps = {\n data: ArticleStructuredTextFieldsFragment\n}\n\nconst ArticleStructuredTextContent: React.FC = ({\n data: { structuredText, image, keyFigureElement, textWithIconElement },\n}) => {\n const isMobile = useWindowWidth() <= 825\n const keyFigure = keyFigureElement[0]\n const textWithIcon = textWithIconElement[0]\n \n useEffect(() => {\n handleScrollAnimation()\n }, [])\n\n const displayImg = (img, classes?): JSX.Element => {\n if (!img) return\n\n return img.format === \"svg\" ? (\n
\n \n
\n ) : (\n
\n {img.alt\n
\n )\n }\n\n const handleScrollAnimation = () => {\n document.addEventListener(\"scroll\", () => {\n const container = document.getElementsByClassName(styles.container)\n\n Array.from(container).forEach(artContainer => {\n if (window.scrollY >= elementOffset(artContainer).top - 700) {\n transformItem(artContainer.getElementsByClassName(styles.structuredText)[0], 400)\n transformItem(artContainer.getElementsByClassName(styles.optionalContainer)[0], 800)\n }\n })\n })\n }\n\n if (isMobile) {\n return (\n
\n
\n {(image || textWithIcon) && (\n
\n {image ? (\n <>\n {displayImg(image, styles.image)}\n
{image.title}
\n \n ) : (\n <>\n {displayImg(textWithIcon.icon, styles.imageIcon)}\n
{textWithIcon.text}
\n \n )}\n
\n )}\n
\n\n {(keyFigure) && (\n
\n {keyFigure && (\n
\n
\n {keyFigure.symbolBeforeNumber &&

{keyFigure.symbolBeforeNumber}

}\n

{keyFigure.number}

\n {keyFigure.symbolAfterNumber &&

{keyFigure.symbolAfterNumber}

}\n {displayImg(keyFigure.icon, styles.keyFigureIcon)}\n
\n

{keyFigure.subtitle}

\n
\n )}\n
\n )}\n\n
\n \n
\n
\n )\n } else {\n return (\n
\n
\n
\n \n
\n {keyFigure ? (\n
\n {keyFigure && (\n
\n
\n {keyFigure.symbolBeforeNumber &&

{keyFigure.symbolBeforeNumber}

}\n

{keyFigure.number}

\n {keyFigure.symbolAfterNumber &&

{keyFigure.symbolAfterNumber}

}\n {displayImg(keyFigure.icon, styles.keyFigureIcon)}\n
\n

{keyFigure.subtitle}

\n
\n )}\n
\n ) : (\n (image || textWithIcon) && (\n
\n {image ? (\n
\n {displayImg(image, styles.image)}\n
{image.title}
\n
\n ) : (\n textWithIcon && (\n
\n {displayImg(textWithIcon.icon, styles.imageIcon)}\n
{textWithIcon.text}
\n
\n )\n )}\n
\n )\n )}\n
\n
\n )\n }\n}\n\nexport const fragment = graphql`\n fragment ArticleStructuredTextFields on DatoCmsArticleStructuredText {\n __typename\n id\n structuredText {\n value\n }\n image {\n alt\n format\n title\n url\n }\n keyFigureElement {\n ...KeyFigureFields\n }\n textWithIconElement {\n text\n icon {\n alt\n format\n title\n url\n }\n }\n backgroundColor {\n rgb\n }\n }\n`\n\nexport default ArticleStructuredTextContent\n","// extracted by mini-css-extract-plugin\nexport var caption = \"image-module--caption--8d64a\";\nexport var container = \"image-module--container--52415\";\nexport var image = \"image-module--image--4bebb\";\nexport var imageContainer = \"image-module--imageContainer--e7449\";\nexport var optionalText = \"image-module--optionalText--b6bb8\";","import React, { useEffect } from \"react\"\n\nimport { graphql } from \"gatsby\"\nimport { ArticleImageFieldsFragment } from \"../../../../../../graphql-types\"\n\nimport * as styles from \"./image.module.scss\"\nimport { elementOffset, transformItem } from \"../../../functions/functions\"\nimport StructuredTextContent from \"../structured-text-content/structured-text-content\"\n\ntype ArticleImageProps = {\n data: ArticleImageFieldsFragment\n}\n\nconst ArticleImage: React.FC = ({ data }) => {\n const handleScrollAnimation = () => {\n document.addEventListener(\"scroll\", () => {\n const container = document.getElementsByClassName(styles.container)\n\n Array.from(container).forEach(artContainer => {\n if (window.scrollY >= elementOffset(artContainer).top - 700) {\n transformItem(artContainer.getElementsByClassName(styles.image)[0], 400)\n transformItem(artContainer.getElementsByClassName(styles.caption)[0], 800)\n transformItem(artContainer.getElementsByClassName(styles.optionalText)[0], data.caption ? 1200 : 800)\n }\n })\n })\n }\n\n useEffect(() => {\n handleScrollAnimation()\n }, [])\n\n return (\n
\n
\n {data.image.alt\n {data.caption &&

{data.captionText}

}\n {data.optionalTextOnLeftSide && (\n
\n \n
\n )}\n
\n
\n )\n}\n\nexport const fragment = graphql`\n fragment ArticleImageFields on DatoCmsArticleImage {\n __typename\n id\n image {\n alt\n format\n title\n url\n }\n caption\n captionText\n optionalTextOnLeftSide {\n value\n }\n }\n`\n\nexport default ArticleImage\n","// extracted by mini-css-extract-plugin\nexport var container = \"quote-module--container--b9a5c\";\nexport var description = \"quote-module--description--45259\";\nexport var descriptionContainer = \"quote-module--descriptionContainer--040bd\";\nexport var image = \"quote-module--image--6a307\";\nexport var imageContainer = \"quote-module--imageContainer--5f81e\";\nexport var infoContainer = \"quote-module--infoContainer--7d394\";\nexport var line = \"quote-module--line--504bd\";\nexport var quote = \"quote-module--quote--3ebb6\";\nexport var quoteContainer = \"quote-module--quoteContainer--ad7ee\";\nexport var title = \"quote-module--title--5b342\";","import React, { useEffect } from \"react\"\n\nimport { graphql } from \"gatsby\"\nimport { ArticleQuoteFieldsFragment } from \"../../../../../../graphql-types\"\n\nimport * as styles from \"./quote.module.scss\"\nimport { elementOffset, transformItem } from \"../../../functions/functions\"\nimport { useLocale } from \"../../../../../context/locale-context\"\n\ntype QuoteProps = { data: ArticleQuoteFieldsFragment }\n\nconst Quote: React.FC = ({ data }) => {\n const { locale } = useLocale()\n\n const quoteLeft = locale === \"fr\" ? \"« \" : '\"'\n const quoteRight = locale === \"fr\" ? \" »\" : '\"'\n const displayQuote = quoteLeft + data.quote + quoteRight\n\n const handleScrollAnimation = () => {\n document.addEventListener(\"scroll\", () => {\n const container = document.getElementsByClassName(styles.container)\n\n Array.from(container).forEach(artContainer => {\n if (window.scrollY >= elementOffset(artContainer).top - 700) {\n transformItem(artContainer.getElementsByClassName(styles.quote)[0], 400)\n transformItem(artContainer.getElementsByClassName(styles.infoContainer)[0], 800)\n }\n })\n })\n }\n\n useEffect(() => {\n handleScrollAnimation()\n }, [])\n\n return (\n
\n {data.useImage && (\n
\n {data.image && (\n
\n {data.image.alt\n
\n )}\n
\n

{data.imageTitle}

\n

{data.imageDescription}

\n
\n
\n )}\n
\n
{displayQuote}
\n
\n
\n )\n}\n\nexport const fragment = graphql`\n fragment ArticleQuoteFields on DatoCmsArticleQuote {\n __typename\n id\n quote\n useImage\n image {\n alt\n format\n title\n url\n }\n imageTitle\n imageDescription\n }\n`\n\nexport default Quote\n","// extracted by mini-css-extract-plugin\nexport var container = \"large-key-figure-module--container--3b55c\";\nexport var containerWithImage = \"large-key-figure-module--containerWithImage--27ae0\";\nexport var description = \"large-key-figure-module--description--ae51c\";\nexport var iconLeft = \"large-key-figure-module--iconLeft--3dc1f\";\nexport var iconRight = \"large-key-figure-module--iconRight--4f7ef\";\nexport var image = \"large-key-figure-module--image--8d081\";\nexport var keyContainer = \"large-key-figure-module--keyContainer--b8bdc\";\nexport var keyContainerWithImage = \"large-key-figure-module--keyContainerWithImage--dbc44\";\nexport var keyFigure = \"large-key-figure-module--keyFigure--e2a7b\";\nexport var mainInfo = \"large-key-figure-module--mainInfo--f131b\";\nexport var mainInfoWithImage = \"large-key-figure-module--mainInfoWithImage--d0ce7\";\nexport var subtitle = \"large-key-figure-module--subtitle--5dfe8\";","import React, { useEffect } from \"react\"\nimport { ReactSVG } from \"react-svg\"\n\nimport { graphql } from \"gatsby\"\nimport { ArticleLargeKeyFigureFieldsFragment } from \"../../../../../../graphql-types\"\n\nimport * as styles from \"./large-key-figure.module.scss\"\nimport { elementOffset, transformItem } from \"../../../functions/functions\"\n\ntype LargeKeyFigureProps = {\n data: ArticleLargeKeyFigureFieldsFragment\n}\n\nconst LargeKeyFigure: React.FC = ({ data }) => {\n const displayImg = (image, style?): JSX.Element => {\n if (!image) return\n\n return image.format === \"svg\" ? (\n \n ) : (\n {image.alt\n )\n }\n\n const handleScrollAnimation = () => {\n document.addEventListener(\"scroll\", () => {\n const container = document.getElementsByClassName(data.hasImage ? styles.containerWithImage : styles.container)\n\n Array.from(container).forEach(artContainer => {\n if (window.scrollY >= elementOffset(artContainer).top - 700) {\n transformItem(\n artContainer.getElementsByClassName(data.hasImage ? styles.mainInfoWithImage : styles.mainInfo)[0],\n 400\n )\n transformItem(artContainer.getElementsByClassName(styles.image)[0], 800)\n }\n })\n })\n }\n\n useEffect(() => {\n handleScrollAnimation()\n }, [])\n\n return (\n
\n {data.hasImage && displayImg(data.image)}\n
\n
\n {data.hasIconLeft && displayImg(data.icon, styles.iconLeft)}\n

{data.keyFigure}

\n {data.hasIconRight && displayImg(data.icon, styles.iconRight)}\n
\n

{data.subtitle}

\n

{data.description}

\n
\n
\n )\n}\n\nexport const fragment = graphql`\n fragment ArticleLargeKeyFigureFields on DatoCmsArticleLargeKeyFigure {\n __typename\n id\n keyFigure\n subtitle\n description\n hasIconLeft\n hasIconRight\n hasImage\n icon {\n alt\n format\n title\n url\n }\n image {\n alt\n format\n title\n url\n }\n }\n`\n\nexport default LargeKeyFigure\n","// extracted by mini-css-extract-plugin\nexport var container = \"key-figure-row-module--container--29333\";\nexport var transformContainer = \"key-figure-row-module--transformContainer--8798a\";","// extracted by mini-css-extract-plugin\nexport var container = \"key-figure-module--container--88ba0\";\nexport var containerSmaller = \"key-figure-module--containerSmaller--de685\";\nexport var icon = \"key-figure-module--icon--4c112\";\nexport var keyContainer = \"key-figure-module--keyContainer--fa0ae\";\nexport var number = \"key-figure-module--number--03687\";\nexport var subtitle = \"key-figure-module--subtitle--f1957\";\nexport var symbol = \"key-figure-module--symbol--3ee10\";","import React, { useRef } from \"react\"\nimport { ReactSVG } from \"react-svg\"\n\nimport { graphql } from \"gatsby\"\nimport { KeyFigureFieldsFragment } from \"../../../../../../../graphql-types\"\n\nimport * as styles from \"./key-figure.module.scss\"\n\ntype KeyFigureProps = {\n data: KeyFigureFieldsFragment\n keyFigureAmount: number\n}\n\nconst KeyFigure: React.FC = ({ data, keyFigureAmount }) => {\n const refContainer = useRef(null)\n\n const displayImg = (image, classes?): JSX.Element => {\n if (!image) return\n\n return image.format === \"svg\" ? (\n \n ) : (\n {image.alt\n )\n }\n\n return (\n
\n
\n {data.symbolBeforeNumber &&

{data.symbolBeforeNumber}

}\n

{data.number}

\n {data.symbolAfterNumber &&

 {data.symbolAfterNumber}

}\n {displayImg(data.icon, styles.icon)}\n
\n

{data.subtitle}

\n
\n )\n}\n\nexport const fragment = graphql`\n fragment KeyFigureFields on DatoCmsKeyFigure {\n __typename\n id\n number\n symbolAfterNumber\n symbolBeforeNumber\n subtitle\n icon {\n alt\n format\n title\n url\n }\n }\n`\n\nexport default KeyFigure\n","import React, { useEffect } from \"react\"\n\nimport { graphql } from \"gatsby\"\nimport { ArticleKeyFigureRowFieldsFragment } from \"../../../../../../graphql-types\"\n\nimport * as styles from \"./key-figure-row.module.scss\"\nimport { elementOffset, transformItem } from \"../../../functions/functions\"\nimport KeyFigure from \"./key-figure/key-figure\"\n\ntype KeyFigureRowProps = {\n data: ArticleKeyFigureRowFieldsFragment\n}\n\nconst KeyFigureRow: React.FC = ({ data }) => {\n const handleScrollAnimation = () => {\n document.addEventListener(\"scroll\", () => {\n const container = document.getElementsByClassName(styles.container)\n\n Array.from(container).forEach(artContainer => {\n if (window.scrollY >= elementOffset(artContainer).top - 700) {\n transformItem(artContainer.getElementsByClassName(styles.transformContainer)[0], 400)\n }\n })\n })\n }\n\n useEffect(() => {\n handleScrollAnimation()\n }, [])\n\n return (\n
\n
\n {data.keyFigureElement.map((keyFigure, index) => {\n return \n })}\n
\n
\n )\n}\n\nexport const fragment = graphql`\n fragment ArticleKeyFigureRowFields on DatoCmsArticleKeyFigureRow {\n __typename\n id\n keyFigureElement {\n ...KeyFigureFields\n }\n }\n`\n\nexport default KeyFigureRow\n","// extracted by mini-css-extract-plugin\nexport var container = \"image-text-overlay-module--container--568a2\";\nexport var image = \"image-text-overlay-module--image--77fa0\";\nexport var overlayText = \"image-text-overlay-module--overlayText--d3ee0\";\nexport var textOverlay = \"image-text-overlay-module--textOverlay--77111\";\nexport var transformContainer = \"image-text-overlay-module--transformContainer--8322a\";","import React, { useEffect } from \"react\"\n\nimport { graphql } from \"gatsby\"\nimport { ArticleImageTextOverlayFieldsFragment } from \"../../../../../../graphql-types\"\n\nimport * as styles from \"./image-text-overlay.module.scss\"\nimport { elementOffset, transformItem } from \"../../../functions/functions\"\n\ntype ArticleImageTextOverlayProps = {\n data: ArticleImageTextOverlayFieldsFragment\n}\n\nconst ArticleImageTextOverlay: React.FC = ({ data }) => {\n const handleScrollAnimation = () => {\n document.addEventListener(\"scroll\", () => {\n const container = document.getElementsByClassName(styles.container)\n\n Array.from(container).forEach(artContainer => {\n if (window.scrollY >= elementOffset(artContainer).top - 700) {\n transformItem(artContainer.getElementsByClassName(styles.transformContainer)[0], 400)\n }\n })\n })\n }\n\n useEffect(() => {\n handleScrollAnimation()\n }, [])\n\n return (\n
\n
\n {data.image.alt\n

\n \n {data.textOverlay}\n \n

\n
\n
\n )\n}\n\nexport const fragment = graphql`\n fragment ArticleImageTextOverlayFields on DatoCmsArticleImageTextOverlay {\n __typename\n id\n image {\n alt\n format\n title\n url\n }\n textOverlay\n backgroundColor {\n hex\n }\n textColor {\n hex\n }\n }\n`\n\nexport default ArticleImageTextOverlay\n","import \"core-js/modules/es.array.sort.js\";\nimport React, { Fragment, useEffect, useRef, useState } from 'react';\nvar Youtube = function Youtube(_ref) {\n var id = _ref.id,\n poster = _ref.poster,\n autoPlay = _ref.autoPlay,\n width = _ref.width,\n height = _ref.height,\n parentClass = _ref.parentClass,\n iframeClass = _ref.iframeClass,\n isPlaylist = _ref.isPlaylist;\n var videoId = encodeURIComponent(id);\n var iframeSrc = !isPlaylist ? 'https://www.youtube.com/embed/' + videoId + '?autoplay=' + (autoPlay ? '1' : '0') : 'https://www.youtube.com/embed/videoseries?list=' + videoId;\n return React.createElement(Fragment, null, React.createElement('div', {\n className: '' + parentClass\n }, React.createElement('iframe', {\n className: iframeClass,\n width: width,\n height: height,\n frameBorder: '0',\n allow: 'accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture',\n allowFullScreen: true,\n src: iframeSrc\n })));\n};\nYoutube.defaultProps = {\n id: \"\",\n autoPlay: false,\n poster: \"hqdefault\",\n width: \"560\",\n height: \"315\",\n isPlaylist: false,\n parentClass: \"\",\n iframeClass: \"\"\n};\nvar callbacks = [];\nvar addScript = function addScript(src, cb) {\n if (callbacks.length === 0) {\n callbacks.push(cb);\n var s = document.createElement('script');\n s.setAttribute('src', src);\n s.onload = function () {\n return callbacks.forEach(function (cb) {\n return cb();\n });\n };\n document.body.appendChild(s);\n } else {\n callbacks.push(cb);\n }\n};\nvar Twitter = function Twitter(_ref) {\n var id = _ref.id,\n parentClass = _ref.parentClass;\n var videoId = encodeURIComponent(id);\n var tweetRef = useRef();\n var renderTweet = function renderTweet() {\n var current = tweetRef.current;\n window.twttr.widgets.createTweetEmbed(videoId, current);\n };\n useEffect(function () {\n if (!window.twttr) {\n addScript('https://platform.twitter.com/widgets.js', renderTweet);\n } else {\n renderTweet();\n }\n });\n return React.createElement(Fragment, null, React.createElement('div', {\n className: '' + parentClass,\n ref: tweetRef\n }));\n};\nTwitter.defaultProps = {\n id: \"\",\n parentClass: \"\"\n};\nvar strictUriEncode = function strictUriEncode(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase();\n });\n};\n\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\nfunction toObject(val) {\n if (val === null || val === undefined) {\n throw new TypeError('Object.assign cannot be called with null or undefined');\n }\n return Object(val);\n}\nfunction shouldUseNative() {\n try {\n if (!Object.assign) {\n return false;\n }\n\n // Detect buggy property enumeration order in older V8 versions.\n\n // https://bugs.chromium.org/p/v8/issues/detail?id=4118\n var test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n test1[5] = 'de';\n if (Object.getOwnPropertyNames(test1)[0] === '5') {\n return false;\n }\n\n // https://bugs.chromium.org/p/v8/issues/detail?id=3056\n var test2 = {};\n for (var i = 0; i < 10; i++) {\n test2['_' + String.fromCharCode(i)] = i;\n }\n var order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n return test2[n];\n });\n if (order2.join('') !== '0123456789') {\n return false;\n }\n\n // https://bugs.chromium.org/p/v8/issues/detail?id=3056\n var test3 = {};\n 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n test3[letter] = letter;\n });\n if (Object.keys(Object.assign({}, test3)).join('') !== 'abcdefghijklmnopqrst') {\n return false;\n }\n return true;\n } catch (err) {\n // We don't expect any of the above to throw, but better to be safe.\n return false;\n }\n}\nvar objectAssign = shouldUseNative() ? Object.assign : function (target, source) {\n var from;\n var to = toObject(target);\n var symbols;\n for (var s = 1; s < arguments.length; s++) {\n from = Object(arguments[s]);\n for (var key in from) {\n if (hasOwnProperty.call(from, key)) {\n to[key] = from[key];\n }\n }\n if (getOwnPropertySymbols) {\n symbols = getOwnPropertySymbols(from);\n for (var i = 0; i < symbols.length; i++) {\n if (propIsEnumerable.call(from, symbols[i])) {\n to[symbols[i]] = from[symbols[i]];\n }\n }\n }\n }\n return to;\n};\nfunction encoderForArrayFormat(opts) {\n switch (opts.arrayFormat) {\n case 'index':\n return function (key, value, index) {\n return value === null ? [encode(key, opts), '[', index, ']'].join('') : [encode(key, opts), '[', encode(index, opts), ']=', encode(value, opts)].join('');\n };\n case 'bracket':\n return function (key, value) {\n return value === null ? encode(key, opts) : [encode(key, opts), '[]=', encode(value, opts)].join('');\n };\n default:\n return function (key, value) {\n return value === null ? encode(key, opts) : [encode(key, opts), '=', encode(value, opts)].join('');\n };\n }\n}\nfunction parserForArrayFormat(opts) {\n var result;\n switch (opts.arrayFormat) {\n case 'index':\n return function (key, value, accumulator) {\n result = /\\[(\\d*)\\]$/.exec(key);\n key = key.replace(/\\[\\d*\\]$/, '');\n if (!result) {\n accumulator[key] = value;\n return;\n }\n if (accumulator[key] === undefined) {\n accumulator[key] = {};\n }\n accumulator[key][result[1]] = value;\n };\n case 'bracket':\n return function (key, value, accumulator) {\n result = /(\\[\\])$/.exec(key);\n key = key.replace(/\\[\\]$/, '');\n if (!result) {\n accumulator[key] = value;\n return;\n } else if (accumulator[key] === undefined) {\n accumulator[key] = [value];\n return;\n }\n accumulator[key] = [].concat(accumulator[key], value);\n };\n default:\n return function (key, value, accumulator) {\n if (accumulator[key] === undefined) {\n accumulator[key] = value;\n return;\n }\n accumulator[key] = [].concat(accumulator[key], value);\n };\n }\n}\nfunction encode(value, opts) {\n if (opts.encode) {\n return opts.strict ? strictUriEncode(value) : encodeURIComponent(value);\n }\n return value;\n}\nfunction keysSorter(input) {\n if (Array.isArray(input)) {\n return input.sort();\n } else if (typeof input === 'object') {\n return keysSorter(Object.keys(input)).sort(function (a, b) {\n return Number(a) - Number(b);\n }).map(function (key) {\n return input[key];\n });\n }\n return input;\n}\nvar extract = function extract(str) {\n return str.split('?')[1] || '';\n};\nvar parse = function parse(str, opts) {\n opts = objectAssign({\n arrayFormat: 'none'\n }, opts);\n var formatter = parserForArrayFormat(opts);\n\n // Create an object with no prototype\n // https://github.com/sindresorhus/query-string/issues/47\n var ret = Object.create(null);\n if (typeof str !== 'string') {\n return ret;\n }\n str = str.trim().replace(/^(\\?|#|&)/, '');\n if (!str) {\n return ret;\n }\n str.split('&').forEach(function (param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n // Firefox (pre 40) decodes `%3D` to `=`\n // https://github.com/sindresorhus/query-string/pull/37\n var key = parts.shift();\n var val = parts.length > 0 ? parts.join('=') : undefined;\n\n // missing `=` should be `null`:\n // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n val = val === undefined ? null : decodeURIComponent(val);\n formatter(decodeURIComponent(key), val, ret);\n });\n return Object.keys(ret).sort().reduce(function (result, key) {\n var val = ret[key];\n if (Boolean(val) && typeof val === 'object' && !Array.isArray(val)) {\n // Sort object keys, not values\n result[key] = keysSorter(val);\n } else {\n result[key] = val;\n }\n return result;\n }, Object.create(null));\n};\nvar stringify = function stringify(obj, opts) {\n var defaults = {\n encode: true,\n strict: true,\n arrayFormat: 'none'\n };\n opts = objectAssign(defaults, opts);\n var formatter = encoderForArrayFormat(opts);\n return obj ? Object.keys(obj).sort().map(function (key) {\n var val = obj[key];\n if (val === undefined) {\n return '';\n }\n if (val === null) {\n return encode(key, opts);\n }\n if (Array.isArray(val)) {\n var result = [];\n val.slice().forEach(function (val2) {\n if (val2 === undefined) {\n return;\n }\n result.push(formatter(key, val2, result.length));\n });\n return result.join('&');\n }\n return encode(key, opts) + '=' + encode(val, opts);\n }).filter(function (x) {\n return x.length > 0;\n }).join('&') : '';\n};\nvar queryString = {\n extract: extract,\n parse: parse,\n stringify: stringify\n};\nvar slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\nvar callbacks$1 = [];\nvar Instagram = function Instagram(_ref) {\n var id = _ref.id,\n url = _ref.url,\n hideCaption = _ref.hideCaption,\n width = _ref.width,\n parentClass = _ref.parentClass;\n var _useState = useState(\"\"),\n _useState2 = slicedToArray(_useState, 2),\n instaEmbed = _useState2[0],\n setinstaEmbed = _useState2[1];\n var getQueryParams = function getQueryParams(_ref2) {\n var url = _ref2.url,\n hideCaption = _ref2.hideCaption,\n maxWidth = _ref2.maxWidth;\n return queryString.stringify({\n url: url,\n hidecaption: hideCaption,\n maxwidth: maxWidth >= 320 ? maxWidth : undefined,\n omitscript: true\n });\n };\n var addScript = function addScript(src, id, cb) {\n if (callbacks$1.length === 0) {\n callbacks$1.push(cb);\n var s = document.createElement('script');\n s.setAttribute('src', src);\n s.setAttribute('id', id);\n s.async = s.defer = true;\n s.onload = function () {\n return callbacks$1.forEach(function (cb) {\n return cb();\n });\n };\n document.body.appendChild(s);\n } else {\n callbacks$1.push(cb);\n }\n };\n var fetchEmbed = function fetchEmbed(params) {\n fetch('https://api.instagram.com/oembed/?' + params).then(function (res) {\n return res.json();\n }).then(function (result) {\n setinstaEmbed(result.html);\n }, function (error) {\n console.throw(erorr);\n });\n };\n var renderInsta = function renderInsta() {\n fetchEmbed(getQueryParams({\n url: url,\n hideCaption: hideCaption,\n width: width\n }));\n };\n useEffect(function () {\n if (instaEmbed) {\n window.instgrm.Embeds.process();\n }\n if (window.instgrm || document.getElementById('react-instagram-embed-script')) {\n fetchEmbed(getQueryParams({\n url: url,\n hideCaption: hideCaption,\n width: width\n }));\n } else {\n addScript('https://platform.instagram.com/en_US/embeds.js', 'react-instagram-embed-script', renderInsta);\n }\n });\n return React.createElement(Fragment, null, React.createElement('div', {\n className: '' + parentClass,\n dangerouslySetInnerHTML: {\n __html: instaEmbed\n }\n }));\n};\nInstagram.defaultProps = {\n url: '',\n hideCaption: false,\n width: \"500px\",\n parentClass: \"\"\n};\nvar Facebook = function Facebook(_ref) {\n var type = _ref.type,\n url = _ref.url,\n width = _ref.width,\n height = _ref.height,\n show_text = _ref.show_text,\n parentClass = _ref.parentClass,\n iframeClass = _ref.iframeClass;\n var iframeBase = type === 'post' ? 'https://www.facebook.com/plugins/post.php?href=' : 'https://www.facebook.com/plugins/video.php?href=';\n var iframeSrc = '' + iframeBase + url + '\\'&width=500' + (show_text ? '&show_text=1' : '');\n console.log('ififrameSrc', iframeSrc);\n return React.createElement(Fragment, null, React.createElement('div', {\n className: '' + parentClass\n }, React.createElement('iframe', {\n className: iframeClass,\n width: width,\n height: height,\n frameBorder: '0',\n allowTransparency: 'true',\n allow: 'encrypted-media',\n allowFullScreen: true,\n scrolling: 'no',\n src: iframeSrc\n })));\n};\nFacebook.defaultProps = {\n type: 'post',\n show_text: true,\n url: \"\",\n width: \"640\",\n height: \"640\",\n parentClass: \"\",\n iframeClass: \"\"\n};\nvar Vimeo = function Vimeo(_ref) {\n var id = _ref.id,\n width = _ref.width,\n height = _ref.height,\n autoPlay = _ref.autoPlay,\n parentClass = _ref.parentClass,\n iframeClass = _ref.iframeClass;\n var vimeoId = encodeURIComponent(id);\n var iframeSrc = 'https://player.vimeo.com/video/' + vimeoId + '?autoplay=' + (autoPlay ? '1' : '0');\n return React.createElement(Fragment, null, React.createElement('div', {\n className: '' + parentClass\n }, React.createElement('iframe', {\n className: iframeClass,\n width: width,\n height: height,\n frameBorder: '0',\n allow: 'accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture',\n allowFullScreen: true,\n src: iframeSrc\n })));\n};\nVimeo.defaultProps = {\n id: \"\",\n autoPlay: false,\n width: \"640\",\n height: \"360\",\n parentClass: \"\",\n iframeClass: \"\"\n};\nexport { Youtube, Twitter, Instagram, Facebook, Vimeo };","// extracted by mini-css-extract-plugin\nexport var container = \"embed-social-media-module--container--9dd5a\";\nexport var content = \"embed-social-media-module--content--ede95\";\nexport var linkedin = \"embed-social-media-module--linkedin--bcce8\";\nexport var twitter = \"embed-social-media-module--twitter--fc6cb\";\nexport var youtube = \"embed-social-media-module--youtube--8ed03\";","import React, { useEffect } from \"react\"\nimport { Twitter, Youtube } from \"reactjs-social-embed\"\n\nimport { graphql } from \"gatsby\"\nimport { ArticleEmbedFieldsFragment } from \"../../../../../../graphql-types\"\n\nimport * as styles from \"./embed-social-media.module.scss\"\nimport { elementOffset, transformItem } from \"../../../functions/functions\"\n\ntype EmbedSocialMediaProps = {\n data: ArticleEmbedFieldsFragment\n}\n\nconst EmbedSocialMedia: React.FC = ({ data }) => {\n const displaySocialMediaEmbed = (): JSX.Element => {\n if (data.embedTwitter && data.twitterEmbedLink)\n return \n if (data.embedYoutube && data.youtubeEmbedLink)\n return \n if (data.embedLinkedin && data.linkedinEmbedLink) {\n return (\n \n )\n }\n return\n }\n\n const handleScrollAnimation = () => {\n document.addEventListener(\"scroll\", () => {\n const container = document.getElementsByClassName(styles.container)\n\n Array.from(container).forEach(artContainer => {\n if (window.scrollY >= elementOffset(artContainer).top - 700) {\n transformItem(artContainer.getElementsByClassName(styles.content)[0], 400)\n }\n })\n })\n }\n\n useEffect(() => {\n handleScrollAnimation()\n }, [])\n\n return (\n
\n
\n {(data.embedTwitter || data.embedYoutube || data.embedLinkedin) && displaySocialMediaEmbed()}\n
\n
\n )\n}\n\nexport const fragment = graphql`\n fragment ArticleEmbedFields on DatoCmsArticleEmbed {\n __typename\n id\n embedTwitter\n twitterEmbedLink\n embedYoutube\n youtubeEmbedLink\n embedLinkedin\n linkedinEmbedLink\n linkedinEmbedHeight\n }\n`\n\nexport default EmbedSocialMedia\n","import React, { useEffect } from \"react\"\nimport { Twitter } from \"reactjs-social-embed\"\n\nimport { graphql } from \"gatsby\"\nimport { EmbedSocialMediaV2FieldsFragment } from \"../../../../../../graphql-types\"\n\nimport * as styles from \"./embed-social-media-v2.module.scss\"\nimport { elementOffset, transformItem } from \"../../../functions/functions\"\n\ntype EmbedSocialMediaProps = {\n data: EmbedSocialMediaV2FieldsFragment\n}\n\nconst EmbedSocialMedia: React.FC = ({ data }) => {\n const displaySocialMediaEmbed = (post: EmbedSocialMediaV2FieldsFragment[\"embedSocialPosts\"][number]): JSX.Element => {\n if (post.embedTwitter && post.twitterEmbedLink)\n return \n if (post.embedLinkedin && post.linkedinEmbedLink) {\n // concatenate the linkedin link with the embed link\n const linkedin_link = \"https://www.linkedin.com/embed/feed/update/urn:li:share:\" + post.linkedinEmbedLink \n console.log(\"linkedin_link:\", linkedin_link);\n return (\n \n )\n }\n }\n\n return (\n
\n
\n {data.embedSocialPosts.map((post, index) => {\n if (post.embedTwitter || post.embedLinkedin) {\n return (\n
\n {displaySocialMediaEmbed(post)}\n
\n )\n }\n })}\n
\n
\n )\n}\n\nexport const fragment = graphql`\n fragment EmbedSocialMediaV2Fields on DatoCmsEmbedSocialMediaV2 {\n __typename\n id\n embedSocialPosts {\n embedTwitter\n twitterEmbedLink\n embedLinkedin\n linkedinEmbedLink\n linkedinEmbedHeight\n }\n }\n`\n\nexport default EmbedSocialMedia\n","// extracted by mini-css-extract-plugin\nexport var container = \"embed-social-media-v2-module--container--3cad9\";\nexport var embedGrid = \"embed-social-media-v2-module--embedGrid--7d860\";\nexport var embedItem = \"embed-social-media-v2-module--embedItem--3faae\";\nexport var fallbackLink = \"embed-social-media-v2-module--fallbackLink--0e262\";\nexport var linkedin = \"embed-social-media-v2-module--linkedin--ed3e1\";\nexport var linkedinWrapper = \"embed-social-media-v2-module--linkedinWrapper--60e69\";\nexport var twitter = \"embed-social-media-v2-module--twitter--dd586\";","// extracted by mini-css-extract-plugin\nexport var button = \"slider-v2-module--button--3abca\";\nexport var buttonsContainer = \"slider-v2-module--buttonsContainer--0d641\";\nexport var buttonsInfosContainer = \"slider-v2-module--buttonsInfosContainer--a4a34\";\nexport var icon = \"slider-v2-module--icon--6c56c\";\nexport var imageInfo = \"slider-v2-module--imageInfo--96f3f\";\nexport var imageTitle = \"slider-v2-module--imageTitle--16487\";\nexport var mainImage = \"slider-v2-module--mainImage--bc59e\";\nexport var mainImageContainer = \"slider-v2-module--mainImageContainer--eaf63\";\nexport var nextImage = \"slider-v2-module--nextImage--626d3\";\nexport var nextImageContainer = \"slider-v2-module--nextImageContainer--288f3\";\nexport var sliderContainer = \"slider-v2-module--sliderContainer--1eb65\";","import { graphql } from \"gatsby\"\nimport React, { useState, useEffect } from \"react\"\nimport * as styles from \"./slider-v2.module.scss\"\nimport { ArticleSliderFieldsFragment } from \"../../../../../../graphql-types\"\nimport StructuredTextContent from \"../structured-text-content/structured-text-content\"\nimport { ReactSVG } from \"react-svg\"\nimport arrow from \"../../../../../../static/vectors/arrowV2.svg\"\nimport backArrow from \"../../../../../../static/vectors/backArrowV2.svg\"\n\ntype SliderProps = {\n data: ArticleSliderFieldsFragment\n }\n\nconst SliderV2: React.FC = ({ data }) => {\n const [currentIndex, setCurrentIndex] = useState(0)\n const [isMobile, setIsMobile] = useState(false)\n const nextIndex = (currentIndex + 1) % data.sliderContent.length\n\n useEffect(() => {\n const handleResize = () => {\n setIsMobile(window.innerWidth < 825)\n }\n window.addEventListener('resize', handleResize)\n return () => window.removeEventListener('resize', handleResize)\n }, [])\n\n const nextSlide = () => {\n setCurrentIndex((prev) => (prev + 1) % data.sliderContent.length)\n }\n\n const prevSlide = () => {\n setCurrentIndex((prev) => (prev - 1 + data.sliderContent.length) % data.sliderContent.length)\n }\n\n return (\n
\n
\n
\n
\n \n \n
\n
\n

{data.sliderContent[currentIndex].pictureTitle}

\n \n
\n
\n
\n \n
\n
\n \n
\n
\n
\n )\n}\n\nexport const fragment = graphql`\n fragment ArticleSliderFields on DatoCmsArticleSlider {\n __typename\n id\n sliderContent {\n picture {\n alt\n format\n title\n url\n }\n pictureTitle\n pictureCaption {\n value\n }\n }\n }\n`\n\nexport default SliderV2","// extracted by mini-css-extract-plugin\nexport var container = \"video-module--container--5e68c\";\nexport var transformContainer = \"video-module--transformContainer--a1ab4\";","import React, { useEffect } from \"react\"\n\nimport { graphql } from \"gatsby\"\nimport { ArticleVideoFieldsFragment } from \"../../../../../../graphql-types\"\nimport * as styles from \"./video.module.scss\"\n\nimport { elementOffset, transformItem } from \"../../../functions/functions\"\n\ntype ArticleVideoProps = {\n data: ArticleVideoFieldsFragment\n}\n\nconst ArticleVideo: React.FC = ({ data: { video } }) => {\n const handleScrollAnimation = () => {\n document.addEventListener(\"scroll\", () => {\n const container = document.getElementsByClassName(styles.container)\n\n Array.from(container).forEach(artContainer => {\n if (window.scrollY >= elementOffset(artContainer).top - 700) {\n transformItem(artContainer.getElementsByClassName(styles.transformContainer)[0], 400)\n }\n })\n })\n }\n\n useEffect(() => {\n handleScrollAnimation()\n }, [])\n\n return (\n
\n
\n \n
\n
\n )\n}\n\nexport const fragment = graphql`\n fragment ArticleVideoFields on DatoCmsArticleVideo {\n __typename\n id\n video\n }\n`\n\nexport default ArticleVideo\n","import React from \"react\"\nimport { graphql } from \"gatsby\"\nimport { ArticlePdfFieldsFragment } from \"../../../../../../graphql-types\"\nimport * as styles from \"./pdf.module.scss\"\nimport { useLocale } from \"../../../../../context/locale-context\"\nimport StructuredTextContent from \"../structured-text-content/structured-text-content\"\n\ntype ArticlePDFProps = { data: ArticlePdfFieldsFragment }\n\nconst ArticlePDF: React.FC = ({\n data: { pdf, title, structuredText, downloadInput, backgroundColor, textColor },\n}) => {\n const { locale } = useLocale()\n\n return (\n \n \n \n )\n}\n\nexport const fragment = graphql`\n fragment ArticlePdfFields on DatoCmsArticlePdf {\n __typename\n id\n pdf {\n url\n }\n title\n structuredText {\n value\n }\n downloadInput\n backgroundColor {\n hex\n }\n textColor {\n hex\n }\n }\n`\n\nexport default ArticlePDF\n","// extracted by mini-css-extract-plugin\nexport var articleStructuredText = \"pdf-module--articleStructuredText--d5063\";\nexport var button = \"pdf-module--button--13e70\";\nexport var container = \"pdf-module--container--c3e72\";\nexport var downloadInput = \"pdf-module--downloadInput--a880d\";\nexport var title = \"pdf-module--title--d92ad\";","import React from \"react\"\nimport { graphql } from \"gatsby\"\nimport { SimpleTextFieldsFragment } from \"../../../../../../graphql-types\"\nimport sanitizeHtml from \"sanitize-html\"\nimport * as styles from \"./simple-text.module.scss\"\ntype SimpleTextProps = {\n data: SimpleTextFieldsFragment\n}\n\nconst SimpleText: React.FC = ({ data }) => {\n const sanitizeHtmlWithImages = content =>\n sanitizeHtml(content, {\n allowedTags: sanitizeHtml.defaults.allowedTags.concat([\"img\"]).concat([\"p\"]),\n allowedAttributes: {\n ...sanitizeHtml.defaults.allowedAttributes,\n img: (sanitizeHtml.defaults.allowedAttributes.img || []).concat([\"src\", \"alt\", \"width\", \"height\", \"title\"]),\n p: (sanitizeHtml.defaults.allowedAttributes.p || []).concat([\"style\"]),\n table: (sanitizeHtml.defaults.allowedAttributes.table || []).concat([\"style\", \"border\"]),\n tbody: (sanitizeHtml.defaults.allowedAttributes.tbody || []).concat([\"style\", \"width\", \"height\"]),\n tr: (sanitizeHtml.defaults.allowedAttributes.tr || []).concat([\"style\", \"width\", \"height\"]),\n td: (sanitizeHtml.defaults.allowedAttributes.td || []).concat([\"style\", \"width\", \"height\"]),\n span: (sanitizeHtml.defaults.allowedAttributes.span || []).concat([\"style\", \"width\", \"height\"]),\n li: (sanitizeHtml.defaults.allowedAttributes.li || []).concat([\"style\"]),\n ul: (sanitizeHtml.defaults.allowedAttributes.ul || []).concat([\"style\"]),\n ol: (sanitizeHtml.defaults.allowedAttributes.ol || []).concat([\"style\"]),\n blockquote: (sanitizeHtml.defaults.allowedAttributes.blockquote || []).concat([\"style\"]),\n div: (sanitizeHtml.defaults.allowedAttributes.div || []).concat([\"style\"]),\n },\n })\n\n return (\n
\n

\", \"g\"), \"
\"),\n }}\n />\n
\n )\n}\n\nexport const fragments = graphql`\n fragment SimpleTextFields on DatoCmsSimpleTextContent {\n id\n simpleContent\n }\n`\n\nexport default SimpleText\n","// extracted by mini-css-extract-plugin\nexport var container = \"simple-text-module--container--5bbd0\";\nexport var simpleText = \"simple-text-module--simpleText--d674e\";","import { useEffect } from \"react\"\n\nconst useScript = (id: string, src: string, type: string, async: boolean) => {\n const getScriptType = () => {\n switch (type) {\n case \"javascript\":\n return \"text/javascript\"\n case null:\n return null\n }\n }\n\n useEffect(() => {\n const script = document.createElement(\"script\")\n\n script.id = id\n script.src = src\n async ? (script.async = async) : (async = false)\n script.type = getScriptType()\n\n document.getElementById(id + \"-script\").appendChild(script)\n return () => {\n if (document.getElementById(id + \"-script\") && document.getElementById(id + \"-script\").hasChildNodes()) {\n document.getElementById(id + \"-script\").removeChild(script)\n }\n }\n }, [id, src, type, async])\n}\n\nexport default useScript\n","import React from \"react\"\nimport { graphql } from \"gatsby\"\nimport * as styles from \"./script.module.scss\"\nimport useScript from \"../../../../hooks/use-script\"\n\ntype Props = {\n id: string\n src: string\n type: string\n async: boolean\n display: boolean\n}\n\nconst Script: React.FC = ({ id, src, type, async, display }) => {\n useScript(id, src, type, async)\n\n return

\n}\n\nexport const fragment = graphql`\n fragment CookiesManagementFields on DatoCmsCookiesManagement {\n id\n __typename\n url\n }\n`\n\nexport default Script\n","// extracted by mini-css-extract-plugin\nexport var noDisplay = \"script-module--noDisplay--303ea\";","// extracted by mini-css-extract-plugin\nexport var container = \"framed-text-module--container--b6f23\";\nexport var content = \"framed-text-module--content--f6a05\";\nexport var image = \"framed-text-module--image--7f71f\";\nexport var imageContainer = \"framed-text-module--imageContainer--ddab9\";\nexport var text = \"framed-text-module--text--24473\";\nexport var textContent = \"framed-text-module--textContent--d152d\";\nexport var title = \"framed-text-module--title--14637\";","import React, { useEffect } from \"react\"\nimport { ReactSVG } from \"react-svg\"\nimport { graphql } from \"gatsby\"\nimport { FramedTextFieldsFragment } from \"../../../../../../graphql-types\"\nimport * as styles from \"./framed-text.module.scss\"\nimport { elementOffset, transformItem } from \"../../../functions/functions\"\nimport useWindowWidth from \"../../../../../hooks/use-window-width\"\nimport StructuredTextContent from \"../structured-text-content/structured-text-content\"\n\ntype FramedTextProps = {\n data: FramedTextFieldsFragment\n}\n\nconst FramedText: React.FC = ({ \n data: { title, structuredText, image, backgroundColor, textColor } \n}) => {\n\n useEffect(() => {\n handleScrollAnimation()\n }, [])\n\n const displayImg = (img, classes?): JSX.Element => {\n if (!img) return\n\n return img.format === \"svg\" ? (\n \n ) : (\n {img.alt\n )\n }\n\n const handleScrollAnimation = () => {\n document.addEventListener(\"scroll\", () => {\n const container = document.getElementsByClassName(styles.container)\n\n Array.from(container).forEach(frameContainer => {\n if (window.scrollY >= elementOffset(frameContainer).top - 700) {\n transformItem(frameContainer.getElementsByClassName(styles.content)[0], 400)\n }\n })\n })\n }\n\n return (\n
\n
\n {image && (\n
\n {displayImg(image, styles.image)}\n
\n )}\n
\n {title &&

{title}

}\n
\n \n
\n
\n
\n
\n )\n}\n\nexport const fragment = graphql`\n fragment FramedTextFields on DatoCmsFramedText {\n __typename\n id\n title\n structuredText {\n value\n }\n image {\n alt\n format\n title\n url\n }\n backgroundColor {\n hex\n }\n textColor {\n hex\n }\n }\n`\n\nexport default FramedText\n","// extracted by mini-css-extract-plugin\nexport var arrow = \"key-figure-row-v2-module--arrow--6cf89\";\nexport var carouselButtons = \"key-figure-row-v2-module--carouselButtons--cad14\";\nexport var container = \"key-figure-row-v2-module--container--24af5\";\nexport var nextButton = \"key-figure-row-v2-module--nextButton--e9c2c\";\nexport var prevButton = \"key-figure-row-v2-module--prevButton--3ec1f\";\nexport var transformContainer = \"key-figure-row-v2-module--transformContainer--adb86\";","import React, { useRef } from \"react\"\n\nimport { graphql } from \"gatsby\"\nimport { KeyFigureV2FieldsFragment } from \"../../../../../../../graphql-types\"\n\nimport * as styles from \"./key-figure-v2.module.scss\"\n\ntype KeyFigureV2Props = {\n data: KeyFigureV2FieldsFragment\n keyFigureAmount: number\n isVisible?: boolean\n}\n\nconst KeyFigureV2: React.FC = ({ data, keyFigureAmount, isVisible = true }) => {\n const refContainer = useRef(null)\n\n return (\n
\n
\n

{data.value}

\n

{data.description}

\n
\n
\n )\n}\n\nexport const fragment = graphql`\n fragment KeyFigureV2Fields on DatoCmsKeyFigureV2 {\n __typename\n id\n value\n description\n textColor {\n hex\n }\n backgroundColor {\n hex\n }\n }\n`\n\nexport default KeyFigureV2\n","// extracted by mini-css-extract-plugin\nexport var container = \"key-figure-v2-module--container--5ddb2\";\nexport var description = \"key-figure-v2-module--description--04b93\";\nexport var hidden = \"key-figure-v2-module--hidden--78c08\";\nexport var value = \"key-figure-v2-module--value--bde6d\";\nexport var valueOnly = \"key-figure-v2-module--valueOnly--5b2cf\";","import React, { useEffect, useState } from \"react\"\n\nimport { graphql } from \"gatsby\"\nimport { ArticleKeyFigureRowV2FieldsFragment } from \"../../../../../../graphql-types\"\n\nimport * as styles from \"./key-figure-row-v2.module.scss\"\nimport { elementOffset, transformItem } from \"../../../functions/functions\"\nimport KeyFigureV2 from \"./key-figure-v2/key-figure-v2\"\nimport ArrowSvg from \"../../../../../../static/vectors/arrowV2.svg\"\nimport BackArrowSvg from \"../../../../../../static/vectors/backArrowV2.svg\"\n\ntype KeyFigureRowV2Props = {\n data: ArticleKeyFigureRowV2FieldsFragment\n}\n\nconst KeyFigureRowV2: React.FC = ({ data }) => {\n const [currentSlide, setCurrentSlide] = useState(0)\n\n const handleScrollAnimation = () => {\n document.addEventListener(\"scroll\", () => {\n const container = document.getElementsByClassName(styles.container)\n\n Array.from(container).forEach(artContainer => {\n if (window.scrollY >= elementOffset(artContainer).top - 700) {\n transformItem(artContainer.getElementsByClassName(styles.transformContainer)[0], 400)\n }\n })\n })\n }\n\n useEffect(() => {\n handleScrollAnimation()\n }, [])\n\n const handlePrevSlide = () => {\n setCurrentSlide(prev => \n prev === 0 ? data.keyFigureElementV2.length - 1 : prev - 1\n )\n }\n\n const handleNextSlide = () => {\n setCurrentSlide(prev => \n prev === data.keyFigureElementV2.length - 1 ? 0 : prev + 1\n )\n }\n\n return (\n
\n
\n {data.keyFigureElementV2.map((keyFigure, index) => (\n \n ))}\n
\n \n \n
\n
\n
\n )\n}\n\nexport const fragment = graphql`\n fragment ArticleKeyFigureRowV2Fields on DatoCmsArticleKeyFigureRowV2 {\n __typename\n id\n keyFigureElementV2 {\n ...KeyFigureV2Fields\n }\n }\n`\n\nexport default KeyFigureRowV2\n","import React from \"react\";\nimport { graphql } from \"gatsby\";\nimport { OurApproachLabModeFieldsFragment } from \"../../../../graphql-types\";\n\nimport * as styles from \"./lab-mode.module.scss\"\n\nconst LabMode = ({ data }: { data: OurApproachLabModeFieldsFragment }) => {\n return (\n
\n

{data.titleImage?.alt || \"\"}

\n {data.titleImage?.alt}\n

{data.subtitle}

\n
\n {data.axes.map((axis) => (\n
\n

{axis.title}

\n

{axis.description}

\n
\n ))}\n
\n
\n )\n}\n\nexport const fragment = graphql`\n fragment OurApproachLabModeFields on DatoCmsOurApproachLabMode {\n __typename\n titleImage {\n url\n alt\n format\n }\n subtitle\n axes {\n title\n description\n }\n }\n`\n\nexport default LabMode","// extracted by mini-css-extract-plugin\nexport var axis = \"lab-mode-module--axis--6cb91\";\nexport var axisContainer = \"lab-mode-module--axisContainer--4edaa\";\nexport var axisDescription = \"lab-mode-module--axisDescription--ae202\";\nexport var axisTitle = \"lab-mode-module--axisTitle--c1693\";\nexport var container = \"lab-mode-module--container--22f38\";\nexport var subtitle = \"lab-mode-module--subtitle--0c8e8\";\nexport var titleImage = \"lab-mode-module--titleImage--fcd1d\";\nexport var visuallyHidden = \"lab-mode-module--visuallyHidden--0fe2a\";","// extracted by mini-css-extract-plugin\nexport var articleButton = \"highlightedArticles-module--articleButton--b1f3c\";\nexport var articleCardContainer = \"highlightedArticles-module--articleCardContainer--5b533\";\nexport var articleDescription = \"highlightedArticles-module--articleDescription--ce3fe\";\nexport var articleInfo = \"highlightedArticles-module--articleInfo--3e10a\";\nexport var articleTitle = \"highlightedArticles-module--articleTitle--96d02\";\nexport var articleTitleContainer = \"highlightedArticles-module--articleTitleContainer--f8a5e\";\nexport var articlesContainer = \"highlightedArticles-module--articlesContainer--350c0\";\nexport var carouselButtons = \"highlightedArticles-module--carouselButtons--a6dac\";\nexport var container = \"highlightedArticles-module--container--75ddb\";\nexport var icon = \"highlightedArticles-module--icon--bb45a\";\nexport var introText = \"highlightedArticles-module--introText--16f13\";\nexport var nextButton = \"highlightedArticles-module--nextButton--611f7\";\nexport var prevButton = \"highlightedArticles-module--prevButton--82a34\";\nexport var title = \"highlightedArticles-module--title--3eae4\";\nexport var titleContainer = \"highlightedArticles-module--titleContainer--0aeb6\";","import React from \"react\";\nimport { graphql, navigate } from \"gatsby\";\nimport { OurApproachHighlightedArticlesBlockFieldsFragment } from \"../../../../graphql-types\";\n\n\nimport * as styles from \"./highlightedArticles.module.scss\"\nimport useWindowWidth from \"../../../hooks/use-window-width\";\nimport BackArrowSvg from \"../../../../static/vectors/backArrowV2.svg\";\nimport ArrowSvg from \"../../../../static/vectors/arrowV2.svg\";\nimport addCross from \"../../../../static/vectors/addCross.svg\";\nimport moment from \"moment\";\nimport { ReactSVG } from \"react-svg\";\n\ntype HighlightedArticlesProps = {\n data: OurApproachHighlightedArticlesBlockFieldsFragment\n locale: string\n projectsNewsInsightsPageSlug: string\n}\n\nconst HighlightedArticles = ({ data, locale, projectsNewsInsightsPageSlug }: HighlightedArticlesProps) => {\n const defaultLocale = \"fr\"\n const isMobile = useWindowWidth() <= 825\n const isTablet = useWindowWidth() <= 1300\n const [currentIndex, setCurrentIndex] = React.useState(0)\n const [touchStart, setTouchStart] = React.useState(null)\n const handlePrevClick = () => {\n setCurrentIndex((prev) => Math.max(0, prev - 1))\n }\n \n const handleNextClick = () => {\n setCurrentIndex((prev) => Math.min(data.articles.length - (isMobile ? 1 : isTablet ? 2 : 3), prev + 1))\n }\n \n const handleTouchStart = (e: TouchEvent) => {\n setTouchStart(e.touches[0].clientX)\n }\n \n const handleTouchEnd = (e: TouchEvent) => {\n if (touchStart === null) return\n \n const touchEnd = e.changedTouches[0].clientX\n const diff = touchStart - touchEnd\n \n if (Math.abs(diff) > 50) {\n if (diff > 0) {\n handleNextClick()\n } else {\n handlePrevClick()\n }\n }\n setTouchStart(null)\n }\n\n const visibleArticles = isMobile \n ? data.articles.slice(currentIndex, currentIndex + 1)\n : isTablet\n ? data.articles.slice(currentIndex, currentIndex + 2)\n : data.articles.slice(currentIndex, currentIndex + 3)\n \n const canScrollLeft = currentIndex > 0\n const canScrollRight = currentIndex < data.articles.length - (isMobile ? 1 : isTablet ? 2 : 3)\n\n const handleArticleClick = (link: string) => {\n navigate(link)\n }\n\n const formatDescription = (description: string) => {\n return description.length > 300 ? `${description.substring(0, 300)}...` : description\n }\n\n return (\n
\n\n
\n

{data.title}

\n

{data.introText}

\n
\n
) => handleTouchStart(e.nativeEvent)}\n onTouchEnd={(e: React.TouchEvent) => handleTouchEnd(e.nativeEvent)}\n >\n
\n \n \n
\n\n {visibleArticles.map((article, index) => (\n
\n
\n

{article.articleTitle}

\n {article.category.label} {article.date ? `${moment(article.date).format(\"DD.MM.YYYY\")}` : null}\n
\n

{ formatDescription(article.description)}

\n \n
\n ))}\n
\n
\n )\n}\n\nexport const fragment = graphql`\n fragment OurApproachHighlightedArticlesBlockFields on DatoCmsOurApproachHighlightedArticlesBlock {\n __typename\n id\n title\n introText\n articles {\n articleTitle\n date\n thumbnailTitle\n description\n category {\n label\n }\n image {\n url\n alt\n format\n }\n\n slug\n }\n }\n`\n\nexport default HighlightedArticles","// extracted by mini-css-extract-plugin\nexport var accordion = \"accordion-module--accordion--09419\";\nexport var accordionContainer = \"accordion-module--accordionContainer--a7187\";\nexport var closedItem = \"accordion-module--closedItem--4ef0f\";\nexport var closedItemTitle = \"accordion-module--closedItemTitle--b5b8d\";\nexport var container = \"accordion-module--container--fa71a\";\nexport var cross = \"accordion-module--cross--21a36\";\nexport var exiting = \"accordion-module--exiting--d04f0\";\nexport var image = \"accordion-module--image--096ab\";\nexport var imageText = \"accordion-module--imageText--be5e2\";\nexport var imageTextContainer = \"accordion-module--imageTextContainer--95971\";\nexport var itemText = \"accordion-module--itemText--3239a\";\nexport var itemTitleContainer = \"accordion-module--itemTitleContainer--27595\";\nexport var openedItem = \"accordion-module--openedItem--fde08\";\nexport var openedItemTitle = \"accordion-module--openedItemTitle--feaed\";\nexport var pictogram = \"accordion-module--pictogram--79ff5\";\nexport var slideIn = \"accordion-module--slideIn--466b9\";\nexport var slideUp = \"accordion-module--slideUp--0cb2d\";\nexport var subtitle = \"accordion-module--subtitle--af945\";\nexport var textContainer = \"accordion-module--textContainer--343bf\";\nexport var title = \"accordion-module--title--e555d\";\nexport var titleContainer = \"accordion-module--titleContainer--6595b\";","import { useState, useEffect } from \"react\";\nimport * as styles from \"./accordion.module.scss\"\nimport { AccordionModuleFieldsFragment } from \"../../../../graphql-types\"\nimport React from \"react\";\nimport { graphql } from \"gatsby\";\nimport Cross from \"../../../../static/vectors/thin_cross.svg\"\nimport Arrow from \"../../../../static/vectors/diagonal_arrow.svg\"\nimport { ReactSVG } from \"react-svg\";\nimport useWindowWidth from \"../../../hooks/use-window-width\";\n\ntype AccordionProps = {\n data: AccordionModuleFieldsFragment\n}\n\nconst AccordionItem = ({ title, subtitle, isOpen, onClick }) => {\n const [isExiting, setIsExiting] = useState(false);\n\n useEffect(() => {\n if (!isOpen) {\n setIsExiting(true);\n const timer = setTimeout(() => {\n setIsExiting(false);\n }, 500);\n return () => clearTimeout(timer);\n }\n }, [isOpen]);\n\n if (isOpen) {\n return (\n \n );\n }\n\n return (\n \n
\n

{title}

\n
\n \n \n );\n}\n\nconst Accordion: React.FC = ({ data }) => {\n const [activeIndex, setActiveIndex] = useState(0);\n const isMobile = useWindowWidth() <= 825\n\n const handleAccordionClick = (index) => {\n setActiveIndex(index === activeIndex ? activeIndex : index);\n };\n\n if (isMobile) {\n return (\n
\n

{data.title}

\n

{data.subtitle}

\n
\n
\n {data.content.map((item, index) => (\n
\n handleAccordionClick(index)}\n />\n {index === activeIndex && (\n
\n {item.imageTextBool ? (\n
\n

{item.text}

\n
\n ) : (\n {item.image?.alt\n )}\n
\n )}\n
\n ))}\n
\n
\n
\n )\n }\n\n return (\n
\n
\n

{data.title}

\n {data.subtitle &&

{data.subtitle}

}\n
\n
\n
\n {data.content.map((item, index) => (\n handleAccordionClick(index)}\n />\n ))}\n
\n
\n {data.content[activeIndex].imageTextBool ? (\n
\n

{data.content[activeIndex].text}

\n
\n ) : (\n {data.content[activeIndex].image?.alt\n )}\n
\n
\n
\n )\n}\n\nexport const fragment = graphql`\n fragment OurApproachAccordionFields on DatoCmsOurApproachAccordion {\n __typename\n id\n title\n subtitle\n content {\n title\n description\n imageTextBool\n image {\n url\n alt\n format\n }\n text\n }\n }\n`\n\nexport default Accordion;","import React from \"react\"\nimport {\n ArticleEmbedFieldsFragment,\n ArticleImageFieldsFragment,\n ArticleImageTextOverlayFieldsFragment,\n ArticleKeyFigureRowFieldsFragment,\n ArticleKeyFigureRowV2FieldsFragment,\n ArticleLargeKeyFigureFieldsFragment,\n ArticlePdfFieldsFragment,\n ArticleQuoteFieldsFragment,\n ArticleSliderFieldsFragment,\n ArticleStructuredTextFieldsFragment,\n ArticleVideoFieldsFragment,\n ContentBlockFieldsFragment,\n CookiesManagementFieldsFragment,\n SimpleTextFieldsFragment,\n StructuredTextFieldsFragment,\n FramedTextFieldsFragment,\n EmbedSocialMediaV2FieldsFragment,\n OurApproachKeyFigureRowFieldsFragment,\n OurApproachLabModeFieldsFragment,\n OurApproachHighlightedArticlesBlockFieldsFragment,\n OurApproachAccordionFieldsFragment,\n} from \"../../../../../graphql-types\"\n\nimport * as styles from \"./rich-dato-cms-content.module.scss\"\nimport ContentBlock from \"../../../../templates/our-approach/content-block/content-block\"\nimport OurApproachKeyFigureRow from \"../../../../templates/our-approach/key-figure/our-approach-key-figure-row\"\nimport StructuredTextContentContainer from \"./structured-text-content/structured-text-content-container\"\nimport ArticleStructuredTextContent from \"./article-structured-text-content/article-structured-text-content\"\nimport ArticleImage from \"./image/image\"\nimport Quote from \"./quote/quote\"\nimport LargeKeyFigure from \"./large-key-figure/large-key-figure\"\nimport KeyFigureRow from \"./key-figure-row/key-figure-row\"\nimport ArticleImageTextOverlay from \"./image-text-overlay/image-text-overlay\"\nimport EmbedSocialMedia from \"./embed-social-media/embed-social-media\"\nimport EmbedSocialMediaV2 from \"./embed-social-media-v2/embed-social-media-v2\"\nimport SliderV2 from \"./slider/slider-v2\"\nimport ArticleVideo from \"./video/video\"\nimport ArticlePDF from \"./pdf/pdf\"\nimport SimpleText from \"./simple-text/simple-text\"\nimport Script from \"../script/script\"\nimport FramedText from \"./framed-text/framed-text\"\nimport KeyFigureRowV2 from \"./key-figure-row-v2/key-figure-row-v2\"\nimport LabMode from \"../../../../templates/our-approach/lab-mode/lab-mode\"\nimport HighlightedArticles from \"../../../../templates/our-approach/highlightedArticles/highlightedArticles\"\nimport Accordion from \"../../../../templates/our-approach/accordion/accordion\"\ntype RichDatoCmsContentUnion = { __typename: string } & (\n | ContentBlockFieldsFragment\n | OurApproachKeyFigureRowFieldsFragment\n | OurApproachLabModeFieldsFragment\n | OurApproachHighlightedArticlesBlockFieldsFragment\n | OurApproachAccordionFieldsFragment\n | StructuredTextFieldsFragment\n | ArticleStructuredTextFieldsFragment\n | ArticleImageFieldsFragment\n | ArticleQuoteFieldsFragment\n | ArticleLargeKeyFigureFieldsFragment\n | ArticleKeyFigureRowFieldsFragment\n | ArticleKeyFigureRowV2FieldsFragment\n | ArticleImageTextOverlayFieldsFragment\n | ArticleEmbedFieldsFragment\n | EmbedSocialMediaV2FieldsFragment\n | ArticleSliderFieldsFragment\n | ArticleVideoFieldsFragment\n | ArticlePdfFieldsFragment\n | CookiesManagementFieldsFragment\n | SimpleTextFieldsFragment\n | FramedTextFieldsFragment\n)\n\ntype RichDatoCmsContentProps = { data: RichDatoCmsContentUnion[], locale?: string, projectsNewsInsightsPageSlug?: string }\n\nconst RichDatoCmsContent: React.FC = ({ data, locale, projectsNewsInsightsPageSlug }) => {\n const fetchRichDatoCmsContent = (richContent: RichDatoCmsContentUnion) => {\n if (richContent) {\n switch (richContent.__typename) {\n case \"DatoCmsOurApproachContentBlock\":\n return \n case \"DatoCmsOurApproachKeyFigureRow\":\n return \n case \"DatoCmsOurApproachLabMode\":\n return \n case \"DatoCmsOurApproachHighlightedArticlesBlock\":\n return \n case \"DatoCmsOurApproachAccordion\":\n return \n case \"DatoCmsStructuredText\":\n return \n case \"DatoCmsArticleStructuredText\":\n return (\n \n )\n case \"DatoCmsArticleImage\":\n return \n case \"DatoCmsArticleQuote\":\n return \n case \"DatoCmsArticleLargeKeyFigure\":\n return \n case \"DatoCmsArticleKeyFigureRow\":\n return \n case \"DatoCmsArticleKeyFigureRowV2\":\n return \n case \"DatoCmsArticleImageTextOverlay\":\n return (\n \n )\n case \"DatoCmsArticleEmbed\":\n return \n case \"DatoCmsEmbedSocialMediaV2\":\n return \n case \"DatoCmsArticleSlider\":\n return \n case \"DatoCmsArticleVideo\":\n return \n case \"DatoCmsArticlePdf\":\n\n return \n case \"DatoCmsCookiesManagement\":\n return (\n \n )\n case \"DatoCmsSimpleTextContent\":\n return \n case \"DatoCmsFramedText\":\n return \n }\n }\n }\n\n return
{data && data.map(fetchRichDatoCmsContent)}
\n}\n\nexport default RichDatoCmsContent\n","// extracted by mini-css-extract-plugin\nexport var richContent = \"rich-dato-cms-content-module--richContent--196ed\";","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCA0MiAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM1IDFMNDAgNk00MCA2TDM1IDExTTQwIDZMMCA2IiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjIiLz4KPC9zdmc+Cg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMjkiIHZpZXdCb3g9IjAgMCAzMCAyOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgaWQ9Ii0mIzYyOyI+CjxwYXRoIGlkPSJWZWN0b3IiIGQ9Ik0xNC44NTU3IDAuNTAyMTczTDI4Ljg1NSAxNC41MDE1TTI4Ljg1NSAxNC41MDE1TDE0Ljg1NzEgMjguNDk5M00yOC44NTUgMTQuNTAxNUwwLjg1Nzg0OSAxNC41IiBzdHJva2U9IiM0NTVBNjQiLz4KPC9nPgo8L3N2Zz4K\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMjkiIHZpZXdCb3g9IjAgMCAzMCAyOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgaWQ9Ii0mIzYyOyI+CjxwYXRoIGlkPSJWZWN0b3IiIGQ9Ik0xNS4xNDQzIDI4LjQ5NzhMMS4xNDUwNCAxNC40OTg1TTEuMTQ1MDQgMTQuNDk4NUwxNS4xNDI5IDAuNTAwNzEyTTEuMTQ1MDQgMTQuNDk4NUwyOS4xNDIyIDE0LjUiIHN0cm9rZT0iIzQ1NUE2NCIvPgo8L2c+Cjwvc3ZnPgo=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjciIGhlaWdodD0iNjciIHZpZXdCb3g9IjAgMCA2NyA2NyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgaWQ9Ii0mIzYyOyI+CjxwYXRoIGlkPSJWZWN0b3IiIGQ9Ik02Ni4zMjY1IDFWNjYuMzMzM002Ni4zMjY1IDY2LjMzMzNIMU02Ni4zMjY1IDY2LjMzMzNMMSAxIiBzdHJva2U9IiMwMzI2NTAiLz4KPC9nPgo8L3N2Zz4K\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjgiIGhlaWdodD0iNjgiIHZpZXdCb3g9IjAgMCA2OCA2OCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgaWQ9IlgiPgo8cGF0aCBpZD0iVmVjdG9yIiBkPSJNNjYuMzQgNjdMMSAxIiBzdHJva2U9IiMwMzI2NTAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8yIiBkPSJNMS42NTk5OSA2N0w2NyAxIiBzdHJva2U9IiMwMzI2NTAiLz4KPC9nPgo8L3N2Zz4K\""],"names":["arrow","circle","circleImage","circleImageContainer","roundImageCircle","squareImage","squareImageContainer","isOnBrowser","window","_useState","useState","innerHeight","height","setHeight","useEffect","callback","addEventListener","removeEventListener","_ref","data","_useLocale","useLocale","locale","defaultLocale","isBeforeMobile","useWindowWidth","isMobile","circlePosition","circleOptions","backgroundColor","bottom","right","left","circleStyle","Math","floor","random","length","windowHeight","useWindowHeight","displayImage","image","format","React","ReactSVG","src","url","className","imageHasCircleShape","styles","alt","structuredTextContainer","document","getElementById","structuredTextElements","querySelectorAll","imageElements","renderContentBlock","Array","from","forEach","text","scrollY","elementOffset","top","clientHeight","transformItem","img","handleAnimation","style","grayBackground","imageOnLeftSide","id","RichDatoCmsContent","structuredText","button","href","isInternalLink","buttonLink","buttonTitle","mobileArrow","_data$backgroundColor","_data$backgroundColor2","_data$textColor$hex","_data$textColor","_ref$isVisible","keyFigureAmount","isVisible","refContainer","useRef","hex","justifyContent","description","ref","color","textColor","value","setIsMobile","_useState2","currentIndex","setCurrentIndex","handleResize","innerWidth","title","OurApproachKeyFigureElement","keyFigures","onClick","prev","BackArrowSvg","ArrowSvg","map","keyFigure","key","StructuredTextContent","articleStructuredText","imageContainer","imageIcon","imageTitle","keyContainer","keyFigureIcon","number","optionalContainer","subtitle","symbol","_ref$data","keyFigureElement","textWithIconElement","textWithIcon","handleScrollAnimation","displayImg","classes","width","objectFit","container","getElementsByClassName","artContainer","role","icon","symbolBeforeNumber","symbolAfterNumber","isNotRichContent","position","caption","optionalText","captionText","optionalTextOnLeftSide","infoContainer","quote","quoteRight","displayQuote","useImage","imageDescription","marginLeft","containerWithImage","mainInfo","mainInfoWithImage","hasImage","hasIconLeft","hasIconRight","transformContainer","index","KeyFigure","textOverlay","Youtube","autoPlay","poster","parentClass","iframeClass","isPlaylist","videoId","encodeURIComponent","iframeSrc","Fragment","frameBorder","allow","allowFullScreen","defaultProps","callbacks","Twitter","tweetRef","renderTweet","current","twttr","widgets","createTweetEmbed","cb","push","s","createElement","setAttribute","onload","body","appendChild","addScript","strictUriEncode","str","replace","c","charCodeAt","toString","toUpperCase","getOwnPropertySymbols","Object","prototype","hasOwnProperty","propIsEnumerable","propertyIsEnumerable","objectAssign","assign","test1","String","getOwnPropertyNames","test2","i","fromCharCode","n","join","test3","split","letter","keys","err","shouldUseNative","target","source","symbols","to","val","TypeError","toObject","arguments","call","encode","opts","strict","queryString","obj","formatter","arrayFormat","encoderForArrayFormat","sort","undefined","isArray","result","slice","val2","filter","x","slicedToArray","arr","Symbol","iterator","_arr","_n","_d","_e","_s","_i","next","done","sliceIterator","callbacks$1","hideCaption","instaEmbed","setinstaEmbed","getQueryParams","_ref2","maxWidth","hidecaption","maxwidth","omitscript","fetchEmbed","params","fetch","then","res","json","html","error","console","throw","erorr","renderInsta","instgrm","Embeds","process","async","defer","dangerouslySetInnerHTML","__html","embedTwitter","embedYoutube","embedLinkedin","twitterEmbedLink","youtubeEmbedLink","linkedinEmbedLink","linkedinEmbedHeight","scrolling","embedSocialPosts","post","linkedin_link","log","border","borderRadius","marginTop","displaySocialMediaEmbed","nextIndex","sliderContent","backArrow","pictureTitle","pictureCaption","picture","display","video","_backgroundColor$hex","_textColor$hex","pdf","downloadInput","content","sanitizeHtml","allowedTags","concat","allowedAttributes","p","table","tbody","tr","td","span","li","ul","ol","blockquote","div","sanitizeHtmlWithImages","simpleContent","RegExp","type","script","getScriptType","hasChildNodes","removeChild","useScript","frameContainer","margin","currentSlide","setCurrentSlide","keyFigureElementV2","KeyFigureV2","_data$titleImage","_data$titleImage2","_data$titleImage3","titleImage","axes","axis","projectsNewsInsightsPageSlug","isTablet","_React$useState","_React$useState2","touchStart","setTouchStart","handlePrevClick","max","handleNextClick","min","articles","visibleArticles","canScrollLeft","canScrollRight","introText","onTouchStart","e","touches","clientX","handleTouchStart","nativeEvent","onTouchEnd","touchEnd","changedTouches","diff","abs","handleTouchEnd","disabled","article","slug","articleTitle","category","label","date","moment","substring","formatDescription","link","navigate","addCross","accordion","accordionContainer","imageText","imageTextContainer","itemTitleContainer","pictogram","textContainer","AccordionItem","isOpen","isExiting","setIsExiting","timer","setTimeout","clearTimeout","Cross","Arrow","_data$content$activeI","_data$content$activeI2","_data$content$activeI3","_data$content$activeI4","_data$content$activeI5","_data$content$activeI6","activeIndex","setActiveIndex","handleAccordionClick","item","_item$image$alt","_item$image","_item$image$title","_item$image2","_item$image$url","_item$image3","imageTextBool","richContent","__typename","ContentBlock","OurApproachKeyFigureRow","LabMode","HighlightedArticles","Accordion","StructuredTextContentContainer","ArticleStructuredTextContent","ArticleImage","Quote","LargeKeyFigure","KeyFigureRow","KeyFigureRowV2","ArticleImageTextOverlay","EmbedSocialMedia","EmbedSocialMediaV2","SliderV2","ArticleVideo","ArticlePDF","Script","SimpleText","FramedText"],"sourceRoot":""}