{"version":3,"file":"274-5a648439d3a8b4a4ae8e.js","mappings":"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","sources":["webpack://keolis.com/./src/v3/components/breadcrumb/breadcrumb.module.scss","webpack://keolis.com/./src/v3/components/breadcrumb/breadcrumb.tsx","webpack://keolis.com/./src/v3/components/display-image/display-image.tsx","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/iframe/iframe.tsx","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/iframe/iframe.module.scss","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/presentation/presentation.module.scss","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/presentation/presentation.tsx","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/biographic-card/horizontal/biographic-card-horizontal.module.scss","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/biographic-card/horizontal/biographic-card-horizontal.tsx","webpack://keolis.com/./static/vectors/carousel_right_arrow.svg","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/button/button.module.scss","webpack://keolis.com/./static/vectors/map_right_arrow.svg","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/button/button.tsx","webpack://keolis.com/./static/vectors/external_link.svg","webpack://keolis.com/./src/v3/components/image/image.module.scss","webpack://keolis.com/./src/v3/components/image/image.tsx","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/key-numbers/key-numbers.module.scss","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/key-numbers/key-numbers.tsx","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/network-contact/network-contact.module.scss","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/network-contact/network-contact.tsx","webpack://keolis.com/./static/vectors/facebook_hovered.svg","webpack://keolis.com/./static/vectors/twitter_hovered.svg","webpack://keolis.com/./static/vectors/linkedin_hovered.svg","webpack://keolis.com/./static/vectors/instagram_hovered.svg","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/outlined-text-block/outlined-text-block.module.scss","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/outlined-text-block/outlined-text-block.tsx","webpack://keolis.com/./static/images/icon-linkedin.svg","webpack://keolis.com/./static/images/icon-twitter.svg","webpack://keolis.com/./static/vectors/user_journey_button_arrow.svg","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/related-content/external-block/external-block.tsx","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/related-content/external-block/external-block.module.scss","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/related-content/internal-block/internal-block.tsx","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/related-content/internal-block/internal-block.module.scss","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/related-content/related-content.tsx","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/related-content/related-content.module.scss","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/slider/slider.module.scss","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/slider/slider.tsx","webpack://keolis.com/./static/vectors/map_left_arrow.svg","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/structured-text-content/structured-text-content.tsx","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/structured-text-content/structured-text-content.module.scss","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/transport-mode/transport-mode.module.scss","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/transport-mode/transport-mode.tsx","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/video/video.tsx","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/video/video.module.scss","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/quote/quote.tsx","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/quote/quote.module.scss","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/partners/partners.tsx","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/partners/partners.module.scss","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/partners/large-partners.module.scss","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/partners/large-partners.tsx","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/structured-text-content/v3-structured-text-content.tsx","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/structured-text-content/v3-structured-text-content.module.scss","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/v3-video/v3-video.tsx","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/v3-video/v3-video.module.scss","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/v3-image/v3-image.tsx","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/v3-image/v3-image.module.scss","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/v3-diaporama/v3-diaporama.tsx","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/v3-diaporama/v3-diaporama.module.scss","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/biographic-card/vertical/v3-biographic-card-vertical.tsx","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/biographic-card/vertical/v3-biographic-card-vertical.module.scss","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/v3-block-to-pdf/v3-block-to-pdf.tsx","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/v3-block-to-pdf/v3-block-to-pdf.module.scss","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/v3-text-carousel/v3-text-carousel.tsx","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/v3-text-carousel/v3-text-carousel.module.scss","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/v3-useful-infos/v3-useful-infos.tsx","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/v3-useful-infos/v3-useful-infos.module.scss","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/rich_dato_cms_content.tsx","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/rich_dato_cms_content.module.scss","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/simple-text/simple-text.module.scss","webpack://keolis.com/./src/v3/components/rich-dato-cms-content/simple-text/simple-text.tsx","webpack://keolis.com/./static/images/linkedin_gray.svg","webpack://keolis.com/./static/images/twitter_gray.svg"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport var breadcrumb = \"breadcrumb-module--breadcrumb--a05f8\";\nexport var breadcrumbContainer = \"breadcrumb-module--breadcrumbContainer--19e9a\";\nexport var home = \"breadcrumb-module--home--2f79d\";\nexport var lastPage = \"breadcrumb-module--lastPage--dd27b\";\nexport var pElement = \"breadcrumb-module--pElement--155b5\";","import React from \"react\"\nimport { InternalExternalLinkBlockFieldsFragment } from \"../../../../graphql-types\"\nimport * as styles from \"./breadcrumb.module.scss\"\nimport { useLocale } from \"../../context/locale-context\"\nimport { useSlugs } from \"../../context/slugs-context\"\n\ntype RenderProps = {\n  title: string\n  homeLabel: string\n  middlePages?: InternalExternalLinkBlockFieldsFragment[]\n}\n\nconst Breadcrumb: React.FC<RenderProps> = ({ title, homeLabel, middlePages }) => {\n  const { locale } = useLocale()\n  const { homeLink, getInternalExternalLink } = useSlugs()\n\n  return (\n    <ul className={styles.breadcrumb} data-datocms-noindex={true}>\n      <li>\n        <a className={styles.home} href={homeLink}>\n          {homeLabel}\n        </a>\n      </li>\n      {middlePages?.map(\n        middlePage =>\n          middlePage?.title && (\n            <li className={styles.breadcrumbContainer} key={middlePage.title}>\n              <p className={styles.pElement}>{\">\"}</p>\n              <a\n                href={getInternalExternalLink(middlePage)}\n                className={styles.home}\n                lang={locale !== \"en\" && middlePage.title === \"Newsroom\" ? \"en\" : null}\n              >\n                {middlePage.title}\n              </a>\n            </li>\n          )\n      )}\n      {title && (\n        <li className={styles.breadcrumbContainer}>\n          <p className={styles.pElement}>{\">\"}</p>\n          <p className={styles.lastPage} lang={locale !== \"en\" && title === \"Newsroom\" ? \"en\" : null}>\n            {title}\n          </p>\n        </li>\n      )}\n    </ul>\n  )\n}\n\nexport default Breadcrumb\n","import React from \"react\"\nimport { ReactSVG } from \"react-svg\"\n\ntype RenderProps = {\n  image: FileField\n  svgStyle?: string\n  imgStyle?: string\n  pictogramColor?: string\n  fillPictogramColor?: string\n  isLogo?: boolean\n  heightSize?: number\n}\n\nexport const DisplayImage: React.FC<RenderProps> = ({\n  image,\n  svgStyle,\n  imgStyle,\n  pictogramColor,\n  fillPictogramColor,\n  isLogo,\n  heightSize,\n}) => {\n  return image.format === \"svg\" ? (\n    <ReactSVG\n      src={image.url}\n      height={heightSize || \"none\"}\n      className={svgStyle}\n      aria-hidden={true}\n      fill={fillPictogramColor || \"none\"}\n      beforeInjection={svg => {\n        svg.setAttribute(\"alt\", image.alt || \"\")\n        if (pictogramColor) {\n          svg.querySelector(\"path\").setAttribute(\"fill\", pictogramColor)\n        }\n        if (isLogo) {\n          svg.setAttribute(\"objectFit\", \"contain\")\n        }\n      }}\n    />\n  ) : (\n    <img src={image.url} alt={image.alt || \"\"} className={imgStyle} aria-hidden={true} />\n  )\n}\n","import React from \"react\"\nimport { graphql } from \"gatsby\"\nimport { IframeFieldsFragment } from \"../../../../../graphql-types\"\nimport * as styles from \"./iframe.module.scss\"\n\ntype RenderProps = {\n  data: IframeFieldsFragment\n}\n\nconst IFrame: React.FC<RenderProps> = ({ data }) => {\n  const parseStyles = (stylesToParse: string): { [property: string]: string } => {\n    return stylesToParse.split(\";\").reduce((parsedStyles, style) => {\n      const splitted = style.split(\":\")\n      if (splitted[0] && splitted[1]) {\n        return { ...parsedStyles, [splitted[0].trim()]: splitted[1].trim() }\n      } else {\n        return parsedStyles\n      }\n    }, {})\n  }\n\n  return (\n    <div className={styles.container}>\n      <iframe\n        title={data.iframe.name}\n        src={data.iframe.url}\n        style={parseStyles(data.iframe.style)}\n        tabIndex={-1}\n        sandbox=\"allow-same-origin allow-scripts allow-popups allow-forms allow-presentation allow-modals allow-top-navigation\"\n        loading=\"lazy\"\n      />\n    </div>\n  )\n}\n\nexport const fragment = graphql`\n  fragment IframeFields on DatoCmsIframe {\n    id\n    iframe {\n      name\n      url\n      style\n    }\n  }\n`\n\nexport default IFrame\n","// extracted by mini-css-extract-plugin\nexport var container = \"iframe-module--container--135d0\";","// extracted by mini-css-extract-plugin\nexport var chapo = \"presentation-module--chapo--10519\";\nexport var content = \"presentation-module--content--05a2c\";\nexport var contentReversed = \"presentation-module--contentReversed--722b0\";\nexport var image = \"presentation-module--image--5b346\";\nexport var imageWrapper = \"presentation-module--imageWrapper--ff33d\";\nexport var information = \"presentation-module--information--b76ff\";\nexport var link = \"presentation-module--link--07b31\";\nexport var linkContent = \"presentation-module--linkContent--6356b\";\nexport var linkContentText = \"presentation-module--linkContentText--cdf70\";\nexport var parentPagePadding = \"presentation-module--parentPagePadding--a0f02\";\nexport var presentation = \"presentation-module--presentation--3113b\";\nexport var selectedPageContent = \"presentation-module--selectedPageContent--cdc6f\";\nexport var selectedPageContentReversed = \"presentation-module--selectedPageContentReversed--89dd2\";\nexport var title = \"presentation-module--title--70edc\";","import React, { useState } from \"react\"\nimport { graphql } from \"gatsby\"\nimport { V3PresentationTypePageFieldsFragment } from \"../../../../../graphql-types\"\nimport * as styles from \"./presentation.module.scss\"\nimport sanitizeHtml from \"sanitize-html\"\nimport { DisplayImage } from \"../../display-image/display-image\"\nimport { useLocale } from \"../../../context/locale-context\"\n\ntype RenderProps = {\n  data: V3PresentationTypePageFieldsFragment\n  isParentPage?: boolean\n}\n\nconst Presentation: React.FC<RenderProps> = ({ data, isParentPage = false }) => {\n  const { locale, defaultLocale } = useLocale()\n\n  return (\n    <div className={`${styles.presentation} ${isParentPage && styles.parentPagePadding}`}>\n      {data.presentation.map((block, index) => {\n        const [indexSelected, setIndex] = useState(null)\n        const mouseEnterListener = (idx: number) => setIndex(idx)\n        const mouseLeaveListener = () => setIndex(null)\n        const shouldHovered = indexSelected === index\n\n        return (\n          <div\n            className={index % 2 === 0 ? styles.content : styles.contentReversed}\n            key={block.id}\n            style={{ \"--block-color\": block.v3BlockColor.hex } as React.CSSProperties}\n          >\n            {block.blockImage && (\n              <div className={styles.imageWrapper}>\n                <DisplayImage image={block.blockImage} svgStyle={styles.image} imgStyle={styles.image} />\n              </div>\n            )}\n            <div className={styles.information}>\n              {block.blockTitle && <h3 className={styles.title}>{block.blockTitle}</h3>}\n              {block.chapo && (\n                <div dangerouslySetInnerHTML={{ __html: sanitizeHtml(block.chapo) }} className={styles.chapo} />\n              )}\n              <a\n                className={styles.link}\n                href={\n                  locale === defaultLocale ? `/${block.linkToPage[0].slug}` : `/${locale}/${block.linkToPage[0].slug}`\n                }\n                target=\"_self\"\n                style={{ color: shouldHovered ? `${block.v3BlockColor.hex}` : `#ffffff` }}\n              >\n                <div\n                  className={styles.linkContent}\n                  onMouseEnter={() => mouseEnterListener(index)}\n                  onMouseLeave={mouseLeaveListener}\n                  tabIndex={0}\n                  style={{\n                    backgroundColor: shouldHovered ? `#ffffff` : `${block.v3BlockColor.hex}`,\n                    color: shouldHovered ? `${block.v3BlockColor.hex}` : `#ffffff`,\n                    border: shouldHovered && `0.5px solid ${block.v3BlockColor.hex}`,\n                  }}\n                >\n                  <p className={styles.linkContentText}>{block.actionButtonText}</p>\n                </div>\n              </a>\n            </div>\n          </div>\n        )\n      })}\n    </div>\n  )\n}\n\nexport const fragment = graphql`\n  fragment V3PresentationTypePageFields on DatoCmsPresentation {\n    id\n    presentation {\n      ...V3PresentationBlockFields\n    }\n  }\n\n  fragment V3PresentationParentPageFields on DatoCmsParentPage {\n    id\n    presentation {\n      ...V3PresentationBlockFields\n    }\n  }\n\n  fragment V3PresentationBlockFields on DatoCmsPresentationBlock {\n    id\n    v3BlockColor {\n      hex\n    }\n    actionButtonText\n    blockTitle\n    blockImage {\n      alt\n      format\n      title\n      url\n    }\n    chapo\n    linkToPage {\n      ... on DatoCmsParentPage {\n        id\n        title\n        subtitle\n        chapo\n        slug\n        image {\n          alt\n          format\n          title\n          url\n        }\n      }\n      ... on DatoCmsPage {\n        id\n        title\n        subtitle\n        chapo\n        slug\n        image {\n          alt\n          format\n          title\n          url\n        }\n      }\n      ... on DatoCmsPressRelease {\n        id\n        title\n        subtitle\n        chapo\n        slug\n        image {\n          alt\n          format\n          title\n          url\n        }\n      }\n      ... on DatoCmsNews {\n        id\n        title\n        chapo\n        slug\n        image {\n          alt\n          format\n          title\n          url\n        }\n      }\n    }\n  }\n`\n\nexport default Presentation\n","// extracted by mini-css-extract-plugin\nexport var bioContainer = \"biographic-card-horizontal-module--bioContainer--a6ae7\";\nexport var biographicBlock = \"biographic-card-horizontal-module--biographicBlock--2e51b\";\nexport var cardsContainer = \"biographic-card-horizontal-module--cardsContainer--cb6d9\";\nexport var container = \"biographic-card-horizontal-module--container--2ec61\";\nexport var content = \"biographic-card-horizontal-module--content--4018b\";\nexport var emptyLeftPart = \"biographic-card-horizontal-module--emptyLeftPart--bedc1\";\nexport var job = \"biographic-card-horizontal-module--job--65ad3\";\nexport var linkLinkedin = \"biographic-card-horizontal-module--linkLinkedin--11d64\";\nexport var linkTwitter = \"biographic-card-horizontal-module--linkTwitter--ca855\";\nexport var linksContainer = \"biographic-card-horizontal-module--linksContainer--7aa07\";\nexport var name = \"biographic-card-horizontal-module--name--5a510\";\nexport var photo = \"biographic-card-horizontal-module--photo--b56fe\";\nexport var photoContainer = \"biographic-card-horizontal-module--photoContainer--914ff\";\nexport var sliderButton = \"biographic-card-horizontal-module--sliderButton--e5970\";","import React, { useRef } from \"react\"\nimport { ReactSVG } from \"react-svg\"\nimport { graphql } from \"gatsby\"\nimport { BiographicCardHorizontalFieldsFragment } from \"../../../../../../graphql-types\"\nimport * as styles from \"./biographic-card-horizontal.module.scss\"\nimport LinkedinGray from \"../../../../../../static/images/linkedin_gray.svg\"\nimport TwitterGray from \"../../../../../../static/images/twitter_gray.svg\"\nimport CarouselRightArrow from \"../../../../../../static/vectors/carousel_right_arrow.svg\"\nimport { DisplayImage } from \"../../../display-image/display-image\"\n\ntype RenderProps = {\n  data: BiographicCardHorizontalFieldsFragment\n}\n\nconst BiographicCardHorizontal: React.FC<RenderProps> = ({ data }) => {\n  const refContainer = useRef(null)\n\n  /**\n   * Description: Slide each card to the right\n   */\n  const slideRight = () => {\n    const itemWidth = refContainer.current.children[0].clientWidth\n    // the 32 is the same pixels as the right margin of the container\n    refContainer.current.scrollBy({\n      left: itemWidth + 32,\n      top: 0,\n      behavior: \"smooth\",\n    })\n  }\n\n  const displayIcon = (link: string, icon: string, style: string) => {\n    return (\n      <a href={link} className={style}>\n        <ReactSVG src={icon} aria-hidden={true} />\n      </a>\n    )\n  }\n\n  return (\n    <div className={styles.biographicBlock}>\n      <div className={styles.emptyLeftPart} />\n      <div className={styles.cardsContainer} ref={refContainer}>\n        {data.members?.map(member => (\n          <div key={member.id} className={styles.container}>\n            <div className={styles.content}>\n              <div className={styles.photoContainer}>\n                <DisplayImage image={member.photo} svgStyle={styles.photo} imgStyle={styles.photo} />\n              </div>\n              <div className={styles.bioContainer}>\n                <div className={styles.name}>{member.name}</div>\n                <div className={styles.job}>{member.function}</div>\n                <div className={styles.linksContainer}>\n                  {member.linkedinProfile && displayIcon(member.linkedinProfile, LinkedinGray, styles.linkLinkedin)}\n                  {member.twitterProfile && displayIcon(member.twitterProfile, TwitterGray, styles.linkTwitter)}\n                </div>\n              </div>\n            </div>\n          </div>\n        ))}\n        <button className={styles.sliderButton} onClick={slideRight} aria-label=\"Élément suivant\">\n          <ReactSVG src={CarouselRightArrow} />\n        </button>\n      </div>\n    </div>\n  )\n}\n\nexport const fragment = graphql`\n  fragment BiographicCardHorizontalFields on DatoCmsBiographicCardHorizontal {\n    id\n    members {\n      id\n      name\n      function\n      twitterProfile\n      linkedinProfile\n      photo {\n        alt\n        format\n        title\n        url\n      }\n      dedicatedPage\n    }\n  }\n`\n\nexport default BiographicCardHorizontal\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAxMiAyMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gCiAgPHBhdGggZD0iTTIuOTE1OCAxOC44Mjk5TDExLjI2NjUgMTAuNDc5M0MxMS42NjkyIDEwLjA3NjUgMTEuNjY5MiA5LjQyMzU5IDExLjI2NjQgOS4wMjA4OEwyLjkxNTggMC42NzAxOTNDMi41MTMwOSAwLjI2NzQ4OCAxLjg2MDE3IDAuMjY3NDg4IDEuNDU3NDIgMC42NzAxOTNMMC40ODM0NTIgMS42NDQxNkMwLjA4MTM3NjYgMi4wNDYyNCAwLjA4MDYyMTIgMi42OTc4NiAwLjQ4MTczMiAzLjEwMDg2TDcuMDk5NzggOS43NTAwNUwwLjQ4MTczMiAxNi4zOTkzQzAuMDgwNjIxMiAxNi44MDIzIDAuMDgxMzc2NiAxNy40NTM5IDAuNDgzNDUyIDE3Ljg1NkwxLjQ1NzQyIDE4LjgyOTlDMS44NjAxMyAxOS4yMzI2IDIuNTEzMDUgMTkuMjMyNiAyLjkxNTggMTguODI5OVoiLz4KPC9zdmc+\"","// extracted by mini-css-extract-plugin\nexport var arrow = \"button-module--arrow--2d796\";\nexport var btnImage = \"button-module--btnImage--2816f\";\nexport var buttonContainer = \"button-module--buttonContainer--1f875\";\nexport var buttonContainerImg = \"button-module--buttonContainerImg--7102e\";\nexport var buttonContent = \"button-module--buttonContent--c6320\";\nexport var buttonContentImg = \"button-module--buttonContentImg--e66a5\";\nexport var container = \"button-module--container--5b961\";\nexport var content = \"button-module--content--6a9e7\";\nexport var image = \"button-module--image--490b3\";\nexport var pictogram = \"button-module--pictogram--73978\";\nexport var textContent = \"button-module--textContent--7a643\";\nexport var title = \"button-module--title--acc86\";","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxMiAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMi44Mzc2NyAxOC40NzQ3TDExLjE4ODQgMTAuMTI0QzExLjU5MTEgOS43MjEyMiAxMS41OTExIDkuMDY4MyAxMS4xODgzIDguNjY1NkwyLjgzNzY3IDAuMzE0OTA3QzIuNDM0OTcgLTAuMDg3Nzk3OSAxLjc4MjA0IC0wLjA4Nzc5NzkgMS4zNzkzIDAuMzE0OTA3TDAuNDA1MzI3IDEuMjg4ODhDMC4wMDMyNTE1NSAxLjY5MDk1IDAuMDAyNDk2MjQgMi4zNDI1NyAwLjQwMzYwNyAyLjc0NTU3TDcuMDIxNjYgOS4zOTQ3NkwwLjQwMzYwNyAxNi4wNDRDMC4wMDI0OTYyNCAxNi40NDcgMC4wMDMyNTE1NSAxNy4wOTg2IDAuNDA1MzI3IDE3LjUwMDdMMS4zNzkzIDE4LjQ3NDdDMS43ODIgMTguODc3NCAyLjQzNDkyIDE4Ljg3NzQgMi44Mzc2NyAxOC40NzQ3WiIgZmlsbD0iIzQwNDA0MCIgLz4KPC9zdmc+\"","import React, { useState } from \"react\"\nimport { ReactSVG } from \"react-svg\"\nimport { graphql } from \"gatsby\"\nimport { ButtonFieldsFragment } from \"../../../../../graphql-types\"\nimport * as styles from \"./button.module.scss\"\nimport MapRightArrow from \"../../../../../static/vectors/map_right_arrow.svg\"\nimport ExternalLink from \"../../../../../static/vectors/external_link.svg\"\nimport { DisplayImage } from \"../../display-image/display-image\"\n\ntype RenderProps = {\n  data: ButtonFieldsFragment\n}\n\nconst Button: React.FC<RenderProps> = ({ data }) => {\n  const [hoverButton1, setHoverButton1] = useState(false)\n  const [hoverButton2, setHoverButton2] = useState(false)\n\n  const renderButton = (title, pictogram, link, color, color2, isImgButton, imgContent, hover, setHover) => {\n    if (isImgButton) {\n      return (\n        <button\n          className={styles.buttonContainerImg}\n          style={\n            color?.hex && {\n              backgroundColor: hover ? color2.hex : color.hex,\n              border: hover && `1px solid ${color.hex}`,\n            }\n          }\n          onMouseOver={() => setHover(true)}\n          onMouseLeave={() => setHover(false)}\n        >\n          <a\n            href={link?.isInternalPage && link?.page ? `/${link.page.slug}` : link?.url}\n            className={!imgContent ? styles.buttonContent : styles.buttonContentImg}\n            target={link?.isInternalPage ? \"_self\" : \"_blank\"}\n          >\n            {imgContent && <DisplayImage image={imgContent} svgStyle={styles.btnImage} imgStyle={styles.btnImage} />}\n          </a>\n        </button>\n      )\n    } else {\n      return (\n        <button\n          className={styles.buttonContainer}\n          style={\n            color?.hex && {\n              backgroundColor: hover ? color2.hex : color.hex,\n              border: hover && `1px solid ${color.hex}`,\n            }\n          }\n          onMouseOver={() => setHover(true)}\n          onMouseLeave={() => setHover(false)}\n        >\n          <a\n            href={link?.isInternalPage && link?.page ? `/${link.page.slug}` : link?.url}\n            className={styles.buttonContent}\n            target={link?.isInternalPage ? \"_self\" : \"_blank\"}\n          >\n            {pictogram && (\n              <DisplayImage\n                image={pictogram}\n                svgStyle={styles.pictogram}\n                imgStyle={styles.image}\n                pictogramColor={hover ? color.hex : color2.hex}\n              />\n            )}\n            <div className={styles.textContent}>\n              <div className={styles.title} style={{ color: hover ? color?.hex : color2?.hex }}>\n                {title}\n              </div>\n            </div>\n            <div className={styles.content}>\n              <ReactSVG\n                src={link?.isInternalPage ? MapRightArrow : ExternalLink}\n                className={styles.arrow}\n                aria-hidden={true}\n                beforeInjection={svg =>\n                  svg.querySelector(\"path\").setAttribute(\"fill\", hover ? color?.hex : color2?.hex)\n                }\n              />\n            </div>\n          </a>\n        </button>\n      )\n    }\n  }\n\n  return (\n    <div className={styles.container}>\n      {renderButton(\n        data.title,\n        data.pictogram,\n        data.link,\n        data.color,\n        data.hoverColor,\n        data.isImgButton,\n        data.imgContent,\n        hoverButton1,\n        setHoverButton1\n      )}\n      {data.button2 &&\n        renderButton(\n          data.title2,\n          data.pictogram2,\n          data.link2,\n          data.color2,\n          data.hoverColor2,\n          data.isImgButton2,\n          data.imgContent2,\n          hoverButton2,\n          setHoverButton2\n        )}\n    </div>\n  )\n}\n\nexport const fragments = graphql`\n  fragment ButtonFields on DatoCmsButton {\n    __typename\n    id\n    isImgButton\n    imgContent {\n      alt\n      format\n      url\n    }\n    title\n    pictogram {\n      alt\n      format\n      url\n    }\n    link {\n      isInternalPage\n      url\n      page {\n        slug\n      }\n    }\n    color {\n      hex\n    }\n    hoverColor {\n      hex\n    }\n    button2\n    isImgButton2\n    imgContent2 {\n      alt\n      format\n      url\n    }\n    title2\n    pictogram2 {\n      alt\n      format\n      url\n    }\n    link2 {\n      url\n      page {\n        slug\n      }\n      isInternalPage\n    }\n    color2 {\n      hex\n    }\n    hoverColor2 {\n      hex\n    }\n  }\n`\n\nexport default Button\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03LjQ4NzA5IDE0LjcyNTZDNy4zMTczIDE0Ljg5NTkgNy4wODIyIDE1LjAwMTQgNi44MjI5MSAxNS4wMDE0QzYuNTYzNjMgMTUuMDAxNCA2LjMyODc2IDE0Ljg5NTkgNi4xNTg5NyAxNC43MjU2TDUuMjczNDMgMTMuODQxNkM1LjEwMzA2IDEzLjY3MTggNC45OTc1NSAxMy40MzY3IDQuOTk3NTUgMTMuMTc3NEM0Ljk5NzU1IDEyLjkxODEgNS4xMDMwNiAxMi42ODMyIDUuMjczNDMgMTIuNTEzNUwxNC43OTQxIDIuOTk2M0wxMy4zOTg0IDEuNjAwNThDMTIuODEwNSAxLjAxMTE0IDEzLjIyNzcgLTAuMDAwOTc2NTYyIDE0LjA2MjUgLTAuMDAwOTc2NTYySDE5LjA2MjVDMTkuNTc5OSAtMC4wMDA5NzY1NjIgMjAgMC40MTkwOTcgMjAgMC45MzY1MjFWNS45MzY1MUMyMCA2Ljc3NjM1IDE4Ljk4NDMgNy4xODY1MSAxOC4zOTg0IDYuNjAwNTdMMTcuMDAzMSA1LjIwNjg0TDcuNDg3MDkgMTQuNzI1NlpNMTcuNSAxOC4xMjRDMTcuNSAxOS4xNTg4IDE2LjY1OTggMTkuOTk5IDE1LjYyNSAxOS45OTlIMS44NzVDMC44NDAxNDcgMTkuOTk5IDAgMTkuMTU4OCAwIDE4LjEyNFY0LjM3NDAxQzAgMy4zMzkxNiAwLjg0MDE0NyAyLjQ5OTAyIDEuODc1IDIuNDk5MDJIOC4xMjQ5OEM4LjQ2OTk0IDIuNDk5MDIgOC43NDk5OCAyLjc3OTA1IDguNzQ5OTggMy4xMjQwMlY0LjM3NDAxQzguNzQ5OTggNC43MTg5OCA4LjQ2OTk0IDQuOTk5MDEgOC4xMjQ5OCA0Ljk5OTAxSDIuNDk5OTlWMTcuNDk5SDE1VjEzLjEyNEMxNSAxMi43NzkgMTUuMjggMTIuNDk5IDE1LjYyNSAxMi40OTlIMTYuODc1QzE3LjIxOTkgMTIuNDk5IDE3LjUgMTIuNzc5IDE3LjUgMTMuMTI0VjE4LjEyNFoiIGZpbGw9IiM3ODZFNjQiLz4KPC9zdmc+Cg==\"","// extracted by mini-css-extract-plugin\nexport var container = \"image-module--container--d00d9\";\nexport var h1 = \"image-module--h1--bd7bc\";\nexport var h2 = \"image-module--h2--acb3d\";\nexport var h3 = \"image-module--h3--b6a11\";\nexport var h4 = \"image-module--h4--98184\";\nexport var h5 = \"image-module--h5--62991\";\nexport var heading = \"image-module--heading--a7ef4\";\nexport var image = \"image-module--image--e17aa\";\nexport var paragraph = \"image-module--paragraph--ca675\";","import React from \"react\"\nimport { graphql } from \"gatsby\"\nimport { ImageFieldsFragment } from \"../../../../graphql-types\"\nimport * as styles from \"./image.module.scss\"\n\ntype RenderProps = {\n  data: ImageFieldsFragment\n}\n\nconst Image: React.FC<RenderProps> = ({ data }) => {\n  const caption = data.caption && data.caption.value.document.children\n\n  let captionAriaLabel = \"\"\n  caption.map((c, index) => {\n    captionAriaLabel += c.children[0].value\n    if (index + 1 < caption.length) {\n      captionAriaLabel += \" \"\n    }\n  })\n\n  const buildRichText = (content: [{ type: string; value: string; marks?: string[] }], index: number) => {\n    return (\n      <p className={styles.paragraph}>\n        {content.map(text => {\n          return `${text.value} `\n        })}\n      </p>\n    )\n  }\n\n  const buildHeadingText = (level: number, content: [{ type: string; value: string; marks?: string[] }]) => {\n    switch (level) {\n      case 1:\n        return (\n          <h1 className={`${styles.heading} ${styles.h1}`} key={level}>\n            {content[0].value}\n          </h1>\n        )\n      case 2:\n        return (\n          <h2 className={`${styles.heading} ${styles.h2}`} key={level}>\n            {content[0].value}\n          </h2>\n        )\n      case 3:\n        return (\n          <h3 className={`${styles.heading} ${styles.h3}`} key={level}>\n            {content[0].value}\n          </h3>\n        )\n      case 4:\n        return (\n          <h4 className={`${styles.heading} ${styles.h4}`} key={level}>\n            {content[0].value}\n          </h4>\n        )\n      case 5:\n        return (\n          <h5 className={`${styles.heading} ${styles.h5}`} key={level}>\n            {content[0].value}\n          </h5>\n        )\n    }\n  }\n\n  const buildStructuredContent = (\n    type: string,\n    level: number,\n    content: [{ type: string; value: string; marks?: string[] }],\n    index: number\n  ) => {\n    switch (type) {\n      case \"heading\":\n        return buildHeadingText(level, content)\n      case \"paragraph\":\n        return buildRichText(content, index)\n    }\n  }\n\n  return (\n    <figure className={styles.container} role=\"group\" aria-label={captionAriaLabel}>\n      <img className={styles.image} src={data.image.url} alt={data.image.alt || \"\"} loading=\"eager\" />\n      <figcaption>\n        {caption &&\n          caption.map((content, index) => buildStructuredContent(content.type, content.level, content.children, index))}\n      </figcaption>\n    </figure>\n  )\n}\n\nexport const fragment = graphql`\n  fragment ImageFields on DatoCmsImage {\n    __typename\n    id\n    image {\n      alt\n      url\n    }\n    caption {\n      value\n    }\n  }\n`\n\nexport default Image\n","// extracted by mini-css-extract-plugin\nexport var coloredBackgroundFormat = \"key-numbers-module--coloredBackgroundFormat--b3864\";\nexport var coloredNumbersFormat = \"key-numbers-module--coloredNumbersFormat--e689e\";\nexport var description = \"key-numbers-module--description--5e2f6\";\nexport var keyNumber = \"key-numbers-module--keyNumber--9bf86\";\nexport var keyNumberList = \"key-numbers-module--keyNumberList--f1aa4\";\nexport var keyNumbers = \"key-numbers-module--keyNumbers--8f6c2\";\nexport var label = \"key-numbers-module--label--0368b\";\nexport var simpleFormat = \"key-numbers-module--simpleFormat--60287\";\nexport var title = \"key-numbers-module--title--1039f\";\nexport var value = \"key-numbers-module--value--8cce6\";","import React from \"react\"\nimport { graphql } from \"gatsby\"\nimport {\n  KeyNumberColoredBackgroundFieldsFragment,\n  KeyNumberColoredFieldsFragment,\n  KeyNumberSimpleFieldsFragment,\n} from \"../../../../../graphql-types\"\nimport * as styles from \"./key-numbers.module.scss\"\n\ntype RenderProps = {\n  data: KeyNumberSimpleFieldsFragment | KeyNumberColoredFieldsFragment | KeyNumberColoredBackgroundFieldsFragment\n}\n\nconst KeyNumbers: React.FC<RenderProps> = ({ data }) => {\n  const getKeyNumbersStyle = () => {\n    switch (data.__typename) {\n      case \"DatoCmsKeyNumberSimple\":\n        return `${styles.keyNumbers} ${styles.simpleFormat}`\n      case \"DatoCmsKeyNumberColored\":\n        return `${styles.keyNumbers} ${styles.coloredNumbersFormat}`\n      case \"DatoCmsKeyNumberColoredBackground\":\n        return `${styles.keyNumbers} ${styles.coloredBackgroundFormat}`\n    }\n  }\n\n  const buildKeyNumbers = () => {\n    return data.keyNumberList.map(keyNumber => {\n      return (\n        <li key={keyNumber.id} className={styles.keyNumber}>\n          <div className={styles.value} style={{ backgroundColor: keyNumber.color?.hex }}>\n            {keyNumber.value}\n          </div>\n          <div className={styles.label}>{keyNumber.label}</div>\n          <div className={styles.description}>{keyNumber.description}</div>\n        </li>\n      )\n    })\n  }\n\n  return (\n    <div\n      className={getKeyNumbersStyle()}\n      style={\n        data.__typename === \"DatoCmsKeyNumberColoredBackground\" ? { backgroundColor: data.backgroundColor?.hex } : null\n      }\n    >\n      <h3 className={styles.title}>{data.title}</h3>\n      <ul className={styles.keyNumberList}>{buildKeyNumbers()}</ul>\n    </div>\n  )\n}\n\nexport const fragments = graphql`\n  fragment KeyNumberSimpleFields on DatoCmsKeyNumberSimple {\n    __typename\n    id\n    title\n    keyNumberList {\n      id\n      value\n      label\n      description\n    }\n  }\n\n  fragment KeyNumberColoredFields on DatoCmsKeyNumberColored {\n    __typename\n    id\n    title\n    keyNumberList {\n      id\n      color {\n        hex\n      }\n      value\n      label\n      description\n    }\n  }\n\n  fragment KeyNumberColoredBackgroundFields on DatoCmsKeyNumberColoredBackground {\n    __typename\n    id\n    title\n    backgroundColor {\n      hex\n    }\n    keyNumberList {\n      id\n      value\n      label\n      description\n    }\n  }\n`\n\nexport default KeyNumbers\n","// extracted by mini-css-extract-plugin\nexport var blockTitle = \"network-contact-module--blockTitle--2a46b\";\nexport var buttonWrapper = \"network-contact-module--buttonWrapper--e6559\";\nexport var leftContent = \"network-contact-module--leftContent--75397\";\nexport var lineLink = \"network-contact-module--lineLink--3f32d\";\nexport var networkContactWrapper = \"network-contact-module--networkContactWrapper--59524\";\nexport var pictogram = \"network-contact-module--pictogram--0348c\";\nexport var rightContent = \"network-contact-module--rightContent--b8868\";\nexport var socialMedia = \"network-contact-module--socialMedia--3ae9f\";\nexport var socialNetworkLink = \"network-contact-module--socialNetworkLink--204f8\";\nexport var subtitle = \"network-contact-module--subtitle--a07c9\";","import React from \"react\"\nimport { ReactSVG } from \"react-svg\"\nimport { graphql } from \"gatsby\"\nimport { NetworkContactFieldsFragment } from \"../../../../../graphql-types\"\nimport * as styles from \"./network-contact.module.scss\"\nimport TwitterHovered from \"../../../../../static/vectors/twitter_hovered.svg\"\nimport FacebookHovered from \"../../../../../static/vectors/facebook_hovered.svg\"\nimport LinkedInHovered from \"../../../../../static/vectors/linkedin_hovered.svg\"\nimport InstagramHovered from \"../../../../../static/vectors/instagram_hovered.svg\"\n\ntype RenderProps = {\n  data: NetworkContactFieldsFragment\n}\n\nconst NetworkContact: React.FC<RenderProps> = ({ data }) => {\n  return (\n    <div className={styles.networkContactWrapper}>\n      <div className={styles.leftContent}></div>\n      <div className={styles.rightContent}>\n        <h2 className={styles.blockTitle}>{data.blockTitle}</h2>\n        {data.urlWebSite && (\n          <div className={styles.buttonWrapper}>\n            <a href={data.urlWebSite} className={styles.lineLink} target=\"_blank\">\n              {data.buttonText}\n            </a>\n          </div>\n        )}\n        {data.subtitle && <h3 className={styles.subtitle}>{data.subtitle}</h3>}\n        <div className={styles.socialMedia}>\n          <>\n            {data.facebook && (\n              <a\n                href={data && data.urlToFacebook && data.urlToFacebook.url}\n                target=\"_blank\"\n                className={styles.socialNetworkLink}\n              >\n                <ReactSVG src={FacebookHovered} className={styles.pictogram} aria-hidden={true} />\n              </a>\n            )}\n          </>\n          <>\n            {data.twitter && (\n              <a\n                href={data && data.urlToTwitter && data.urlToTwitter.url}\n                target=\"_blank\"\n                className={styles.socialNetworkLink}\n              >\n                <ReactSVG src={TwitterHovered} className={styles.pictogram} aria-hidden={true} />\n              </a>\n            )}\n          </>\n          <>\n            {data.linkedin && (\n              <a\n                href={data && data.urlToLinkedin && data.urlToLinkedin.url}\n                target=\"_blank\"\n                className={styles.socialNetworkLink}\n              >\n                <ReactSVG src={LinkedInHovered} className={styles.pictogram} aria-hidden={true} />\n              </a>\n            )}\n          </>\n          <>\n            {data.instagram && (\n              <a\n                href={data && data.urlToInstagram && data.urlToInstagram.url}\n                target=\"_blank\"\n                className={styles.socialNetworkLink}\n              >\n                <ReactSVG src={InstagramHovered} className={styles.pictogram} aria-hidden={true} />\n              </a>\n            )}\n          </>\n        </div>\n      </div>\n    </div>\n  )\n}\n\nexport const fragments = graphql`\n  fragment NetworkContactFields on DatoCmsContactNetwork {\n    __typename\n    id\n    blockTitle\n    urlWebSite\n    buttonText\n    subtitle\n    instagram\n    twitter\n    facebook\n    linkedin\n    urlToInstagram {\n      url\n    }\n    urlToTwitter {\n      url\n    }\n    urlToFacebook {\n      url\n    }\n    urlToLinkedin {\n      url\n    }\n  }\n`\n\nexport default NetworkContact\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTEiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAxMSAyMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGQ9Ik0xMC40MTg1IDEyLjU3NjRINy4xNzE4MVYyM0gyLjMyNTk5VjEyLjU3NjRIMFY4LjQ5MzQ1SDIuMzI1OTlWNS44NTE1M0MyLjMyNTk5IDMuOTc4MTcgMy4xOTgyNCAxIDcuMTcxODEgMUgxMC43NTc3VjQuOTM4ODZIOC4xNDA5N0M3LjcwNDg0IDQuOTM4ODYgNy4xMjMzNSA1LjEzMSA3LjEyMzM1IDYuMDQzNjdWOC40NDU0MkgxMC44MDYyTDEwLjQxODUgMTIuNTc2NFoiIGZpbGw9IiMwMDVGN0QiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMCI+CjxyZWN0IHdpZHRoPSIxMSIgaGVpZ2h0PSIyMiIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjkiIGhlaWdodD0iMjMiIHZpZXdCb3g9IjAgMCAyOSAyMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yOC44NTcxIDMuMzQzMjhDMjcuODI0MSAzLjc3ODk2IDI2LjcxMzYgNC4wNjk4NiAyNS41NDk3IDQuMjAyNDVDMjYuNzM5IDMuNTI1OTQgMjcuNjUxNyAyLjQ1NDM0IDI4LjA4MiAxLjE3OTc5QzI2Ljk2NzUgMS44MDQ4OSAyNS43MzU0IDIuMjU5NTEgMjQuNDIzMiAyLjUwNTc2QzIzLjM3NDIgMS40NDIyOCAyMS44NzYyIDAuNzc5Mjk3IDIwLjIyMDUgMC43NzkyOTdDMTcuMDQgMC43NzkyOTcgMTQuNDU5NiAzLjIyNjkyIDE0LjQ1OTYgNi4yNDQxN0MxNC40NTk2IDYuNjczMDggMTQuNTEwNCA3LjA5MTE2IDE0LjYwOTIgNy40OTAzMUM5LjgyMjU1IDcuMjYxNjQgNS41Nzg0IDUuMDg1OTggMi43MzczOSAxLjc4MDU0QzIuMjQxNjIgMi41ODgyOSAxLjk1ODMyIDMuNTI1OTQgMS45NTgzMiA0LjUyODUzQzEuOTU4MzIgNi40MjI3NyAyLjk3NTI1IDguMDk3ODEgNC41MjAwNCA5LjA3NzRDMy41NzY2IDkuMDQ3NjQgMi42ODkyOCA4LjgwMjc0IDEuOTExNTQgOC4zOTI3N0MxLjkxMTU0IDguNDE3MTMgMS45MTE1NCA4LjQzNzQyIDEuOTExNTQgOC40NjMxM0MxLjkxMTU0IDExLjExMSAzLjg5NTk4IDEzLjMxOTEgNi41MzEyIDEzLjgyMTFDNi4wNDg3OSAxMy45NDU2IDUuNTM4MzEgMTQuMDEwNSA1LjAxNDQ4IDE0LjAxMDVDNC42NDI5OCAxNC4wMTA1IDQuMjgyMTggMTMuOTc4MSAzLjkzMDcyIDEzLjkxNThDNC42NjMwMyAxNi4wODQ3IDYuNzkwNDUgMTcuNjY2NCA5LjMxMDc0IDE3LjcxMTFDNy4zMzk2NyAxOS4xNzY0IDQuODU2NzkgMjAuMDQ5MSAyLjE1NzQzIDIwLjA0OTFDMS42OTIzOSAyMC4wNDkxIDEuMjM0MDMgMjAuMDIzNCAwLjc4MzY5MSAxOS45NzMzQzMuMzMyMDUgMjEuNTIyNSA2LjM2MDE1IDIyLjQyOTEgOS42MTI3NSAyMi40MjkxQzIwLjIwNzEgMjIuNDI5MSAyNiAxNC4wOTk4IDI2IDYuODc4NzRDMjYgNi42NDA2MSAyNS45OTM0IDYuNDA2NTMgMjUuOTgyNyA2LjE3MTExQzI3LjEwNzggNS4zOTk4OCAyOC4wODQ3IDQuNDM3ODggMjguODU3MSAzLjM0MzI4WiIgZmlsbD0iIzAwNUY3RCIvPgo8L3N2Zz4K\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjMiIHZpZXdCb3g9IjAgMCAyMiAyMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wLjE0Mjg1NyAyMi40MjkzSDUuMjg1NzFWNy44NTc4OEgwLjE0Mjg1N1YyMi40MjkzWk0yLjcyOTU1IDAuMTQzNTU1QzEuMTY0IDAuMTQzNTU1IDAuMTQyNTc4IDEuMjUzNyAwLjE0MjU3OCAyLjcxNDk4QzAuMTQyNTc4IDQuMTQxNTIgMS4xMzQ0NiA1LjI4NjQxIDIuNjY4OTIgNS4yODY0MUgyLjY5ODQ2QzQuMjkzNTUgNS4yODY0MSA1LjI4NTQ0IDQuMTQxNTIgNS4yODU0NCAyLjcxNDk4QzUuMjU3NDUgMS4yNTM3IDQuMjkzNTUgMC4xNDM1NTUgMi43Mjk1NSAwLjE0MzU1NVpNMjEuNTcxNCAxNC4yNjdDMjEuNTcxNCA5Ljg5Mjc3IDE5LjIxNTMgNy44NTc4OCAxNi4wNzU1IDcuODU3ODhDMTMuNTQwOSA3Ljg1Nzg4IDEyLjQwODMgOS4yMzgzOCAxMS43NzM4IDEwLjIwOTVWOC4xOTIwN0g3QzcuMDYzMjggOS41Mjg4MyA3IDIyLjQyOTMgNyAyMi40MjkzSDExLjc3MzhWMTQuNDc4N0MxMS43NzM4IDE0LjA1NTMgMTEuODA0NyAxMy42Mjg0IDExLjkzMTIgMTMuMzI1N0MxMi4yNzUyIDEyLjQ3NTMgMTMuMDYyMiAxMS41OTUyIDE0LjM3OTggMTEuNTk1MkMxNi4xMDggMTEuNTk1MiAxNi43OTc2IDEyLjkwMDUgMTYuNzk3NiAxNC44MTQ2VjIyLjQyOTNIMjEuNTcxNFYxNC4yNjdaTTEyLjE0MjkgOS42MTg0NUMxMi4xNTMxIDkuNjAzMDIgMTIuMTY2OSA5LjU4NzU5IDEyLjE3NzEgOS41NzIxNlY5LjYxODQ1SDEyLjE0MjlaIiBmaWxsPSIjMDA1RjdEIi8+Cjwvc3ZnPgo=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPG1hc2sgaWQ9Im1hc2swIiBzdHlsZT0ibWFzay10eXBlOmFscGhhIiBtYXNrVW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4PSIwIiB5PSIwIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTAuODU2NDQ1IDAuMTQyNTc4SDMxLjg1NjRWMzEuMTQyNkgwLjg1NjQ0NVYwLjE0MjU3OFoiIGZpbGw9IndoaXRlIi8+CjwvbWFzaz4KPGcgbWFzaz0idXJsKCNtYXNrMCkiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTI5LjAyODIgMTcuNjI5QzI5LjAyODIgMTkuMjY4NCAyOS4wNDE3IDIwLjkwNjcgMjguOTA2MiAyMi41NDZDMjguNzYwMyAyNC4xNTIyIDI4LjI5ODkgMjUuNjUxOCAyNy4wMjg3IDI2Ljc5MzNDMjYuMDk0NiAyNy41NzU3IDI1LjAxNTcgMjcuOTU5NyAyMy44MjUxIDI4LjExNDlDMjIuNjExNyAyOC4zMTE2IDIxLjM4NTkgMjguMzExNiAyMC4xNjAxIDI4LjMxMTZDMTcuNjIwNiAyOC4zMzQzIDE1LjA3OCAyOC4zMzQzIDEyLjUxNDggMjguMzExNkMxMS4xODk3IDI4LjI4NDcgOS44NjQ1OCAyOC4zMTE2IDguNTQ3NzYgMjguMDY1M0M1Ljg2MTM4IDI3LjU4NCA0LjE5NyAyNS44MzI5IDMuODYwODEgMjMuMDk5N0MzLjcwMTUxIDIxLjg5NCAzLjcwMTUxIDIwLjY0NjkgMy42Nzg3NSAxOS40MTUzQzMuNjU4MDcgMTYuOTEyOSAzLjY1ODA3IDE0LjM1MTQgMy42Nzg3NSAxMS44MTY5QzMuNzAxNTEgMTAuNDg5MSAzLjY3ODc1IDkuMTM1MzkgMy45MjQ5NSA3Ljc5NjE5QzQuMzk5NzQgNS4xNTYwOSA2LjE3NzkxIDMuNDg0NjggOC44NzI1NyAzLjE1MDRDMTAuMDg3IDMuMDA1NTEgMTEuMzI2MiAzLjAwNTUxIDEyLjU0MDYgMi45NTU4NEMxMy44MDY3IDIuOTI5OTYgMTUuMDkxNSAyLjk1NTg0IDE2LjM2MDcgMi45NTU4NEMxOC42NTcxIDIuOTU1ODQgMjAuOTU2NiAyLjkwNjE2IDIzLjIzODYgMy4wNzY5MkMyNC44OTI2IDMuMjI1OTUgMjYuNDEzMiAzLjY5Nzg4IDI3LjUzMzUgNS4wMjU2OUMyOC40MzM0IDYuMDY5OTMgMjguNzkxMyA3LjM0MDgyIDI4Ljg4NDQgOC42Nzc5NUMyOS4wODUxIDExLjY1NDQgMjkuMDQxNyAxNC42NDY0IDI5LjAyODIgMTcuNjI5Wk0zMS43MDQyIDguNTQ4MTRDMzEuNTgyMiA2Ljc3ODQxIDMxLjExMTUgNS4xMTYzMiAzMC4wNjM3IDMuNjczNjNDMjguNDAyNCAxLjQzNzE1IDI2LjA4NjMgMC40OTIyNTcgMjMuMzk2OCAwLjI2MzUzOEMyMC45NTA0IDAuMDkzODEwMSAxOC40OTU4IDAuMTY1MjIgMTYuMDQ4MyAwLjE0MzQ4N0gxNS4xMjM2QzEyLjk0NCAwLjE0MzQ4NyAxMC43NzI4IDAuMTE2NTc4IDguNjAyNTggMC4zNTU2NDdDNC45MDM1IDAuNzY5NjE4IDIuMjI2NDMgMy4wNTM3IDEuMzE3MTcgNi42MTQ4OUMwLjkwNTQ3MyA4LjE3MjQ2IDAuOTA1NDczIDkuNzcxNDIgMC44NjkyNjggMTEuMzZDMC44NDY1MTEgMTMuODU1MiAwLjg1ODkyNCAxNi4zNTc3IDAuODY5MjY4IDE4Ljg1MjlDMC44NjkyNjggMjAuMzg1NiAwLjg4OTk1NiAyMS44OTM1IDEuMDgzMzkgMjMuNDI2M0MxLjQ5ODE5IDI3LjA4NzggMy43ODAxMiAyOS43NjMxIDcuMzEwNTkgMzAuNzA3QzguODcyNTYgMzEuMDgxNiAxMC40Njk3IDMxLjA4MTYgMTIuMDU1NSAzMS4xMjNDMTQuNTYxOSAzMS4xNDc5IDE3LjA3OTYgMzEuMTQ3OSAxOS41NzQ3IDMxLjEzMTNDMjEuMDg0OSAzMS4xMzEzIDIyLjU3OTYgMzEuMTIzIDI0LjA3NDQgMzAuOTI1M0MyOC4xMiAzMC40NTI0IDMwLjkwNjcgMjcuODI3OCAzMS41NTg0IDIzLjc4NTRDMzEuODMwNCAyMi4yOTQgMzEuODMwNCAyMC43MzU0IDMxLjgzMDQgMTkuMTk0NEMzMS44MzA0IDE1LjYzOTUgMzEuOTQyMiAxMi4xMDkzIDMxLjcwNDIgOC41NDgxNFoiIGZpbGw9IiMwMDVGN0QiLz4KPC9nPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTI0LjY5NjggOS4yMTU1M0MyMy42MzczIDkuMjM5NjggMjIuNzgzMiA4LjM5NzU4IDIyLjc4MzIgNy4zMTE4OUMyMi43ODMyIDYuMjc5NzQgMjMuNjI0NyA1LjQzNTU1IDI0LjY3MjcgNS40MzU1NUMyNS43MDcgNS40MzU1NSAyNi41NjMyIDYuMjYyOTQgMjYuNTYzMiA3LjI5NTA5QzI2LjU4NzMgOC4zNzEzMyAyNS43NDI2IDkuMjE1NTMgMjQuNjk2OCA5LjIxNTUzWiIgZmlsbD0iIzAwNUY3RCIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTE2LjY5OTUgMjAuMDMxNUMxNC4wMDcyIDIwLjAxNCAxMS44NTU5IDE3LjcyMzYgMTEuODU1OSAxNC44NzkyQzExLjg1NTkgMTIuMDE4MiAxNC4wNDI1IDkuNzU4NzkgMTYuNzg0OSA5Ljc1ODc5QzE5LjQ1MzcgOS43NTg3OSAyMS42MTg3IDEyLjA2NjcgMjEuNjE4NyAxNC44OTM2QzIxLjYxODcgMTcuNzQ2MyAxOS40MjkxIDIwLjAzMTUgMTYuNjk5NSAyMC4wMzE1Wk0xNi43NzIxIDYuOTQ3MjdDMTIuNTc5NSA2Ljk0NzI3IDkuMTg2MTEgMTAuNDgxOSA5LjE3MzM1IDE0Ljg0NzFDOS4xNjY0OCAxOS4yNjggMTIuNTM4MyAyMi44MjUzIDE2Ljc0MTcgMjIuODI1M0MyMC45MDI5IDIyLjgyNTMgMjQuMjk1MyAxOS4yNjggMjQuMjk1MyAxNC44OTM1QzI0LjI5NTMgMTAuNTIzMiAyMC45MjM1IDYuOTQ3MjcgMTYuNzcyMSA2Ljk0NzI3WiIgZmlsbD0iIzAwNUY3RCIvPgo8L3N2Zz4K\"","// extracted by mini-css-extract-plugin\nexport var content = \"outlined-text-block-module--content--e7bc8\";\nexport var contentText = \"outlined-text-block-module--contentText--ce5d5\";\nexport var leftContainer = \"outlined-text-block-module--leftContainer--f7cc6\";\nexport var outlinedContainer = \"outlined-text-block-module--outlinedContainer--bfd16\";\nexport var picture = \"outlined-text-block-module--picture--fc70d\";\nexport var pictureWrapper = \"outlined-text-block-module--pictureWrapper--40537\";\nexport var rightContainer = \"outlined-text-block-module--rightContainer--c2f60\";\nexport var socialNetworkLink = \"outlined-text-block-module--socialNetworkLink--a3c65\";\nexport var socialNetworkLinkWrapper = \"outlined-text-block-module--socialNetworkLinkWrapper--62bcc\";\nexport var socialNetworkLogo = \"outlined-text-block-module--socialNetworkLogo--e8916\";\nexport var socialNetworks = \"outlined-text-block-module--socialNetworks--c103d\";\nexport var title = \"outlined-text-block-module--title--f1441\";","import React from \"react\"\nimport { ReactSVG } from \"react-svg\"\nimport { graphql } from \"gatsby\"\nimport { OutlinedTextBlockFieldsFragment } from \"../../../../../graphql-types\"\nimport * as styles from \"./outlined-text-block.module.scss\"\nimport { render } from \"datocms-structured-text-to-html-string\"\nimport { StructuredText as StructuredTextGraphQlResponse } from \"datocms-structured-text-utils/dist/types/types\"\nimport sanitizeHtml from \"sanitize-html\"\nimport { useIsMobile } from \"../../../hooks\"\nimport linkedinLogo from \"../../../../../static/images/icon-linkedin.svg\"\nimport twitterLogo from \"../../../../../static/images/icon-twitter.svg\"\nimport { DisplayImage } from \"../../display-image/display-image\"\n\ntype RenderProps = {\n  data: OutlinedTextBlockFieldsFragment\n}\n\nconst OutlinedTextBlock: React.FC<RenderProps> = ({ data }) => {\n  const getColors = bgColor => {\n    if (bgColor.hex.toLowerCase() === \"#ffffff\") {\n      return { titleColor: \"#0075BE\", borderColor: \"#0075BE\", backgroundColor: \"white\" }\n    }\n    return {\n      titleColor: bgColor.hex,\n      borderColor: bgColor.hex,\n      backgroundColor: bgColor.hex,\n    }\n  }\n\n  const isMobile = useIsMobile()\n  const { titleColor, backgroundColor, borderColor } = getColors(data.backgroundColor)\n  const shouldDisplayTitle = data.isTitleDisplayed && data.title && data.title.trim()\n  const shouldDisplaySocialNetworks = data.areSocialNetworksDisplayed && (data.linkedinLink || data.twitterLink)\n\n  const getSocialNetworkLink = (text, link, logoPath) => (\n    <li className={styles.socialNetworkLinkWrapper}>\n      <a href={link} className={styles.socialNetworkLink}>\n        <ReactSVG src={logoPath} className={styles.socialNetworkLogo} aria-hidden={true} role=\"presentation\" />\n        {text}\n      </a>\n    </li>\n  )\n\n  const renderContent = content => {\n    const options = {\n      renderInlineRecord({ record, adapter: { renderNode } }) {\n        return renderNode(\n          \"a\",\n          { href: `/${record.slug}` },\n          sanitizeHtml(record.title, {\n            allowedTags: [],\n            allowedAttributes: {},\n          })\n        )\n      },\n      renderLinkToRecord({ record, children, adapter: { renderNode } }) {\n        return renderNode(\"a\", { href: `/${record.slug}` }, children)\n      },\n    }\n    return render(content as unknown as StructuredTextGraphQlResponse, options)\n  }\n\n  return (\n    <div\n      className={styles.outlinedContainer}\n      style={\n        {\n          \"--title-color\": titleColor,\n          \"--background-color\": backgroundColor,\n          \"--border-color\": borderColor,\n          \"--text-color\": data.textColor.hex,\n        } as React.CSSProperties\n      }\n    >\n      <div className={styles.leftContainer}>\n        {shouldDisplayTitle && (\n          <h2\n            style={\n              {\n                \"--margin-bottom\": data.picture ? \"5rem\" : \"2.5rem\",\n              } as React.CSSProperties\n            }\n            className={styles.title}\n          >\n            {data.title}\n          </h2>\n        )}\n      </div>\n      <div className={styles.rightContainer}>\n        <div\n          className={styles.content}\n          style={{ marginTop: shouldDisplayTitle || !data.picture ? \"\" : isMobile ? \"45px\" : \"55px\" }}\n        >\n          {data.picture && (\n            <div className={styles.pictureWrapper}>\n              <DisplayImage image={data.picture} svgStyle={styles.picture} imgStyle={styles.picture} />\n            </div>\n          )}\n          <div className={styles.contentText} dangerouslySetInnerHTML={{ __html: renderContent(data.content) }} />\n          {shouldDisplaySocialNetworks && (\n            <ul className={styles.socialNetworks}>\n              {data.linkedinLink && getSocialNetworkLink(\"LinkedIn\", data.linkedinLink, linkedinLogo)}\n              {data.twitterLink && getSocialNetworkLink(\"Twitter\", data.twitterLink, twitterLogo)}\n            </ul>\n          )}\n        </div>\n      </div>\n    </div>\n  )\n}\n\nexport const fragments = graphql`\n  fragment OutlinedTextBlockFields on DatoCmsOutlinedTextBlock {\n    id\n    isTitleDisplayed\n    title\n    textColor {\n      hex\n    }\n    backgroundColor {\n      hex\n    }\n    picture {\n      alt\n      url\n    }\n    content {\n      value\n      blocks\n      links {\n        __typename\n        ... on DatoCmsPage {\n          id: originalId\n          slug\n        }\n        ... on DatoCmsHomePage {\n          id: originalId\n        }\n        ... on DatoCmsNews {\n          id: originalId\n          slug\n        }\n        ... on DatoCmsPressRelease {\n          id: originalId\n          slug\n        }\n        ... on DatoCmsParentPage {\n          id: originalId\n          slug\n        }\n      }\n    }\n    areSocialNetworksDisplayed\n    linkedinLink\n    twitterLink\n  }\n`\n\nexport default OutlinedTextBlock\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjMiIHZpZXdCb3g9IjAgMCAyMiAyMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wLjE0Mjg1NyAyMi4yODU3SDUuMjg1NzFWNy43MTQzMkgwLjE0Mjg1N1YyMi4yODU3Wk0yLjcyOTU1IDBDMS4xNjQgMCAwLjE0MjU3OCAxLjExMDE0IDAuMTQyNTc4IDIuNTcxNDNDMC4xNDI1NzggMy45OTc5NyAxLjEzNDQ2IDUuMTQyODYgMi42Njg5MiA1LjE0Mjg2SDIuNjk4NDZDNC4yOTM1NSA1LjE0Mjg2IDUuMjg1NDQgMy45OTc5NyA1LjI4NTQ0IDIuNTcxNDNDNS4yNTc0NSAxLjExMDE0IDQuMjkzNTUgMCAyLjcyOTU1IDBaTTIxLjU3MTQgMTQuMTIzNEMyMS41NzE0IDkuNzQ5MjEgMTkuMjE1MyA3LjcxNDMyIDE2LjA3NTUgNy43MTQzMkMxMy41NDA5IDcuNzE0MzIgMTIuNDA4MyA5LjA5NDgzIDExLjc3MzggMTAuMDY1OVY4LjA0ODUxSDdDNy4wNjMyOCA5LjM4NTI4IDcgMjIuMjg1NyA3IDIyLjI4NTdIMTEuNzczOFYxNC4zMzUyQzExLjc3MzggMTMuOTExNyAxMS44MDQ3IDEzLjQ4NDggMTEuOTMxMiAxMy4xODIxQzEyLjI3NTIgMTIuMzMxOCAxMy4wNjIyIDExLjQ1MTcgMTQuMzc5OCAxMS40NTE3QzE2LjEwOCAxMS40NTE3IDE2Ljc5NzYgMTIuNzU2OSAxNi43OTc2IDE0LjY3MTFWMjIuMjg1N0gyMS41NzE0VjE0LjEyMzRaTTEyLjE0MjkgOS40NzQ4OUMxMi4xNTMxIDkuNDU5NDYgMTIuMTY2OSA5LjQ0NDAzIDEyLjE3NzEgOS40Mjg2MVY5LjQ3NDg5SDEyLjE0MjlaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAyNCAxNyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMy45NzggMi4wMTk0NlYyLjAzODE5QzIzLjg5MDcgMi4yNjQxMyAyMy43MDAzIDIuNDMzOTIgMjMuNTM4OSAyLjYxNTMyQzIzLjIyODYgMi45ODI2NSAyMi44NDk0IDMuMzE0NDggMjIuNDYyOCAzLjYzMDE2QzIyLjIyMjggMy44MTkzMSAyMS45NTYyIDQuMDA5NzUgMjEuNjk0OCA0LjE3ODg5QzIxLjYxNzggNC4yMjY2NyAyMS41NzcgNC4yOTA1OCAyMS41NzcgNC4zNzM4NlY0Ljk4MTM0QzIxLjU3NyA1LjUzNzE3IDIxLjUxODUgNi4wNzc1MSAyMS40MjE1IDYuNjI2MjVDMjEuMjk5MyA3LjMyOTI3IDIxLjEwNTMgOC4wMDQ1NCAyMC44NTIgOC42NjQ5NkMyMC41ODg0IDkuMzY3OTggMjAuMjM3MyAxMC4wNiAxOS44Mzk2IDEwLjcyMDRDMTkuNDA0MSAxMS40MDggMTguODk2OCAxMi4wNTQ4IDE4LjMzNCAxMi42ODNDMTguMTA2NiAxMi45MzQ4IDE3Ljg0NTIgMTMuMTgxNCAxNy41ODUyIDEzLjQwNjdDMTcuMDc5NCAxMy44OTE1IDE2LjUzMTQgMTQuMzAwMSAxNS45MzM3IDE0LjY5MzlDMTUuNTAyNyAxNC45ODkgMTUuMDM1NCAxNS4yNTY5IDE0LjU0OTYgMTUuNDg4NkMxMy43NzE5IDE1Ljg3NzMgMTIuOTUzNiAxNi4xOTE3IDEyLjA5MzggMTYuNDM3QzExLjI5MDIgMTYuNjY4MSAxMC40NjQ1IDE2LjgyNSA5LjYxNjQ4IDE2LjkyODlDOS4yNTg3NyAxNi45NzI4IDguODkzNjYgMTYuOTg3NiA4LjUzNzQzIDE2Ljk5OTlIOC4yMjQ5SDguMDk4MjZINy45MzQ1OUg3LjE1NDc1SDYuOTgwNzFINi44NzMzMkM1Ljc2NjE0IDE3LjAwNyA0LjY5MDA1IDE2LjgzOTggMy42MzU0NSAxNi41NzE5QzIuNjk3MTIgMTYuMzM5NSAxLjc5Mjg2IDE2LjAyMzggMC45MzMwMyAxNS42MTk3QzAuNjQ3MTYxIDE1LjQ4ODYgMC4zNjk0MzkgMTUuMzQ4NSAwLjA4NzI3MzMgMTUuMTkyM0MtMC4wMDk3NDQzMyAxNS4xNDQ1IC0wLjAxOTM3MiAxNS4xMDkgMC4wMjY1NDQ3IDE1LjA1MTZDMC4xMzQ2NzEgMTUuMDM4IDAuMjQ0Mjc5IDE1LjA1MTYgMC4zNTI0MDUgMTUuMDUxNkMwLjc3MjMyMSAxNS4wOTQyIDEuMjAwMzggMTUuMTA5IDEuNjE4MDggMTUuMDgwNkMxLjk4NzYzIDE1LjA1MTYgMi4zNDkwNCAxNS4wMzggMi43MDYwMSAxNC45ODlDMy41OTE3NiAxNC44NjE4IDQuNDQ5MzYgMTQuNjMwNyA1LjI1NTg3IDE0LjMxM0M1LjkwNTM3IDE0LjA1MzUgNi40OTM0IDEzLjczMDEgNy4wNjU4OCAxMy4zNzgzQzcuMDc1NSAxMy4zNjUzIDcuMDgwNjkgMTMuMzY1MyA3LjA5OTIgMTMuMzQ5OUM2LjkxNzAyIDEzLjMxMzEgNi43NDQ0NiAxMy4zMTMxIDYuNTY2NzIgMTMuMjg1OUM1Ljk3NTcyIDEzLjIwMiA1LjQyMzI0IDEzLjAzNDIgNC44OTg5IDEyLjc4NTZDNC40NDA0NyAxMi41NTM5IDQuMDE2ODYgMTIuMjY1OSAzLjY2MTM3IDExLjkwN0MzLjMwODg1IDExLjU4MjkgMy4wNDAwMSAxMS4yMTgyIDIuODIzMDIgMTAuODAzMUMyLjc2MjI5IDEwLjY5MTQgMi43MDYwMSAxMC41NzA3IDIuNjUyNjkgMTAuNDM5NkMyLjYwNjAzIDEwLjMyNjcgMi42NjAwOSAxMC4yNjM0IDIuODAzMDMgMTAuMjkxMUMzLjA0MDAxIDEwLjMyNjcgMy4yNzkyMyAxMC4zNTQ0IDMuNTE2MjIgMTAuMzU0NEMzLjg4OTQ3IDEwLjM2NzMgNC4yNzAxNCAxMC4zMTEyIDQuNjU4MjEgMTAuMjM4OUM0LjQ0MDQ3IDEwLjIwNzIgNC4yMzAxNSAxMC4xNDMzIDQuMDI2NDggMTAuMDcxN0MzLjgwNTc5IDEwLjAwMjYgMy42MDQzNSA5Ljg5NTQxIDMuNDAxNDIgOS44MTE0OUMzLjIxNzAyIDkuNzIwNDYgMy4wMjUyIDkuNjA4MTMgMi44NDU5OCA5LjQ4ODA2QzIuMjc1NzIgOS4wOTYyIDEuODA4NDEgOC42MzA3NCAxLjQ2NDc3IDguMDY3MTZDMS4xNzk2NSA3LjU5NjU0IDAuOTk1MjM5IDcuMDg5MTIgMC45MTU5OTYgNi41NzAwOEMwLjkwMTkyNSA2LjQwMDk0IDAuODg0ODkxIDYuMjM3NjIgMC44OTMwMzggNi4wNzc1MUMwLjkwMTkyNSA1Ljk3MjkzIDAuOTYzMzk0IDUuOTM2NzggMS4wNzQ0OCA1Ljk5Mjk0QzEuNjA2MjMgNi4yMjYgMi4xNTY0OSA2LjM4NjEgMi43NjIyOSA2LjQ0OTM2QzIuODIzMDIgNi40NDkzNiAyLjg4ODE5IDYuNDcwMDIgMi45NzI2MiA2LjQ1NzExQzIuNzUyNjcgNi4zMTYzNyAyLjU1OTM3IDYuMTU0MzQgMi4zNjY4MiA1Ljk5Mjk0QzEuOTg5MTEgNS42ODI0MyAxLjY5MDY2IDUuMzAyODMgMS40NTUxNSA0LjkwMjU4QzEuMTc5NjUgNC40MjU1IDEuMDEwMDUgMy45MjUxOCAwLjk1ODIxIDMuMzgyMjZDMC44OTMwMzggMi43NTE1NCAwLjk0ODU4MiAyLjEzMTc5IDEuMTkxNSAxLjUzNDY0QzEuMjg0ODEgMS4yOTQ0OSAxLjM5ODg2IDEuMDc2MjkgMS41MTUxNCAwLjg3MjI4NkMxLjYwNjIzIDAuNzM5OTQ1IDEuNjY4NDQgMC43Mzk5NDUgMS43ODU0NSAwLjg2NTE4NUMxLjk5NTc4IDEuMDc2MjkgMi4yMDkwNyAxLjI4Njc0IDIuNDMxMjUgMS40ODQyOUMyLjg1NTYxIDEuODg0NTQgMy4zMDg4NSAyLjIzNTczIDMuNzkwOTggMi41NjY5MUM0LjM4NDE5IDIuOTgyNjUgNS4wMDcwMyAzLjM0ODA1IDUuNjY0NjcgMy42NzAxOEM2LjQ4Mzc3IDQuMDc5NDggNy4zMzU0NSA0LjQxMDAxIDguMjI0OSA0LjY1NzI2QzkuMDM0MzcgNC44NzQxNyA5Ljg3MDUgNS4wNDI2NyAxMC43MTMzIDUuMTQxNDRDMTEuMDA4OCA1LjE2OTIgMTEuMzAyOCA1LjE5Njk2IDExLjYwNDIgNS4yMTMxQzExLjcwNzIgNS4yMjY2NSAxMS43MjEyIDUuMjEzMSAxMS43MDcyIDUuMTE0MzJDMTEuNjcxNiA0Ljk1ODc0IDExLjY1MzggNC44MDk2MSAxMS42MzY4IDQuNjU3MjZDMTEuNjEzOSA0LjQxMDAxIDExLjYxMzkgNC4xNzA1IDExLjYzNjggMy45MjUxOEMxMS42NTk4IDMuNjcwMTggMTEuNzA3MiAzLjQxMTMxIDExLjc4MzQgMy4xNjZDMTEuOTY3MSAyLjU4MjQgMTIuMjc2NyAyLjAzODE5IDEyLjczMDcgMS41NTU5NEMxMy4xOTA2IDEuMDU1NjMgMTMuNzYwMSAwLjY2MTE4NSAxNC40MjUxIDAuMzg4MTA5QzE0Ljc5MDMgMC4yMjQxMzUgMTUuMTc1NCAwLjEwNDA1OSAxNS41NzkgMC4wNDI3Mjk3QzE1Ljc1NjcgMC4wMTU2MTU3IDE1LjkyNjMgMC4wMTU2MTU3IDE2LjExMTUgMC4wMDc4Njg5QzE2LjEyNzggMC4wMDc4Njg5IDE2LjE0MzMgMC4wMDc4Njg5IDE2LjE2MTEgMC4wMDAxMjIwN0gxNi4yNjMzQzE2LjI5NzQgMC4wMDc4Njg5IDE2LjMzMjkgMC4wMDc4Njg5IDE2LjM2OTIgMC4wMDAxMjIwN0gxNy4wMjY4QzE3LjE3MjcgMC4wMTU2MTU3IDE3LjMyMTYgMC4wMTU2MTU3IDE3LjQ2ODIgMC4wMjg1MjcxQzE3LjgyMTUgMC4wNjQ2NzkgMTguMTYxNCAwLjE2MDg2OSAxOC40ODggMC4yNzU3OEMxOC45OTk4IDAuNDU1ODk0IDE5LjQ1NjcgMC43MDMxNDcgMTkuODc1MiAxLjAxOTQ4QzE5Ljk1OTYgMS4wNzYyOSAyMC4wMzUxIDEuMTU1MDUgMjAuMTE3MyAxLjIzODMyQzIwLjE3MzYgMS4yODY3NCAyMC4yMzczIDEuMjk0NDkgMjAuMzE2NiAxLjI4Njc0QzIwLjkyODMgMS4xNjAyMSAyMS41MjQ1IDEuMDEyMzggMjIuMDk2OSAwLjc5NjEwOUMyMi40NjggMC42NDY5ODMgMjIuODMxNiAwLjQ5OTc5MyAyMy4xNzY3IDAuMzM3NzU1QzIzLjIyMTIgMC4zMDg3MDQgMjMuMjYxMSAwLjI5NTc5MyAyMy4zMDc4IDAuMzIzNTUyQzIzLjM1MTUgMC4zNTE5NTcgMjMuMzM2NyAwLjM5NTg1NiAyMy4zMjA0IDAuNDI4MTM1QzIzLjIyMTIgMC43MTYwNTkgMjMuMDgwNCAwLjk3MjM1IDIyLjkwMiAxLjIxNjM4QzIyLjY2MjggMS41ODMwNiAyMi4zNzAyIDEuODk4NzQgMjIuMDEyNSAyLjE3NDRDMjEuODIgMi4zNTEyOSAyMS42MDM3IDIuNDk4NDggMjEuMzYzOCAyLjYxNTMyQzIxLjc0NDQgMi41NjY5MSAyMi4xMDczIDIuNTExMzkgMjIuNDY4IDIuNDE5MDdDMjIuOTMzOCAyLjMyMjI0IDIzLjM4MTkgMi4xODczMSAyMy44MTI5IDIuMDE5NDZDMjMuODY5OSAyLjAxMjM2IDIzLjkyNDcgMS45NzA0IDIzLjk3OCAyLjAxOTQ2WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxMiAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTIuNzM0MjUgMTguNDYyMkMyLjMzMTI1IDE4Ljg2NDMgMS42NzgyNSAxOC44NjQzIDEuMjc2MjUgMTguNDYyMkwwLjMwMTI1IDE3LjQ4ODNDLTAuMDk5NzQ5NSAxNy4wODYzIC0wLjEwMDc1IDE2LjQzNDIgMC4zMDAyNSAxNi4wMzEyTDYuOTE4MjUgOS4zODIyNUwwLjMwMDI1IDIuNzMzMjVDLTAuMTAwNzUgMi4zMzAyNSAtMC4wOTk3NDk1IDEuNjc4MjUgMC4zMDEyNSAxLjI3NjI1TDEuMjc2MjUgMC4zMDIyNUMxLjY3ODI1IC0wLjEwMDc1IDIuMzMxMjUgLTAuMTAwNzUgMi43MzQyNSAwLjMwMjI1TDExLjA4NTMgOC42NTIyNUMxMS40ODczIDkuMDU1MjUgMTEuNDg3MyA5LjcwODI1IDExLjA4NTMgMTAuMTExMkwyLjczNDI1IDE4LjQ2MjJaIiBmaWxsPSIjMTI0MTYyIi8+Cjwvc3ZnPg==\"","import React from \"react\"\nimport { ReactSVG } from \"react-svg\"\nimport { graphql } from \"gatsby\"\nimport { RelatedContentExternalFieldsFragment, RelatedContentPdfFieldsFragment } from \"../../../../../../graphql-types\"\nimport * as styles from \"./external-block.module.scss\"\nimport UserJourneyButtonArrow from \"../../../../../../static/vectors/user_journey_button_arrow.svg\"\nimport { DisplayImage } from \"../../../display-image/display-image\"\n\ntype RenderProps = {\n  data: RelatedContentExternalFieldsFragment | RelatedContentPdfFieldsFragment\n}\n\nconst ExternalBlock: React.FC<RenderProps> = ({ data }) => {\n  const url = (data as RelatedContentPdfFieldsFragment).pdf\n    ? (data as RelatedContentPdfFieldsFragment).pdf.url\n    : (data as RelatedContentExternalFieldsFragment).url\n  const description = data.description.length < 200 ? data.description : `${data.description.substring(0, 200)}...`\n\n  return (\n    <a href={url} target=\"_blank\" className={styles.link}>\n      <div className={styles.card}>\n        <DisplayImage image={data.image} svgStyle={styles.pictogram} imgStyle={styles.picture} />\n        <div className={styles.cardContent}>\n          {data.tag && <div className={styles.tag}>{data.tag}</div>}\n          <div className={styles.title}>{data.title}</div>\n          <div className={styles.description}>{description}</div>\n          <div className={styles.cardFooter}>\n            <ReactSVG src={UserJourneyButtonArrow} className={styles.arrow} aria-hidden={true} />\n          </div>\n        </div>\n      </div>\n    </a>\n  )\n}\n\nexport const fragments = graphql`\n  fragment RelatedContentExternalFields on DatoCmsRelatedContentExternal {\n    id\n    url\n    image {\n      alt\n      format\n      url\n    }\n    title\n    description\n    tag\n  }\n\n  fragment RelatedContentPdfFields on DatoCmsRelatedContentPdf {\n    id\n    pdf {\n      url\n    }\n    image {\n      alt\n      format\n      url\n    }\n    title\n    description\n    tag\n  }\n`\n\nexport default ExternalBlock\n","// extracted by mini-css-extract-plugin\nexport var arrow = \"external-block-module--arrow--9cf56\";\nexport var card = \"external-block-module--card--75e0b\";\nexport var cardContent = \"external-block-module--cardContent--99f7d\";\nexport var cardFooter = \"external-block-module--cardFooter--1cda7\";\nexport var description = \"external-block-module--description--be306\";\nexport var link = \"external-block-module--link--ba855\";\nexport var pictogram = \"external-block-module--pictogram--c010f\";\nexport var picture = \"external-block-module--picture--f2533\";\nexport var tag = \"external-block-module--tag--dcde5\";\nexport var title = \"external-block-module--title--6b86b\";","import React from \"react\"\nimport { ReactSVG } from \"react-svg\"\nimport { graphql } from \"gatsby\"\nimport { RelatedContentInternalFieldsFragment } from \"../../../../../../graphql-types\"\nimport * as styles from \"./internal-block.module.scss\"\nimport sanitizeHtml from \"sanitize-html\"\nimport UserJourneyButtonArrow from \"../../../../../../static/vectors/user_journey_button_arrow.svg\"\nimport { useLocale } from \"../../../../context/locale-context\"\nimport { DisplayImage } from \"../../../display-image/display-image\"\n\ntype RenderProps = {\n  data: RelatedContentInternalFieldsFragment\n}\n\nconst InternalBlock: React.FC<RenderProps> = ({ data }) => {\n  const { locale, defaultLocale } = useLocale()\n  const url = locale === defaultLocale ? `/${data.internalPage.slug}` : `/${locale}/${data.internalPage.slug}`\n  const chapo =\n    data.internalPage.chapo.length < 200 ? data.internalPage.chapo : `${data.internalPage.chapo.substring(0, 200)}...`\n\n  return (\n    <a href={url} target=\"_blank\" className={styles.link}>\n      <div className={styles.card}>\n        <DisplayImage image={data.internalPage.image} svgStyle={styles.pictogram} imgStyle={styles.picture} />\n        <div className={styles.cardContent}>\n          {data.tag && <div className={styles.tag}>{data.tag}</div>}\n          <div className={styles.title}>{data.internalPage.title}</div>\n          <div dangerouslySetInnerHTML={{ __html: sanitizeHtml(chapo) }} className={styles.description} />\n          <div className={styles.cardFooter}>\n            <ReactSVG src={UserJourneyButtonArrow} className={styles.arrow} aria-hidden={true} />\n          </div>\n        </div>\n      </div>\n    </a>\n  )\n}\n\nexport const fragments = graphql`\n  fragment RelatedContentInternalFields on DatoCmsRelatedContentInternal {\n    id\n    tag\n    internalPage {\n      ... on DatoCmsPage {\n        title\n        slug\n        chapo\n        image {\n          alt\n          format\n          url\n        }\n      }\n      ... on DatoCmsParentPage {\n        title\n        slug\n        chapo\n        image {\n          alt\n          format\n          url\n        }\n      }\n      ... on DatoCmsNews {\n        title\n        slug\n        chapo\n        image {\n          alt\n          format\n          url\n        }\n      }\n      ... on DatoCmsPressRelease {\n        title\n        slug\n        chapo\n        image {\n          alt\n          format\n          url\n        }\n      }\n    }\n  }\n`\n\nexport default InternalBlock\n","// extracted by mini-css-extract-plugin\nexport var arrow = \"internal-block-module--arrow--c64e4\";\nexport var card = \"internal-block-module--card--3f797\";\nexport var cardContent = \"internal-block-module--cardContent--49ef2\";\nexport var cardFooter = \"internal-block-module--cardFooter--a4b30\";\nexport var description = \"internal-block-module--description--46053\";\nexport var link = \"internal-block-module--link--5215a\";\nexport var pictogram = \"internal-block-module--pictogram--a24d2\";\nexport var picture = \"internal-block-module--picture--54688\";\nexport var tag = \"internal-block-module--tag--2d689\";\nexport var title = \"internal-block-module--title--a5866\";","import React from \"react\"\nimport { graphql } from \"gatsby\"\nimport { RelatedContentFieldsFragment } from \"../../../../../graphql-types\"\nimport * as styles from \"./related-content.module.scss\"\nimport ExternalBlock from \"./external-block/external-block\"\nimport InternalBlock from \"./internal-block/internal-block\"\n\ntype RenderProps = {\n  data: RelatedContentFieldsFragment\n}\n\nconst RelatedContent: React.FC<RenderProps> = ({ data }) => {\n  return (\n    <div style={{ \"--main-color\": data.sameSubjectBlockLink.colorBlock.hex } as React.CSSProperties}>\n      <h3 className={styles.blockTitle}>{data?.sameSubjectBlockLink?.blockTitle || \"Sur le même sujet\"}</h3>\n      {data.sameSubjectBlockLink.pages.map(page => {\n        if (page.__typename === \"DatoCmsRelatedContentInternal\") {\n          return <InternalBlock data={page} key={page.id} />\n        } else {\n          return <ExternalBlock data={page} key={page.id} />\n        }\n      })}\n    </div>\n  )\n}\n\nexport const fragments = graphql`\n  fragment RelatedContentFields on DatoCmsRelatedContent {\n    __typename\n    id\n    sameSubjectBlockLink {\n      blockTitle\n      pages {\n        __typename\n        ... on DatoCmsRelatedContentInternal {\n          ...RelatedContentInternalFields\n        }\n        ... on DatoCmsRelatedContentExternal {\n          ...RelatedContentExternalFields\n        }\n        ... on DatoCmsRelatedContentPdf {\n          ...RelatedContentPdfFields\n        }\n      }\n      colorBlock {\n        hex\n      }\n    }\n  }\n`\n\nexport default RelatedContent\n","// extracted by mini-css-extract-plugin\nexport var blockTitle = \"related-content-module--blockTitle--b33fa\";","// extracted by mini-css-extract-plugin\nexport var bottomNavigator = \"slider-module--bottomNavigator--9c4ae\";\nexport var container = \"slider-module--container--f2ae3\";\nexport var content = \"slider-module--content--73198\";\nexport var img = \"slider-module--img--60c39\";\nexport var leftChevron = \"slider-module--leftChevron--91cb3\";\nexport var overImageLayer = \"slider-module--overImageLayer--81c9c\";\nexport var radioButton = \"slider-module--radioButton--28c71\";\nexport var radioButtonActive = \"slider-module--radioButtonActive--f8533\";\nexport var rightChevron = \"slider-module--rightChevron--e1897\";\nexport var svgContainer = \"slider-module--svgContainer--bc32e\";","import React, { useState } from \"react\"\nimport { ReactSVG } from \"react-svg\"\nimport { graphql } from \"gatsby\"\nimport { SliderFieldsFragment } from \"../../../../../graphql-types\"\nimport * as styles from \"./slider.module.scss\"\nimport leftArrow from \"../../../../../static/vectors/map_left_arrow.svg\"\nimport rightArrow from \"../../../../../static/vectors/map_right_arrow.svg\"\n\ntype RenderProps = {\n  data: SliderFieldsFragment\n}\n\nconst Slider: React.FC<RenderProps> = ({ data }) => {\n  const images = data?.images ? data.images : []\n\n  const [slideIndex, setSlideIndex] = useState(1)\n  const [translationX, setTranslationX] = useState(0)\n\n  /**\n   * Move the slider to the previous picture\n   */\n  const previousSlide = () => {\n    if (slideIndex !== 1) {\n      setSlideIndex(slideIndex - 1)\n      setTranslationX(translationX + 100)\n    } else if (slideIndex === 1) {\n      setSlideIndex(images.length)\n      setTranslationX(-(images.length - 1) * 100)\n    }\n  }\n\n  /**\n   * Move the slider to the next picture\n   */\n  const nextSlide = () => {\n    if (slideIndex !== images.length) {\n      setSlideIndex(slideIndex + 1)\n      setTranslationX(translationX - 100)\n    } else {\n      setSlideIndex(1)\n      setTranslationX(0)\n    }\n  }\n\n  /**\n   * Move the slider to the selected picture\n   */\n  const moveSlide = (position: number) => {\n    setTranslationX(position * -100)\n    setSlideIndex(position + 1)\n  }\n\n  return (\n    <div className={styles.container} aria-hidden={true}>\n      {images.map((img, index) => {\n        return (\n          <img\n            className={styles.img}\n            style={{\n              transform: \"translateX(\" + translationX + \"%)\",\n            }}\n            src={img.url}\n            alt={img.title || \"\"}\n            loading=\"eager\"\n            key={img.title + img.url}\n          />\n        )\n      })}\n      <div className={styles.overImageLayer}>\n        <div className={styles.leftChevron} aria-label=\"Précédent\">\n          <ReactSVG src={leftArrow} className={styles.svgContainer} onClick={previousSlide} aria-hidden={true} />\n        </div>\n        <div className={styles.rightChevron} aria-label=\"Suivant\">\n          <ReactSVG src={rightArrow} className={styles.svgContainer} onClick={nextSlide} aria-hidden={true} />\n        </div>\n        <div className={styles.bottomNavigator}>\n          {images.map((img, index) => {\n            return (\n              <button\n                className={slideIndex === index + 1 ? styles.radioButtonActive : styles.radioButton}\n                onClick={() => moveSlide(index)}\n                aria-label={`Image ${index + 1}`}\n                key={img.title + img.url}\n              />\n            )\n          })}\n        </div>\n      </div>\n    </div>\n  )\n}\n\nexport const fragment = graphql`\n  fragment SliderFields on DatoCmsSlider {\n    __typename\n    id\n    images {\n      title\n      url\n      height\n      width\n    }\n  }\n`\n\nexport default Slider\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxMiAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMTAuMjE0IDE4LjQ3NUwxMS4xODgxIDE3LjUwMDlDMTEuNTkwMyAxNy4wOTg3IDExLjU5MTEgMTYuNDQ3MyAxMS4xODk4IDE2LjA0NDJMNC41NzE3NyA5LjM5NDg0TDExLjE5MDIgMi43NDU4NkMxMS41OTExIDIuMzQyODIgMTEuNTkwNyAxLjY5MTQxIDExLjE4ODUgMS4yODkyNUwxMC4yMTQ0IDAuMzE1MTVDOS44MTE4IC0wLjA4NzQ3MTcgOS4xNTg2NyAtMC4wODc0NzE3IDguNzU2MDUgMC4zMTUxNUwwLjQwNTA2OSA4LjY2NTY3QzAuMDAyNDg5MzMgOS4wNjgyOSAwLjAwMjQ4OTMzIDkuNzIxMzggMC40MDUwNjkgMTAuMTI0TDguNzU1NjMgMTguNDc1QzkuMTU4MjUgMTguODc3NiA5LjgxMTM0IDE4Ljg3NzYgMTAuMjE0IDE4LjQ3NVoiIGZpbGw9IiM0MDQwNDAiLz4KPC9zdmc+\"","import React from \"react\"\nimport ReactHtmlParser from \"react-html-parser\"\nimport { graphql } from \"gatsby\"\nimport { StructuredTextFieldsFragment } from \"../../../../../graphql-types\"\nimport * as styles from \"./structured-text-content.module.scss\"\nimport { render } from \"datocms-structured-text-to-html-string\"\nimport sanitizeHtml from \"sanitize-html\"\n\ntype RenderProps = {\n  data: StructuredTextFieldsFragment\n}\n\nconst StructuredTextContent: React.FC<RenderProps> = ({ data }) => {\n  const options = {\n    renderBlock({ record, adapter: { renderNode } }) {\n      return renderNode(\"figure\", {}, renderNode(\"img\", { src: record.url }))\n    },\n    renderInlineRecord({ record, adapter: { renderNode } }) {\n      return renderNode(\"a\", { href: `/${record.slug}` }, record.title)\n    },\n    renderLinkToRecord({ record, children, adapter: { renderNode } }) {\n      return renderNode(\"a\", { href: `/${record.slug}` }, children)\n    },\n  }\n\n  return (\n    <div className={styles.structuredText}>\n      {data &&\n        data.structuredText &&\n        ReactHtmlParser(\n          sanitizeHtml(render(data.structuredText.value, options), {\n            allowedAttributes: {\n              ...sanitizeHtml.defaults.allowedAttributes,\n              a: (sanitizeHtml.defaults.allowedAttributes.a || []).concat([\"href\"]),\n            },\n            allowedSchemesByTag: {\n              ...sanitizeHtml.defaults.allowedSchemesByTag,\n              a: [\"http\", \"https\", \"javascript\", \"mailto\"],\n            },\n            exclusiveFilter: frame =>\n              frame.tag === \"a\" &&\n              frame.attribs.href &&\n              frame.attribs.href.startsWith(\"javascript\") &&\n              !frame.attribs.href.startsWith(\"javascript:Didomi\"),\n          })\n        )}\n    </div>\n  )\n}\n\nexport const fragments = graphql`\n  fragment StructuredTextFields on DatoCmsStructuredText {\n    __typename\n    id\n    structuredText {\n      value\n    }\n  }\n`\n\nexport default StructuredTextContent\n","// extracted by mini-css-extract-plugin\nexport var a = \"structured-text-content-module--a--95a8e\";\nexport var structuredText = \"structured-text-content-module--structuredText--3ce36\";","// extracted by mini-css-extract-plugin\nexport var container = \"transport-mode-module--container--40e4c\";\nexport var emptyLeftPart = \"transport-mode-module--emptyLeftPart--e7ac5\";\nexport var pictogram = \"transport-mode-module--pictogram--5e8ee\";\nexport var transportMethodName = \"transport-mode-module--transportMethodName--da007\";\nexport var transportModeElement = \"transport-mode-module--transportModeElement--21200\";\nexport var transportModes = \"transport-mode-module--transportModes--f1d4b\";\nexport var transportModesContainer = \"transport-mode-module--transportModesContainer--6ef31\";\nexport var transportModesTitle = \"transport-mode-module--transportModesTitle--a80e2\";\nexport var transportModesWrapper = \"transport-mode-module--transportModesWrapper--c0d87\";","import React from \"react\"\nimport { graphql } from \"gatsby\"\nimport { TransportModeFieldsFragment } from \"../../../../../graphql-types\"\nimport * as styles from \"./transport-mode.module.scss\"\nimport { DisplayImage } from \"../../display-image/display-image\"\n\ntype RenderProps = {\n  data: TransportModeFieldsFragment\n}\n\nconst TransportMode: React.FC<RenderProps> = ({ data }) => {\n  return (\n    <div className={styles.container}>\n      <div className={styles.emptyLeftPart} />\n      <div className={styles.transportModesWrapper}>\n        <h2 className={styles.transportModesTitle}>{data.title}</h2>\n        <div className={styles.transportModesContainer}>\n          <ul className={styles.transportModes}>\n            {data?.transportMethodContent?.transportModeKeolis.map((methodTransport, index) => (\n              <a\n                className={styles.transportModeElement}\n                key={methodTransport.transportModeName}\n                href={methodTransport?.transportModePage?.slug}\n              >\n                {methodTransport && (\n                  <DisplayImage\n                    image={methodTransport.transportModeIcon}\n                    svgStyle={styles.pictogram}\n                    imgStyle={styles.pictogram}\n                    pictogramColor=\"#FFFFFF\"\n                  />\n                )}\n                <span className={styles.transportMethodName}>{methodTransport.transportModeName}</span>\n              </a>\n            ))}\n          </ul>\n        </div>\n      </div>\n    </div>\n  )\n}\n\nexport const fragments = graphql`\n  fragment TransportModeFields on DatoCmsTransportMethodContent {\n    __typename\n    id\n    title\n    transportMethodContent {\n      transportModeKeolis {\n        transportModeName\n        transportModeIcon {\n          alt\n          url\n          format\n        }\n        transportModePage {\n          slug\n        }\n      }\n    }\n  }\n`\n\nexport default TransportMode\n","import React from \"react\"\nimport { graphql } from \"gatsby\"\nimport { VideoFieldsFragment } from \"../../../../../graphql-types\"\nimport * as styles from \"./video.module.scss\"\n\ntype RenderProps = {\n  data: VideoFieldsFragment\n}\n\nconst Video: React.FC<RenderProps> = ({ data }) => {\n  return (\n    <div className={styles.iframeContainer}>\n      <iframe\n        className={styles.iframe}\n        src={data.url}\n        title={data.title?.length > 0 ? data.title : \"Video player\"}\n        tabIndex={-1}\n        allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n        sandbox=\"allow-same-origin allow-scripts allow-popups allow-forms allow-presentation allow-modals allow-top-navigation\"\n        loading=\"lazy\"\n        allowFullScreen\n      />\n    </div>\n  )\n}\n\nexport const fragments = graphql`\n  fragment VideoFields on DatoCmsVideo {\n    __typename\n    id\n    title\n    url\n  }\n`\n\nexport default Video\n","// extracted by mini-css-extract-plugin\nexport var iframe = \"video-module--iframe--09221\";\nexport var iframeContainer = \"video-module--iframeContainer--59e35\";","import React from \"react\"\nimport { graphql } from \"gatsby\"\nimport { V3QuoteFieldsFragment } from \"../../../../../graphql-types\"\nimport * as styles from \"./quote.module.scss\"\nimport sanitizeHtml from \"sanitize-html\"\nimport { useFormatDate } from \"../../../hooks\"\nimport { useLocale } from \"../../../context/locale-context\"\n\ntype RenderProps = {\n  data: V3QuoteFieldsFragment\n}\n\nconst Quote: React.FC<RenderProps> = ({ data }) => {\n  const { locale } = useLocale()\n  return (\n    <div className={styles.quoteBlock}>\n      <p\n        key={data.id}\n        className={styles.quoteContent}\n        dangerouslySetInnerHTML={{\n          __html: sanitizeHtml(data.quote),\n        }}\n      />\n\n      <div className={styles.quoteAuthor}>\n        <span className={styles.quoteDate}>{useFormatDate(data.date, locale)}</span> par {data.name}\n      </div>\n    </div>\n  )\n}\n\nexport const fragments = graphql`\n  fragment V3QuoteFields on DatoCmsQuote {\n    id\n    name\n    quote\n    date\n  }\n`\n\nexport default Quote\n","// extracted by mini-css-extract-plugin\nexport var quoteAuthor = \"quote-module--quoteAuthor--ce302\";\nexport var quoteBlock = \"quote-module--quoteBlock--0d021\";\nexport var quoteContent = \"quote-module--quoteContent--51f7f\";\nexport var quoteDate = \"quote-module--quoteDate--70e66\";","import React, { useRef } from \"react\"\nimport { graphql } from \"gatsby\"\nimport { PartnersContentFieldsFragment } from \"../../../../../graphql-types\"\nimport * as styles from \"./partners.module.scss\"\nimport { useIsMobile } from \"../../../hooks\"\nimport { DisplayImage } from \"../../display-image/display-image\"\nimport ScrollArrow from \"../../tools/scroll-arrow/scroll-arrow\"\n\ntype RenderProps = {\n  data: PartnersContentFieldsFragment\n}\n\nconst Partners: React.FC<RenderProps> = ({ data }) => {\n  const isMobile = useIsMobile()\n  const cards = useRef(null)\n  const scrollToCard = (scrollDirection: number) => {\n    const itemWidth = cards.current.children[0].clientWidth + 4\n    cards.current.scrollBy({\n      left: itemWidth * scrollDirection,\n      top: 0,\n      behavior: \"smooth\",\n    })\n  }\n\n  return (\n    <div className={styles.container}>\n      <h2 className={styles.title} style={{ \"--color-block\": data.color.hex } as React.CSSProperties}>\n        {data.title}\n      </h2>\n      <div className={styles.alignRight}>\n        <div className={styles.imageContainer} ref={cards}>\n          {data.partners.map((partner, index) => (\n            <a key={partner.url} href={partner.url} target=\"_blank\" className={styles.imageContent}>\n              <DisplayImage image={partner.logo} />\n            </a>\n          ))}\n        </div>\n        {!isMobile && data.partners.length > 4 && (\n          <div className={styles.arrowsContainer}>\n            <ScrollArrow direction=\"left\" onClick={() => scrollToCard(-1)} />\n            <ScrollArrow direction=\"right\" onClick={() => scrollToCard(1)} />\n          </div>\n        )}\n      </div>\n    </div>\n  )\n}\n\nexport const fragment = graphql`\n  fragment PartnersContentFields on DatoCmsPartnersContent {\n    id\n    __typename\n    title\n    color {\n      hex\n    }\n    partners {\n      logo {\n        ...PartnerImageFields\n      }\n      url\n    }\n  }\n\n  fragment PartnerImageFields on DatoCmsFileField {\n    alt\n    format\n    url\n  }\n`\n\nexport default Partners\n","// extracted by mini-css-extract-plugin\nexport var alignRight = \"partners-module--alignRight--594e5\";\nexport var arrowsContainer = \"partners-module--arrowsContainer--574b6\";\nexport var container = \"partners-module--container--afa64\";\nexport var imageContainer = \"partners-module--imageContainer--a472b\";\nexport var imageContent = \"partners-module--imageContent--8fd10\";\nexport var title = \"partners-module--title--ce0db\";","// extracted by mini-css-extract-plugin\nexport var backgroundImage = \"large-partners-module--backgroundImage--978d7\";\nexport var container = \"large-partners-module--container--08d4d\";\nexport var partner = \"large-partners-module--partner--ba3eb\";\nexport var partners = \"large-partners-module--partners--f1ccf\";\nexport var redirectLink = \"large-partners-module--redirectLink--4e867\";","import React, { useRef } from \"react\"\nimport { graphql } from \"gatsby\"\nimport { PartnersLargeFieldsFragment } from \"../../../../../graphql-types\"\nimport * as styles from \"./large-partners.module.scss\"\nimport { useIsMobile } from \"../../../hooks/use-is-mobile\"\n\ntype RenderProps = {\n  data: PartnersLargeFieldsFragment\n}\n\nconst PartnersLarge: React.FC<RenderProps> = ({ data }) => {\n  const isMobile = useIsMobile()\n  return (\n    <div className={styles.container}>\n      <div\n        className={styles.backgroundImage}\n        style={\n          {\n            \"--background-image\": data.backgroundImage.url ? `url(${data.backgroundImage.url})` : \"\",\n          } as React.CSSProperties\n        }\n      >\n        <div className={styles.partners}>\n          {data.partners.map((partner, index) => {\n            if (isMobile && index > 3) {\n              return\n            }\n            const url = partner.url && (partner.url.startsWith(\"http\") ? partner.url : `https://${partner.url}`)\n\n            return url ? (\n              <a\n                className={styles.redirectLink}\n                key={partner.url + index}\n                href={url}\n                target=\"_blank\"\n                rel=\"noopener noreferrer\"\n              >\n                <img className={styles.partner} src={partner.logo.url} alt={partner.logo.alt} />\n              </a>\n            ) : (\n              <img\n                key={partner.logo.url + index}\n                className={styles.partner}\n                src={partner.logo.url}\n                alt={partner.logo.alt}\n              />\n            )\n          })}\n        </div>\n      </div>\n    </div>\n  )\n}\n\nexport const fragment = graphql`\n  fragment PartnersLargeFields on DatoCmsPartnersLarge {\n    id\n    __typename\n    backgroundImage {\n      alt\n      format\n      title\n      url\n    }\n    partners {\n      logo {\n        ...PartnerImageFields\n      }\n      url\n    }\n  }\n\n  fragment PartnerImageFields on DatoCmsFileField {\n    alt\n    format\n    url\n  }\n`\n\nexport default PartnersLarge\n","import React from \"react\"\nimport ReactHtmlParser from \"react-html-parser\"\nimport { graphql } from \"gatsby\"\nimport { V3StructuredTextFieldsFragment } from \"../../../../../graphql-types\"\nimport * as styles from \"./v3-structured-text-content.module.scss\"\nimport { render } from \"datocms-structured-text-to-html-string\"\nimport sanitizeHtml from \"sanitize-html\"\n\ntype RenderProps = {\n  data: V3StructuredTextFieldsFragment\n}\n\nconst StructuredTextContent: React.FC<RenderProps> = ({ data }) => {\n  const options = {\n    renderBlock({ record, adapter: { renderNode } }) {\n      return renderNode(\"figure\", {}, renderNode(\"img\", { src: record.url }))\n    },\n    renderInlineRecord({ record, adapter: { renderNode } }) {\n      return renderNode(\"a\", { href: `/${record.slug}` }, record.title)\n    },\n    renderLinkToRecord({ record, children, adapter: { renderNode } }) {\n      return renderNode(\"a\", { href: `/${record.slug}` }, children)\n    },\n  }\n\n  return (\n    <div className={styles.textBlock}>\n      <div className={styles.heading}>\n        {data.headingH2 !== null && data.headingH2 !== \"\" && <h2>{data.headingH2}</h2>}\n      </div>\n      <div className={styles.structuredText}>\n        {data &&\n          data.structuredText &&\n          ReactHtmlParser(\n            sanitizeHtml(render(data.structuredText.value, options), {\n              allowedAttributes: {\n                ...sanitizeHtml.defaults.allowedAttributes,\n                a: (sanitizeHtml.defaults.allowedAttributes.a || []).concat([\"href\"]),\n              },\n              allowedSchemesByTag: {\n                ...sanitizeHtml.defaults.allowedSchemesByTag,\n                a: [\"http\", \"https\", \"javascript\", \"mailto\"],\n              },\n              exclusiveFilter: frame =>\n                frame.tag === \"a\" &&\n                frame.attribs.href &&\n                frame.attribs.href.startsWith(\"javascript\") &&\n                !frame.attribs.href.startsWith(\"javascript:Didomi\"),\n            })\n          )}\n      </div>\n    </div>\n  )\n}\n\nexport const fragments = graphql`\n  fragment V3StructuredTextFields on DatoCmsV3StructuredText {\n    __typename\n    id\n    headingH2\n    structuredText {\n      value\n    }\n  }\n`\n\nexport default StructuredTextContent\n","// extracted by mini-css-extract-plugin\nexport var heading = \"v3-structured-text-content-module--heading--c32b8\";\nexport var structuredText = \"v3-structured-text-content-module--structuredText--54784\";\nexport var textBlock = \"v3-structured-text-content-module--textBlock--46e6c\";","import React from \"react\"\nimport { graphql } from \"gatsby\"\nimport { V3VideoFieldsFragment } from \"../../../../../graphql-types\"\nimport sanitizeHtml from \"sanitize-html\"\nimport * as styles from \"./v3-video.module.scss\"\n\ntype RenderProps = {\n  data: V3VideoFieldsFragment\n}\n\nconst V3Video: React.FC<RenderProps> = ({ data }) => {\n  const sanitizedText = sanitizeHtml(data.heading)\n\n  return (\n    <div className={styles.videoContainer}>\n      <div className={styles.heading}>\n        <p className={styles.text} dangerouslySetInnerHTML={{ __html: sanitizedText }} />\n      </div>\n      <iframe\n        className={styles.iframe}\n        src={data.url}\n        title=\"Video player\"\n        tabIndex={-1}\n        allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n        sandbox=\"allow-same-origin allow-scripts allow-popups allow-forms allow-presentation allow-modals allow-top-navigation\"\n        loading=\"lazy\"\n        allowFullScreen\n      />\n    </div>\n  )\n}\n\nexport const fragment = graphql`\n  fragment V3VideoFields on DatoCmsV3Video {\n    id\n    __typename\n    url\n    heading\n  }\n`\n\nexport default V3Video\n","// extracted by mini-css-extract-plugin\nexport var heading = \"v3-video-module--heading--dc8ad\";\nexport var iframe = \"v3-video-module--iframe--27032\";\nexport var text = \"v3-video-module--text--a8697\";\nexport var videoContainer = \"v3-video-module--videoContainer--3e176\";","import React from \"react\"\nimport { graphql } from \"gatsby\"\nimport { V3ImageFieldsFragment } from \"../../../../../graphql-types\"\nimport sanitizeHtml from \"sanitize-html\"\nimport * as styles from \"./v3-image.module.scss\"\n\ntype RenderProps = {\n  data: V3ImageFieldsFragment\n}\n\nconst V3Image: React.FC<RenderProps> = ({ data }) => {\n  const sanitizedText = sanitizeHtml(data.heading)\n\n  return (\n    <div className={styles.imageContainer}>\n      <div className={styles.heading}>\n        <p className={styles.text} dangerouslySetInnerHTML={{ __html: sanitizedText }} />\n      </div>\n      <div className={styles.image}>\n        <img src={data.image.url} alt={data.image.alt} />\n      </div>\n    </div>\n  )\n}\n\nexport const fragments = graphql`\n  fragment V3ImageFields on DatoCmsV3Image {\n    id\n    __typename\n    image {\n      alt\n      url\n    }\n    heading\n  }\n`\n\nexport default V3Image\n","// extracted by mini-css-extract-plugin\nexport var heading = \"v3-image-module--heading--3e67c\";\nexport var image = \"v3-image-module--image--077fa\";\nexport var imageContainer = \"v3-image-module--imageContainer--49e1e\";\nexport var text = \"v3-image-module--text--7c3a5\";","import React, { useState } from \"react\"\nimport { graphql } from \"gatsby\"\nimport { V3DiaporamaFieldsFragment } from \"../../../../../graphql-types\"\nimport sanitizeHtml from \"sanitize-html\"\nimport * as styles from \"./v3-diaporama.module.scss\"\nimport ScrollArrow from \"../../tools/scroll-arrow/scroll-arrow\"\n\ntype RenderProps = {\n  data: V3DiaporamaFieldsFragment\n}\n// cssClass optional\nconst ImageOrVideo = ({ element, cssClass }: { element: any; cssClass?: string }) => {\n  return (\n    <div className={cssClass}>\n      {element.__typename === \"DatoCmsV3Image\" ? (\n        <img src={element.image.url} alt={element.image.alt} loading=\"lazy\" />\n      ) : (\n        <iframe\n          src={element.url}\n          title=\"Video player\"\n          tabIndex={-1}\n          allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\"\n          sandbox=\"allow-same-origin allow-scripts allow-popups allow-forms allow-presentation allow-modals allow-top-navigation\"\n          loading=\"lazy\"\n          allowFullScreen\n        />\n      )}\n    </div>\n  )\n}\n// main component\nconst V3Diaporama: React.FC<RenderProps> = ({ data }) => {\n  const [index, setIndex] = useState(0)\n  const previousElement = data.diaporama[index - 1 < 0 ? data.diaporama.length - 1 : index - 1]\n  const element = data.diaporama[index]\n  const sanitizedText = sanitizeHtml(element.heading)\n\n  const handleScroll = (scrollDirection: number) => {\n    // scroll right\n    if (scrollDirection === 1 && index < data.diaporama.length - 1) {\n      setIndex(index + 1)\n      // scroll left\n    } else if (scrollDirection === -1 && index > 0) {\n      setIndex(index - 1)\n      // handle infinite scroll\n    } else if (scrollDirection === 1 && index === data.diaporama.length - 1) {\n      setIndex(0)\n    } else if (scrollDirection === -1 && index === 0) {\n      setIndex(data.diaporama.length - 1)\n    }\n  }\n\n  return (\n    <div className={styles.diaporamaContainer}>\n      <div className={styles.heading}>\n        <ImageOrVideo element={previousElement} cssClass={styles.smallMedia} />\n        {data.diaporama.length > 1 && (\n          <div className={styles.arrowsContainer}>\n            <ScrollArrow direction=\"left\" onClick={() => handleScroll(-1)} />\n            <ScrollArrow direction=\"right\" onClick={() => handleScroll(1)} />\n          </div>\n        )}\n      </div>\n      <div className={styles.mainContent}>\n        <ImageOrVideo element={element} cssClass={styles.media} />\n        {sanitizedText.length > 0 && <p className={styles.text} dangerouslySetInnerHTML={{ __html: sanitizedText }} />}\n      </div>\n    </div>\n  )\n}\n\nexport const fragment = graphql`\n  fragment V3DiaporamaFields on DatoCmsV3Diaporama {\n    id\n    __typename\n    diaporama {\n      ... on DatoCmsV3Image {\n        ...V3ImageFields\n      }\n      ... on DatoCmsV3Video {\n        ...V3VideoFields\n      }\n    }\n  }\n`\nexport default V3Diaporama\n","// extracted by mini-css-extract-plugin\nexport var arrowsContainer = \"v3-diaporama-module--arrowsContainer--d8c8f\";\nexport var diaporamaContainer = \"v3-diaporama-module--diaporamaContainer--171f7\";\nexport var heading = \"v3-diaporama-module--heading--c2944\";\nexport var mainContent = \"v3-diaporama-module--mainContent--ac8b5\";\nexport var media = \"v3-diaporama-module--media--20dd0\";\nexport var smallMedia = \"v3-diaporama-module--smallMedia--9bf36\";\nexport var text = \"v3-diaporama-module--text--f56ef\";","import React, { useRef } from \"react\"\nimport { ReactSVG } from \"react-svg\"\nimport { graphql } from \"gatsby\"\nimport { BiographicCardVerticalFieldsFragment, V3SocialNetworkFieldsFragment } from \"../../../../../../graphql-types\"\nimport * as styles from \"./v3-biographic-card-vertical.module.scss\"\nimport { useLocale } from \"../../../../context/locale-context\"\nimport { useSlugs } from \"../../../../context/slugs-context\"\n\ntype RenderProps = {\n  data: BiographicCardVerticalFieldsFragment\n  governancePageSlug?: string\n  socialNetworks: V3SocialNetworkFieldsFragment[]\n}\nconst displayIcon = (link: string, icon: string, style: string) => {\n  return (\n    <a href={link} className={style}>\n      <ReactSVG src={icon} aria-hidden={true} />\n    </a>\n  )\n}\nconst BiographicCardVertical: React.FC<RenderProps> = ({ data, socialNetworks }) => {\n  const { governanceMembersPageSlug } = useSlugs()\n  const { locale, defaultLocale } = useLocale()\n  const refContainer = useRef(null)\n\n  const getSlugByLocale = (slug: string) =>\n    locale === defaultLocale\n      ? `/${governanceMembersPageSlug}/${slug}`\n      : `/${locale}/${governanceMembersPageSlug}/${slug}`\n\n  return (\n    <nav className={styles.navigation} ref={refContainer} role=\"navigation\">\n      <ul className={styles.cardsContainer}>\n        {data.members?.map(member => {\n          return (\n            <li key={member.id} className={styles.card}>\n              {member.dedicatedPage && <a href={getSlugByLocale(member.slug)} className={styles.allCardLink} />}\n              <img className={styles.memberPhoto} src={member.photo.url} alt={member.photo.alt} />\n              <div\n                className={styles.filter}\n                style={\n                  {\n                    \"--filter-color\": member.opacifyingFilter?.at(0)?.filterColor?.hex ?? \"white\",\n                    \"--filter-opacity\": (member.opacifyingFilter.at(0)?.filterOpacity ?? 10) / 100,\n                  } as React.CSSProperties\n                }\n              />\n              <div className={styles.name}>{member.name}</div>\n\n              <div className={styles.bioContainer}>\n                <span>{member.function}</span>\n                <div className={styles.socialNetworkContainer}>\n                  {member.linkedinProfile &&\n                    displayIcon(\n                      member.linkedinProfile,\n                      socialNetworks.find(network => network.link.includes(\"linkedin\"))?.image.url,\n                      styles.linkLinkedin\n                    )}\n                  {member.twitterProfile &&\n                    displayIcon(\n                      member.twitterProfile,\n                      socialNetworks.find(network => network.link.includes(\"twitter\"))?.image.url,\n                      styles.linkTwitter\n                    )}\n                </div>\n              </div>\n            </li>\n          )\n        })}\n      </ul>\n    </nav>\n  )\n}\n\nexport const fragment = graphql`\n  fragment BiographicCardVerticalFields on DatoCmsBiographicCardVertical {\n    id\n    members {\n      id\n      name\n      function\n      linkedinProfile\n      twitterProfile\n      photo {\n        alt\n        format\n        title\n        url\n      }\n      opacifyingFilter {\n        filterColor {\n          hex\n        }\n        filterOpacity\n      }\n      dedicatedPage\n      slug\n    }\n  }\n`\n\nexport default BiographicCardVertical\n","// extracted by mini-css-extract-plugin\nexport var allCardLink = \"v3-biographic-card-vertical-module--allCardLink--f8a8b\";\nexport var bioContainer = \"v3-biographic-card-vertical-module--bioContainer--516c7\";\nexport var card = \"v3-biographic-card-vertical-module--card--70636\";\nexport var cardsContainer = \"v3-biographic-card-vertical-module--cardsContainer--b74bf\";\nexport var filter = \"v3-biographic-card-vertical-module--filter--da0da\";\nexport var linkLinkedin = \"v3-biographic-card-vertical-module--linkLinkedin--20882\";\nexport var linkTwitter = \"v3-biographic-card-vertical-module--linkTwitter--001eb\";\nexport var memberPhoto = \"v3-biographic-card-vertical-module--memberPhoto--56353\";\nexport var name = \"v3-biographic-card-vertical-module--name--97bd9\";\nexport var navigation = \"v3-biographic-card-vertical-module--navigation--7b46c\";\nexport var socialNetworkContainer = \"v3-biographic-card-vertical-module--socialNetworkContainer--db6c9\";","import React, { useRef } from \"react\"\nimport { ReactSVG } from \"react-svg\"\nimport { graphql } from \"gatsby\"\nimport { V3BlockToPdfFieldsFragment } from \"../../../../../graphql-types\"\nimport * as styles from \"./v3-block-to-pdf.module.scss\"\nimport { useIsMobile } from \"../../../hooks\"\nimport ScrollArrow from \"../../tools/scroll-arrow/scroll-arrow\"\nimport { getAssociatedColor } from \"../../../utils\"\n\ntype RenderProps = {\n  data: V3BlockToPdfFieldsFragment\n}\n\nconst V3BlockToPdf: React.FC<RenderProps> = ({ data }) => {\n  const isMobile = useIsMobile()\n  const cards = useRef(null)\n  const scrollToCard = (scrollDirection: number) => {\n    const itemWidth = cards.current.children[0].clientWidth + 4\n    cards.current.scrollBy({\n      left: itemWidth * scrollDirection,\n      top: 0,\n      behavior: \"smooth\",\n    })\n  }\n\n  return (\n    <div className={styles.container}>\n      <div className={styles.emptyLeftPart} />\n      <div className={styles.alignRight}>\n        <div className={styles.cardContainer} ref={cards}>\n          {data.listOfPdf.map((pdf, index) => (\n            <a href={pdf.pdf.url} target=\"_blank\" className={styles.card} key={pdf.title}>\n              <ReactSVG\n                src={`/vectors/v3/block-to-pdf/card${(index % 4) + 1}.svg`}\n                className={styles.backgroundSvg}\n                afterInjection={svg => {\n                  svg\n                    .querySelectorAll(\"#Groupe_1640 rect, #Groupe_1640 path\")\n                    .forEach(group => group.setAttribute(\"style\", `fill: ${pdf.backgroundColor.hex}`))\n                  svg\n                    .querySelector(\"#BK-DARK\")\n                    .setAttribute(\"style\", `fill: ${getAssociatedColor(pdf.backgroundColor.hex)}`)\n                }}\n              />\n\n              <ReactSVG src={\"/vectors/v3/block-to-pdf/open-link.svg\"} className={styles.openLink} />\n              <div className={styles.title} style={{ color: pdf.titleColor.hex }}>\n                {pdf.title}\n              </div>\n            </a>\n          ))}\n        </div>\n        {!isMobile && data.listOfPdf.length > 4 && (\n          <div className={styles.arrowsContainer}>\n            <ScrollArrow direction=\"left\" onClick={() => scrollToCard(-1)} />\n            <ScrollArrow direction=\"right\" onClick={() => scrollToCard(1)} />\n          </div>\n        )}\n      </div>\n    </div>\n  )\n}\n\nexport const fragment = graphql`\n  fragment V3BlockToPdfFields on DatoCmsV3BlockToPdf {\n    id\n    __typename\n    listOfPdf {\n      title\n      titleColor {\n        hex\n      }\n      backgroundColor {\n        hex\n      }\n      pdf {\n        url\n      }\n    }\n  }\n`\n\nexport default V3BlockToPdf\n","// extracted by mini-css-extract-plugin\nexport var alignRight = \"v3-block-to-pdf-module--alignRight--bcb2c\";\nexport var arrowsContainer = \"v3-block-to-pdf-module--arrowsContainer--e6f12\";\nexport var backgroundSvg = \"v3-block-to-pdf-module--backgroundSvg--50466\";\nexport var card = \"v3-block-to-pdf-module--card--f5296\";\nexport var cardContainer = \"v3-block-to-pdf-module--cardContainer--f57cb\";\nexport var container = \"v3-block-to-pdf-module--container--ffc57\";\nexport var emptyLeftPart = \"v3-block-to-pdf-module--emptyLeftPart--2ea39\";\nexport var openLink = \"v3-block-to-pdf-module--openLink--83191\";\nexport var title = \"v3-block-to-pdf-module--title--27492\";","import React, { useRef } from \"react\"\nimport { ReactSVG } from \"react-svg\"\nimport { graphql } from \"gatsby\"\nimport { V3TextCarouselFieldsFragment } from \"../../../../../graphql-types\"\n\nimport * as styles from \"./v3-text-carousel.module.scss\"\nimport { useIsMobile } from \"../../../hooks\"\nimport ScrollArrow from \"../../tools/scroll-arrow/scroll-arrow\"\nimport { getAssociatedColor } from \"../../../utils\"\n\ntype RenderProps = {\n  data: V3TextCarouselFieldsFragment\n}\n\nconst V3TextCarousel: React.FC<RenderProps> = ({ data }) => {\n  const isMobile = useIsMobile()\n  const carousel = useRef(null)\n  const scrollToCard = (scrollDirection: number) => {\n    const itemWidth = carousel.current.children[0].clientWidth + 4\n    carousel.current.scrollBy({\n      left: itemWidth * scrollDirection,\n      top: 0,\n      behavior: \"smooth\",\n    })\n  }\n  return (\n    <div className={styles.container}>\n      <div className={styles.carousel} ref={carousel}>\n        {data.listOfTexts.map((elt, index) => (\n          <div key={Object.values(elt).join(\"\")} className={styles.carouselElt}>\n            <ReactSVG\n              src={\"/vectors/v3/text-to-carousel/card1.svg\"}\n              className={styles.backgroundSvg}\n              afterInjection={svg => {\n                svg\n                  .querySelectorAll(\"#colors rect\")\n                  .forEach(group => group.setAttribute(\"style\", `fill: ${elt.backgroundColor.hex}`))\n                svg\n                  .querySelectorAll(\"#colors path\")\n                  .forEach(group => group.setAttribute(\"style\", `fill: ${getAssociatedColor(elt.backgroundColor.hex)}`))\n              }}\n            />\n\n            <div className={styles.content} style={{ color: elt.textColor.hex }}>\n              <span className={styles.title}>{elt.title}</span>\n              <span className={styles.text}>{elt.text}</span>\n            </div>\n          </div>\n        ))}\n      </div>\n      {!isMobile && data.listOfTexts.length > 4 && (\n        <div className={styles.arrowsContainer}>\n          <ScrollArrow direction=\"left\" onClick={() => scrollToCard(-1)} />\n          <ScrollArrow direction=\"right\" onClick={() => scrollToCard(1)} />\n        </div>\n      )}\n    </div>\n  )\n}\n\nexport const fragment = graphql`\n  fragment V3TextCarouselFields on DatoCmsV3TextsCarousel {\n    id\n    __typename\n    listOfTexts {\n      title\n      text\n      textColor {\n        hex\n      }\n      backgroundColor {\n        hex\n      }\n    }\n  }\n`\n\nexport default V3TextCarousel\n","// extracted by mini-css-extract-plugin\nexport var arrowsContainer = \"v3-text-carousel-module--arrowsContainer--bd623\";\nexport var backgroundSvg = \"v3-text-carousel-module--backgroundSvg--c368d\";\nexport var carousel = \"v3-text-carousel-module--carousel--acb40\";\nexport var carouselElt = \"v3-text-carousel-module--carouselElt--f8160\";\nexport var container = \"v3-text-carousel-module--container--aa390\";\nexport var content = \"v3-text-carousel-module--content--d76c4\";\nexport var text = \"v3-text-carousel-module--text--36dfd\";\nexport var title = \"v3-text-carousel-module--title--2ac23\";","import React from \"react\"\nimport { graphql } from \"gatsby\"\nimport { V3UsefulInfoFieldsFragment } from \"../../../../../graphql-types\"\n\nimport * as styles from \"./v3-useful-infos.module.scss\"\nimport SimpleText from \"../simple-text/simple-text\"\n\ntype RenderProps = {\n  data: V3UsefulInfoFieldsFragment\n}\n\nconst V3TextCarousel: React.FC<RenderProps> = ({ data }) => (\n  <div className={styles.container}>\n    <div className={styles.emptyLeftPart} />\n    <div className={styles.usefulInfosWrapper}>\n      <h2 className={styles.title}>{data.title}</h2>\n      <div className={styles.paragraphs}>\n        {data.usefulInfoContent.map(item => (\n          <SimpleText data={item} key={item.id} />\n        ))}\n      </div>\n    </div>\n  </div>\n)\n\nexport const fragment = graphql`\n  fragment V3UsefulInfoFields on DatoCmsV3UsefulInfo {\n    id\n    __typename\n    title\n    usefulInfoContent: content {\n      ...SimpleTextFields\n    }\n  }\n`\n\nexport default V3TextCarousel\n","// extracted by mini-css-extract-plugin\nexport var container = \"v3-useful-infos-module--container--df263\";\nexport var emptyLeftPart = \"v3-useful-infos-module--emptyLeftPart--ce771\";\nexport var paragraphs = \"v3-useful-infos-module--paragraphs--991c1\";\nexport var title = \"v3-useful-infos-module--title--9928d\";\nexport var usefulInfosWrapper = \"v3-useful-infos-module--usefulInfosWrapper--e0b92\";","import React from \"react\"\nimport { graphql } from \"gatsby\"\nimport {\n  BiographicCardHorizontalFieldsFragment,\n  BiographicCardVerticalFieldsFragment,\n  ButtonFieldsFragment,\n  IframeFieldsFragment,\n  ImageFieldsFragment,\n  KeyNumberColoredBackgroundFieldsFragment,\n  KeyNumberColoredFieldsFragment,\n  KeyNumberSimpleFieldsFragment,\n  NetworkContactFieldsFragment,\n  OutlinedTextBlockFieldsFragment,\n  PartnersContentFieldsFragment,\n  PartnersLargeFieldsFragment,\n  RelatedContentFieldsFragment,\n  SimpleTextFieldsFragment,\n  SliderFieldsFragment,\n  StructuredTextFieldsFragment,\n  TransportModeFieldsFragment,\n  V3BlockSameTopicFieldsFragment,\n  V3BlockToPdfFieldsFragment,\n  V3DiaporamaFieldsFragment,\n  V3ImageFieldsFragment,\n  V3KeyFiguresBlockFieldsFragment,\n  V3PresentationTypePageFieldsFragment,\n  V3QuoteFieldsFragment,\n  V3SocialNetworkFieldsFragment,\n  V3StructuredTextFieldsFragment,\n  V3TextCarouselFieldsFragment,\n  V3UsefulInfoFieldsFragment,\n  V3VideoFieldsFragment,\n  VideoFieldsFragment,\n  V3BlockThematicHighlightFieldsFragment,\n  V3BlockRecruitmentFieldsFragment,\n} from \"../../../../graphql-types\"\nimport * as styles from \"./rich_dato_cms_content.module.scss\"\nimport BiographicCardHorizontal from \"./biographic-card/horizontal/biographic-card-horizontal\"\nimport Button from \"./button/button\"\nimport HighLight from \"../highlight/highlight\"\nimport Image from \"../image/image\"\nimport IFrame from \"./iframe/iframe\"\nimport KeyNumbers from \"./key-numbers/key-numbers\"\nimport NetworkContact from \"./network-contact/network-contact\"\nimport OutlinedTextBlock from \"./outlined-text-block/outlined-text-block\"\nimport RelatedContent from \"./related-content/related-content\"\nimport SimpleText from \"./simple-text/simple-text\"\nimport Slider from \"./slider/slider\"\nimport StructuredTextContent from \"./structured-text-content/structured-text-content\"\nimport TransportMode from \"./transport-mode/transport-mode\"\nimport Video from \"./video/video\"\nimport Quote from \"./quote/quote\"\nimport Presentation from \"./presentation/presentation\"\nimport Partners from \"./partners/partners\"\nimport PartnersLarge from \"./partners/large-partners\"\nimport KeyFigures from \"../key-figures/key-figures\"\nimport V3StructuredTextContent from \"./structured-text-content/v3-structured-text-content\"\nimport V3Video from \"./v3-video/v3-video\"\nimport V3Image from \"./v3-image/v3-image\"\nimport V3Diaporama from \"./v3-diaporama/v3-diaporama\"\nimport V3BiographicCardVertical from \"./biographic-card/vertical/v3-biographic-card-vertical\"\nimport V3BlockToPdf from \"./v3-block-to-pdf/v3-block-to-pdf\"\nimport V3TextCarousel from \"./v3-text-carousel/v3-text-carousel\"\nimport V3UsefulInfos from \"./v3-useful-infos/v3-useful-infos\"\nimport Thematic from \"../home/thematic/thematic\"\nimport Recruitment from \"../home/recruitment/recruitment\"\n\ntype RichDatoCmsContentUnion = { __typename?: string } & (\n  | BiographicCardHorizontalFieldsFragment\n  | BiographicCardVerticalFieldsFragment\n  | ButtonFieldsFragment\n  | IframeFieldsFragment\n  | ImageFieldsFragment\n  | KeyNumberColoredBackgroundFieldsFragment\n  | KeyNumberColoredFieldsFragment\n  | KeyNumberSimpleFieldsFragment\n  | NetworkContactFieldsFragment\n  | OutlinedTextBlockFieldsFragment\n  | RelatedContentFieldsFragment\n  | SimpleTextFieldsFragment\n  | SliderFieldsFragment\n  | StructuredTextFieldsFragment\n  | TransportModeFieldsFragment\n  | VideoFieldsFragment\n  | V3PresentationTypePageFieldsFragment\n  | PartnersContentFieldsFragment\n  | PartnersLargeFieldsFragment\n  | V3QuoteFieldsFragment\n  | V3KeyFiguresBlockFieldsFragment\n  | V3StructuredTextFieldsFragment\n  | V3DiaporamaFieldsFragment\n  | V3ImageFieldsFragment\n  | V3VideoFieldsFragment\n  | V3TextCarouselFieldsFragment\n  | V3BlockSameTopicFieldsFragment\n  | V3UsefulInfoFieldsFragment\n  | V3BlockThematicHighlightFieldsFragment\n  | V3BlockRecruitmentFieldsFragment\n)\n\ntype RenderProps = {\n  data: RichDatoCmsContentUnion[]\n  socialNetworks?: V3SocialNetworkFieldsFragment[]\n}\n\nconst RichDatoCmsContent: React.FC<RenderProps> = ({ data, socialNetworks }) => {\n  const fetchRichDatoCmsContent = (richContent: RichDatoCmsContentUnion, index: number) => {\n    switch (richContent.__typename) {\n      case \"DatoCmsBiographicCardHorizontal\":\n        return (\n          <BiographicCardHorizontal data={richContent as BiographicCardHorizontalFieldsFragment} key={richContent.id} />\n        )\n      case \"DatoCmsBiographicCardVertical\":\n        return (\n          <V3BiographicCardVertical\n            data={richContent as BiographicCardVerticalFieldsFragment}\n            socialNetworks={socialNetworks}\n            key={richContent.id}\n          />\n        )\n      case \"DatoCmsButton\":\n        return <Button data={richContent as ButtonFieldsFragment} key={richContent.id} />\n      case \"DatoCmsIframe\":\n        return <IFrame data={richContent as IframeFieldsFragment} key={richContent.id} />\n      case \"DatoCmsImage\":\n        return <Image data={richContent as ImageFieldsFragment} key={richContent.id} />\n      case \"DatoCmsKeyNumberColoredBackground\":\n        return <KeyNumbers data={richContent as KeyNumberColoredBackgroundFieldsFragment} key={richContent.id} />\n      case \"DatoCmsKeyNumberColored\":\n        return <KeyNumbers data={richContent as KeyNumberColoredFieldsFragment} key={richContent.id} />\n      case \"DatoCmsKeyNumberSimple\":\n        return <KeyNumbers data={richContent as KeyNumberSimpleFieldsFragment} key={richContent.id} />\n      case \"DatoCmsContactNetwork\":\n        return <NetworkContact data={richContent as NetworkContactFieldsFragment} key={richContent.id} />\n      case \"DatoCmsOutlinedTextBlock\":\n        return <OutlinedTextBlock data={richContent as OutlinedTextBlockFieldsFragment} key={richContent.id} />\n      case \"DatoCmsRelatedContent\":\n        return <RelatedContent data={richContent as RelatedContentFieldsFragment} key={richContent.id} />\n      case \"DatoCmsSimpleText\":\n        return <SimpleText data={richContent as SimpleTextFieldsFragment} key={richContent.id} />\n      case \"DatoCmsSlider\":\n        return <Slider data={richContent as SliderFieldsFragment} key={richContent.id} />\n      case \"DatoCmsStructuredText\":\n        return <StructuredTextContent data={richContent as StructuredTextFieldsFragment} key={richContent.id} />\n      case \"DatoCmsTransportMethodContent\":\n        return <TransportMode data={richContent as TransportModeFieldsFragment} key={richContent.id} />\n      case \"DatoCmsVideo\":\n        return <Video data={richContent as VideoFieldsFragment} key={richContent.id} />\n      case \"DatoCmsQuote\":\n        return <Quote data={richContent as V3QuoteFieldsFragment} key={richContent.id} />\n      case \"DatoCmsPresentation\":\n        return <Presentation data={richContent as V3PresentationTypePageFieldsFragment} key={richContent.id} />\n      case \"DatoCmsPartnersContent\":\n        return <Partners data={richContent as PartnersContentFieldsFragment} key={richContent.id} />\n      case \"DatoCmsPartnersLarge\":\n        return <PartnersLarge data={richContent as PartnersLargeFieldsFragment} key={richContent.id} />\n      case \"DatoCmsV3KeyFiguresBlock\":\n        return <KeyFigures data={richContent as V3KeyFiguresBlockFieldsFragment} key={richContent.id} />\n      case \"DatoCmsV3StructuredText\":\n        return <V3StructuredTextContent data={richContent as V3StructuredTextFieldsFragment} key={richContent.id} />\n      case \"DatoCmsV3Diaporama\":\n        return <V3Diaporama data={richContent as V3DiaporamaFieldsFragment} key={richContent.id} />\n      case \"DatoCmsV3Image\":\n        return <V3Image data={richContent as V3ImageFieldsFragment} key={richContent.id} />\n      case \"DatoCmsV3Video\":\n        return <V3Video data={richContent as V3VideoFieldsFragment} key={richContent.id} />\n      case \"DatoCmsV3BlockToPdf\":\n        return <V3BlockToPdf data={richContent as V3BlockToPdfFieldsFragment} key={richContent.id} />\n      case \"DatoCmsV3TextsCarousel\":\n        return <V3TextCarousel data={richContent as V3TextCarouselFieldsFragment} key={richContent.id} />\n      case \"DatoCmsV3BlockSameTopic\":\n        return <HighLight data={richContent as V3BlockSameTopicFieldsFragment} key={richContent.id} />\n      case \"DatoCmsV3UsefulInfo\":\n        return <V3UsefulInfos data={richContent as V3UsefulInfoFieldsFragment} key={richContent.id} />\n      case \"DatoCmsV3BlockThematicHighlight\":\n        return <Thematic data={richContent as V3BlockThematicHighlightFieldsFragment} key={richContent.id} />\n      case \"DatoCmsV3BlockRecruitment\":\n        return <Recruitment data={richContent as V3BlockRecruitmentFieldsFragment} key={richContent.id} />\n    }\n  }\n\n  return <section className={styles.richContent}>{data?.map(fetchRichDatoCmsContent)}</section>\n}\n\nexport const fragment = graphql`\n  fragment RichContentFields on DatoCmsUnionForDatoCmsPressReleaseRichContent {\n    __typename\n    ... on DatoCmsStructuredText {\n      ...StructuredTextFields\n    }\n    ... on DatoCmsVideo {\n      ...VideoFields\n    }\n    ... on DatoCmsTransportMethodContent {\n      ...TransportModeFields\n    }\n    ... on DatoCmsButton {\n      ...ButtonFields\n    }\n    ... on DatoCmsContactNetwork {\n      ...NetworkContactFields\n    }\n    ... on DatoCmsRelatedContent {\n      ...RelatedContentFields\n    }\n    ... on DatoCmsImage {\n      ...ImageFields\n    }\n    ... on DatoCmsOutlinedTextBlock {\n      ...OutlinedTextBlockFields\n    }\n    ... on DatoCmsSlider {\n      ...SliderFields\n    }\n    ... on DatoCmsKeyNumberSimple {\n      ...KeyNumberSimpleFields\n    }\n    ... on DatoCmsKeyNumberColored {\n      ...KeyNumberColoredFields\n    }\n    ... on DatoCmsKeyNumberColoredBackground {\n      ...KeyNumberColoredBackgroundFields\n    }\n    ... on DatoCmsIframe {\n      ...IframeFields\n    }\n    ... on DatoCmsBiographicCardHorizontal {\n      ...BiographicCardHorizontalFields\n    }\n    ... on DatoCmsBiographicCardVertical {\n      ...BiographicCardVerticalFields\n    }\n    ... on DatoCmsSimpleText {\n      ...SimpleTextFields\n    }\n    ... on DatoCmsPresentation {\n      ...V3PresentationTypePageFields\n    }\n    ... on DatoCmsPartnersContent {\n      ...PartnersContentFields\n    }\n    ... on DatoCmsPartnersLarge {\n      ...PartnersLargeFields\n    }\n    ... on DatoCmsQuote {\n      ...V3QuoteFields\n    }\n    ... on DatoCmsV3KeyFiguresBlock {\n      ...V3KeyFiguresBlockFields\n    }\n    ... on DatoCmsV3StructuredText {\n      ...V3StructuredTextFields\n    }\n    ... on DatoCmsV3Diaporama {\n      ...V3DiaporamaFields\n    }\n    ... on DatoCmsV3Image {\n      ...V3ImageFields\n    }\n    ... on DatoCmsV3Video {\n      ...V3VideoFields\n    }\n    ... on DatoCmsV3BlockToPdf {\n      ...V3BlockToPdfFields\n    }\n    ... on DatoCmsV3TextsCarousel {\n      ...V3TextCarouselFields\n    }\n    ... on DatoCmsV3BlockSameTopic {\n      ...V3BlockSameTopicFields\n    }\n    ... on DatoCmsV3UsefulInfo {\n      ...V3UsefulInfoFields\n    }\n    ... on DatoCmsV3BlockThematicHighlight {\n      ...V3BlockThematicHighlightFields\n    }\n    ... on DatoCmsV3BlockRecruitment {\n      ...V3BlockRecruitmentFields\n    }\n  }\n`\n\nexport default RichDatoCmsContent\n","// extracted by mini-css-extract-plugin\nexport var richContent = \"rich_dato_cms_content-module--richContent--70517\";","// extracted by mini-css-extract-plugin\nexport var leftContent = \"simple-text-module--leftContent--03bfc\";\nexport var simpleText = \"simple-text-module--simpleText--f2b88\";\nexport var simpleTextBlock = \"simple-text-module--simpleTextBlock--2ffa7\";","import React from \"react\"\nimport { graphql } from \"gatsby\"\nimport { SimpleTextFieldsFragment } from \"../../../../../graphql-types\"\nimport * as styles from \"./simple-text.module.scss\"\nimport sanitizeHtml from \"sanitize-html\"\n\ntype RenderProps = {\n  data: SimpleTextFieldsFragment\n  className?: string\n}\n\nconst SimpleText: React.FC<RenderProps> = ({ data, className }) => {\n  const downgradeHeadings = (content: string) => {\n    /* Downgrade headings to avoid having more than one h1\n       Can't restrict it directly in datoCMS when using TinyMCE */\n    const result = content\n      .replace(/<h5([^>]*)>/g, \"<h6$1>\")\n      .replace(/<\\/h5>/g, \"</h6>\")\n      .replace(/<h4([^>]*)>/g, \"<h5$1>\")\n      .replace(/<\\/h4>/g, \"</h5>\")\n      .replace(/<h3([^>]*)>/g, \"<h4$1>\")\n      .replace(/<\\/h3>/g, \"</h4>\")\n      .replace(/<h2([^>]*)>/g, \"<h3$1>\")\n      .replace(/<\\/h2>/g, \"</h3>\")\n      .replace(/<h1([^>]*)>/g, \"<h2$1>\")\n      .replace(/<\\/h1>/g, \"</h2>\")\n    return result\n  }\n  const sanitizeHtmlWithImages = content =>\n    sanitizeHtml(downgradeHeadings(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        a: (sanitizeHtml.defaults.allowedAttributes.a || []).concat([\"href\"]),\n      },\n      allowedSchemesByTag: {\n        ...sanitizeHtml.defaults.allowedSchemesByTag,\n        a: [\"http\", \"https\", \"javascript\", \"mailto\"],\n      },\n      exclusiveFilter: frame =>\n        frame.tag === \"a\" &&\n        frame.attribs.href &&\n        frame.attribs.href.startsWith(\"javascript\") &&\n        !frame.attribs.href.startsWith(\"javascript:Didomi\"),\n    })\n\n  return (\n    <div className={styles.simpleTextBlock}>\n      <div className={styles.leftContent}></div>\n      <p\n        key={data.id}\n        dangerouslySetInnerHTML={{\n          __html: sanitizeHtmlWithImages(data.simpleContent).replace(new RegExp(\"<p></p>\", \"g\"), \"<br>\"),\n        }}\n        className={className ? `${className} ${styles.simpleText}` : styles.simpleText}\n      />\n    </div>\n  )\n}\n\nexport const fragments = graphql`\n  fragment SimpleTextFields on DatoCmsSimpleText {\n    id\n    simpleContent\n  }\n`\n\nexport default SimpleText\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjMiIHZpZXdCb3g9IjAgMCAyMiAyMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wLjAwMDI3OTAxOCAyMi4yODU3SDUuMTQzMTRWNy43MTQzMkgwLjAwMDI3OTAxOFYyMi4yODU3Wk0yLjU4Njk4IDBDMS4wMjE0MiAwIDAgMS4xMTAxNCAwIDIuNTcxNDNDMCAzLjk5Nzk3IDAuOTkxODgxIDUuMTQyODYgMi41MjYzNCA1LjE0Mjg2SDIuNTU1ODhDNC4xNTA5OCA1LjE0Mjg2IDUuMTQyODYgMy45OTc5NyA1LjE0Mjg2IDIuNTcxNDNDNS4xMTQ4NyAxLjExMDE0IDQuMTUwOTggMCAyLjU4Njk4IDBaTTIxLjQyODkgMTQuMTIzNEMyMS40Mjg5IDkuNzQ5MjEgMTkuMDcyOCA3LjcxNDMyIDE1LjkzMjkgNy43MTQzMkMxMy4zOTgzIDcuNzE0MzIgMTIuMjY1NyA5LjA5NDgzIDExLjYzMTMgMTAuMDY1OVY4LjA0ODUxSDYuODU3NDJDNi45MjA3MSA5LjM4NTI4IDYuODU3NDIgMjIuMjg1NyA2Ljg1NzQyIDIyLjI4NTdIMTEuNjMxM1YxNC4zMzUyQzExLjYzMTMgMTMuOTExNyAxMS42NjIxIDEzLjQ4NDggMTEuNzg4NyAxMy4xODIxQzEyLjEzMjcgMTIuMzMxOCAxMi45MTk3IDExLjQ1MTcgMTQuMjM3MyAxMS40NTE3QzE1Ljk2NTQgMTEuNDUxNyAxNi42NTUgMTIuNzU2OSAxNi42NTUgMTQuNjcxMVYyMi4yODU3SDIxLjQyODlWMTQuMTIzNFpNMTIuMDAwMyA5LjQ3NDg5QzEyLjAxMDYgOS40NTk0NiAxMi4wMjQzIDkuNDQ0MDMgMTIuMDM0NiA5LjQyODYxVjkuNDc0ODlIMTIuMDAwM1oiIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjAuNSIvPgo8L3N2Zz4K\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAyNSAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yNC44Mzc0IDIuODc2MjhWMi44OTVDMjQuNzUgMy4xMjA5NSAyNC41NTk3IDMuMjkwNzMgMjQuMzk4MiAzLjQ3MjE0QzI0LjA4NzkgMy44Mzk0NiAyMy43MDg4IDQuMTcxMjkgMjMuMzIyMiA0LjQ4Njk3QzIzLjA4MjIgNC42NzYxMiAyMi44MTU2IDQuODY2NTcgMjIuNTU0MiA1LjAzNTcxQzIyLjQ3NzEgNS4wODM0OCAyMi40MzY0IDUuMTQ3MzkgMjIuNDM2NCA1LjIzMDY3VjUuODM4MTVDMjIuNDM2NCA2LjM5Mzk4IDIyLjM3NzkgNi45MzQzMyAyMi4yODA5IDcuNDgzMDZDMjIuMTU4NyA4LjE4NjA4IDIxLjk2NDcgOC44NjEzNSAyMS43MTE0IDkuNTIxNzdDMjEuNDQ3NyAxMC4yMjQ4IDIxLjA5NjcgMTAuOTE2OCAyMC42OTkgMTEuNTc3M0MyMC4yNjM1IDEyLjI2NDggMTkuNzU2MiAxMi45MTE3IDE5LjE5MzQgMTMuNTM5OEMxOC45NjYgMTMuNzkxNiAxOC43MDQ2IDE0LjAzODIgMTguNDQ0NiAxNC4yNjM1QzE3LjkzODggMTQuNzQ4MyAxNy4zOTA4IDE1LjE1NjkgMTYuNzkzMSAxNS41NTA3QzE2LjM2MjEgMTUuODQ1OCAxNS44OTQ4IDE2LjExMzcgMTUuNDA4OSAxNi4zNDU0QzE0LjYzMTMgMTYuNzM0MSAxMy44MTMgMTcuMDQ4NSAxMi45NTMxIDE3LjI5MzhDMTIuMTQ5NiAxNy41MjQ5IDExLjMyMzggMTcuNjgxOCAxMC40NzU5IDE3Ljc4NTdDMTAuMTE4MSAxNy44Mjk2IDkuNzUzMDMgMTcuODQ0NCA5LjM5NjgxIDE3Ljg1NjdIOS4wODQyOEg4Ljk1NzYzSDguNzkzOTZIOC4wMTQxMkg3Ljg0MDA4SDcuNzMyN0M2LjYyNTUxIDE3Ljg2MzggNS41NDk0MyAxNy42OTY2IDQuNDk0ODMgMTcuNDI4N0MzLjU1NjUgMTcuMTk2MyAyLjY1MjIzIDE2Ljg4MDYgMS43OTI0IDE2LjQ3NjVDMS41MDY1NCAxNi4zNDU0IDEuMjI4ODEgMTYuMjA1MyAwLjk0NjY0OCAxNi4wNDkxQzAuODQ5NjMxIDE2LjAwMTMgMC44NDAwMDMgMTUuOTY1OCAwLjg4NTkyIDE1LjkwODRDMC45OTQwNDYgMTUuODk0OCAxLjEwMzY1IDE1LjkwODQgMS4yMTE3OCAxNS45MDg0QzEuNjMxNyAxNS45NTEgMi4wNTk3NiAxNS45NjU4IDIuNDc3NDUgMTUuOTM3NEMyLjg0NzAxIDE1LjkwODQgMy4yMDg0MiAxNS44OTQ4IDMuNTY1MzggMTUuODQ1OEM0LjQ1MTEzIDE1LjcxODYgNS4zMDg3NCAxNS40ODc1IDYuMTE1MjQgMTUuMTY5OUM2Ljc2NDc0IDE0LjkxMDMgNy4zNTI3NyAxNC41ODY5IDcuOTI1MjUgMTQuMjM1MUM3LjkzNDg4IDE0LjIyMjIgNy45NDAwNiAxNC4yMjIyIDcuOTU4NTggMTQuMjA2N0M3Ljc3NjM5IDE0LjE2OTkgNy42MDM4MyAxNC4xNjk5IDcuNDI2MDkgMTQuMTQyOEM2LjgzNTEgMTQuMDU4OCA2LjI4MjYyIDEzLjg5MSA1Ljc1ODI4IDEzLjY0MjRDNS4yOTk4NSAxMy40MTA3IDQuODc2MjMgMTMuMTIyOCA0LjUyMDc1IDEyLjc2MzhDNC4xNjgyMiAxMi40Mzk3IDMuODk5MzkgMTIuMDc1IDMuNjgyNCAxMS42NTk5QzMuNjIxNjcgMTEuNTQ4MiAzLjU2NTM4IDExLjQyNzUgMy41MTIwNiAxMS4yOTY0QzMuNDY1NCAxMS4xODM1IDMuNTE5NDcgMTEuMTIwMiAzLjY2MjQgMTEuMTQ4QzMuODk5MzkgMTEuMTgzNSA0LjEzODYgMTEuMjExMiA0LjM3NTU5IDExLjIxMTJDNC43NDg4NSAxMS4yMjQxIDUuMTI5NTEgMTEuMTY4IDUuNTE3NTggMTEuMDk1N0M1LjI5OTg1IDExLjA2NCA1LjA4OTUyIDExLjAwMDEgNC44ODU4NiAxMC45Mjg1QzQuNjY1MTYgMTAuODU5NCA0LjQ2MzcyIDEwLjc1MjIgNC4yNjA4IDEwLjY2ODNDNC4wNzYzOSAxMC41NzczIDMuODg0NTggMTAuNDY0OSAzLjcwNTM1IDEwLjM0NDlDMy4xMzUxIDkuOTUzMDEgMi42Njc3OCA5LjQ4NzU1IDIuMzI0MTUgOC45MjM5N0MyLjAzOTAyIDguNDUzMzUgMS44NTQ2MSA3Ljk0NTkzIDEuNzc1MzcgNy40MjY4OUMxLjc2MTMgNy4yNTc3NiAxLjc0NDI3IDcuMDk0NDMgMS43NTI0MSA2LjkzNDMzQzEuNzYxMyA2LjgyOTc0IDEuODIyNzcgNi43OTM1OSAxLjkzMzg2IDYuODQ5NzZDMi40NjU2IDcuMDgyODEgMy4wMTU4NiA3LjI0MjkxIDMuNjIxNjcgNy4zMDYxN0MzLjY4MjQgNy4zMDYxNyAzLjc0NzU3IDcuMzI2ODMgMy44MzIgNy4zMTM5MkMzLjYxMjA0IDcuMTczMTkgMy40MTg3NSA3LjAxMTE1IDMuMjI2MTkgNi44NDk3NkMyLjg0ODQ5IDYuNTM5MjQgMi41NTAwMyA2LjE1OTY0IDIuMzE0NTIgNS43NTkzOUMyLjAzOTAyIDUuMjgyMzEgMS44Njk0MyA0Ljc4MiAxLjgxNzU4IDQuMjM5MDdDMS43NTI0MSAzLjYwODM1IDEuODA3OTYgMi45ODg2IDIuMDUwODcgMi4zOTE0NUMyLjE0NDE5IDIuMTUxMyAyLjI1ODI0IDEuOTMzMSAyLjM3NDUxIDEuNzI5MUMyLjQ2NTYgMS41OTY3NiAyLjUyNzgxIDEuNTk2NzYgMi42NDQ4MyAxLjcyMkMyLjg1NTE1IDEuOTMzMSAzLjA2ODQ1IDIuMTQzNTUgMy4yOTA2MiAyLjM0MTFDMy43MTQ5OCAyLjc0MTM1IDQuMTY4MjIgMy4wOTI1NCA0LjY1MDM1IDMuNDIzNzJDNS4yNDM1NyAzLjgzOTQ2IDUuODY2NCA0LjIwNDg2IDYuNTI0MDUgNC41MjdDNy4zNDMxNCA0LjkzNjI5IDguMTk0ODMgNS4yNjY4MiA5LjA4NDI4IDUuNTE0MDdDOS44OTM3NCA1LjczMDk4IDEwLjcyOTkgNS44OTk0OCAxMS41NzI3IDUuOTk4MjVDMTEuODY4MiA2LjAyNjAxIDEyLjE2MjIgNi4wNTM3NyAxMi40NjM2IDYuMDY5OTFDMTIuNTY2NSA2LjA4MzQ2IDEyLjU4MDYgNi4wNjk5MSAxMi41NjY1IDUuOTcxMTRDMTIuNTMxIDUuODE1NTUgMTIuNTEzMiA1LjY2NjQzIDEyLjQ5NjIgNS41MTQwN0MxMi40NzMyIDUuMjY2ODIgMTIuNDczMiA1LjAyNzMxIDEyLjQ5NjIgNC43ODJDMTIuNTE5MSA0LjUyNyAxMi41NjY1IDQuMjY4MTIgMTIuNjQyOCA0LjAyMjgxQzEyLjgyNjUgMy40MzkyMSAxMy4xMzYxIDIuODk1IDEzLjU5IDIuNDEyNzZDMTQuMDQ5OSAxLjkxMjQ0IDE0LjYxOTUgMS41MTggMTUuMjg0NSAxLjI0NDkyQzE1LjY0OTYgMS4wODA5NSAxNi4wMzQ3IDAuOTYwODcgMTYuNDM4NCAwLjg5OTU0MUMxNi42MTYxIDAuODcyNDI3IDE2Ljc4NTcgMC44NzI0MjcgMTYuOTcwOCAwLjg2NDY4QzE2Ljk4NzEgMC44NjQ2OCAxNy4wMDI3IDAuODY0NjggMTcuMDIwNSAwLjg1NjkzNEgxNy4xMjI3QzE3LjE1NjcgMC44NjQ2OCAxNy4xOTIzIDAuODY0NjggMTcuMjI4NiAwLjg1NjkzNEgxNy44ODYyQzE4LjAzMjEgMC44NzI0MjcgMTguMTgxIDAuODcyNDI3IDE4LjMyNzYgMC44ODUzMzlDMTguNjgwOSAwLjkyMTQ5MSAxOS4wMjA4IDEuMDE3NjggMTkuMzQ3NCAxLjEzMjU5QzE5Ljg1OTIgMS4zMTI3MSAyMC4zMTYxIDEuNTU5OTYgMjAuNzM0NSAxLjg3NjI5QzIwLjgxOSAxLjkzMzEgMjAuODk0NSAyLjAxMTg2IDIwLjk3NjcgMi4wOTUxNEMyMS4wMzMgMi4xNDM1NSAyMS4wOTY3IDIuMTUxMyAyMS4xNzU5IDIuMTQzNTVDMjEuNzg3NyAyLjAxNzAyIDIyLjM4MzggMS44NjkxOSAyMi45NTYzIDEuNjUyOTJDMjMuMzI3MyAxLjUwMzc5IDIzLjY5MSAxLjM1NjYgMjQuMDM2MSAxLjE5NDU3QzI0LjA4MDUgMS4xNjU1MiAyNC4xMjA1IDEuMTUyNiAyNC4xNjcyIDEuMTgwMzZDMjQuMjEwOSAxLjIwODc3IDI0LjE5NjEgMS4yNTI2NyAyNC4xNzk4IDEuMjg0OTVDMjQuMDgwNSAxLjU3Mjg3IDIzLjkzOTggMS44MjkxNiAyMy43NjEzIDIuMDczMTlDMjMuNTIyMSAyLjQzOTg3IDIzLjIyOTYgMi43NTU1NSAyMi44NzE5IDMuMDMxMjFDMjIuNjc5MyAzLjIwODEgMjIuNDYzMSAzLjM1NTI5IDIyLjIyMzEgMy40NzIxNEMyMi42MDM4IDMuNDIzNzIgMjIuOTY2NyAzLjM2ODIgMjMuMzI3MyAzLjI3NTg4QzIzLjc5MzIgMy4xNzkwNSAyNC4yNDEyIDMuMDQ0MTIgMjQuNjcyMyAyLjg3NjI4QzI0LjcyOTMgMi44NjkxNyAyNC43ODQxIDIuODI3MjEgMjQuODM3NCAyLjg3NjI4WiIgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC41Ii8+Cjwvc3ZnPgo=\""],"names":["breadcrumbContainer","home","pElement","_ref","title","homeLabel","middlePages","locale","useLocale","_useSlugs","useSlugs","homeLink","getInternalExternalLink","React","className","styles","href","map","middlePage","key","lang","DisplayImage","image","svgStyle","imgStyle","pictogramColor","fillPictogramColor","isLogo","heightSize","format","ReactSVG","src","url","height","fill","beforeInjection","svg","setAttribute","alt","querySelector","stylesToParse","data","iframe","name","style","split","reduce","parsedStyles","_Object$assign","splitted","Object","assign","trim","tabIndex","sandbox","loading","_ref$isParentPage","isParentPage","_useLocale","defaultLocale","presentation","block","index","_useState","useState","indexSelected","setIndex","shouldHovered","id","v3BlockColor","hex","blockImage","blockTitle","chapo","dangerouslySetInnerHTML","__html","sanitizeHtml","linkToPage","slug","target","color","onMouseEnter","onMouseLeave","backgroundColor","border","actionButtonText","photo","_data$members","refContainer","useRef","displayIcon","link","icon","ref","members","member","function","linkedinProfile","LinkedinGray","twitterProfile","TwitterGray","onClick","itemWidth","current","children","clientWidth","scrollBy","left","top","behavior","btnImage","buttonContent","hoverButton1","setHoverButton1","_useState2","hoverButton2","setHoverButton2","renderButton","pictogram","color2","isImgButton","imgContent","hover","setHover","onMouseOver","isInternalPage","page","MapRightArrow","hoverColor","button2","title2","pictogram2","link2","hoverColor2","isImgButton2","imgContent2","heading","caption","value","document","captionAriaLabel","c","length","buildStructuredContent","type","level","content","buildHeadingText","text","buildRichText","role","keyNumbers","_data$backgroundColor","__typename","getKeyNumbersStyle","keyNumberList","keyNumber","_keyNumber$color","label","description","socialNetworkLink","urlWebSite","buttonText","subtitle","facebook","urlToFacebook","twitter","urlToTwitter","linkedin","urlToLinkedin","instagram","urlToInstagram","picture","bgColor","isMobile","useIsMobile","_getColors","toLowerCase","titleColor","borderColor","shouldDisplayTitle","isTitleDisplayed","shouldDisplaySocialNetworks","areSocialNetworksDisplayed","linkedinLink","twitterLink","getSocialNetworkLink","logoPath","textColor","marginTop","options","renderInlineRecord","_ref2","record","renderNode","adapter","allowedTags","allowedAttributes","renderLinkToRecord","_ref3","render","renderContent","pdf","substring","tag","UserJourneyButtonArrow","internalPage","_data$sameSubjectBloc","sameSubjectBlockLink","colorBlock","pages","InternalBlock","ExternalBlock","svgContainer","images","slideIndex","setSlideIndex","translationX","setTranslationX","img","transform","rightArrow","position","structuredText","ReactHtmlParser","renderBlock","_ref4","a","concat","allowedSchemesByTag","exclusiveFilter","frame","attribs","startsWith","_data$transportMethod","transportMethodContent","transportModeKeolis","methodTransport","_methodTransport$tran","transportModeName","transportModePage","transportModeIcon","_data$title","allow","allowFullScreen","quote","useFormatDate","date","cards","scrollToCard","scrollDirection","partners","partner","logo","ScrollArrow","direction","backgroundImage","rel","headingH2","sanitizedText","ImageOrVideo","element","cssClass","previousElement","diaporama","handleScroll","socialNetworks","governanceMembersPageSlug","_member$opacifyingFil","_member$opacifyingFil2","_member$opacifyingFil3","_member$opacifyingFil4","_member$opacifyingFil5","_member$opacifyingFil6","_socialNetworks$find","_socialNetworks$find2","dedicatedPage","opacifyingFilter","at","filterColor","filterOpacity","find","network","includes","listOfPdf","afterInjection","querySelectorAll","forEach","group","getAssociatedColor","carousel","listOfTexts","elt","values","join","usefulInfoContent","item","SimpleText","richContent","BiographicCardHorizontal","V3BiographicCardVertical","Button","IFrame","Image","KeyNumbers","NetworkContact","OutlinedTextBlock","RelatedContent","Slider","StructuredTextContent","TransportMode","Video","Quote","Presentation","Partners","PartnersLarge","KeyFigures","V3StructuredTextContent","V3Diaporama","V3Image","V3Video","V3BlockToPdf","V3TextCarousel","HighLight","V3UsefulInfos","Thematic","Recruitment","simpleText","simpleContent","replace","downgradeHeadings","p","table","tbody","tr","td","span","li","ul","ol","blockquote","div","RegExp"],"sourceRoot":""}