@treely/strapi-slices 5.5.2 → 5.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/__mocks__/adblock-detect-react.d.ts +3 -0
  2. package/dist/__mocks__/axios-cache-interceptor.d.ts +2 -0
  3. package/dist/__mocks__/axios.d.ts +2 -0
  4. package/dist/__mocks__/mapbox-gl.d.ts +14 -0
  5. package/dist/__mocks__/next/router.d.ts +3 -0
  6. package/dist/constants/strapi.d.ts +1 -0
  7. package/dist/index.d.ts +4 -1
  8. package/dist/integrations/fpmClient.d.ts +2 -0
  9. package/dist/integrations/strapi/getPortfolioProjects.d.ts +3 -0
  10. package/dist/integrations/strapi/getStaticPathsFromStrapi.d.ts +6 -0
  11. package/dist/integrations/strapi/getStaticPropsFromStrapi.d.ts +8 -0
  12. package/dist/integrations/strapi/strapiClient.d.ts +2 -0
  13. package/dist/models/PageProps.d.ts +1 -0
  14. package/dist/strapi-slices.cjs.development.js +155 -8
  15. package/dist/strapi-slices.cjs.development.js.map +1 -1
  16. package/dist/strapi-slices.cjs.production.min.js +1 -1
  17. package/dist/strapi-slices.cjs.production.min.js.map +1 -1
  18. package/dist/strapi-slices.esm.js +151 -9
  19. package/dist/strapi-slices.esm.js.map +1 -1
  20. package/package.json +5 -2
  21. package/src/constants/strapi.ts +2 -0
  22. package/src/index.tsx +9 -0
  23. package/src/integrations/fpmClient.ts +14 -0
  24. package/src/integrations/strapi/getPortfolioProjects.test.ts +32 -0
  25. package/src/integrations/strapi/getPortfolioProjects.ts +58 -0
  26. package/src/integrations/strapi/getStaticPathsFromStrapi.test.ts +22 -0
  27. package/src/integrations/strapi/getStaticPathsFromStrapi.ts +22 -0
  28. package/src/integrations/strapi/getStaticPropsFromStrapi.test.ts +56 -0
  29. package/src/integrations/strapi/getStaticPropsFromStrapi.ts +35 -0
  30. package/src/integrations/strapi/strapiClient.ts +14 -0
  31. package/src/models/PageProps.ts +1 -0
  32. package/src/utils/mergeGlobalAndStrapiBlogPostData.ts +1 -0
  33. package/src/utils/mergeGlobalAndStrapiCustomerStoryData.ts +1 -0
  34. package/src/utils/mergeGlobalAndStrapiPageData.ts +1 -0
  35. package/src/utils/mergeGlobalAndStrapiProjectData.ts +1 -0
  36. package/dist/slices/FullWidthImageSlider/utils.test.d.ts +0 -1
  37. package/dist/utils/convertAreaM2ToHa.test.d.ts +0 -1
  38. package/dist/utils/convertToKebabCase.test.d.ts +0 -1
  39. package/dist/utils/getTimeSpanInYears.test.d.ts +0 -1
  40. package/dist/utils/mergeBoundingBoxes.test.d.ts +0 -1
  41. package/dist/utils/mergeGlobalAndStrapiBlogPostData.test.d.ts +0 -1
  42. package/dist/utils/mergeGlobalAndStrapiCustomerStoryData.test.d.ts +0 -1
  43. package/dist/utils/mergeGlobalAndStrapiPageData.test.d.ts +0 -1
  44. package/dist/utils/mergeGlobalAndStrapiProjectData.test.d.ts +0 -1
  45. package/dist/utils/strapiLinkUrl.test.d.ts +0 -1
  46. package/dist/utils/strapiMediaUrl.test.d.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"strapi-slices.cjs.development.js","sources":["../src/constants/strapi.ts","../src/utils/strapiMediaUrl.ts","../src/constants/metadata.ts","../src/constants/slicesConfig.ts","../src/utils/mergeGlobalAndStrapiBlogPostData.ts","../src/utils/mergeGlobalAndStrapiCustomerStoryData.ts","../src/utils/mergeGlobalAndStrapiPageData.ts","../src/utils/mergeGlobalAndStrapiProjectData.ts","../src/utils/strapiLinkUrl.ts","../src/components/SEOTags/SEOTags.tsx","../src/components/FullScreenImage/ZoomableImage.tsx","../src/components/FullScreenImage/FullScreenImage.tsx","../src/constants/breakpoints.ts","../src/slices/FullWidthImage/FullWidthImage.tsx","../src/utils/openHubSpotChat.ts","../src/components/StrapiLinkButton/StrapiLinkButton.tsx","../src/slices/Hero/Hero.tsx","../src/slices/IconGrid/IconGrid.tsx","../src/icons/LinkedInIcon.tsx","../src/components/StrapiLinkButtonWithIcon/StrapiLinkButtonWithIcon.tsx","../src/slices/ImageGrid/ImageGrid.tsx","../src/constants/api.ts","../src/slices/ImageTextSequence/ImageTextSequence.tsx","../src/slices/LeftTextRightCard/LeftTextRightCard.tsx","../src/slices/LogoGridWithText/LogoGridWithText.tsx","../src/slices/MapHero/styles.ts","../src/slices/MapHero/MapHero.tsx","../src/utils/convertToKebabCase.ts","../src/slices/QAndA/QAndA.tsx","../src/slices/QuoteCards/QuoteCards.tsx","../src/slices/RichTextSection/RichTextSection.tsx","../src/slices/Steps/Steps.tsx","../src/slices/TextCardGrid/TextCardGrid.tsx","../src/slices/TextCarousel/styles.ts","../src/slices/Comparison/messages.de.ts","../src/components/CreditsAvailableBadge/messages.de.ts","../src/slices/Cta/messages.de.ts","../src/components/CustomerCard/messages.de.ts","../src/components/CustomerQuoteCard/messages.de.ts","../src/slices/Glossary/messages.de.ts","../src/components/portfolio/DocumentsDownloadList/messages.de.ts","../src/slices/ProjectFacts/messages.de.ts","../src/slices/ProjectsMap/messages.de.ts","../src/components/portfolio/ProjectInfo/messages.de.ts","../src/components/portfolio/PortfolioProjectCard/messages.de.ts","../src/components/portfolio/SmallCheckout/messages.de.ts","../src/slices/ShopCheckout/messages.de.ts","../src/slices/TextCarousel/messages.de.ts","../src/slices/Timeline/messages.de.ts","../src/unit.messages.de.ts","../src/rootMessages.de.ts","../src/slices/Comparison/messages.en.ts","../src/components/CreditsAvailableBadge/messages.en.ts","../src/slices/Cta/messages.en.ts","../src/components/CustomerCard/messages.en.ts","../src/components/CustomerQuoteCard/messages.en.ts","../src/slices/Glossary/messages.en.ts","../src/components/portfolio/DocumentsDownloadList/messages.en.ts","../src/slices/ProjectFacts/messages.en.ts","../src/slices/ProjectsMap/messages.en.ts","../src/components/portfolio/ProjectInfo/messages.en.ts","../src/components/portfolio/PortfolioProjectCard/messages.en.ts","../src/components/portfolio/SmallCheckout/messages.en.ts","../src/slices/ShopCheckout/messages.en.ts","../src/slices/TextCarousel/messages.en.ts","../src/slices/Timeline/messages.en.ts","../src/unit.messages.en.ts","../src/rootMessages.en.ts","../src/constants/globalStyle.ts","../src/components/ContextProvider/ContextProvider.tsx","../src/slices/TextCarousel/TextCarousel.tsx","../src/slices/TextWithTextCards/TextWithTextCards.tsx","../src/models/CreditsAvailableState.ts","../src/constants/formatter.ts","../src/components/portfolio/PortfolioProjectCard/PortfolioProjectCard.tsx","../src/slices/TextWithCard/TextWithCard.tsx","../src/constants/animations.ts","../src/slices/LinkCardsGrid/LinkCardsGrid.tsx","../src/slices/SmallHero/SmallHero.tsx","../src/slices/Blog/styles.ts","../src/slices/Blog/Blog.tsx","../src/slices/ProjectsGrid/ProjectsGrid.tsx","../src/constants/mapbox.ts","../src/utils/mergeBoundingBoxes.ts","../src/constants/fontCustomizations.ts","../src/components/MinimalProviders/MinimalProviders.tsx","../src/components/CreditsAvailableBadge/CreditsAvailableBadge.tsx","../src/slices/ProjectsMap/MapMarker.tsx","../src/slices/ProjectsMap/mapboxStyle.ts","../src/slices/ProjectsMap/ProjectsMap.tsx","../src/slices/Video/Video.tsx","../src/slices/FullWidthHighlightQuote/FullWidthHighlightQuote.tsx","../src/slices/FullWidthImageSlider/styles.ts","../src/slices/FullWidthImageSlider/utils.ts","../src/slices/FullWidthImageSlider/FullWidthImageSlider.tsx","../src/slices/SideBySideImages/SideBySideImages.tsx","../src/slices/Cta/Cta.tsx","../src/slices/CtaOnly/CtaOnly.tsx","../src/slices/Glossary/Glossary.tsx","../src/constants/domain.ts","../src/slices/ShopCheckout/ShopCheckout.tsx","../src/slices/Facts/Facts.tsx","../src/slices/BlogCards/BlogCards.tsx","../src/components/portfolio/SmallCheckout/SmallCheckout.tsx","../src/utils/convertAreaM2ToHa.ts","../src/utils/convertCo2AmountKgToTons.ts","../src/utils/getTimeSpanInYears.ts","../src/components/portfolio/ProjectInfo/ProjectInfo.tsx","../src/components/portfolio/DocumentsDownloadList/DocumentsDownloadList.tsx","../src/components/portfolio/Contact/Contact.tsx","../src/slices/ProjectFacts/ProjectFacts.tsx","../src/components/CustomerCard/CustomerCard.tsx","../src/components/CustomerQuoteCard/CustomerQuoteCard.tsx","../src/components/LogoCard/LogoCard.tsx","../src/slices/CustomerStories/CustomerStories.tsx","../src/slices/Comparison/Icon.tsx","../src/slices/Comparison/Comparison.tsx","../src/slices/Timeline/Timeline.tsx","../src/components/SliceRenderer/SliceRenderer.tsx"],"sourcesContent":["export const STRAPI_URI =\n process.env.NEXT_PUBLIC_STRAPI_URI || 'http://127.0.0.1:1337';\n","import { STRAPI_URI } from '../constants/strapi';\nimport IStrapi from '../models/strapi/IStrapi';\nimport IStrapiData from '../models/strapi/IStrapiData';\nimport StrapiMedia from '../models/strapi/StrapiMedia';\n\nconst strapiMediaUrl = (\n media: IStrapi<IStrapiData<StrapiMedia>>,\n preferredSize:\n | 'native'\n | 'thumbnail'\n | 'xSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'xLarge' = 'native'\n): string => {\n let { url } = media.data.attributes || {};\n if (preferredSize !== 'native' && media.data.attributes.ext !== '.svg') {\n url = media.data.attributes.formats[preferredSize]?.url || url;\n }\n if (url && (url.indexOf('http://') === 0 || url.indexOf('https://') === 0)) {\n return url;\n }\n return `${\n (STRAPI_URI.includes('127.0.0.1') || STRAPI_URI.includes('localhost')) &&\n !process.env.STORYBOOK\n ? STRAPI_URI\n : ''\n }${url}`;\n};\n\nexport default strapiMediaUrl;\n","export const DEFAULT_SHARE_IMAGE =\n 'https://cdn.tree.ly/assets/v3/app/share-image-generic.webp';\nexport const DEFAULT_SHARE_ALT = 'Share Image';\n","export const EXTENDABLE_HEADER_SECTIONS = [\n 'sections.hero',\n 'sections.map-hero',\n 'sections.full-width-image',\n 'sections.small-hero',\n 'sections.small-hero-light',\n];\nexport const DARK_THEME_HEADER_SECTIONS = [\n 'sections.hero',\n 'sections.small-hero',\n];\nexport const SLICES_WITH_BLOG_POSTS = ['sections.blog', 'sections.blog-cards'];\nexport const SLICES_WITH_CUSTOMER_STORIES = ['sections.customer-stories'];\nexport const SLICES_WITH_PROJECTS = [\n 'sections.projects-grid',\n 'sections.projects-map',\n 'sections.project-facts',\n 'sections.text-with-card',\n];\n","import { GetStaticPropsContext } from 'next';\nimport strapiMediaUrl from './strapiMediaUrl';\nimport {\n IStrapiData,\n StrapiBlogPost,\n StrapiBlogPostProps,\n StrapiGlobal,\n} from '..';\nimport PortfolioProject from '../models/PortfolioProject';\nimport { DEFAULT_SHARE_ALT, DEFAULT_SHARE_IMAGE } from '../constants/metadata';\nimport {\n SLICES_WITH_BLOG_POSTS,\n SLICES_WITH_PROJECTS,\n} from '../constants/slicesConfig';\n\nconst mergeGlobalAndStrapiBlogPostData = (\n context: GetStaticPropsContext,\n global: IStrapiData<StrapiGlobal>,\n post: IStrapiData<StrapiBlogPost>,\n blog: IStrapiData<StrapiBlogPost>[],\n projects: PortfolioProject[]\n): StrapiBlogPostProps => {\n const metaShareImageUrl = post.attributes.metadata?.shareImage\n ? strapiMediaUrl(\n post.attributes.metadata?.shareImage.media ??\n global.attributes.metadata.shareImage?.media,\n 'large'\n )\n : DEFAULT_SHARE_IMAGE;\n\n const returnBlog = post.attributes.slices.some((slice) =>\n SLICES_WITH_BLOG_POSTS.includes(slice.__component)\n );\n const returnProjects = post.attributes.slices.some((slice) =>\n SLICES_WITH_PROJECTS.includes(slice.__component)\n );\n\n return {\n ...post,\n // Portfolio Projects\n projects: returnProjects ? projects : [],\n // StrapiBlogPost\n attributes: {\n ...post?.attributes,\n metadata: post?.attributes?.metadata || global.attributes.metadata,\n },\n // PageProps\n headerType: {\n extendable: true,\n theme: 'light',\n },\n headerNavMenus: global.attributes.navbar.navMenus || [],\n headerButtons: global.attributes.navbar.buttons || [],\n footerLinks: global.attributes.footer.links || [],\n metadata: {\n title:\n post.attributes.metadata?.title ?? global.attributes.metadata.title,\n description:\n post.attributes.metadata?.description ??\n global.attributes.metadata.description,\n shareImage: {\n url: metaShareImageUrl,\n alt:\n post.attributes.metadata?.shareImage?.alt ??\n global.attributes.metadata.shareImage?.alt ??\n DEFAULT_SHARE_ALT,\n },\n metaTitleSuffix: global.attributes.metaTitleSuffix,\n favicon: strapiMediaUrl(global.attributes.favicon, 'thumbnail'),\n },\n slices: post?.attributes.slices,\n blogPosts: returnBlog ? blog : [],\n banner: global.attributes.banner,\n topBanner: post?.attributes.topBanner || global.attributes.topBanner,\n customerStories: [],\n };\n};\n\nexport default mergeGlobalAndStrapiBlogPostData;\n","import { GetStaticPropsContext } from 'next';\nimport strapiMediaUrl from './strapiMediaUrl';\nimport {\n IStrapiData,\n StrapiCustomerStory,\n StrapiCustomerStoryProps,\n StrapiGlobal,\n} from '..';\nimport { DEFAULT_SHARE_ALT, DEFAULT_SHARE_IMAGE } from '../constants/metadata';\nimport { SLICES_WITH_CUSTOMER_STORIES } from '../constants/slicesConfig';\n\nconst mergeGlobalAndStrapiCustomerStoryData = (\n context: GetStaticPropsContext,\n global: IStrapiData<StrapiGlobal>,\n customerStory: IStrapiData<StrapiCustomerStory>,\n customerStories: IStrapiData<StrapiCustomerStory>[]\n): StrapiCustomerStoryProps => {\n const metaShareImageUrl = customerStory.attributes.metadata?.shareImage\n ? strapiMediaUrl(\n customerStory.attributes.metadata?.shareImage.media ??\n global.attributes.metadata.shareImage?.media,\n 'large'\n )\n : DEFAULT_SHARE_IMAGE;\n\n const returnCustomerStories = customerStory.attributes.slices.some((slice) =>\n SLICES_WITH_CUSTOMER_STORIES.includes(slice.__component)\n );\n\n return {\n ...customerStory,\n // Portfolio Projects\n projects: [],\n attributes: {\n ...customerStory?.attributes,\n metadata:\n customerStory?.attributes?.metadata || global.attributes.metadata,\n },\n // PageProps\n headerType: {\n extendable: true,\n theme: 'light',\n },\n headerNavMenus: global.attributes.navbar.navMenus || [],\n headerButtons: global.attributes.navbar.buttons || [],\n footerLinks: global.attributes.footer.links || [],\n metadata: {\n title:\n customerStory.attributes.metadata?.title ??\n global.attributes.metadata.title,\n description:\n customerStory.attributes.metadata?.description ??\n global.attributes.metadata.description,\n shareImage: {\n url: metaShareImageUrl,\n alt:\n customerStory.attributes.metadata?.shareImage?.alt ??\n global.attributes.metadata.shareImage?.alt ??\n DEFAULT_SHARE_ALT,\n },\n metaTitleSuffix: global.attributes.metaTitleSuffix,\n favicon: strapiMediaUrl(global.attributes.favicon, 'thumbnail'),\n },\n slices: customerStory?.attributes.slices,\n customerStories: returnCustomerStories ? customerStories : [],\n banner: global.attributes.banner,\n topBanner:\n customerStory?.attributes.topBanner || global.attributes.topBanner,\n blogPosts: [],\n };\n};\n\nexport default mergeGlobalAndStrapiCustomerStoryData;\n","import { GetStaticPropsContext } from 'next';\nimport strapiMediaUrl from './strapiMediaUrl';\nimport {\n IStrapiData,\n StrapiBlogPost,\n StrapiCustomerStory,\n StrapiGlobal,\n StrapiPage,\n StrapiPageProps,\n} from '..';\nimport PortfolioProject from '../models/PortfolioProject';\nimport {\n DARK_THEME_HEADER_SECTIONS,\n EXTENDABLE_HEADER_SECTIONS,\n SLICES_WITH_BLOG_POSTS,\n SLICES_WITH_CUSTOMER_STORIES,\n SLICES_WITH_PROJECTS,\n} from '../constants/slicesConfig';\nimport { DEFAULT_SHARE_ALT, DEFAULT_SHARE_IMAGE } from '../constants/metadata';\n\nconst mergeGlobalAndStrapiPageData = (\n context: GetStaticPropsContext,\n global: IStrapiData<StrapiGlobal>,\n page: IStrapiData<StrapiPage>,\n blogPosts: IStrapiData<StrapiBlogPost>[],\n customerStories: IStrapiData<StrapiCustomerStory>[],\n projects: PortfolioProject[]\n): StrapiPageProps => {\n const metaShareImageUrl = page.attributes.metadata?.shareImage\n ? strapiMediaUrl(\n page.attributes.metadata?.shareImage.media ??\n global.attributes.metadata.shareImage?.media,\n 'large'\n )\n : DEFAULT_SHARE_IMAGE;\n\n const returnBlogPosts = page.attributes.slices.some((slice) =>\n SLICES_WITH_BLOG_POSTS.includes(slice.__component)\n );\n const returnCustomerStories = page.attributes.slices.some((slice) =>\n SLICES_WITH_CUSTOMER_STORIES.includes(slice.__component)\n );\n const returnProjects = page.attributes.slices.some((slice) =>\n SLICES_WITH_PROJECTS.includes(slice.__component)\n );\n\n return {\n ...page,\n // Portfolio Projects\n projects: returnProjects ? projects : [],\n // StrapiPage\n attributes: {\n ...page?.attributes,\n metadata: page?.attributes?.metadata ?? global.attributes.metadata,\n },\n // PageProps\n headerType: {\n extendable: EXTENDABLE_HEADER_SECTIONS.includes(\n page.attributes.slices[0]?.__component\n ),\n theme: DARK_THEME_HEADER_SECTIONS.includes(\n page.attributes.slices[0]?.__component\n )\n ? 'dark'\n : 'light',\n },\n headerNavMenus: global.attributes.navbar.navMenus || [],\n headerButtons: global.attributes.navbar.buttons || [],\n footerLinks: global.attributes.footer.links || [],\n metadata: {\n title:\n page.attributes.metadata?.title ?? global.attributes.metadata.title,\n description:\n page.attributes.metadata?.description ??\n global.attributes.metadata.description,\n shareImage: {\n url: metaShareImageUrl,\n alt:\n page.attributes.metadata?.shareImage?.alt ??\n global.attributes.metadata.shareImage?.alt ??\n DEFAULT_SHARE_ALT,\n },\n metaTitleSuffix: global.attributes.metaTitleSuffix,\n favicon: strapiMediaUrl(global.attributes.favicon, 'thumbnail'),\n },\n slices: page?.attributes.slices,\n blogPosts: returnBlogPosts ? blogPosts : [],\n banner: global.attributes.banner,\n topBanner: page?.attributes.topBanner || global.attributes.topBanner,\n customerStories: returnCustomerStories ? customerStories : [],\n };\n};\n\nexport default mergeGlobalAndStrapiPageData;\n","import { GetStaticPropsContext } from 'next';\nimport strapiMediaUrl from './strapiMediaUrl';\nimport {\n IStrapiData,\n StrapiBlogPost,\n StrapiGlobal,\n StrapiProject,\n StrapiProjectProps,\n} from '..';\nimport PortfolioProject from '../models/PortfolioProject';\nimport {\n DARK_THEME_HEADER_SECTIONS,\n EXTENDABLE_HEADER_SECTIONS,\n SLICES_WITH_BLOG_POSTS,\n SLICES_WITH_PROJECTS,\n} from '../constants/slicesConfig';\nimport { DEFAULT_SHARE_ALT, DEFAULT_SHARE_IMAGE } from '../constants/metadata';\n\nconst mergeGlobalAndStrapiProject = (\n context: GetStaticPropsContext,\n global: IStrapiData<StrapiGlobal>,\n project: IStrapiData<StrapiProject>,\n blogPosts: IStrapiData<StrapiBlogPost>[],\n projects: PortfolioProject[]\n): StrapiProjectProps => {\n const metaShareImageUrl = project.attributes.metadata?.shareImage\n ? strapiMediaUrl(\n project.attributes.metadata?.shareImage.media ??\n global.attributes.metadata.shareImage?.media,\n 'large'\n )\n : DEFAULT_SHARE_IMAGE;\n\n const returnBlogPosts = project.attributes.slices.some((slice) =>\n SLICES_WITH_BLOG_POSTS.includes(slice.__component)\n );\n const returnProjects = project.attributes.slices.some((slice) =>\n SLICES_WITH_PROJECTS.includes(slice.__component)\n );\n\n return {\n ...project,\n // Portfolio Projects\n projects: returnProjects ? projects : [],\n // StrapiProject\n attributes: {\n ...project.attributes,\n metadata: project?.attributes?.metadata || global.attributes.metadata,\n },\n headerType: {\n extendable: EXTENDABLE_HEADER_SECTIONS.includes(\n project.attributes.slices[0]?.__component\n ),\n theme: DARK_THEME_HEADER_SECTIONS.includes(\n project.attributes.slices[0]?.__component\n )\n ? 'dark'\n : 'light',\n },\n // PageProps\n headerNavMenus: global.attributes.navbar.navMenus || [],\n headerButtons: global.attributes.navbar.buttons || [],\n footerLinks: global.attributes.footer.links || [],\n metadata: {\n title:\n project.attributes.metadata?.title ?? global.attributes.metadata.title,\n description:\n project.attributes.metadata?.description ??\n global.attributes.metadata.description,\n shareImage: {\n url: metaShareImageUrl,\n alt:\n project.attributes.metadata?.shareImage?.alt ??\n global.attributes.metadata.shareImage?.alt ??\n DEFAULT_SHARE_ALT,\n },\n metaTitleSuffix: global.attributes.metaTitleSuffix,\n favicon: strapiMediaUrl(global.attributes.favicon, 'thumbnail'),\n },\n slices: project.attributes.slices,\n blogPosts: returnBlogPosts ? blogPosts : [],\n banner: global.attributes.banner,\n topBanner: project?.attributes.topBanner || global.attributes.topBanner,\n customerStories: [],\n };\n};\n\nexport default mergeGlobalAndStrapiProject;\n","import StrapiLink from '../models/strapi/StrapiLink';\n\nconst strapiLinkUrl = (\n strapiLink: StrapiLink | undefined = undefined\n): string => {\n if (strapiLink?.page?.data) {\n return `/${strapiLink.page.data.attributes.slug}`;\n }\n\n return strapiLink?.url || '/';\n};\n\nexport default strapiLinkUrl;\n","import React from 'react';\nimport Head from 'next/head';\nimport {\n DEFAULT_SHARE_ALT,\n DEFAULT_SHARE_IMAGE,\n} from '../../constants/metadata';\n\ninterface SEOTagsProps {\n title: string;\n description: string;\n shareImage?: {\n url: string;\n alt: string;\n };\n metaTitleSuffix?: string;\n favicon?: string;\n domain?: string;\n}\n\nexport const SEOTags: React.FC<SEOTagsProps> = ({\n title,\n description,\n shareImage,\n metaTitleSuffix = 'Tree.ly',\n favicon = 'https://cdn.tree.ly/favicon.ico',\n domain = 'tree.ly',\n}: SEOTagsProps) => {\n const shareImageUrl = shareImage?.url ?? DEFAULT_SHARE_IMAGE;\n const shareImageAlt = shareImage?.alt ?? DEFAULT_SHARE_ALT;\n\n return (\n <Head>\n <title>{`${title} - ${metaTitleSuffix}`}</title>\n <meta name=\"description\" content={description} />\n <link rel=\"icon\" href={favicon} />\n\n <meta property=\"og:url\" content={`https://${domain}`} />\n <meta property=\"og:type\" content=\"website\" />\n <meta property=\"og:title\" content={title} />\n <meta property=\"og:description\" content={description} />\n <meta property=\"og:image\" content={shareImageUrl} />\n <meta property=\"og:image:alt\" content={shareImageAlt} />\n\n <meta name=\"twitter:card\" content=\"summary_large_image\" />\n <meta property=\"twitter:domain\" content={domain} />\n <meta property=\"twitter:url\" content={`https://${domain}`} />\n <meta name=\"twitter:title\" content={title} />\n <meta name=\"twitter:description\" content={description} />\n <meta name=\"twitter:image\" content={shareImageUrl} />\n <meta name=\"twitter:image:alt\" content={shareImageAlt} />\n </Head>\n );\n};\n","import StrapiImage from '../../models/strapi/StrapiImage';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport { Box } from 'boemly';\nimport Head from 'next/head';\nimport Image from 'next/image';\nimport React, { useState } from 'react';\n\ninterface ZoomableImageProps {\n image: StrapiImage;\n zoom?: number;\n}\n\nconst ZoomableImage = ({ image, zoom = 200 }: ZoomableImageProps) => {\n // define and set default values to the states of the component\n const [isZoomed, setIsZoomed] = useState(false);\n const [backgroundPos, setBackgroundPos] = useState('50% 50%');\n\n const imageSrc = strapiMediaUrl(image.img, 'xLarge');\n\n const zoomInPosition = (e: React.MouseEvent<HTMLElement, MouseEvent>) => {\n // This will handle the calculations of the area where the image needs to zoom in depending on the user interaction\n const zoomer = e.currentTarget.getBoundingClientRect();\n const x = ((e.clientX - zoomer.x) / zoomer.width) * 100;\n const y = ((e.clientY - zoomer.y) / zoomer.height) * 100;\n setBackgroundPos(`${x}% ${y}%`);\n };\n\n const toggleZoomImage = (e: React.MouseEvent<HTMLElement, MouseEvent>) => {\n if (isZoomed) {\n setIsZoomed(false);\n } else {\n // Zoom in and set the background position correctly\n setIsZoomed(true);\n zoomInPosition(e);\n }\n };\n\n const handleClick = (e: React.MouseEvent<HTMLElement, MouseEvent>) => {\n toggleZoomImage(e);\n };\n\n const handleMove = (e: React.MouseEvent<HTMLElement, MouseEvent>) => {\n if (isZoomed) {\n zoomInPosition(e);\n }\n };\n\n return (\n <>\n <Head>\n <link rel=\"prefetch\" as=\"image\" href={imageSrc} />\n </Head>\n <Box\n position=\"relative\"\n display=\"inline-block\"\n width=\"full\"\n height=\"full\"\n overflow=\"hidden\"\n flexShrink=\"0\"\n scrollSnapAlign=\"center\"\n scrollSnapStop=\"always\"\n draggable=\"false\"\n cursor={isZoomed ? 'zoom-out' : 'zoom-in'}\n backgroundImage={isZoomed ? `url( ${imageSrc} )` : 'none'}\n backgroundSize={`${zoom}%`}\n backgroundPosition={backgroundPos}\n onClick={(e) => handleClick(e)}\n onMouseMove={(e) => handleMove(e)}\n >\n <Image\n src={imageSrc}\n alt={image.alt}\n fill\n style={{\n visibility: isZoomed ? 'hidden' : 'visible',\n objectFit: 'contain',\n }}\n />\n </Box>\n </>\n );\n};\n\nexport default ZoomableImage;\n","import React, { useCallback, useEffect, useMemo, useRef } from 'react';\nimport { BoemlyModal, Flex, IconButton } from 'boemly';\nimport { useKey, useLockBodyScroll } from 'react-use';\nimport StrapiImage from '../../models/strapi/StrapiImage';\nimport { CaretLeft, CaretRight } from '@phosphor-icons/react';\nimport ZoomableImage from './ZoomableImage';\n\nexport interface FullScreenImageProps {\n images: StrapiImage[];\n isOpen: boolean;\n onClose: () => void;\n currentIndex?: number;\n setCurrentIndex?: (callback: (c: number) => number) => void;\n}\n\nexport const FullScreenImage = ({\n images,\n isOpen,\n onClose,\n currentIndex = 0,\n setCurrentIndex,\n}: FullScreenImageProps) => {\n const containerRef = useRef<HTMLDivElement>(null);\n\n useLockBodyScroll(isOpen);\n\n const canMoveRight = useMemo(\n () => currentIndex < images.length - 1,\n [currentIndex, images.length]\n );\n const canMoveLeft = useMemo(() => currentIndex !== 0, [currentIndex]);\n\n const onRight = useCallback(\n () => canMoveRight && setCurrentIndex && setCurrentIndex((c) => c + 1),\n [canMoveRight]\n );\n const onLeft = useCallback(\n () => canMoveLeft && setCurrentIndex && setCurrentIndex((c) => c - 1),\n [canMoveLeft]\n );\n\n useKey('ArrowRight', onRight, {}, [onRight]);\n useKey('ArrowLeft', onLeft, {}, [onLeft]);\n\n useEffect(() => {\n if (!!isOpen) {\n setTimeout(() => {\n containerRef?.current?.scrollTo({\n left: currentIndex * containerRef.current.clientWidth,\n behavior: 'instant',\n });\n }, 10);\n }\n }, [isOpen]);\n\n useEffect(() => {\n if (containerRef.current) {\n containerRef.current.scrollTo({\n left: currentIndex * containerRef.current.clientWidth,\n behavior: 'smooth',\n });\n }\n }, [currentIndex, containerRef]);\n\n return (\n <BoemlyModal\n onClose={onClose}\n isOpen={isOpen}\n title=\"\"\n trigger=\"\"\n size=\"full\"\n content={\n <Flex\n position=\"absolute\"\n insetY=\"16\"\n insetX=\"0\"\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Flex\n ref={containerRef}\n flexGrow=\"1\"\n flexBasis=\"100%\"\n flexShrink=\"1\"\n gap=\"4\"\n marginX=\"24\"\n scrollSnapType=\"x mandatory\"\n overflow=\"hidden\"\n position=\"relative\"\n height=\"full\"\n width=\"full\"\n >\n {images.map((image) => (\n <ZoomableImage key={image.id} image={image} />\n ))}\n </Flex>\n\n <Flex\n position=\"absolute\"\n inset=\"6\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n pointerEvents=\"none\"\n >\n <IconButton\n visibility={canMoveLeft ? 'visible' : 'hidden'}\n onClick={onLeft}\n icon={<CaretLeft size={16} />}\n aria-label=\"Previous picture\"\n variant=\"outline\"\n pointerEvents=\"all\"\n mr=\"6\"\n />\n\n <IconButton\n visibility={canMoveRight ? 'visible' : 'hidden'}\n onClick={onRight}\n icon={<CaretRight size={16} />}\n aria-label=\"Next picture\"\n variant=\"outline\"\n pointerEvents=\"all\"\n ml=\"4\"\n />\n </Flex>\n </Flex>\n }\n />\n );\n};\n","export const BREAKPOINT_SM = `${320 - 1}px`;\nexport const BREAKPOINT_MD = `${768 - 1}px`;\nexport const BREAKPOINT_LG = `${960 - 1}px`;\nexport const BREAKPOINT_XL = `${1200 - 1}px`;\n\nexport const BREAKPOINT_SM_QUERY = `(max-width: ${BREAKPOINT_SM})`;\nexport const BREAKPOINT_MD_QUERY = `(max-width: ${BREAKPOINT_MD})`;\nexport const BREAKPOINT_LG_QUERY = `(max-width: ${BREAKPOINT_LG})`;\nexport const BREAKPOINT_XL_QUERY = `(max-width: ${BREAKPOINT_XL})`;\n","import React, { useState } from 'react';\nimport {\n Box,\n DefaultSectionContainer,\n DefaultSectionHeader,\n Wrapper,\n useMediaQuery,\n} from 'boemly';\nimport Image from 'next/image';\nimport StrapiDefaultHeader from '../../models/strapi/StrapiDefaultHeader';\nimport StrapiImage from '../../models/strapi/StrapiImage';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport FullScreenImage from '../../components/FullScreenImage';\nimport { BREAKPOINT_MD_QUERY } from '../../constants/breakpoints';\n\ninterface FullWidthImageSlice extends StrapiDefaultHeader {\n image: StrapiImage;\n}\nexport interface FullWidthImageProps {\n slice: FullWidthImageSlice;\n}\n\nexport const FullWidthImage: React.FC<FullWidthImageProps> = ({\n slice,\n}: FullWidthImageProps) => {\n const [isOpen, setIsOpen] = useState(false);\n const [isMobile] = useMediaQuery(BREAKPOINT_MD_QUERY);\n\n return (\n <DefaultSectionContainer title={slice.title}>\n <Wrapper>\n <DefaultSectionHeader\n isHero\n tagline={slice.tagline}\n title={slice.title}\n text={slice.text}\n taglineProps={{ textAlign: 'center', mt: ['32', null, null, '56'] }}\n titleProps={{ textAlign: 'center', maxW: '6xl', marginX: 'auto' }}\n textProps={{ textAlign: 'center', maxW: '3xl', marginX: 'auto' }}\n />\n\n <Box position=\"relative\" mt=\"20\" height={['3xs', null, 'xl']}>\n <Image\n src={strapiMediaUrl(slice.image.img, 'xLarge')}\n alt={slice.image.alt}\n fill\n style={{\n objectFit: slice.image.objectFit || 'cover',\n cursor: isMobile ? 'unset' : 'pointer',\n borderRadius: 'var(--boemly-radii-2xl)',\n }}\n onClick={() => !isMobile && setIsOpen(true)}\n />\n\n <FullScreenImage\n images={[slice.image]}\n isOpen={isOpen}\n onClose={() => setIsOpen(false)}\n />\n </Box>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","const openHubSpotChat = () => {\n const w = window as any;\n\n if (w.HubSpotConversations) {\n w.HubSpotConversations.widget.open();\n } else {\n w.hsConversationsOnReady = [\n () => {\n w.HubSpotConversations.widget.open();\n },\n ];\n }\n};\n\nexport default openHubSpotChat;\n","import React from 'react';\nimport { Button } from 'boemly';\nimport Link from 'next/link';\nimport { useDetectAdBlock } from 'adblock-detect-react';\nimport StrapiLink from '../../models/strapi/StrapiLink';\nimport strapiLinkUrl from '../../utils/strapiLinkUrl';\nimport openHubSpotChat from '../../utils/openHubSpotChat';\n\nexport interface StrapiLinkButtonProps {\n link: StrapiLink;\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n variant?: 'solid' | 'outline' | 'outlineWhite' | 'link' | 'ghost';\n colorScheme?: 'primary' | 'gray' | 'orange' | 'green' | 'white';\n rightIcon?: JSX.Element;\n leftIcon?: JSX.Element;\n mt?: any;\n mr?: any;\n mb?: any;\n ml?: any;\n mx?: any;\n my?: any;\n background?: string;\n}\n\nexport const StrapiLinkButton: React.FC<StrapiLinkButtonProps> = ({\n link,\n ...buttonProps\n}: StrapiLinkButtonProps) => {\n const adBlockDetected = useDetectAdBlock();\n\n if (link.intercomLauncher) {\n if (adBlockDetected) {\n return (\n <Button {...buttonProps} as={Link} href=\"mailto:hello@tree.ly\">\n {link.text}\n </Button>\n );\n }\n\n return (\n <Button {...buttonProps} onClick={openHubSpotChat}>\n {link.text}\n </Button>\n );\n }\n\n return (\n <Button {...buttonProps} as={Link} href={strapiLinkUrl(link)}>\n {link.text}\n </Button>\n );\n};\n","import React from 'react';\nimport { Box, DefaultSectionHeader, Flex, Gradient, Wrapper } from 'boemly';\nimport Image from 'next/image';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\nimport StrapiImage from '../../models/strapi/StrapiImage';\nimport StrapiLink from '../../models/strapi/StrapiLink';\nimport StrapiButtonWithVariant from '../../models/strapi/StrapiButtonWithVariant';\n\nexport interface HeroProps {\n slice: {\n tagline?: string;\n title: string;\n subTitle: string;\n button?: StrapiLink;\n additionalButtons: StrapiButtonWithVariant[];\n image?: StrapiImage;\n textAlign: 'left' | 'center';\n shape?: StrapiImage;\n };\n}\n\nexport const Hero: React.FC<HeroProps> = ({ slice }: HeroProps) => (\n <Box\n position=\"relative\"\n width=\"full\"\n height=\"var(--default-hero-height)\"\n minHeight=\"2xl\"\n backgroundColor=\"gray.900\"\n overflowX=\"hidden\"\n >\n {slice.image && (\n <>\n <Image\n src={strapiMediaUrl(slice.image.img, 'xLarge')}\n alt={slice.image.alt}\n fill\n style={{ objectFit: slice.image.objectFit || 'cover' }}\n />\n <Gradient />\n </>\n )}\n {slice.shape && (\n <Box\n position=\"absolute\"\n bottom=\"0\"\n borderTopRightRadius=\"full\"\n width={['3xs', null, '2xs', null, 'sm']}\n height={['3xs', null, '2xs', null, 'sm']}\n right={['-16', null, '24']}\n >\n <Image\n src={strapiMediaUrl(slice.shape.img, 'medium')}\n alt={slice.shape.alt}\n fill\n style={{\n objectFit: slice.shape.objectFit || 'cover',\n borderTopRightRadius: 'var(--boemly-radii-full)',\n }}\n />\n </Box>\n )}\n <Box\n position=\"absolute\"\n left=\"0\"\n top=\"56%\"\n width=\"full\"\n textAlign={slice.textAlign}\n transform=\"translateY(-50%)\"\n >\n <Wrapper>\n <>\n <DefaultSectionHeader\n isHero\n tagline={slice.tagline}\n title={slice.title}\n text={slice.subTitle}\n taglineProps={{ color: 'white' }}\n titleProps={{\n color: 'white',\n maxW: slice.textAlign === 'center' ? '4xl' : '3xl',\n mx: slice.textAlign === 'center' ? 'auto' : 'unset',\n textAlign: slice.textAlign,\n }}\n textProps={{\n maxW: '2xl',\n mx: slice.textAlign === 'center' ? 'auto' : 'unset',\n textAlign: slice.textAlign,\n color: 'white',\n }}\n />\n\n <Flex\n gap=\"8\"\n justifyContent={slice.textAlign === 'center' ? 'center' : 'start'}\n >\n {slice.button && (\n <StrapiLinkButton\n key={slice.button.id}\n mt=\"10\"\n size=\"xl\"\n link={slice.button}\n />\n )}\n {slice.additionalButtons.map((button) => (\n <StrapiLinkButton\n key={button.button.id}\n mt=\"10\"\n size=\"xl\"\n variant={button.variant}\n link={button.button}\n />\n ))}\n </Flex>\n </>\n </Wrapper>\n </Box>\n </Box>\n);\n","import React from 'react';\nimport {\n Box,\n DefaultSectionContainer,\n DefaultSectionHeader,\n Flex,\n Heading,\n SimpleGrid,\n Spacer,\n Text,\n Wrapper,\n} from 'boemly';\nimport Image from 'next/image';\nimport StrapiImage from '../../models/strapi/StrapiImage';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport StrapiLink from '../../models/strapi/StrapiLink';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\n\nexport interface IconGridProps {\n slice: {\n tagline?: string;\n title?: string;\n subTitle?: string;\n iconsWithTextAndButton: {\n id: number;\n title: string;\n text: string;\n icon: StrapiImage;\n button?: StrapiLink;\n }[];\n };\n}\n\nexport const IconGrid: React.FC<IconGridProps> = ({ slice }: IconGridProps) => {\n const columns = () => {\n if (slice.iconsWithTextAndButton.length === 2) {\n return [1, null, null, 2, 2];\n }\n if (slice.iconsWithTextAndButton.length === 1) {\n return 1;\n }\n return [1, null, null, 2, 3];\n };\n\n return (\n <DefaultSectionContainer>\n <Wrapper>\n {slice.title ? (\n <>\n <Flex alignItems=\"center\" flexDirection=\"column\">\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.subTitle}\n taglineProps={{ maxW: '2xl', textAlign: 'center' }}\n titleProps={{ maxW: '3xl', textAlign: 'center' }}\n textProps={{ maxW: '3xl', textAlign: 'center' }}\n />\n </Flex>\n <Spacer h=\"20\" />\n </>\n ) : (\n <></>\n )}\n\n <SimpleGrid\n columns={columns()}\n gap={slice.iconsWithTextAndButton.length === 2 ? '14' : '16'}\n rowGap={['16', null, null, '20']}\n >\n {slice.iconsWithTextAndButton.map((iconWithTextAndButton) => (\n <Box key={iconWithTextAndButton.id}>\n <Box\n margin=\"0 auto\"\n backgroundColor=\"primary.50\"\n borderRadius=\"full\"\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"space-around\"\n width=\"6.5rem\"\n height=\"6.5rem\"\n >\n <Box position=\"absolute\" width=\"12\" height=\"12\">\n <Image\n src={strapiMediaUrl(\n iconWithTextAndButton.icon.img,\n 'xSmall'\n )}\n alt={iconWithTextAndButton.icon.alt}\n fill\n style={{\n objectFit:\n iconWithTextAndButton.icon.objectFit || 'contain',\n }}\n />\n </Box>\n </Box>\n <Heading size=\"xl\" textAlign=\"center\" mb=\"4\" mt=\"8\">\n {iconWithTextAndButton.title}\n </Heading>\n <Text size=\"mdRegularNormal\" textAlign=\"center\">\n {iconWithTextAndButton.text}\n </Text>\n {iconWithTextAndButton.button && (\n <Box textAlign=\"center\">\n <StrapiLinkButton\n key={iconWithTextAndButton.button.id}\n mt=\"8\"\n size=\"md\"\n variant=\"outline\"\n link={iconWithTextAndButton.button}\n />\n </Box>\n )}\n </Box>\n ))}\n </SimpleGrid>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","import React from 'react';\n\nconst LinkedInIcon = () => (\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_112_606)\">\n <path\n d=\"M11.9286 11.9285H9.85424V8.67998C9.85424 7.90534 9.84042 6.90813 8.77539 6.90813C7.695 6.90813 7.52969 7.75213 7.52969 8.62357V11.9283H5.45533V5.24799H7.44671V6.16093H7.47459C7.67388 5.82018 7.96186 5.53986 8.30786 5.34984C8.65386 5.15981 9.04493 5.06719 9.4394 5.08183C11.5418 5.08183 11.9295 6.46473 11.9295 8.2638L11.9286 11.9285ZM3.11477 4.33484C2.87669 4.33489 2.64393 4.26433 2.44595 4.13209C2.24796 3.99985 2.09365 3.81188 2.0025 3.59193C1.91135 3.37199 1.88746 3.12995 1.93387 2.89644C1.98027 2.66292 2.09488 2.44841 2.26321 2.28003C2.43153 2.11164 2.646 1.99696 2.8795 1.95047C3.11301 1.90398 3.35504 1.92778 3.57502 2.01884C3.795 2.10992 3.98303 2.26417 4.11533 2.46211C4.24764 2.66004 4.31829 2.89277 4.31833 3.13085C4.31836 3.28894 4.28725 3.44547 4.22678 3.59153C4.1663 3.7376 4.07767 3.87031 3.96591 3.98211C3.85415 4.09392 3.72146 4.18261 3.57541 4.24313C3.42937 4.30365 3.27286 4.33481 3.11477 4.33484ZM4.15194 11.9285H2.07544V5.24799H4.15194V11.9285ZM12.9628 0.000953808H1.03307C0.762304 -0.00210183 0.501383 0.102466 0.307673 0.291681C0.113961 0.480895 0.00330461 0.739273 0 1.01004V12.9892C0.00319151 13.2602 0.113783 13.5187 0.307487 13.7081C0.501192 13.8975 0.762169 14.0023 1.03307 13.9994H12.9628C13.2342 14.0028 13.496 13.8983 13.6904 13.7089C13.8848 13.5195 13.9962 13.2607 14 12.9892V1.00918C13.9961 0.737873 13.8846 0.479199 13.6902 0.28999C13.4958 0.10078 13.2341 -0.00348904 12.9628 8.91429e-05\"\n fill=\"#0A66C2\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_112_606\">\n <rect width=\"14\" height=\"14\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n);\n\nexport default LinkedInIcon;\n","import React from 'react';\nimport { CaretRight, Globe } from '@phosphor-icons/react';\nimport LinkedInIcon from '../../icons/LinkedInIcon';\nimport StrapiLinkWithIcon from '../../models/strapi/StrapiLinkWithIcon';\nimport StrapiLinkButton from '../StrapiLinkButton';\nimport { StrapiLinkButtonProps } from '../StrapiLinkButton/StrapiLinkButton';\n\nexport interface StrapiLinkButtonWithIconProps\n extends Omit<StrapiLinkButtonProps, 'link'> {\n link: StrapiLinkWithIcon;\n}\n\nexport const StrapiLinkButtonWithIcon: React.FC<\n StrapiLinkButtonWithIconProps\n> = ({ link, ...props }: StrapiLinkButtonWithIconProps) => {\n const getLinkIcon = (destination: string) => {\n switch (destination) {\n case 'linkedin': {\n return <LinkedInIcon />;\n }\n case 'web': {\n return <Globe />;\n }\n default: {\n return <CaretRight />;\n }\n }\n };\n\n return (\n <StrapiLinkButton\n {...props}\n link={link.link}\n rightIcon={getLinkIcon(link.destination)}\n />\n );\n};\n","import React from 'react';\nimport {\n Box,\n DefaultSectionContainer,\n DefaultSectionHeader,\n Flex,\n Heading,\n SimpleGrid,\n Text,\n useToken,\n Wrapper,\n} from 'boemly';\nimport Image from 'next/image';\nimport StrapiLinkButtonWithIcon from '../../components/StrapiLinkButtonWithIcon';\nimport StrapiDefaultHeader from '../../models/strapi/StrapiDefaultHeader';\nimport StrapiImage from '../../models/strapi/StrapiImage';\nimport StrapiLinkWithIcon from '../../models/strapi/StrapiLinkWithIcon';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\n\ninterface ImageGridSlice extends StrapiDefaultHeader {\n images: {\n id: number;\n title: string;\n subTitle?: string;\n image: StrapiImage;\n links: StrapiLinkWithIcon[];\n }[];\n}\nexport interface ImageGridProps {\n slice: ImageGridSlice;\n}\n\nexport const ImageGrid: React.FC<ImageGridProps> = ({\n slice,\n}: ImageGridProps) => {\n const [primary50] = useToken('colors', ['primary.50']);\n\n return (\n <DefaultSectionContainer backgroundColor={primary50} title={slice.title}>\n <Wrapper>\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.text}\n taglineProps={{ textAlign: 'center' }}\n titleProps={{ textAlign: 'center', maxW: '6xl', marginX: 'auto' }}\n textProps={{ textAlign: 'center', maxW: '2xl', marginX: 'auto' }}\n />\n\n <SimpleGrid\n mt=\"24\"\n columns={3}\n gap=\"24\"\n rowGap=\"16\"\n minChildWidth=\"16rem\"\n >\n {slice.images.map(({ id, title, subTitle, image, links }) => (\n <Box key={id}>\n <Box position=\"relative\" height=\"sm\" borderRadius=\"xl\">\n <Image\n src={strapiMediaUrl(image.img, 'medium')}\n alt={image.alt}\n fill\n style={{\n objectFit: image.objectFit || 'cover',\n borderRadius: 'var(--boemly-radii-xl)',\n }}\n />\n </Box>\n <Heading size=\"xl\" mt=\"4\">\n {title}\n </Heading>\n {subTitle && <Text size=\"mdRegularNormal\">{subTitle}</Text>}\n {links && links.length > 0 && (\n <Flex mt=\"3\" flexDir=\"row\" gap=\"2\" flexWrap=\"wrap\">\n {links.map((link) => (\n <StrapiLinkButtonWithIcon\n key={link.id}\n link={link}\n size=\"sm\"\n variant=\"outline\"\n />\n ))}\n </Flex>\n )}\n </Box>\n ))}\n </SimpleGrid>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","export const API_URI =\n process.env.NEXT_PUBLIC_API_URI || 'http://localhost:4001';\nexport const FPM_API_URI =\n process.env.NEXT_PUBLIC_FPM_API_URI || 'https://api.fpm.t-staging.com';\nexport const CDN_URI = 'https://cdn.tree.ly';\n","import React, { Fragment } from 'react';\nimport {\n Box,\n DefaultSectionContainer,\n DefaultSectionHeader,\n Heading,\n SimpleGrid,\n Text,\n useMediaQuery,\n useToken,\n Wrapper,\n} from 'boemly';\nimport Image from 'next/image';\nimport { CaretRight } from '@phosphor-icons/react';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport { BREAKPOINT_LG_QUERY } from '../../constants/breakpoints';\nimport StrapiDefaultHeader from '../../models/strapi/StrapiDefaultHeader';\nimport StrapiImage from '../../models/strapi/StrapiImage';\nimport StrapiLink from '../../models/strapi/StrapiLink';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\nimport { CDN_URI } from '../../constants/api';\n\ninterface ImageTextSequenceSlice extends StrapiDefaultHeader {\n imageTextRows: {\n id: number;\n title: string;\n text: string;\n button?: StrapiLink;\n image: StrapiImage;\n }[];\n background?: boolean;\n}\nexport interface ImageTextSequenceProps {\n slice: ImageTextSequenceSlice;\n}\n\nexport const ImageTextSequence: React.FC<ImageTextSequenceProps> = ({\n slice,\n}: ImageTextSequenceProps) => {\n const [oneColumnGrid] = useMediaQuery(BREAKPOINT_LG_QUERY);\n const [primary50] = useToken('colors', ['primary.50']);\n const [gray700] = useToken('colors', ['gray.700']);\n\n return (\n <DefaultSectionContainer backgroundColor={primary50} title={slice.title}>\n {slice.background ? (\n <>\n <Box\n position=\"absolute\"\n top=\"0\"\n right=\"24\"\n display={['none', null, null, 'unset']}\n >\n <Image\n src={`${CDN_URI}/assets/v3/strapi-slices/desktop-map-border.svg`}\n alt=\"Map\"\n width=\"786\"\n height=\"897\"\n />\n </Box>\n <Box\n position=\"absolute\"\n top=\"64\"\n right=\"-14\"\n display={['unset', null, null, 'none']}\n >\n <Image\n src={`${CDN_URI}/assets/v3/strapi-slices/mobile-map-border.svg`}\n alt=\"Map\"\n width=\"227\"\n height=\"452\"\n />\n </Box>\n </>\n ) : (\n <></>\n )}\n <Wrapper>\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.text}\n taglineProps={{ textAlign: ['left', null, null, null, 'center'] }}\n titleProps={{\n maxW: '6xl',\n marginX: ['0', null, null, null, 'auto'],\n textAlign: ['left', null, null, null, 'center'],\n }}\n textProps={{\n maxW: '2xl',\n marginX: ['0', null, null, null, 'auto'],\n textAlign: ['left', null, null, null, 'center'],\n color: 'black',\n }}\n />\n\n <SimpleGrid\n gap=\"16\"\n mt={['28', null, null, null, '40']}\n columns={[1, null, null, null, 2]}\n >\n {slice.imageTextRows.map(\n ({ id, title, text, button, image }, index) => {\n const imageBox = (\n <Box>\n <Box\n position=\"relative\"\n width=\"full\"\n minHeight={['2xs', null, null, 'sm']}\n >\n <Image\n src={strapiMediaUrl(image.img, 'large')}\n alt={image.alt}\n fill\n style={{\n objectFit: image.objectFit || 'contain',\n borderRadius: 'var(--boemly-radii-xl)',\n }}\n />\n </Box>\n </Box>\n );\n return (\n <Fragment key={id}>\n {(oneColumnGrid || index % 2 !== 0) && imageBox}\n <Box\n display=\"flex\"\n alignItems=\"flex-start\"\n flexDirection=\"column\"\n justifyContent=\"center\"\n >\n <Heading as=\"h2\" size=\"xl\" mb=\"4\">\n {title}\n </Heading>\n <Text size=\"mdRegularNormal\">{text}</Text>\n {button && (\n <StrapiLinkButton\n mt=\"5\"\n link={button}\n size=\"sm\"\n variant=\"outline\"\n rightIcon={<CaretRight size=\"10\" color={gray700} />}\n />\n )}\n </Box>\n {!oneColumnGrid && index % 2 === 0 && imageBox}\n </Fragment>\n );\n }\n )}\n </SimpleGrid>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","import React from 'react';\nimport {\n DefaultSectionContainer,\n DefaultSectionHeader,\n Grid,\n GridItem,\n PortfolioCard,\n Spacer,\n BoemlyList,\n Wrapper,\n} from 'boemly';\nimport { ArrowRight } from '@phosphor-icons/react';\nimport Image from 'next/image';\nimport { useRouter } from 'next/router';\nimport strapiLinkUrl from '../../utils/strapiLinkUrl';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport StrapiPortfolioCard from '../../models/strapi/StrapiPortfolioCard';\nimport StrapiDefaultHeader from '../../models/strapi/StrapiDefaultHeader';\nimport StrapiLink from '../../models/strapi/StrapiLink';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\n\ninterface LeftTextRightCardSlice extends StrapiDefaultHeader {\n checkMarkLabels?: {\n id: number;\n text: string;\n }[];\n button?: StrapiLink;\n card?: StrapiPortfolioCard;\n}\nexport interface LeftTextRightCardProps {\n slice: LeftTextRightCardSlice;\n}\n\nexport const LeftTextRightCard: React.FC<LeftTextRightCardProps> = ({\n slice,\n}: LeftTextRightCardProps) => {\n const { push } = useRouter();\n\n return (\n <DefaultSectionContainer title={slice.title}>\n <Wrapper>\n <Grid\n templateColumns={[\n 'repeat(8, 1fr)',\n null,\n null,\n null,\n 'repeat(12, 1fr)',\n ]}\n templateRows={['repeat(2, 1fr)', null, null, null, 'repeat(1, 1fr)']}\n rowGap=\"12\"\n >\n <GridItem colSpan={8} rowSpan={1} pr={['0', null, null, null, '28']}>\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.text}\n />\n\n {slice.checkMarkLabels && (\n <>\n <Spacer height=\"10\" />\n <BoemlyList listItems={slice.checkMarkLabels} />\n <Spacer height=\"10\" />\n </>\n )}\n\n {slice.button && (\n <StrapiLinkButton\n link={slice.button}\n size=\"md\"\n colorScheme=\"white\"\n variant=\"outline\"\n rightIcon={<ArrowRight />}\n />\n )}\n </GridItem>\n <GridItem\n colSpan={[8, null, null, null, 4]}\n rowSpan={1}\n position=\"relative\"\n >\n {slice.card && (\n <PortfolioCard\n title={slice.card.title}\n button={\n slice.card.button && {\n text: slice.card.button.text,\n onClick: () => push(strapiLinkUrl(slice.card?.button)),\n }\n }\n facts={slice.card.facts}\n image={\n <Image\n src={strapiMediaUrl(slice.card.image.img, 'medium')}\n alt={slice.card.image.alt}\n fill\n style={{ objectFit: slice.card.image.objectFit || 'cover' }}\n />\n }\n portfolioNumber={slice.card.portfolioNumber}\n />\n )}\n </GridItem>\n </Grid>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","import React from 'react';\nimport {\n Box,\n DefaultSectionContainer,\n Flex,\n Heading,\n RichText,\n SimpleGrid,\n useToken,\n Wrapper,\n} from 'boemly';\nimport Image from 'next/image';\nimport { ArrowRight } from '@phosphor-icons/react';\nimport strapiLinkUrl from '../../utils/strapiLinkUrl';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\nimport StrapiImageWithLink from '../../models/strapi/StrapiImageWithLink';\nimport StrapiLink from '../../models/strapi/StrapiLink';\n\nexport interface LogoGridWithTextProps {\n slice: {\n title: string;\n text: string;\n button?: StrapiLink;\n logos: StrapiImageWithLink[];\n };\n}\n\nexport const LogoGridWithText: React.FC<LogoGridWithTextProps> = ({\n slice,\n}: LogoGridWithTextProps) => {\n const [primary50] = useToken('colors', ['primary.50']);\n\n return (\n <DefaultSectionContainer backgroundColor={primary50} title={slice.title}>\n <Wrapper>\n <SimpleGrid columns={2} gap=\"28\" minChildWidth=\"16rem\">\n <Box\n display=\"flex\"\n flexDirection=\"column\"\n justifyContent=\"center\"\n alignItems=\"flex-start\"\n >\n <Heading as=\"h2\" size=\"3xl\" mb=\"4\">\n {slice.title}\n </Heading>\n <RichText content={slice.text} />\n {slice.button && (\n <StrapiLinkButton\n link={slice.button}\n size=\"md\"\n colorScheme=\"white\"\n variant=\"outline\"\n mt=\"6\"\n rightIcon={<ArrowRight />}\n />\n )}\n </Box>\n <Flex flexDir=\"row\" flexWrap=\"wrap\" gap={['12', null, null, '28']}>\n {slice.logos.map((logo) => (\n <Flex\n key={logo.id}\n justifyContent=\"center\"\n alignItems=\"center\"\n flexGrow={1}\n flexShrink={0}\n flexBasis={slice.logos.length > 2 ? '34%' : '90%'} // 34% are just enough to not allow three in one row\n >\n <Box position=\"relative\" height=\"20\" width=\"100%\">\n {logo.link ? (\n <a href={strapiLinkUrl(logo.link)}>\n <Image\n src={strapiMediaUrl(logo.img, 'small')}\n alt={logo.alt}\n fill\n style={{ objectFit: logo.objectFit || 'contain' }}\n />\n </a>\n ) : (\n <Image\n src={strapiMediaUrl(logo.img, 'small')}\n alt={logo.alt}\n fill\n style={{ objectFit: logo.objectFit || 'contain' }}\n />\n )}\n </Box>\n </Flex>\n ))}\n </Flex>\n </SimpleGrid>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","import styled from '@emotion/styled';\nimport { BREAKPOINT_LG } from '../../constants/breakpoints';\nimport { Box } from 'boemly';\n\nexport const MapHeroContainer = styled(Box)`\n position: relative;\n width: 100vw;\n height: var(--default-hero-height);\n min-height: var(--boemly-sizes-3xl);\n background-color: var(--boemly-colors-primary-50);\n overflow: hidden;\n z-index: var(--boemly-zIndices-base);\n\n @media screen and (max-width: ${BREAKPOINT_LG}) {\n height: auto;\n }\n`;\n\nexport const MapHeroTextContainer = styled(Box)`\n position: absolute;\n width: 100vw;\n top: 56%;\n left: 0;\n transform: translateY(-50%);\n z-index: var(--boemly-zIndices-aboveBase);\n\n @media screen and (max-width: ${BREAKPOINT_LG}) {\n position: relative;\n transform: unset;\n\n padding-top: var(--boemly-space-32);\n }\n`;\n\nexport const ShapeContainer = styled(Box)`\n position: absolute;\n bottom: calc(var(--boemly-space-8) * -1);\n left: 0;\n\n width: var(--boemly-sizes-sm);\n height: var(--boemly-sizes-sm);\n\n border-top-right-radius: var(--boemly-radii-full);\n\n & span,\n div {\n border-top-right-radius: var(--boemly-radii-full);\n }\n\n @media screen and (max-width: ${BREAKPOINT_LG}) {\n display: none;\n }\n`;\n\nexport const MapContainer = styled(Box)`\n position: absolute;\n\n width: 50%;\n height: 100%;\n\n right: 0;\n top: 0;\n\n & img {\n object-fit: cover !important;\n }\n\n @media screen and (max-width: ${BREAKPOINT_LG}) {\n width: 100%;\n height: var(--boemly-sizes-4xl);\n position: relative;\n margin-top: calc(var(--boemly-space-72) * -1);\n background-color: var(--boemly-colors-white);\n\n & img {\n object-fit: contain !important;\n }\n }\n`;\n\nexport const MapGradient = styled(Box)`\n position: absolute;\n top: 0;\n right: 0;\n width: 100%;\n height: 100%;\n\n background: linear-gradient(\n 90deg,\n var(--boemly-colors-primary-50) 0%,\n var(--boemly-colors-primary-50) 10%,\n rgba(243, 246, 245, 0.6) 28%,\n rgba(243, 246, 245, 0) 40%,\n rgba(243, 246, 245, 0) 100%\n );\n\n @media screen and (max-width: ${BREAKPOINT_LG}) {\n background: linear-gradient(\n 180deg,\n var(--boemly-colors-primary-50) 0%,\n var(--boemly-colors-primary-50) 36%,\n rgba(243, 246, 245, 0.12) 46%,\n rgba(243, 246, 245, 0) 100%\n );\n }\n`;\n","import React from 'react';\nimport { DefaultSectionHeader, Flex, useMediaQuery, Wrapper } from 'boemly';\nimport Image from 'next/image';\nimport { BREAKPOINT_LG_QUERY } from '../../constants/breakpoints';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\nimport StrapiImage from '../../models/strapi/StrapiImage';\nimport StrapiLink from '../../models/strapi/StrapiLink';\nimport {\n MapHeroContainer,\n MapHeroTextContainer,\n ShapeContainer,\n MapContainer,\n MapGradient,\n} from './styles';\n\nexport interface MapHeroProps {\n slice: {\n tagline?: string;\n title: string;\n subTitle?: string;\n buttons?: StrapiLink[];\n shape?: StrapiImage;\n map: StrapiImage;\n mobileMap: StrapiImage;\n };\n}\n\nexport const MapHero: React.FC<MapHeroProps> = ({ slice }: MapHeroProps) => {\n const [belowBreakpoint] = useMediaQuery(BREAKPOINT_LG_QUERY);\n\n return (\n <MapHeroContainer maxWidth=\"full\">\n {slice.shape && (\n <ShapeContainer>\n <Image\n src={strapiMediaUrl(slice.shape.img, 'medium')}\n alt={slice.shape.alt}\n fill\n style={{ objectFit: slice.shape.objectFit || 'cover' }}\n />\n </ShapeContainer>\n )}\n <MapHeroTextContainer>\n <Wrapper>\n <>\n <DefaultSectionHeader\n isHero\n tagline={slice.tagline}\n title={slice.title}\n text={slice.subTitle}\n titleProps={{ maxW: ['100%', null, null, null, '60%'] }}\n textProps={{ maxW: ['100%', null, null, null, '55%'] }}\n />\n {slice.buttons && slice.buttons.length > 0 && (\n <Flex mt=\"10\" flexDir=\"row\" gap=\"5\">\n <StrapiLinkButton link={slice.buttons[0]} size=\"xl\" />\n {slice.buttons.length === 2 && (\n <StrapiLinkButton\n link={slice.buttons[1]}\n variant=\"outline\"\n size=\"xl\"\n />\n )}\n </Flex>\n )}\n </>\n </Wrapper>\n </MapHeroTextContainer>\n <MapContainer>\n {belowBreakpoint ? (\n <Image\n src={strapiMediaUrl(slice.mobileMap.img, 'xLarge')}\n alt={slice.mobileMap.alt}\n fill\n style={{ objectFit: slice.mobileMap.objectFit || 'contain' }}\n />\n ) : (\n <Image\n src={strapiMediaUrl(slice.map.img, 'xLarge')}\n alt={slice.map.alt}\n fill\n style={{ objectFit: slice.map.objectFit || 'cover' }}\n />\n )}\n <MapGradient />\n </MapContainer>\n </MapHeroContainer>\n );\n};\n","const convertToKebabCase = (str: string) => {\n const matches =\n str &&\n str.match(\n /[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g\n );\n return matches ? matches.map((x: string) => x.toLowerCase()).join('-') : '';\n};\n\nexport default convertToKebabCase;\n","import React from 'react';\nimport {\n Box,\n Heading,\n HeroCard,\n SimpleGrid,\n Text,\n BoemlyAccordion,\n Wrapper,\n Flex,\n Spacer,\n} from 'boemly';\nimport { ArrowRight } from '@phosphor-icons/react';\nimport { useRouter } from 'next/router';\nimport Image from 'next/image';\nimport StrapiLink from '../../models/strapi/StrapiLink';\nimport strapiLinkUrl from '../../utils/strapiLinkUrl';\nimport StrapiHeroCard from '../../models/strapi/StrapiHeroCard';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\nimport convertToKebabCase from '../../utils/convertToKebabCase';\n\nconst VARIANTS = {\n gray: {\n backgroundColor: 'primary.50',\n tagLineColor: 'primary.500',\n textColor: 'black',\n accordionVariant: 'black',\n otherQuestionsBackground: 'primary.700',\n },\n green: {\n backgroundColor: 'primary.800',\n tagLineColor: 'white',\n textColor: 'white',\n accordionVariant: 'white',\n otherQuestionsBackground: 'primary.900',\n },\n white: {\n backgroundColor: 'white',\n tagLineColor: 'primary.500',\n textColor: 'black',\n accordionVariant: 'black',\n otherQuestionsBackground: 'primary.700',\n },\n};\n\nexport interface QAndAProps {\n slice: {\n tagline: string;\n title: string;\n questionsAndAnswers: {\n id: number;\n key: string;\n value: string;\n }[];\n otherQuestions: string;\n button: StrapiLink;\n hero?: StrapiHeroCard;\n variant?: keyof typeof VARIANTS;\n };\n}\n\nexport const QAndA: React.FC<QAndAProps> = ({ slice }: QAndAProps) => {\n const { push } = useRouter();\n\n const variant = VARIANTS[slice.variant ?? 'green'];\n\n return (\n <>\n <Box\n pb={slice.hero ? 80 : 28}\n id={convertToKebabCase(slice.title)}\n backgroundColor={variant.backgroundColor}\n >\n <Wrapper>\n <SimpleGrid columns={[1, null, null, 2]}>\n <Box mr=\"16\" paddingY=\"28\">\n <Text size=\"mdMonoUppercase\" color={variant.tagLineColor}>\n {slice.tagline}\n </Text>\n <Heading\n as=\"h2\"\n size=\"3xl\"\n color={variant.textColor}\n mt=\"6\"\n mb=\"16\"\n >\n {slice.title}\n </Heading>\n </Box>\n <Box\n maxHeight={['unset', null, null, 'xl']}\n paddingTop={['0', null, null, '28']}\n paddingRight={['0', null, null, '6']}\n overflowY={['unset', null, null, 'scroll']}\n >\n <Box>\n <BoemlyAccordion\n rows={slice.questionsAndAnswers}\n defaultIndex={0}\n variant={variant.accordionVariant as 'white' | 'black'}\n />\n <Flex\n padding=\"8\"\n backgroundColor={variant.otherQuestionsBackground}\n borderRadius=\"2xl\"\n mt=\"14\"\n flexDir={['column', null, null, 'row']}\n justifyContent={['flex-start', null, null, 'space-between']}\n alignItems={['flex-start', null, null, 'center']}\n >\n <Heading as=\"h6\" size=\"sm\" color=\"white\">\n {slice.otherQuestions}\n </Heading>\n <Spacer minHeight={['4', null, null, '0']} />\n <StrapiLinkButton\n size=\"lg\"\n colorScheme=\"white\"\n background=\"white\"\n rightIcon={<ArrowRight />}\n link={slice.button}\n />\n </Flex>\n </Box>\n </Box>\n </SimpleGrid>\n </Wrapper>\n </Box>\n\n {slice.hero && (\n <Box pb=\"28\" mt=\"-56\">\n <Wrapper>\n <HeroCard\n title={slice.hero.title}\n subTitle={slice.hero.subTitle}\n link={\n slice.hero.button && {\n text: slice.hero.button.text,\n onClick: () => push(strapiLinkUrl(slice.hero?.button)),\n }\n }\n image={\n slice.hero.image && (\n <Image\n src={strapiMediaUrl(slice.hero.image.img, 'xLarge')}\n alt={slice.hero.image.alt}\n fill\n style={{ objectFit: slice.hero.image.objectFit || 'cover' }}\n />\n )\n }\n />\n </Wrapper>\n </Box>\n )}\n </>\n );\n};\n","import React from 'react';\nimport Image from 'next/image';\nimport {\n Box,\n DefaultSectionHeader,\n HeroCard,\n QuoteCard,\n Shape,\n SimpleGrid,\n Wrapper,\n} from 'boemly';\nimport StrapiDefaultHeader from '../../models/strapi/StrapiDefaultHeader';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport StrapiQuoteCard from '../../models/strapi/StrapiQuoteCard';\nimport StrapiHeroCard from '../../models/strapi/StrapiHeroCard';\nimport strapiLinkUrl from '../../utils/strapiLinkUrl';\nimport StrapiImage from '../../models/strapi/StrapiImage';\nimport convertToKebabCase from '../../utils/convertToKebabCase';\nimport { useRouter } from 'next/router';\n\ninterface QuoteCardsSlice extends StrapiDefaultHeader {\n cards: StrapiQuoteCard[];\n shapes?: StrapiImage[];\n hero?: StrapiHeroCard;\n}\nexport interface QuoteCardsProps {\n slice: QuoteCardsSlice;\n}\n\nexport const QuoteCards: React.FC<QuoteCardsProps> = ({\n slice,\n}: QuoteCardsProps) => {\n const { push } = useRouter();\n\n return (\n <>\n <Box\n id={convertToKebabCase(slice.title)}\n position=\"relative\"\n paddingTop=\"28\"\n paddingBottom={!!slice.hero ? '80' : '28'}\n >\n {slice.shapes && slice.shapes.length === 2 && (\n <>\n <Shape\n shape={\n <Image\n src={strapiMediaUrl(slice.shapes[0].img, 'small')}\n alt={slice.shapes[0].alt}\n fill\n style={{ objectFit: slice.shapes[0].objectFit || 'cover' }}\n />\n }\n top=\"0\"\n right=\"0\"\n size=\"xs\"\n radius=\"bottom-left\"\n />\n <Shape\n shape={\n <Image\n src={strapiMediaUrl(slice.shapes[1].img, 'small')}\n alt={slice.shapes[1].alt}\n fill\n style={{ objectFit: slice.shapes[1].objectFit || 'cover' }}\n />\n }\n bottom=\"0\"\n left=\"0\"\n radius=\"top-right\"\n />\n </>\n )}\n <Wrapper>\n <Box maxW=\"3xl\">\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.text}\n />\n </Box>\n <SimpleGrid\n columns={2}\n gap=\"20\"\n rowGap=\"6\"\n mt=\"16\"\n minChildWidth={['100%', null, '16rem']}\n >\n {slice.cards.map((card) => (\n <Box key={card.id} width=\"full\" maxWidth=\"2xl\">\n <QuoteCard\n key={card.id}\n avatar={{\n name: card.avatar.name,\n description: card.avatar.description,\n image: (\n <Image\n src={strapiMediaUrl(card.avatar.image.img, 'small')}\n alt={card.avatar.image.alt}\n fill\n style={{\n objectFit: card.avatar.image.objectFit || 'cover',\n }}\n />\n ),\n }}\n text={card.text}\n />\n </Box>\n ))}\n </SimpleGrid>\n </Wrapper>\n </Box>\n {slice.hero && (\n <Box marginTop=\"-40\" paddingBottom=\"28\">\n <Wrapper>\n <HeroCard\n title={slice.hero.title}\n subTitle={slice.hero.subTitle}\n link={\n slice.hero.button && {\n text: slice.hero.button.text,\n onClick: () => push(strapiLinkUrl(slice.hero?.button)),\n }\n }\n image={\n slice.hero.image && (\n <Image\n src={strapiMediaUrl(slice.hero.image.img, 'xLarge')}\n alt={slice.hero.image.alt}\n fill\n style={{ objectFit: slice.hero.image.objectFit || 'cover' }}\n />\n )\n }\n />\n </Wrapper>\n </Box>\n )}\n </>\n );\n};\n","import React from 'react';\nimport {\n DefaultSectionContainer,\n Grid,\n GridItem,\n RichText,\n Wrapper,\n} from 'boemly';\n\nexport interface RichTextSectionProps {\n slice: {\n content: string;\n };\n}\n\nexport const RichTextSection: React.FC<RichTextSectionProps> = ({\n slice,\n}: RichTextSectionProps) => (\n <DefaultSectionContainer>\n <Wrapper>\n <Grid templateColumns=\"repeat(12, 1fr)\" gap=\"4\">\n <GridItem colSpan={[12, null, null, 7]}>\n <RichText content={slice.content} />\n </GridItem>\n </Grid>\n </Wrapper>\n </DefaultSectionContainer>\n);\n","import React, { createRef, useEffect, useRef, useState } from 'react';\nimport {\n Box,\n Center,\n DefaultSectionContainer,\n DefaultSectionHeader,\n Flex,\n Gradient,\n Heading,\n RichText,\n ShapesCard,\n Text,\n useToken,\n Wrapper,\n} from 'boemly';\nimport Image from 'next/image';\nimport { useWindowScroll, useWindowSize } from 'react-use';\nimport { useRouter } from 'next/router';\nimport StrapiShapesCard from '../../models/strapi/StrapiShapesCard';\nimport StrapiDefaultHeader from '../../models/strapi/StrapiDefaultHeader';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport strapiLinkUrl from '../../utils/strapiLinkUrl';\nimport StrapiImage from '../../models/strapi/StrapiImage';\n\ninterface StepsSlice extends StrapiDefaultHeader {\n steps: {\n id: number;\n step: number;\n title: string;\n text?: string;\n }[];\n image?: StrapiImage;\n card?: StrapiShapesCard;\n}\nexport interface StepsProps {\n slice: StepsSlice;\n}\n\nexport const Steps: React.FC<StepsProps> = ({ slice }: StepsProps) => {\n const { push } = useRouter();\n const [gray900] = useToken('colors', ['gray.900']);\n\n const containerRef = useRef<HTMLDivElement>(null);\n\n const [stepRefs, setStepRefs] = useState(new Array(slice.steps.length));\n const [stepProgress, setStepProgress] = useState(\n new Array(slice.steps.length)\n );\n\n const { y: offsetY } = useWindowScroll();\n const { height: windowHeight } = useWindowSize();\n\n useEffect(() => {\n setStepRefs(slice.steps.map(() => createRef()));\n }, []);\n\n useEffect(() => {\n const containerOffsetTop = containerRef.current?.offsetTop || 0;\n setStepProgress(\n stepRefs.map((ref) => {\n const currentItemOffsetTop = ref.current?.offsetTop || 0;\n return containerOffsetTop + currentItemOffsetTop <\n offsetY + windowHeight / 3\n ? 100\n : 0;\n })\n );\n }, [offsetY]);\n\n return (\n <div ref={containerRef}>\n <DefaultSectionContainer backgroundColor={gray900} title={slice.title}>\n <>\n {slice.image && (\n <Box\n position=\"absolute\"\n top=\"0\"\n left=\"0\"\n width=\"full\"\n height=\"full\"\n >\n <Image\n src={strapiMediaUrl(slice.image.img, 'xLarge')}\n alt={slice.image.alt}\n fill\n style={{ objectFit: slice.image.objectFit || 'cover' }}\n />\n <Gradient />\n </Box>\n )}\n </>\n <Wrapper>\n <>\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.text}\n taglineProps={{ textAlign: 'center' }}\n titleProps={{\n textAlign: 'center',\n maxW: '2xl',\n marginX: 'auto',\n color: 'white',\n }}\n textProps={{\n textAlign: 'center',\n maxW: 'xl',\n marginX: 'auto',\n color: 'whiteAlpha.800',\n }}\n />\n\n <Box marginTop={['16', null, '24']}>\n {slice.steps.map(({ id, step, title, text }, index) => (\n <Flex flexDir=\"column\" alignItems=\"center\" key={id}>\n <Center\n width=\"10\"\n height=\"10\"\n borderRadius=\"full\"\n backgroundColor=\"white\"\n >\n <Text size=\"smRegularNormal\" color=\"black\">\n {step}\n </Text>\n </Center>\n <Heading size=\"lg\" color=\"white\" mt=\"4\" textAlign=\"center\">\n {title}\n </Heading>\n {text && (\n <Box maxW=\"xl\" mt=\"4\">\n <RichText\n options={{ forceBlock: true }}\n content={text}\n textProps={{\n size: 'mdRegularNormal',\n color: 'whiteAlpha.700',\n textAlign: 'center',\n }}\n />\n </Box>\n )}\n {(index + 1 < slice.steps.length || slice.card) && (\n <Box\n ref={stepRefs[index]}\n position=\"relative\"\n marginTop=\"4\"\n marginBottom=\"6\"\n height=\"12\"\n >\n <Box\n position=\"absolute\"\n height=\"full\"\n borderLeft=\"dashed 1px white\"\n opacity=\"0.5\"\n />\n <Box\n position=\"absolute\"\n height={`${stepProgress[index]}%`}\n borderRight=\"solid 1px white\"\n opacity=\"1\"\n transition=\"height ease var(--medium-transition-duration)\"\n />\n </Box>\n )}\n </Flex>\n ))}\n </Box>\n\n {slice.card && (\n <ShapesCard\n tagline={slice.card.tagline}\n title={slice.card.title}\n text={slice.card.text}\n shapes={\n slice.card.shapes &&\n slice.card.shapes?.map((shape) => (\n <Image\n key={shape.id}\n src={strapiMediaUrl(shape.img, 'small')}\n alt={shape.alt}\n fill\n style={{ objectFit: shape.objectFit || 'cover' }}\n />\n ))\n }\n button={\n slice.card.button && {\n text: slice.card.button.text,\n onClick: () => push(strapiLinkUrl(slice.card?.button)),\n }\n }\n />\n )}\n </>\n </Wrapper>\n </DefaultSectionContainer>\n </div>\n );\n};\n","import React from 'react';\nimport { css } from '@emotion/react';\nimport {\n Box,\n DefaultSectionContainer,\n DefaultSectionHeader,\n Flex,\n Heading,\n RichText,\n SimpleGrid,\n Text,\n useToken,\n Wrapper,\n} from 'boemly';\nimport Image from 'next/image';\nimport { CaretRight } from '@phosphor-icons/react';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\nimport StrapiDefaultHeader from '../../models/strapi/StrapiDefaultHeader';\nimport StrapiImage from '../../models/strapi/StrapiImage';\nimport StrapiLink from '../../models/strapi/StrapiLink';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\n\ninterface TextCardGridSlice extends StrapiDefaultHeader {\n variant: 'shape' | 'image';\n cards: {\n id: number;\n tagline?: string;\n title: string;\n text: string;\n image: StrapiImage;\n buttons?: StrapiLink[];\n }[];\n}\nexport interface TextCardGridProps {\n slice: TextCardGridSlice;\n}\n\nenum ShapePosition {\n topLeft = 'top-left',\n topRight = 'top-right',\n bottomLeft = 'bottom-left',\n bottomRight = 'bottom-right',\n unset = 'unset',\n}\n\nconst shapePositions: ShapePosition[] = [\n ShapePosition.topLeft,\n ShapePosition.bottomRight,\n ShapePosition.topRight,\n ShapePosition.bottomLeft,\n ShapePosition.topRight,\n ShapePosition.bottomLeft,\n ShapePosition.topLeft,\n ShapePosition.bottomRight,\n];\n\nconst oppositesOfCorners = {\n [ShapePosition.bottomLeft]: ShapePosition.topRight,\n [ShapePosition.topRight]: ShapePosition.bottomLeft,\n [ShapePosition.bottomRight]: ShapePosition.topLeft,\n [ShapePosition.topLeft]: ShapePosition.bottomRight,\n [ShapePosition.unset]: ShapePosition.unset,\n};\n\ntype Variant = {\n padding: (string | null)[];\n positionIcon: (index: number) => ShapePosition;\n width: string;\n height: string;\n position: 'absolute' | 'relative';\n mb: string;\n};\n\nconst variants: { shape: Variant; image: Variant } = {\n shape: {\n padding: ['6', null, null, '8'],\n positionIcon: (index: number) => shapePositions[index],\n width: '40',\n height: '40',\n position: 'absolute',\n mb: 'unset',\n },\n image: {\n padding: ['6', null, null, '8'],\n positionIcon: () => ShapePosition.unset,\n width: '24',\n height: '24',\n position: 'relative',\n mb: '10',\n },\n};\n\nexport const TextCardGrid: React.FC<TextCardGridProps> = ({\n slice,\n}: TextCardGridProps) => {\n const [primary800] = useToken('colors', ['primary.800']);\n\n return (\n <DefaultSectionContainer backgroundColor={primary800} title={slice.title}>\n <Wrapper>\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.text}\n taglineProps={{ textAlign: 'center', color: 'white' }}\n titleProps={{\n textAlign: 'center',\n maxW: '2xl',\n marginX: 'auto',\n color: 'white',\n }}\n textProps={{\n textAlign: 'center',\n maxW: 'xl',\n marginX: 'auto',\n color: 'whiteAlpha.800',\n }}\n />\n\n <SimpleGrid\n mt={['14', null, null, '24']}\n columns={3}\n justifyItems=\"center\"\n gap=\"20\"\n rowGap=\"16\"\n minChildWidth={['100%', null, '16rem']}\n >\n {slice.cards.map(\n ({ id, tagline, title, text, image, buttons }, index) => (\n <Box\n key={id}\n backgroundColor=\"white\"\n zIndex=\"base\"\n padding={variants[slice.variant].padding}\n boxShadow=\"lg\"\n borderRadius=\"2xl\"\n minHeight=\"2xs\"\n width=\"full\"\n maxWidth={slice.cards.length > 1 ? 'unset' : 'xl'}\n position=\"relative\"\n display=\"flex\"\n flexDir=\"column\"\n alignItems=\"flex-start\"\n justifyContent={\n slice.variant === 'shape' ? 'flex-end' : 'flex-start'\n }\n overflow=\"hidden\"\n >\n <Box\n position={variants[slice.variant].position}\n width={variants[slice.variant].width}\n height={variants[slice.variant].height}\n mb={variants[slice.variant].mb}\n top={\n variants[slice.variant].positionIcon(index).includes('top')\n ? '-4'\n : 'unset'\n }\n left={\n variants[slice.variant].positionIcon(index).includes('left')\n ? '-4'\n : 'unset'\n }\n right={\n variants[slice.variant]\n .positionIcon(index)\n .includes('right')\n ? '-4'\n : 'unset'\n }\n bottom={\n variants[slice.variant]\n .positionIcon(index)\n .includes('bottom')\n ? '-4'\n : 'unset'\n }\n borderBottomRightRadius={\n oppositesOfCorners[\n variants[slice.variant].positionIcon(index)\n ].includes('bottomRight')\n ? 'full'\n : 'unset'\n }\n borderBottomLeftRadius={\n oppositesOfCorners[\n variants[slice.variant].positionIcon(index)\n ].includes('bottomLeft')\n ? 'full'\n : 'unset'\n }\n borderTopRightRadius={\n oppositesOfCorners[\n variants[slice.variant].positionIcon(index)\n ].includes('topRight')\n ? 'full'\n : 'unset'\n }\n borderTopLeftRadius={\n oppositesOfCorners[\n variants[slice.variant].positionIcon(index)\n ].includes('topLeft')\n ? 'full'\n : 'unset'\n }\n css={\n variants[slice.variant]\n .positionIcon(index)\n .includes('unset')\n ? css`\n & span,\n div,\n img {\n border-radius: var(--boemly-radii-xl);\n }\n `\n : css`\n & span,\n div,\n img {\n border-${\n oppositesOfCorners[\n variants[slice.variant].positionIcon(index)\n ]\n }-radius: var(--boemly-radii-full);\n }\n `\n }\n >\n <Image\n src={strapiMediaUrl(image.img, 'small')}\n alt={image.alt}\n fill\n style={{ objectFit: image.objectFit || 'cover' }}\n />\n </Box>\n <Box zIndex=\"aboveBase\" width=\"full\">\n {tagline && (\n <Text color=\"black\" size=\"smMonoNormal\" mb=\"2\">\n {tagline}\n </Text>\n )}\n <Heading as=\"h4\" size=\"xl\" mb=\"3\">\n {title}\n </Heading>\n <RichText\n content={text}\n listProps={{\n textColor: 'gray.500',\n textSize: 'smRegularNormal',\n }}\n textProps={{\n color: 'gray.500',\n size: 'smRegularNormal',\n }}\n />\n {buttons && !!buttons.length && (\n <Flex\n mt=\"4\"\n gap=\"3\"\n flexDir={['column', null, null, null, 'row']}\n >\n {buttons.map((button, buttonIndex) => (\n <StrapiLinkButton\n key={button.id}\n link={button}\n size=\"sm\"\n rightIcon={\n buttonIndex === 0 ? (\n <CaretRight size=\"10\" weight=\"bold\" />\n ) : undefined\n }\n variant={buttonIndex === 0 ? 'outline' : 'ghost'}\n />\n ))}\n </Flex>\n )}\n </Box>\n </Box>\n )\n )}\n </SimpleGrid>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","import { motion } from 'framer-motion';\nimport styled from '@emotion/styled';\nimport { BREAKPOINT_MD } from '../../constants/breakpoints';\nimport { Box } from 'boemly';\n\nexport const CarouselContainer = styled(Box)`\n margin-top: var(--boemly-space-6);\n padding: var(--boemly-space-8) 0;\n\n @media screen and (max-width: ${BREAKPOINT_MD}) {\n margin-top: var(--boemly-space-4);\n width: var(--boemly-sizes-full);\n }\n\n width: var(--boemly-sizes-full);\n\n overflow-x: hidden;\n\n @media screen and (max-width: ${BREAKPOINT_MD}) {\n overflow-x: scroll;\n }\n`;\n\ninterface CarouselInnerContainerProps {\n numberOfItems: number;\n}\nexport const CarouselInnerContainer = styled(\n motion.div\n)<CarouselInnerContainerProps>`\n display: flex;\n gap: var(--boemly-space-6);\n justify-content: center;\n\n width: calc(\n (var(--boemly-sizes-sm) + var(--boemly-space-6)) *\n ${({ numberOfItems }: CarouselInnerContainerProps) => numberOfItems} +\n var(--boemly-space-6)\n );\n min-width: var(--boemly-sizes-full);\n\n @media screen and (max-width: ${BREAKPOINT_MD}) {\n justify-content: flex-start;\n width: calc(\n (var(--boemly-sizes-2xs) + var(--boemly-space-4)) *\n ${({ numberOfItems }: CarouselInnerContainerProps) => numberOfItems} +\n var(--boemly-space-6)\n );\n }\n`;\n\nexport const CardContainer = styled(Box)`\n width: var(--boemly-sizes-sm);\n\n @media screen and (max-width: ${BREAKPOINT_MD}) {\n width: var(--boemly-sizes-2xs);\n\n margin-right: var(--boemly-space-4);\n\n &:first-of-type {\n margin-left: var(--boemly-space-6);\n }\n }\n`;\n","const messagesDe = {\n 'sections.comparison.backgroundShapes': 'Hintergrundformen',\n};\nexport default messagesDe;\n","const messagesDe = {\n 'components.creditsAvailableBadge.text.yes': 'Credits verfügbar',\n 'components.creditsAvailableBadge.text.some': 'Einige verbleibende Credits',\n 'components.creditsAvailableBadge.text.no': 'Keine verbleibenden Credits',\n 'components.creditsAvailableBadge.text.notYet': 'Gutschriften bald verfügbar',\n};\nexport default messagesDe;\n","const messagesDe = {\n 'sections.cta.backgroundShapes': 'Dunkle Hintergrundformen',\n 'sections.cta.backgroundShapesLight': 'Helle Hintergrundformen',\n};\nexport default messagesDe;\n","const messagesDe = {\n 'sections.customerCard.more': 'Weiterlesen',\n};\nexport default messagesDe;\n","const messagesDe = {\n 'sections.customerQuoteCard.more': 'Weiterlesen',\n};\nexport default messagesDe;\n","const messagesDe = {\n 'sections.glossary.copyButtonLabel':\n 'Kopiere den Link zu diesem Abschnitt in die Zwischenablage',\n 'sections.glossary.copySuccessMessage': 'Link in die Zwischenablage kopiert',\n 'sections.glossary.copyFailureMessage':\n 'Link konnte nicht in die Zwischenablage kopiert werden',\n};\nexport default messagesDe;\n","const messagesDe = {\n 'features.portfolio.documentsDownloadList.projectDocuments':\n 'Projektdokumente',\n 'features.portfolio.documentsDownloadList.downloadDocument':\n 'Dokument herunterladen',\n};\nexport default messagesDe;\n","const messagesDe = {\n 'sections.projectFacts.projectInfo.value': 'Projekt Infos',\n 'projects.projectFacts.properties.area': 'Fläche',\n};\nexport default messagesDe;\n","const messagesDe = {\n 'sections.projectsMap.link.text': 'Mehr Infos',\n};\nexport default messagesDe;\n","const messagesDe = {\n 'features.projectInfo.projectInfo.value': 'Projekt Infos',\n 'features.projectInfo.properties.area': 'Projekt Fläche',\n 'features.projectInfo.properties.location': 'Standort',\n 'features.projectInfo.properties.start': 'Projekt Start Datum',\n 'features.projectInfo.properties.timeSpan': 'Projekt Zeitraum',\n 'features.projectInfo.properties.projectType': 'Projekt Typ',\n 'features.projectInfo.properties.projectDeveloper': 'Projekt Entwickler',\n 'features.projectInfo.properties.verificationStandard.label':\n 'Verifizierungsstandard',\n 'features.projectInfo.properties.verificationStandard.value.SilvaconsultFCSISO14':\n 'SILVACONSULT® Forest Carbon Standard, ISO 14064-2',\n 'features.projectInfo.properties.verificationStandard.value.MfKWCH':\n 'Methodik für Klimaschutzprojekte im Wald für die Schweiz',\n 'features.projectInfo.properties.forecastedAmountYear.label':\n 'Projektvolumen',\n 'features.projectInfo.properties.riskBuffer': 'Anteil Risikopuffer',\n\n 'features.projectInfo.properties.year':\n '{years} {years, plural, one {Jahr} other {Jahre} }',\n};\n\nexport default messagesDe;\n","const messagesDe = {\n 'components.portfolioProjectCard.text.yes': 'Credits verfügbar',\n 'components.portfolioProjectCard.text.some': 'Einige verbleibende Credits',\n 'components.portfolioProjectCard.text.no': 'Keine verbleibenden Credits',\n 'components.portfolioProjectCard.text.notYet': 'Gutschriften bald verfügbar',\n};\n\nexport default messagesDe;\n","const messagesDe = {\n 'portfolio.smallCheckout.contributionValueCurrency.label.CHF':\n 'Geben Sie den Beitrag in Fr. ein',\n 'portfolio.smallCheckout.contributionValueCurrency.label.EUR':\n 'Geben Sie den Beitrag in € ein',\n 'portfolio.smallCheckout.contributionValueCurrency.unit.EUR': '€',\n 'portfolio.smallCheckout.contributionValueCurrency.unit.CHF': 'Fr.',\n 'portfolio.smallCheckout.contributionValueCurrency.validation.tooLow.CHF':\n 'Der Wert muss mindestens 10 CHF betragen',\n 'portfolio.smallCheckout.contributionValueCurrency.validation.tooLow.EUR':\n 'Der Wert muss mindestens 10 Euro betragen.',\n 'portfolio.smallCheckout.contributionValueCurrency.validation.empty':\n 'Bitte geben Sie einen Wert ein',\n 'portfolio.smallCheckout.contributionValueCurrency.validation.tooHigh':\n 'Für größere Einkäufe kontaktieren Sie bitte unser Verkaufsteam über den unten stehenden Button',\n\n 'portfolio.smallCheckout.contributionValueKgs.label': 'Beitrag in Tonnen',\n\n 'portfolio.smallCheckout.submitButton': 'Credits kaufen',\n\n 'portfolio.smallCheckout.cta.title':\n 'Möchten Sie mehr als 10.000 tCO₂ kaufen?',\n 'portfolio.smallCheckout.cta.subTitle':\n 'Für Unternehmenskunden bieten wir individuelle Lösungen an. Kontaktieren Sie uns.',\n 'portfolio.smallCheckout.cta.button': 'Unser Vertriebsteam kontaktieren',\n};\nexport default messagesDe;\n","const messagesDe = {\n 'sections.shopCheckout.intro.price': 'Preis',\n\n 'sections.shopCheckout.contributionValue.label.EUR':\n 'Geben sie einen Betrag in € ein',\n 'sections.shopCheckout.contributionValue.label.CHF':\n 'Geben sie einen Betrag in CHF ein',\n 'sections.shopCheckout.contributionValue.unit.EUR': '€',\n 'sections.shopCheckout.contributionValue.unit.CHF': 'CHF',\n 'sections.shopCheckout.contributionValue.validation.empty':\n 'Bitte geben sie einen Betrag ein',\n 'sections.shopCheckout.contributionValue.validation.tooLow.EUR':\n 'Der Betrag muss mindestens 10 Euro sein',\n 'sections.shopCheckout.contributionValue.validation.tooLow.CHF':\n 'Der Betrag muss mindestens 10 CHF sein',\n 'sections.shopCheckout.contributionValue.validation.tooHigh':\n 'Für größere Einkäufe kontaktieren Sie bitte unser Verkaufsteam über office@tree.ly',\n\n 'sections.shopCheckout.summary.kg': 'Menge',\n 'sections.shopCheckout.summary.price': 'Preis',\n\n 'sections.shopCheckout.submit': 'Kaufen',\n};\nexport default messagesDe;\n","const messagesDe = {\n 'sections.textCarousel.moveRight': 'Nach rechts bewegen',\n 'sections.textCarousel.moveLeft': 'Nach links bewegen',\n};\nexport default messagesDe;\n","const messagesDe = {\n 'sections.timeline.backgroundShapes': 'Hintergrundformen',\n 'sections.timeline.showMoreButton': 'Drei weitere Meilensteine anzeigen',\n};\nexport default messagesDe;\n","const unitMessagesDe = {\n 'unit.formatter.tonsCo2': '{number} /tCO₂',\n 'unit.formatter.tonsCo2PerYear': '{number} tCO₂/Jahr',\n};\nexport default unitMessagesDe;\n","import comparisonMessagesDe from './slices/Comparison/messages.de';\nimport creditsAvailableBadgeMessagesDe from './components/CreditsAvailableBadge/messages.de';\nimport ctaMessagesDe from './slices/Cta/messages.de';\nimport customerCardMessagesDe from './components/CustomerCard/messages.de';\nimport customerQuoteCardMessagesDe from './components/CustomerQuoteCard/messages.de';\nimport glossaryMessagesDe from './slices/Glossary/messages.de';\nimport portfolioDocumentsDownloadListMessagesDe from './components/portfolio/DocumentsDownloadList/messages.de';\nimport projectFactsMessagesDe from './slices/ProjectFacts/messages.de';\nimport projectsMapMessagesDe from './slices/ProjectsMap/messages.de';\nimport portfolioProjectInfoMessagesDe from './components/portfolio/ProjectInfo/messages.de';\nimport portfolioProjectCardMessagesDe from './components/portfolio/PortfolioProjectCard/messages.de';\nimport portfolioSmallCheckoutMessagesDe from './components/portfolio/SmallCheckout/messages.de';\nimport shopCheckoutMessagesDe from './slices/ShopCheckout/messages.de';\nimport textCarouselMessagesDe from './slices/TextCarousel/messages.de';\nimport timelineMessagesDe from './slices/Timeline/messages.de';\n\nimport unitMessagesDe from './unit.messages.de';\n\nconst rootMessagesDe = {\n //\n // Components\n //\n ...creditsAvailableBadgeMessagesDe,\n ...portfolioDocumentsDownloadListMessagesDe,\n ...portfolioProjectCardMessagesDe,\n ...portfolioProjectInfoMessagesDe,\n ...portfolioSmallCheckoutMessagesDe,\n\n //\n // Slices\n //\n ...comparisonMessagesDe,\n ...ctaMessagesDe,\n ...customerCardMessagesDe,\n ...customerQuoteCardMessagesDe,\n ...glossaryMessagesDe,\n ...projectFactsMessagesDe,\n ...projectsMapMessagesDe,\n ...shopCheckoutMessagesDe,\n ...textCarouselMessagesDe,\n ...timelineMessagesDe,\n\n //\n // Units\n //\n ...unitMessagesDe,\n};\n\nexport default rootMessagesDe;\n","const messagesEn = {\n 'sections.comparison.backgroundShapes': 'Background shapes',\n};\nexport default messagesEn;\n","const messagesEn = {\n 'components.creditsAvailableBadge.text.yes': 'Credits available',\n 'components.creditsAvailableBadge.text.some': 'Some remaining credits',\n 'components.creditsAvailableBadge.text.no': 'No remaining credits',\n 'components.creditsAvailableBadge.text.notYet': 'Credits available soon',\n};\nexport default messagesEn;\n","const messagesEn = {\n 'sections.cta.backgroundShapesDark': 'Dark background shapes',\n 'sections.cta.backgroundShapesLight': 'Light background shapes',\n};\nexport default messagesEn;\n","const messagesEn = {\n 'sections.customerCard.more': 'Read more',\n};\nexport default messagesEn;\n","const messagesEn = {\n 'sections.customerQuoteCard.more': 'Read more',\n};\nexport default messagesEn;\n","const messagesEn = {\n 'sections.glossary.copyButtonLabel':\n 'Copy a link to this section to your clipboard',\n 'sections.glossary.copySuccessMessage': 'Copied the link to your clipboard',\n 'sections.glossary.copyFailureMessage': 'Could not copy link to clipboard',\n};\nexport default messagesEn;\n","const messagesEn = {\n 'features.portfolio.documentsDownloadList.projectDocuments':\n 'Project documents',\n 'features.portfolio.documentsDownloadList.downloadDocument':\n 'Download document',\n};\nexport default messagesEn;\n","const messagesEn = {\n 'sections.projectFacts.projectInfo.value': 'Project Infos',\n 'projects.projectFacts.properties.area': 'Area',\n};\nexport default messagesEn;\n","const messagesEn = {\n 'sections.projectsMap.link.text': 'Show more info',\n};\nexport default messagesEn;\n","const messagesEn = {\n 'features.projectInfo.projectInfo.value': 'Project Infos',\n 'features.projectInfo.properties.area': 'Project Area',\n 'features.projectInfo.properties.location': 'Location',\n 'features.projectInfo.properties.start': 'Project Start Date',\n 'features.projectInfo.properties.timeSpan': 'Project Time Span',\n 'features.projectInfo.properties.projectType': 'Project Type',\n 'features.projectInfo.properties.projectDeveloper': 'Project Developer',\n 'features.projectInfo.properties.verificationStandard.label':\n 'Verification Standard',\n 'features.projectInfo.properties.verificationStandard.value.SilvaconsultFCSISO14':\n 'SILVACONSULT® Forest Carbon Standard, ISO 14064-2',\n 'features.projectInfo.properties.verificationStandard.value.MfKWCH':\n 'Methodik für Klimaschutzprojekte im Wald für die Schweiz',\n 'features.projectInfo.properties.forecastedAmountYear.label':\n 'Project Volume',\n 'features.projectInfo.properties.riskBuffer': 'Risk Buffer Share',\n\n 'features.projectInfo.properties.year':\n '{years} {years, plural, one {year} other {years} }',\n};\n\nexport default messagesEn;\n","const messagesEn = {\n 'components.portfolioProjectCard.text.yes': 'Credits available',\n 'components.portfolioProjectCard.text.some': 'Some remaining credits',\n 'components.portfolioProjectCard.text.no': 'No remaining credits',\n 'components.portfolioProjectCard.text.notYet': 'Credits available soon',\n};\n\nexport default messagesEn;\n","const messagesEn = {\n 'portfolio.smallCheckout.contributionValueCurrency.label.CHF':\n 'Contribution Amount in CHF',\n 'portfolio.smallCheckout.contributionValueCurrency.label.EUR':\n 'Contribution Amount in €',\n 'portfolio.smallCheckout.contributionValueCurrency.unit.EUR': '€',\n 'portfolio.smallCheckout.contributionValueCurrency.unit.CHF': 'CHF',\n 'portfolio.smallCheckout.contributionValueCurrency.validation.tooLow.CHF':\n 'The value must be at least 10 CHF',\n 'portfolio.smallCheckout.contributionValueCurrency.validation.tooLow.EUR':\n 'The value must be at least 10 Euro',\n 'portfolio.smallCheckout.contributionValueCurrency.validation.empty':\n 'Please enter a value',\n 'portfolio.smallCheckout.contributionValueCurrency.validation.tooHigh':\n 'For bigger purchases please contact our sales team via office@tree.ly',\n\n 'portfolio.smallCheckout.contributionValueKgs.label':\n 'Contribution Amount in Tons',\n\n 'portfolio.smallCheckout.submitButton': 'Buy credits',\n\n 'portfolio.smallCheckout.cta.title': 'Looking to buy more than 10.000 tCO₂?',\n 'portfolio.smallCheckout.cta.subTitle':\n 'For enterprise-customers we offer custom solutions. Feel free to contact us.',\n 'portfolio.smallCheckout.cta.button': 'Contact our Sales Team',\n};\nexport default messagesEn;\n","const messagesEn = {\n 'sections.shopCheckout.intro.price': 'Price',\n\n 'sections.shopCheckout.contributionValue.label.EUR':\n 'Enter contribution value in €',\n 'sections.shopCheckout.contributionValue.label.CHF':\n 'Enter contribution value in CHF',\n 'sections.shopCheckout.contributionValue.unit.EUR': '€',\n 'sections.shopCheckout.contributionValue.unit.CHF': 'CHF',\n 'sections.shopCheckout.contributionValue.validation.empty':\n 'Please enter a value',\n 'sections.shopCheckout.contributionValue.validation.tooLow.EUR':\n 'Der Betrag muss mindestens 10 Euro sein',\n 'sections.shopCheckout.contributionValue.validation.tooLow.CHF':\n 'Der Betrag muss mindestens 10 CHF sein',\n 'sections.shopCheckout.contributionValue.validation.tooHigh':\n 'For bigger purchases please contact our sales team via office@tree.ly',\n\n 'sections.shopCheckout.summary.kg': 'Quantity',\n 'sections.shopCheckout.summary.price': 'Price',\n\n 'sections.shopCheckout.submit': 'Checkout',\n};\nexport default messagesEn;\n","const messagesDe = {\n 'sections.textCarousel.moveRight': 'Move right',\n 'sections.textCarousel.moveLeft': 'Move left',\n};\nexport default messagesDe;\n","const messagesEn = {\n 'sections.timeline.backgroundShapes': 'Background shapes',\n 'sections.timeline.showMoreButton': 'Show three more milestones',\n};\nexport default messagesEn;\n","const unitMessagesEn = {\n 'unit.formatter.tonsCo2': '{number} /tCO₂',\n 'unit.formatter.tonsCo2PerYear': '{number} tCO₂/year',\n};\nexport default unitMessagesEn;\n","import comparisonMessagesEn from './slices/Comparison/messages.en';\nimport creditsAvailableBadgeMessagesEn from './components/CreditsAvailableBadge/messages.en';\nimport ctaMessagesEn from './slices/Cta/messages.en';\nimport customerCardMessagesEn from './components/CustomerCard/messages.en';\nimport customerQuoteCardMessagesEn from './components/CustomerQuoteCard/messages.en';\nimport glossaryMessagesEn from './slices/Glossary/messages.en';\nimport portfolioDocumentsDownloadListMessagesEn from './components/portfolio/DocumentsDownloadList/messages.en';\nimport projectFactsMessagesEn from './slices/ProjectFacts/messages.en';\nimport projectsMapMessagesEn from './slices/ProjectsMap/messages.en';\nimport portfolioProjectInfoMessagesEn from './components/portfolio/ProjectInfo/messages.en';\nimport portfolioProjectCardMessagesEn from './components/portfolio/PortfolioProjectCard/messages.en';\nimport portfolioSmallCheckoutMessagesEn from './components/portfolio/SmallCheckout/messages.en';\nimport shopCheckoutMessagesEn from './slices/ShopCheckout/messages.en';\nimport textCarouselMessagesEn from './slices/TextCarousel/messages.en';\nimport timelineMessagesEn from './slices/Timeline/messages.en';\n\nimport unitMessagesEn from './unit.messages.en';\n\nconst rootMessagesEn = {\n //\n // Components\n //\n ...creditsAvailableBadgeMessagesEn,\n ...portfolioDocumentsDownloadListMessagesEn,\n ...portfolioProjectCardMessagesEn,\n ...portfolioProjectInfoMessagesEn,\n ...portfolioSmallCheckoutMessagesEn,\n\n //\n // Slices\n //\n ...comparisonMessagesEn,\n ...ctaMessagesEn,\n ...customerCardMessagesEn,\n ...customerQuoteCardMessagesEn,\n ...glossaryMessagesEn,\n ...projectFactsMessagesEn,\n ...projectsMapMessagesEn,\n ...shopCheckoutMessagesEn,\n ...textCarouselMessagesEn,\n ...timelineMessagesEn,\n\n //\n // Units\n //\n ...unitMessagesEn,\n};\n\nexport default rootMessagesEn;\n","import { css } from '@emotion/react';\n\nexport const GLOBAL_STYLE = css`\n :root {\n --default-hero-height: calc(100vh - var(--boemly-space-24));\n }\n\n a {\n text-decoration: none;\n }\n`;\n","import React, { createContext } from 'react';\nimport { createIntl, createIntlCache } from 'react-intl';\nimport rootMessagesDe from '../../rootMessages.de';\nimport rootMessagesEn from '../../rootMessages.en';\nimport Locale from '../../models/Locale';\nimport { Global } from '@emotion/react';\nimport { GLOBAL_STYLE } from '../../constants/globalStyle';\n\nconst cache = createIntlCache();\n\nconst intlFactory = (locale: string) =>\n createIntl(\n {\n locale,\n messages: { de: rootMessagesDe, en: rootMessagesEn }[locale],\n },\n cache\n );\n\nexport const IntlContext = createContext(intlFactory('en'));\n\nexport interface ContextProviderProps {\n children: React.ReactNode;\n locale: Locale;\n}\n\nexport const ContextProvider: React.FC<ContextProviderProps> = ({\n children,\n locale,\n}: ContextProviderProps): JSX.Element => {\n return (\n <>\n <Global styles={{ GLOBAL_STYLE }} />\n <IntlContext.Provider value={intlFactory(locale)}>\n {children}\n </IntlContext.Provider>\n </>\n );\n};\n","import React, { useContext, useMemo, useRef, useState } from 'react';\nimport {\n Box,\n Center,\n DefaultSectionContainer,\n DefaultSectionHeader,\n IconButton,\n TextCardWithIcon,\n useToken,\n Wrapper,\n} from 'boemly';\nimport Image from 'next/image';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport StrapiDefaultHeader from '../../models/strapi/StrapiDefaultHeader';\nimport StrapiLink from '../../models/strapi/StrapiLink';\nimport StrapiTextCardWithIcon from '../../models/strapi/StrapiTextCardWithIcons';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\nimport {\n CardContainer,\n CarouselContainer,\n CarouselInnerContainer,\n} from './styles';\nimport { useMeasure, useWindowSize } from 'react-use';\nimport { AnimatePresence, motion } from 'framer-motion';\nimport { ArrowLeft, ArrowRight } from '@phosphor-icons/react';\nimport { IntlContext } from '../../components/ContextProvider';\n\ninterface TextCarouselSlice extends StrapiDefaultHeader {\n slides: StrapiTextCardWithIcon[];\n button?: StrapiLink;\n}\nexport interface TextCarouselProps {\n slice: TextCarouselSlice;\n}\n\nconst ITEM_GAP = 24;\nconst MAX_OFFSET_RIGHT = 55;\n\nexport const TextCarousel: React.FC<TextCarouselProps> = ({\n slice,\n}: TextCarouselProps) => {\n const containerRef = useRef(null);\n const [primary50] = useToken('colors', ['primary.50']);\n const [itemRef, { width: itemWidth }] = useMeasure<HTMLDivElement>();\n const { formatMessage } = useContext(IntlContext);\n const { width: windowWidth } = useWindowSize();\n\n const [sliderIndex, setSliderIndex] = useState(0);\n\n const numberOfItems = useMemo(\n () => slice.slides.length,\n [slice.slides.length]\n );\n\n const sliderItemsWidth = useMemo(\n () => numberOfItems * (itemWidth + ITEM_GAP) - ITEM_GAP,\n [itemWidth, numberOfItems]\n );\n\n const offsetLeft = useMemo(\n () => sliderIndex * (itemWidth + ITEM_GAP) * -1,\n [sliderIndex, itemWidth]\n );\n\n const allowScroll = useMemo(\n () => sliderItemsWidth + ITEM_GAP * 2 > windowWidth,\n\n [sliderItemsWidth, windowWidth]\n );\n\n const canMoveRight = useMemo(() => {\n const offsetRight = windowWidth - (sliderItemsWidth + offsetLeft);\n\n return offsetRight < MAX_OFFSET_RIGHT;\n }, [itemWidth, sliderIndex, sliderItemsWidth, windowWidth]);\n\n const canMoveLeft = useMemo(() => sliderIndex !== 0, [sliderIndex]);\n\n return (\n <DefaultSectionContainer backgroundColor={primary50} title={slice.title}>\n <Wrapper>\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.text}\n taglineProps={{ textAlign: 'center' }}\n titleProps={{ textAlign: 'center', maxW: '6xl', marginX: 'auto' }}\n textProps={{ textAlign: 'center', maxW: '2xl', marginX: 'auto' }}\n />\n </Wrapper>\n\n <CarouselContainer ref={containerRef}>\n <Box position=\"relative\" width=\"full\">\n <CarouselInnerContainer\n numberOfItems={slice.slides.length}\n animate={{\n x: offsetLeft,\n }}\n transition={{\n duration: 0.3,\n ease: 'easeInOut',\n }}\n >\n {slice.slides.map(({ id, title, text, icon }) => (\n <CardContainer key={id} ref={itemRef}>\n <TextCardWithIcon\n title={title}\n text={text}\n height=\"full\"\n icon={\n <Image\n src={strapiMediaUrl(icon.img, 'small')}\n alt={icon.alt}\n fill\n style={{ objectFit: icon.objectFit || 'contain' }}\n />\n }\n displayAs=\"column\"\n />\n </CardContainer>\n ))}\n </CarouselInnerContainer>\n <Box\n display={['none', null, null, !!allowScroll ? 'flex' : 'none']}\n pointerEvents=\"none\"\n position=\"absolute\"\n top=\"40%\"\n left=\"0\"\n width=\"full\"\n py=\"0\"\n px=\"32\"\n justifyContent=\"space-between\"\n >\n <Box>\n <AnimatePresence>\n {canMoveLeft && (\n <IconButton\n key=\"leftButton\"\n as={motion.button}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n size=\"lg\"\n variant=\"outline\"\n onClick={() => setSliderIndex(sliderIndex - 1)}\n aria-label={formatMessage({\n id: 'sections.textCarousel.moveLeft',\n })}\n icon={<ArrowLeft size={16} />}\n pointerEvents=\"auto\"\n boxShadow=\"md\"\n />\n )}\n </AnimatePresence>\n </Box>\n <Box>\n <AnimatePresence>\n {canMoveRight && (\n <IconButton\n key=\"rightButton\"\n as={motion.button}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n size=\"lg\"\n variant=\"outline\"\n onClick={() => setSliderIndex(sliderIndex + 1)}\n aria-label={formatMessage({\n id: 'sections.textCarousel.moveRight',\n })}\n icon={<ArrowRight size={16} />}\n pointerEvents=\"auto\"\n boxShadow=\"md\"\n />\n )}\n </AnimatePresence>\n </Box>\n </Box>\n </Box>\n </CarouselContainer>\n\n <>\n {slice.button && (\n <Wrapper>\n <Center>\n <StrapiLinkButton\n link={slice.button}\n size=\"xl\"\n mt={['8', null, '14']}\n />\n </Center>\n </Wrapper>\n )}\n </>\n </DefaultSectionContainer>\n );\n};\n","import React from 'react';\nimport {\n Box,\n ContactArea,\n DefaultSectionContainer,\n DefaultSectionHeader,\n Grid,\n GridItem,\n TextCardWithIcon,\n useMediaQuery,\n useToken,\n Wrapper,\n} from 'boemly';\nimport Image from 'next/image';\nimport { useRouter } from 'next/router';\nimport { BREAKPOINT_LG_QUERY } from '../../constants/breakpoints';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport strapiLinkUrl from '../../utils/strapiLinkUrl';\nimport StrapiDefaultHeader from '../../models/strapi/StrapiDefaultHeader';\nimport StrapiContactArea from '../../models/strapi/StrapiContactArea';\nimport StrapiTextCardWithIcon from '../../models/strapi/StrapiTextCardWithIcons';\nimport StrapiImage from '../../models/strapi/StrapiImage';\n\ninterface TextWithTextCardsSlice extends StrapiDefaultHeader {\n cards: StrapiTextCardWithIcon[];\n contact?: StrapiContactArea;\n shape?: StrapiImage;\n}\nexport interface TextWithTextCardsProps {\n slice: TextWithTextCardsSlice;\n}\n\nexport const TextWithTextCards: React.FC<TextWithTextCardsProps> = ({\n slice,\n}: TextWithTextCardsProps) => {\n const { push } = useRouter();\n const [white] = useToken('colors', ['white']);\n const [belowBreakpoint] = useMediaQuery(BREAKPOINT_LG_QUERY);\n\n return (\n <DefaultSectionContainer backgroundColor={white} title={slice.title}>\n <>\n {slice.shape && (\n <Box\n position=\"absolute\"\n right={['-28', null, null, '-136']}\n top={['96', null, null, '-28']}\n width={['sm', null, null, '4xl']}\n height={['sm', null, null, '4xl']}\n borderBottomRightRadius=\"full\"\n >\n <Image\n src={strapiMediaUrl(slice.shape.img, 'medium')}\n alt={slice.shape.alt}\n fill\n style={{\n objectFit: slice.shape.objectFit || 'cover',\n borderBottomRightRadius: 'var(--boemly-radii-full)',\n }}\n />\n </Box>\n )}\n </>\n <Wrapper>\n <>\n <Grid\n templateColumns={[\n 'repeat(8, 1fr)',\n null,\n null,\n null,\n 'repeat(16, 1fr)',\n ]}\n templateRows={[\n 'repeat(2, auto)',\n null,\n null,\n null,\n 'repeat(1, auto)',\n ]}\n rowGap=\"12\"\n >\n <GridItem\n colSpan={[8, null, null, null, 9]}\n rowSpan={1}\n pr={['0', null, null, null, '32']}\n >\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.text}\n textProps={{ pr: ['0', null, null, null, '10'] }}\n />\n\n {slice.contact && !belowBreakpoint && (\n <ContactArea\n title={slice.contact.title}\n text={slice.contact.text}\n avatar={{\n name: slice.contact.avatar.name,\n description: slice.contact.avatar.description,\n image: (\n <Image\n src={strapiMediaUrl(\n slice.contact.avatar.image.img,\n 'small'\n )}\n alt={slice.contact.avatar.image.alt}\n fill\n style={{\n objectFit:\n slice.contact.avatar.image.objectFit || 'cover',\n }}\n />\n ),\n }}\n link={{\n text: slice.contact.button.text,\n onClick: () => push(strapiLinkUrl(slice.contact?.button)),\n }}\n />\n )}\n </GridItem>\n <GridItem\n colSpan={[8, null, null, null, 7]}\n rowSpan={1}\n position=\"relative\"\n >\n {slice.cards.map((card) => (\n <TextCardWithIcon\n key={card.id}\n title={card.title}\n text={card.text}\n icon={\n <Image\n src={strapiMediaUrl(card.icon.img, 'small')}\n alt={card.icon.alt}\n fill\n style={{ objectFit: card.icon.objectFit || 'contain' }}\n />\n }\n />\n ))}\n </GridItem>\n </Grid>\n {slice.contact && belowBreakpoint && (\n <ContactArea\n title={slice.contact.title}\n text={slice.contact.text}\n avatar={{\n name: slice.contact.avatar.name,\n description: slice.contact.avatar.description,\n image: (\n <Image\n src={strapiMediaUrl(\n slice.contact.avatar.image.img,\n 'small'\n )}\n alt={slice.contact.avatar.image.alt}\n fill\n style={{\n objectFit:\n slice.contact.avatar.image.objectFit || 'cover',\n }}\n />\n ),\n }}\n link={{\n text: slice.contact.button.text,\n onClick: () => push(strapiLinkUrl(slice.contact?.button)),\n }}\n />\n )}\n </>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","enum CreditsAvailableState {\n YES = 'yes',\n SOME = 'some',\n NO = 'no',\n NOT_YET = 'notYet',\n}\n\nexport default CreditsAvailableState;\n","import { FormatNumberOptions } from 'react-intl';\n\nexport const FORMAT_AS_EUR_CONFIG: FormatNumberOptions = {\n style: 'currency',\n currency: 'EUR',\n};\n\nexport const FORMAT_AS_METER_CONFIG: FormatNumberOptions = {\n unit: 'meter',\n unitDisplay: 'short',\n style: 'unit',\n maximumFractionDigits: 0,\n};\n\nexport const FORMAT_AS_HECTARE_CONFIG: FormatNumberOptions = {\n unit: 'hectare',\n unitDisplay: 'short',\n style: 'unit',\n maximumFractionDigits: 2,\n};\n\nexport const FORMAT_AS_CUBIC_METERS_PER_HECTARE_CONFIG: FormatNumberOptions = {\n maximumFractionDigits: 0,\n};\n\nexport const FORMAT_AS_PERCENT_CONFIG: FormatNumberOptions = {\n style: 'percent',\n maximumFractionDigits: 2,\n};\n","import React, { useContext } from 'react';\nimport { ProjectCard } from 'boemly';\nimport { PortfolioProject, strapiMediaUrl } from '../../..';\nimport CreditsAvailableState from '../../../models/CreditsAvailableState';\nimport { FORMAT_AS_HECTARE_CONFIG } from '../../../constants/formatter';\nimport Image from 'next/image';\nimport { IntlContext } from '../../ContextProvider';\n\nexport interface PortfolioProjectCardProps {\n project: PortfolioProject;\n}\n\nexport const PortfolioProjectCard = ({\n project,\n}: PortfolioProjectCardProps) => {\n const { formatMessage, formatNumber } = useContext(IntlContext);\n\n const creditsAvailableMessages: Record<CreditsAvailableState, string> = {\n [CreditsAvailableState.YES]: formatMessage({\n id: 'components.portfolioProjectCard.text.yes',\n }),\n\n [CreditsAvailableState.SOME]: formatMessage({\n id: 'components.portfolioProjectCard.text.some',\n }),\n\n [CreditsAvailableState.NO]: formatMessage({\n id: 'components.portfolioProjectCard.text.no',\n }),\n\n [CreditsAvailableState.NOT_YET]: formatMessage({\n id: 'components.portfolioProjectCard.text.notYet',\n }),\n };\n\n return (\n <ProjectCard\n title={project.title}\n facts={[\n {\n id: 1,\n text: formatNumber(\n (project.area || 0) / 10000,\n FORMAT_AS_HECTARE_CONFIG\n ),\n },\n { id: 2, text: project.location || '' },\n ]}\n footerTitle={\n creditsAvailableMessages[\n project.creditsAvailable ?? CreditsAvailableState.NOT_YET\n ]\n }\n footerSubTitle={project.footerSubTitle || ''}\n image={\n project.thumbnail && (\n <Image\n src={strapiMediaUrl(project.thumbnail?.img, 'medium')}\n alt={project.thumbnail?.alt}\n fill\n style={{\n objectFit: project.thumbnail?.objectFit || 'cover',\n }}\n />\n )\n }\n />\n );\n};\n","import React from 'react';\nimport {\n DefaultSectionContainer,\n DefaultSectionHeader,\n Grid,\n GridItem,\n ProjectCard,\n Spacer,\n BoemlyList,\n Wrapper,\n} from 'boemly';\nimport Image from 'next/image';\nimport { ArrowRight } from '@phosphor-icons/react';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport StrapiLink from '../../models/strapi/StrapiLink';\nimport StrapiProjectCard from '../../models/strapi/StrapiProjectCard';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\nimport { IStrapiData, PortfolioProject, StrapiProject } from '../..';\nimport PortfolioProjectCard from '../../components/portfolio/PortfolioProjectCard';\n\ninterface TextWithCardSlice {\n tagline?: string;\n title: string;\n text?: string;\n listItems?: {\n id: number;\n text: string;\n }[];\n button?: StrapiLink;\n card?: StrapiProjectCard;\n project?: { data?: IStrapiData<StrapiProject> };\n cardPosition: 'left' | 'right';\n}\nexport interface TextWithCardProps {\n slice: TextWithCardSlice;\n projects: PortfolioProject[];\n}\n\nexport const TextWithCard: React.FC<TextWithCardProps> = ({\n slice,\n projects,\n}: TextWithCardProps) => {\n const portfolioProject = projects.find(\n (p) =>\n slice.project?.data?.attributes.fpmProjectId &&\n p.id === slice.project.data.attributes.fpmProjectId\n );\n\n const card = (\n <GridItem\n colSpan={[4, null, null, null, 2]}\n rowSpan={1}\n position=\"relative\"\n data-testid={`card-position-${slice.cardPosition}`}\n >\n {portfolioProject && <PortfolioProjectCard project={portfolioProject} />}\n {!portfolioProject && slice.card && (\n <ProjectCard\n facts={slice.card.facts}\n footerSubTitle={slice.card.footerSubTitle}\n footerTitle={slice.card.footerTitle}\n title={slice.card.title}\n image={\n <Image\n src={strapiMediaUrl(slice.card.image.img, 'medium')}\n alt={slice.card.image.alt}\n fill\n style={{ objectFit: slice.card.image.objectFit || 'cover' }}\n />\n }\n />\n )}\n </GridItem>\n );\n\n return (\n <DefaultSectionContainer title={slice.title}>\n <Wrapper>\n <Grid\n templateColumns={[\n 'repeat(4, auto)',\n null,\n null,\n null,\n 'repeat(6, auto)',\n ]}\n templateRows={[\n 'repeat(2, auto)',\n null,\n null,\n null,\n 'repeat(1, auto)',\n ]}\n rowGap=\"12\"\n columnGap={['0', null, null, null, '28']}\n >\n {slice.cardPosition === 'left' && card}\n <GridItem colSpan={4} rowSpan={1} position=\"relative\">\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.text}\n />\n\n {slice.listItems && (\n <>\n <Spacer height=\"10\" />\n <BoemlyList listItems={slice.listItems} />\n <Spacer height=\"10\" />\n </>\n )}\n\n {slice.button && (\n <StrapiLinkButton\n link={slice.button}\n size=\"md\"\n colorScheme=\"white\"\n variant=\"outline\"\n rightIcon={<ArrowRight />}\n />\n )}\n </GridItem>\n {slice.cardPosition === 'right' && card}\n </Grid>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","export const MEDIUM_TRANSITION_DURATION = 0.2;\n","import React from 'react';\nimport Link from 'next/link';\nimport {\n Box,\n DefaultSectionContainer,\n DefaultSectionHeader,\n Heading,\n SimpleGrid,\n Text,\n Wrapper,\n} from 'boemly';\nimport { CaretRight } from '@phosphor-icons/react';\nimport { MEDIUM_TRANSITION_DURATION } from '../../constants/animations';\nimport strapiLinkUrl from '../../utils/strapiLinkUrl';\nimport StrapiLink from '../../models/strapi/StrapiLink';\n\ninterface LinkCardsGridSlice {\n tagline?: string;\n title: string;\n text?: string;\n cards: {\n id: number;\n title: string;\n text?: string;\n link: StrapiLink;\n }[];\n}\nexport interface LinkCardsGridProps {\n slice: LinkCardsGridSlice;\n}\n\nexport const LinkCardsGrid: React.FC<LinkCardsGridProps> = ({\n slice,\n}: LinkCardsGridProps) => (\n <DefaultSectionContainer title={slice.title}>\n <Wrapper>\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.text}\n />\n\n <SimpleGrid mt=\"16\" columns={[1, null, null, null, 2]} gap=\"4\">\n {slice.cards.map(({ id, title, text, link }) => (\n <Box\n key={id}\n as={Link}\n href={strapiLinkUrl(link)}\n data-testid=\"link\"\n px=\"10\"\n py=\"8\"\n borderStyle=\"solid\"\n borderWidth=\"thin\"\n borderColor=\"gray.200\"\n borderRadius=\"2xl\"\n display=\"flex\"\n flexDir=\"row\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n cursor=\"pointer\"\n transitionDuration={`${MEDIUM_TRANSITION_DURATION}s`}\n _hover={{ backgroundColor: 'gray.50' }}\n >\n <div>\n <Heading as=\"h4\" size=\"lg\">\n {title}\n </Heading>\n {text && (\n <Text mt=\"2\" size=\"smRegularNormal\">\n {text}\n </Text>\n )}\n </div>\n\n <Box\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n borderStyle=\"solid\"\n borderWidth=\"thin\"\n borderColor=\"gray.200\"\n borderRadius=\"2xl\"\n height=\"12\"\n width=\"12\"\n minWidth=\"12\"\n minHeight=\"12\"\n ml=\"6\"\n backgroundColor=\"white\"\n >\n <CaretRight />\n </Box>\n </Box>\n ))}\n </SimpleGrid>\n </Wrapper>\n </DefaultSectionContainer>\n);\n","import React from 'react';\nimport {\n Box,\n DefaultSectionHeader,\n Flex,\n Gradient,\n Tag,\n Wrapper,\n} from 'boemly';\nimport Image from 'next/image';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\nimport StrapiImage from '../../models/strapi/StrapiImage';\nimport StrapiLink from '../../models/strapi/StrapiLink';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\n\nexport interface SmallHeroProps {\n slice: {\n tags?: {\n id: number;\n text: string;\n colorScheme: string;\n }[];\n tagline?: string;\n title: string;\n subTitle?: string;\n button?: StrapiLink;\n image?: StrapiImage;\n gradient?: boolean;\n };\n theme: 'dark' | 'light';\n}\n\nconst colors = {\n dark: {\n tagline: 'white',\n title: 'white',\n text: 'white',\n background: 'gray.900',\n },\n light: {\n tagline: 'primary.500',\n title: 'black',\n text: 'gray.500',\n background: 'primary.50',\n },\n};\n\nexport const SmallHero: React.FC<SmallHeroProps> = ({\n slice,\n theme,\n}: SmallHeroProps) => (\n <Box\n position=\"relative\"\n width=\"full\"\n height=\"xl\"\n backgroundColor={colors[theme].background}\n >\n {slice.image && (\n <>\n <Image\n src={strapiMediaUrl(slice.image.img, 'xLarge')}\n alt={slice.image.alt}\n fill\n style={{ objectFit: slice.image.objectFit || 'cover' }}\n />\n {slice.gradient && <Gradient />}\n </>\n )}\n <Box\n position=\"absolute\"\n left=\"0\"\n top=\"60%\"\n width=\"full\"\n textAlign=\"center\"\n transform=\"translateY(-50%)\"\n >\n <Wrapper>\n <>\n {slice.tags && (\n <Flex direction=\"row\" justify=\"center\" gap=\"2\" mb=\"4\" wrap=\"wrap\">\n {slice.tags.map(({ id, text, colorScheme }) => (\n <Tag\n key={id}\n colorScheme={colorScheme}\n size=\"md\"\n variant=\"subtle\"\n >\n {text}\n </Tag>\n ))}\n </Flex>\n )}\n <DefaultSectionHeader\n isHero\n tagline={slice.tagline}\n title={slice.title}\n text={slice.subTitle}\n taglineProps={{\n color: colors[theme].tagline,\n textAlign: 'center',\n mx: 'auto',\n }}\n titleProps={{\n color: colors[theme].title,\n maxW: '4xl',\n textAlign: 'center',\n mx: 'auto',\n }}\n textProps={{\n maxW: '2xl',\n textAlign: 'center',\n mx: 'auto',\n color: colors[theme].text,\n }}\n />\n {slice.button && (\n <StrapiLinkButton link={slice.button} mt=\"6\" size=\"lg\" />\n )}\n </>\n </Wrapper>\n </Box>\n </Box>\n);\n","import styled from '@emotion/styled';\nimport { BREAKPOINT_MD } from '../../constants/breakpoints';\nimport { Box, Link } from 'boemly';\n\nexport const BlogItemContainer = styled(Link)`\n text-decoration: none;\n\n & div img {\n transition: transform var(--default-ease) var(--medium-transition-duration);\n }\n\n &:hover {\n text-decoration: none;\n\n & > div:first-of-type img {\n transform: scale(1.03);\n }\n }\n`;\n\nexport const ImageContainer = styled(Box)`\n width: 100%;\n height: var(--boemly-sizes-xs);\n position: relative;\n border-radius: var(--boemly-radii-2xl);\n\n // Fixes the flickering of borders during animation in Safari\n -webkit-mask-image: -webkit-radial-gradient(white, black);\n\n & span,\n div {\n border-radius: var(--boemly-radii-2xl);\n }\n\n @media screen and (max-width: ${BREAKPOINT_MD}) {\n height: var(--boemly-sizes-3xs);\n }\n`;\n","import React, { useContext } from 'react';\nimport {\n Box,\n DatePersonPair,\n DefaultSectionContainer,\n Heading,\n SimpleGrid,\n Spacer,\n Text,\n Wrapper,\n} from 'boemly';\nimport Image from 'next/image';\nimport Link from 'next/link';\nimport StrapiBlogPost from '../../models/strapi/StrapiBlogPost';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport IStrapiData from '../../models/strapi/IStrapiData';\nimport { BlogItemContainer, ImageContainer } from './styles';\nimport { IntlContext } from '../../components/ContextProvider';\n\nexport interface BlogProps {\n slice: {\n blog_posts: IStrapiData<StrapiBlogPost>[];\n };\n blogPosts: IStrapiData<StrapiBlogPost>[];\n}\n\nexport const Blog: React.FC<BlogProps> = ({ slice, blogPosts }: BlogProps) => {\n const { formatDate } = useContext(IntlContext);\n const sortedBlogPosts = slice.blog_posts.sort(\n (a, b) =>\n new Date(b.attributes.createdAt).getTime() -\n new Date(a.attributes.createdAt).getTime()\n );\n\n return (\n <DefaultSectionContainer>\n <Wrapper>\n <SimpleGrid columns={[1, null, null, 2]} spacingX={56} spacingY={24}>\n {sortedBlogPosts.map(({ attributes }) => {\n const blogPost: IStrapiData<StrapiBlogPost> | undefined =\n blogPosts.find((bp) => bp.attributes.slug === attributes.slug);\n if (!blogPost) {\n return null;\n }\n return (\n <BlogItemContainer\n key={blogPost.attributes.slug}\n as={Link}\n href={`/blog/${blogPost.attributes.slug}`}\n >\n <ImageContainer>\n <Image\n src={strapiMediaUrl(blogPost.attributes.img.img, 'large')}\n alt={blogPost.attributes.img.alt}\n fill\n style={{\n objectFit: blogPost.attributes.img.objectFit || 'cover',\n }}\n />\n </ImageContainer>\n <Box px=\"2\" py=\"8\">\n {blogPost.attributes.category.data && (\n <Text size=\"smMonoUppercase\" color=\"primary.800\" mb=\"2\">\n {blogPost.attributes.category.data.attributes.name}\n </Text>\n )}\n <Heading size=\"lg\">{blogPost.attributes.title}</Heading>\n {blogPost.attributes.teaser && (\n <Text size=\"mdRegularNormal\" mt=\"2\">\n {blogPost.attributes.teaser}\n </Text>\n )}\n <Spacer height=\"4\" />\n <DatePersonPair\n date={formatDate(blogPost.attributes.createdAt)}\n person={\n blogPost.attributes.author.data\n ? {\n name: blogPost.attributes.author.data.attributes\n .name,\n image: (\n <Image\n src={strapiMediaUrl(\n blogPost.attributes.author.data.attributes.img\n .img,\n 'thumbnail'\n )}\n alt={\n blogPost.attributes.author.data.attributes.img\n .alt\n }\n fill\n style={{\n objectFit:\n blogPost.attributes.author.data.attributes\n .img.objectFit || 'cover',\n }}\n />\n ),\n }\n : undefined\n }\n />\n </Box>\n </BlogItemContainer>\n );\n })}\n </SimpleGrid>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","import React from 'react';\nimport { Box, DefaultSectionContainer, SimpleGrid, Wrapper } from 'boemly';\nimport Link from 'next/link';\nimport { MEDIUM_TRANSITION_DURATION } from '../../constants/animations';\nimport PortfolioProject from '../../models/PortfolioProject';\nimport PortfolioProjectCard from '../../components/portfolio/PortfolioProjectCard';\nimport { IStrapi, IStrapiData, StrapiProject } from '../..';\n\nexport interface ProjectsGridProps {\n slice: {\n projects: IStrapi<IStrapiData<StrapiProject>[]>;\n };\n projects: PortfolioProject[];\n}\n\nconst ConditionalWrapper = ({\n condition,\n wrapper,\n children,\n}: {\n condition: boolean;\n wrapper: (children: JSX.Element) => JSX.Element;\n children: JSX.Element;\n}) => (condition ? wrapper(children) : children);\n\nexport const ProjectsGrid: React.FC<ProjectsGridProps> = ({\n projects,\n slice,\n}: ProjectsGridProps) => {\n const filteredProjects = projects.filter(\n (fpmProject) =>\n fpmProject.thumbnail &&\n slice.projects.data.some(\n (strapiProject) =>\n strapiProject.attributes.fpmProjectId === fpmProject.id\n )\n );\n\n return (\n <DefaultSectionContainer>\n <Wrapper>\n <SimpleGrid columns={[1, null, null, 2, null, 3]} gap=\"16\">\n {filteredProjects.map((project) => (\n <ConditionalWrapper\n key={project.id}\n condition={!!project.slug}\n wrapper={(children: JSX.Element) => (\n <Link\n href={`${project.portfolioHost || ''}/portfolio/${\n project.slug\n }`}\n passHref\n key={project.id}\n legacyBehavior\n >\n {children}\n </Link>\n )}\n >\n <Box\n width=\"full\"\n as=\"a\"\n cursor=\"pointer\"\n borderRadius=\"2xl\"\n transition={`box-shadow ease ${MEDIUM_TRANSITION_DURATION}s`}\n _hover={{ boxShadow: 'lg' }}\n >\n <PortfolioProjectCard project={project} />\n </Box>\n </ConditionalWrapper>\n ))}\n </SimpleGrid>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","export const MAPBOX_TOKEN =\n 'pk.eyJ1IjoidHJlZS1seSIsImEiOiJja25rNG1heHgwNThjMnZwZTl2eThmeXUwIn0.SOrYUKfevZkbx8jZPxJesA';\n\nexport enum MapBoxStyle {\n Outdoors = 'mapbox://styles/mapbox/outdoors-v11',\n SatelliteStreets = 'mapbox://styles/mapbox/satellite-streets-v11',\n Satellite = 'mapbox://styles/mapbox/satellite-v9',\n CaliTerrain = 'mapbox://styles/tree-ly/clna54iq603ht01pbc199cszw',\n}\n\nexport const MAPBOX_TILES_URL = `${\n process.env.NEXT_PUBLIC_MAPBOX_TILES_URL || 'http://localhost:8123'\n}/vectortiles/v1/plots/{z}/{x}/{y}.mvt`;\nexport const MAPBOX_SOURCE_LAYER = 'plots';\nexport const MAPBOX_SOURCE_IDENTIFIER = 'plots';\nexport const MAPBOX_BORDER_LAYER_IDENTIFIER = 'plots-borders';\nexport const MAPBOX_FILL_LAYER_IDENTIFIER = 'plots-fill';\nexport const MAPBOX_TEXT_LAYER_IDENTIFIER = 'plots-text';\n\nexport const MAPBOX_TEXT_MIN_ZOOM = 15;\nexport const MAPBOX_SHAPES_MIN_ZOOM = 13;\n\nexport const MAPBOX_MAX_ZOOM = 19;\nexport const MAPBOX_INITIAL_ZOOM = 13;\n","import BBox from '../models/BBox';\n\nconst mergeBoundingBoxes = (boundingBoxes: BBox[]): BBox => {\n let minLeft: number = 180;\n let minBottom: number = 90;\n let maxRight: number = -180;\n let maxTop: number = -90;\n\n boundingBoxes.forEach(([left, bottom, right, top]) => {\n if (left < minLeft) minLeft = left;\n if (bottom < minBottom) minBottom = bottom;\n if (right > maxRight) maxRight = right;\n if (top > maxTop) maxTop = top;\n });\n\n return [minLeft, minBottom, maxRight, maxTop];\n};\n\nexport default mergeBoundingBoxes;\n","export const FONT_CUSTOMIZATIONS = {\n body: 'Inter',\n heading: 'Inter',\n display: 'GintoNord',\n mono: 'SpaceMono',\n};\n","import React from 'react';\nimport { FONT_CUSTOMIZATIONS } from '../../constants/fontCustomizations';\nimport rootMessagesDe from '../../rootMessages.de';\nimport rootMessagesEn from '../../rootMessages.en';\nimport { BoemlyThemeProvider } from 'boemly';\nimport { IntlProvider } from 'react-intl';\n\nconst messages = {\n en: rootMessagesEn,\n de: rootMessagesDe,\n};\n\ninterface MinimalProvidersProps {\n locale: string;\n children: JSX.Element | JSX.Element[];\n}\n\nconst MinimalProviders = ({ children, locale }: MinimalProvidersProps) => (\n <IntlProvider messages={messages[locale as 'en' | 'de']} locale={locale}>\n <BoemlyThemeProvider fonts={FONT_CUSTOMIZATIONS}>\n {children}\n </BoemlyThemeProvider>\n </IntlProvider>\n);\n\nexport default MinimalProviders;\n","import React, { useContext } from 'react';\nimport CreditsAvailableState from '../../models/CreditsAvailableState';\nimport { Badge } from 'boemly';\nimport NextLink from 'next/link';\nimport { IntlContext } from '../ContextProvider';\n\nexport interface CreditsAvailableBadgeProps {\n status: CreditsAvailableState;\n href?: string;\n}\n\nconst CreditsAvailableBadge = ({\n status,\n href,\n}: CreditsAvailableBadgeProps) => {\n const { formatMessage } = useContext(IntlContext);\n\n const variants: Record<\n CreditsAvailableState,\n { color: string; text: string }\n > = {\n [CreditsAvailableState.YES]: {\n color: 'green',\n text: formatMessage({ id: 'components.creditsAvailableBadge.text.yes' }),\n },\n [CreditsAvailableState.SOME]: {\n color: 'orange',\n text: formatMessage({ id: 'components.creditsAvailableBadge.text.some' }),\n },\n [CreditsAvailableState.NO]: {\n color: 'red',\n text: formatMessage({ id: 'components.creditsAvailableBadge.text.no' }),\n },\n [CreditsAvailableState.NOT_YET]: {\n color: 'blue',\n text: formatMessage({\n id: 'components.creditsAvailableBadge.text.notYet',\n }),\n },\n };\n\n const variant = variants[status];\n\n return (\n <Badge\n as={href ? NextLink : undefined}\n href={href}\n colorScheme={variant.color}\n width=\"fit-content\"\n >\n {variant.text}\n </Badge>\n );\n};\n\nexport default CreditsAvailableBadge;\n","import React, { useContext } from 'react';\nimport {\n Box,\n Button,\n Container,\n Flex,\n Heading,\n Text,\n useDisclosure,\n useToken,\n} from 'boemly';\nimport { MapPin } from '@phosphor-icons/react';\nimport NextLink from 'next/link';\nimport CreditsAvailableBadge from '../../components/CreditsAvailableBadge';\nimport CreditsAvailableState from '../../models/CreditsAvailableState';\nimport { IntlContext } from '../../components/ContextProvider';\n\nexport interface MapMarkerProps {\n title: string;\n isPublic?: boolean;\n projectDeveloper?: string;\n slug?: string;\n portfolioHost?: string;\n creditsAvailable?: CreditsAvailableState;\n}\n\nconst MapMarker = ({\n title,\n projectDeveloper,\n slug,\n creditsAvailable,\n portfolioHost = '',\n isPublic = false,\n}: MapMarkerProps) => {\n const { formatMessage } = useContext(IntlContext);\n const { isOpen, onOpen, onClose } = useDisclosure();\n const blue600 = useToken('colors', 'blue.600');\n\n return (\n <Flex\n position=\"absolute\"\n gap=\"4\"\n onMouseEnter={onOpen}\n onMouseLeave={onClose}\n cursor=\"grab\"\n >\n <Box\n as={slug ? NextLink : undefined}\n href={slug && `${portfolioHost}/portfolio/${slug}`}\n >\n <MapPin\n size=\"40px\"\n color={blue600}\n weight=\"fill\"\n data-testid=\"mapmarker-pin\"\n filter=\"drop-shadow(0px 0px 2px #FFF)\"\n />\n </Box>\n\n {isPublic && isOpen && (\n <Container\n shadow=\"md\"\n width=\"max-content\"\n minWidth=\"3xs\"\n maxWidth={['3xs', null, null, 'sm']}\n >\n <Flex direction=\"column\">\n {creditsAvailable && (\n <>\n <CreditsAvailableBadge\n status={creditsAvailable}\n href={slug && `${portfolioHost}/portfolio/${slug}`}\n />\n <Box height=\"3\" />\n </>\n )}\n\n <Heading size=\"md\">{title}</Heading>\n\n {projectDeveloper && (\n <Text size=\"smLowNormal\" mt=\"1\">\n {projectDeveloper}\n </Text>\n )}\n\n {slug && (\n <Button\n width=\"fit-content\"\n variant=\"outline\"\n size=\"sm\"\n as={NextLink}\n href={`${portfolioHost}/portfolio/${slug}`}\n mt=\"4\"\n whiteSpace=\"nowrap\"\n >\n {formatMessage({ id: 'sections.projectsMap.link.text' })}\n </Button>\n )}\n </Flex>\n </Container>\n )}\n </Flex>\n );\n};\n\nexport default MapMarker;\n","import { css } from '@emotion/react';\n\nconst mapboxStyle = css`\n .mapboxgl-map {\n -webkit-tap-highlight-color: rgb(0 0 0/0);\n font: 12px/20px Helvetica Neue, Arial, Helvetica, sans-serif;\n overflow: hidden;\n position: relative;\n }\n .mapboxgl-canvas {\n left: 0;\n position: absolute;\n top: 0;\n }\n .mapboxgl-map:-webkit-full-screen {\n height: 100%;\n width: 100%;\n }\n .mapboxgl-canary {\n background-color: salmon;\n }\n .mapboxgl-canvas-container.mapboxgl-interactive,\n .mapboxgl-ctrl-group button.mapboxgl-ctrl-compass {\n cursor: grab;\n -webkit-user-select: none;\n user-select: none;\n }\n .mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer {\n cursor: pointer;\n }\n .mapboxgl-canvas-container.mapboxgl-interactive:active,\n .mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active {\n cursor: grabbing;\n }\n .mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,\n .mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas {\n touch-action: pan-x pan-y;\n }\n .mapboxgl-canvas-container.mapboxgl-touch-drag-pan,\n .mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas {\n touch-action: pinch-zoom;\n }\n .mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,\n .mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan\n .mapboxgl-canvas {\n touch-action: none;\n }\n .mapboxgl-ctrl-bottom-left,\n .mapboxgl-ctrl-bottom-right,\n .mapboxgl-ctrl-top-left,\n .mapboxgl-ctrl-top-right {\n pointer-events: none;\n position: absolute;\n z-index: 2;\n }\n .mapboxgl-ctrl-top-left {\n left: 0;\n top: 0;\n }\n .mapboxgl-ctrl-top-right {\n right: 0;\n top: 0;\n }\n .mapboxgl-ctrl-bottom-left {\n bottom: 0;\n left: 0;\n }\n .mapboxgl-ctrl-bottom-right {\n bottom: 0;\n right: 0;\n }\n .mapboxgl-ctrl {\n clear: both;\n pointer-events: auto;\n transform: translate(0);\n }\n .mapboxgl-ctrl-top-left .mapboxgl-ctrl {\n float: left;\n margin: 10px 0 0 10px;\n }\n .mapboxgl-ctrl-top-right .mapboxgl-ctrl {\n float: right;\n margin: 10px 10px 0 0;\n }\n .mapboxgl-ctrl-bottom-left .mapboxgl-ctrl {\n float: left;\n margin: 0 0 10px 10px;\n }\n .mapboxgl-ctrl-bottom-right .mapboxgl-ctrl {\n float: right;\n margin: 0 10px 10px 0;\n }\n .mapboxgl-ctrl-group {\n background: #fff;\n border-radius: 4px;\n }\n .mapboxgl-ctrl-group:not(:empty) {\n box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);\n }\n @media (-ms-high-contrast: active) {\n .mapboxgl-ctrl-group:not(:empty) {\n box-shadow: 0 0 0 2px ButtonText;\n }\n }\n .mapboxgl-ctrl-group button {\n background-color: transparent;\n border: 0;\n box-sizing: border-box;\n cursor: pointer;\n display: block;\n height: 29px;\n outline: none;\n overflow: hidden;\n padding: 0;\n width: 29px;\n }\n .mapboxgl-ctrl-group button + button {\n border-top: 1px solid #ddd;\n }\n .mapboxgl-ctrl button .mapboxgl-ctrl-icon {\n background-position: 50%;\n background-repeat: no-repeat;\n display: block;\n height: 100%;\n width: 100%;\n }\n @media (-ms-high-contrast: active) {\n .mapboxgl-ctrl-icon {\n background-color: transparent;\n }\n .mapboxgl-ctrl-group button + button {\n border-top: 1px solid ButtonText;\n }\n }\n .mapboxgl-ctrl-attrib-button:focus,\n .mapboxgl-ctrl-group button:focus {\n box-shadow: 0 0 2px 2px #0096ff;\n }\n .mapboxgl-ctrl button:disabled {\n cursor: not-allowed;\n }\n .mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon {\n opacity: 0.25;\n }\n .mapboxgl-ctrl-group button:first-of-type {\n border-radius: 4px 4px 0 0;\n }\n .mapboxgl-ctrl-group button:last-of-type {\n border-radius: 0 0 4px 4px;\n }\n .mapboxgl-ctrl-group button:only-of-type {\n border-radius: inherit;\n }\n .mapboxgl-ctrl button:not(:disabled):hover {\n background-color: rgb(0 0 0/5%);\n }\n .mapboxgl-ctrl-group button:focus:focus-visible {\n box-shadow: 0 0 2px 2px #0096ff;\n }\n .mapboxgl-ctrl-group button:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\");\n }\n @media (-ms-high-contrast: active) {\n .mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\");\n }\n }\n @media (-ms-high-contrast: black-on-white) {\n .mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\");\n }\n }\n .mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\");\n }\n @media (-ms-high-contrast: active) {\n .mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\");\n }\n }\n @media (-ms-high-contrast: black-on-white) {\n .mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\");\n }\n }\n .mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\");\n }\n @media (-ms-high-contrast: active) {\n .mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E\");\n }\n }\n @media (-ms-high-contrast: black-on-white) {\n .mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\");\n }\n }\n .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl\n button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active\n .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl\n button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error\n .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl\n button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background\n .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl\n button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error\n .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl\n button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting\n .mapboxgl-ctrl-icon {\n animation: mapboxgl-spin 2s linear infinite;\n }\n @media (-ms-high-contrast: active) {\n .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl\n button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active\n .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl\n button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error\n .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl\n button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background\n .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl\n button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error\n .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\");\n }\n }\n @media (-ms-high-contrast: black-on-white) {\n .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E\");\n }\n }\n @keyframes mapboxgl-spin {\n 0% {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(1turn);\n }\n }\n a.mapboxgl-ctrl-logo {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='0.9' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n cursor: pointer;\n display: block;\n height: 23px;\n margin: 0 0 -4px -4px;\n overflow: hidden;\n width: 88px;\n }\n a.mapboxgl-ctrl-logo.mapboxgl-compact {\n width: 23px;\n }\n @media (-ms-high-contrast: active) {\n a.mapboxgl-ctrl-logo {\n background-color: transparent;\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E\");\n }\n }\n @media (-ms-high-contrast: black-on-white) {\n a.mapboxgl-ctrl-logo {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23000'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E\");\n }\n }\n .mapboxgl-ctrl.mapboxgl-ctrl-attrib {\n background-color: hsla(0, 0%, 100%, 0.5);\n margin: 0;\n padding: 0 5px;\n }\n @media screen {\n .mapboxgl-ctrl-attrib.mapboxgl-compact {\n background-color: #fff;\n border-radius: 12px;\n margin: 10px;\n min-height: 20px;\n padding: 2px 24px 2px 0;\n position: relative;\n }\n .mapboxgl-ctrl-attrib.mapboxgl-compact-show {\n padding: 2px 28px 2px 8px;\n visibility: visible;\n }\n .mapboxgl-ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact-show,\n .mapboxgl-ctrl-top-left > .mapboxgl-ctrl-attrib.mapboxgl-compact-show {\n border-radius: 12px;\n padding: 2px 8px 2px 28px;\n }\n .mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner {\n display: none;\n }\n .mapboxgl-ctrl-attrib-button {\n background-color: hsla(0, 0%, 100%, 0.5);\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\");\n border: 0;\n border-radius: 12px;\n box-sizing: border-box;\n cursor: pointer;\n display: none;\n height: 24px;\n outline: none;\n position: absolute;\n right: 0;\n top: 0;\n width: 24px;\n }\n .mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,\n .mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button {\n left: 0;\n }\n .mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,\n .mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner {\n display: block;\n }\n .mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button {\n background-color: rgb(0 0 0/5%);\n }\n .mapboxgl-ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact:after {\n bottom: 0;\n right: 0;\n }\n .mapboxgl-ctrl-top-right > .mapboxgl-ctrl-attrib.mapboxgl-compact:after {\n right: 0;\n top: 0;\n }\n .mapboxgl-ctrl-top-left > .mapboxgl-ctrl-attrib.mapboxgl-compact:after {\n left: 0;\n top: 0;\n }\n .mapboxgl-ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact:after {\n bottom: 0;\n left: 0;\n }\n }\n @media screen and (-ms-high-contrast: active) {\n .mapboxgl-ctrl-attrib.mapboxgl-compact:after {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\");\n }\n }\n @media screen and (-ms-high-contrast: black-on-white) {\n .mapboxgl-ctrl-attrib.mapboxgl-compact:after {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\");\n }\n }\n .mapboxgl-ctrl-attrib a {\n color: rgba(0, 0, 0, 0.75);\n text-decoration: none;\n }\n .mapboxgl-ctrl-attrib a:hover {\n color: inherit;\n text-decoration: underline;\n }\n .mapboxgl-ctrl-attrib .mapbox-improve-map {\n font-weight: 700;\n margin-left: 2px;\n }\n .mapboxgl-attrib-empty {\n display: none;\n }\n .mapboxgl-ctrl-scale {\n background-color: hsla(0, 0%, 100%, 0.75);\n border: 2px solid #333;\n border-top: #333;\n box-sizing: border-box;\n color: #333;\n font-size: 10px;\n padding: 0 5px;\n white-space: nowrap;\n }\n .mapboxgl-popup {\n display: flex;\n left: 0;\n pointer-events: none;\n position: absolute;\n top: 0;\n will-change: transform;\n }\n .mapboxgl-popup-anchor-top,\n .mapboxgl-popup-anchor-top-left,\n .mapboxgl-popup-anchor-top-right {\n flex-direction: column;\n }\n .mapboxgl-popup-anchor-bottom,\n .mapboxgl-popup-anchor-bottom-left,\n .mapboxgl-popup-anchor-bottom-right {\n flex-direction: column-reverse;\n }\n .mapboxgl-popup-anchor-left {\n flex-direction: row;\n }\n .mapboxgl-popup-anchor-right {\n flex-direction: row-reverse;\n }\n .mapboxgl-popup-tip {\n border: 10px solid transparent;\n height: 0;\n width: 0;\n z-index: 1;\n }\n .mapboxgl-popup-anchor-top .mapboxgl-popup-tip {\n align-self: center;\n border-bottom-color: #fff;\n border-top: none;\n }\n .mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip {\n align-self: flex-start;\n border-bottom-color: #fff;\n border-left: none;\n border-top: none;\n }\n .mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip {\n align-self: flex-end;\n border-bottom-color: #fff;\n border-right: none;\n border-top: none;\n }\n .mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip {\n align-self: center;\n border-bottom: none;\n border-top-color: #fff;\n }\n .mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip {\n align-self: flex-start;\n border-bottom: none;\n border-left: none;\n border-top-color: #fff;\n }\n .mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip {\n align-self: flex-end;\n border-bottom: none;\n border-right: none;\n border-top-color: #fff;\n }\n .mapboxgl-popup-anchor-left .mapboxgl-popup-tip {\n align-self: center;\n border-left: none;\n border-right-color: #fff;\n }\n .mapboxgl-popup-anchor-right .mapboxgl-popup-tip {\n align-self: center;\n border-left-color: #fff;\n border-right: none;\n }\n .mapboxgl-popup-close-button {\n background-color: transparent;\n border: 0;\n border-radius: 0 3px 0 0;\n cursor: pointer;\n position: absolute;\n right: 0;\n top: 0;\n }\n .mapboxgl-popup-close-button:hover {\n background-color: rgb(0 0 0/5%);\n }\n .mapboxgl-popup-content {\n background: #fff;\n border-radius: 3px;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n padding: 10px 10px 15px;\n pointer-events: auto;\n position: relative;\n }\n .mapboxgl-popup-anchor-top-left .mapboxgl-popup-content {\n border-top-left-radius: 0;\n }\n .mapboxgl-popup-anchor-top-right .mapboxgl-popup-content {\n border-top-right-radius: 0;\n }\n .mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content {\n border-bottom-left-radius: 0;\n }\n .mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content {\n border-bottom-right-radius: 0;\n }\n .mapboxgl-popup-track-pointer {\n display: none;\n }\n .mapboxgl-popup-track-pointer * {\n pointer-events: none;\n user-select: none;\n }\n .mapboxgl-map:hover .mapboxgl-popup-track-pointer {\n display: flex;\n }\n .mapboxgl-map:active .mapboxgl-popup-track-pointer {\n display: none;\n }\n .mapboxgl-marker {\n left: 0;\n opacity: 1;\n position: absolute;\n top: 0;\n transition: opacity 0.2s;\n will-change: transform;\n }\n .mapboxgl-user-location-dot,\n .mapboxgl-user-location-dot:before {\n background-color: #1da1f2;\n border-radius: 50%;\n height: 15px;\n width: 15px;\n }\n .mapboxgl-user-location-dot:before {\n animation: mapboxgl-user-location-dot-pulse 2s infinite;\n content: '';\n position: absolute;\n }\n .mapboxgl-user-location-dot:after {\n border: 2px solid #fff;\n border-radius: 50%;\n box-shadow: 0 0 3px rgba(0, 0, 0, 0.35);\n box-sizing: border-box;\n content: '';\n height: 19px;\n left: -2px;\n position: absolute;\n top: -2px;\n width: 19px;\n }\n .mapboxgl-user-location-show-heading .mapboxgl-user-location-heading {\n height: 0;\n width: 0;\n }\n .mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,\n .mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before {\n border-bottom: 7.5px solid #4aa1eb;\n content: '';\n position: absolute;\n }\n .mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before {\n border-left: 7.5px solid transparent;\n transform: translateY(-28px) skewY(-20deg);\n }\n .mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after {\n border-right: 7.5px solid transparent;\n transform: translate(7.5px, -28px) skewY(20deg);\n }\n @keyframes mapboxgl-user-location-dot-pulse {\n 0% {\n opacity: 1;\n transform: scale(1);\n }\n 70% {\n opacity: 0;\n transform: scale(3);\n }\n to {\n opacity: 0;\n transform: scale(1);\n }\n }\n .mapboxgl-user-location-dot-stale {\n background-color: #aaa;\n }\n .mapboxgl-user-location-dot-stale:after {\n display: none;\n }\n .mapboxgl-user-location-accuracy-circle {\n background-color: #1da1f233;\n border-radius: 100%;\n height: 1px;\n width: 1px;\n }\n .mapboxgl-crosshair,\n .mapboxgl-crosshair .mapboxgl-interactive,\n .mapboxgl-crosshair .mapboxgl-interactive:active {\n cursor: crosshair;\n }\n .mapboxgl-boxzoom {\n background: #fff;\n border: 2px dotted #202020;\n height: 0;\n left: 0;\n opacity: 0.5;\n position: absolute;\n top: 0;\n width: 0;\n }\n @media print {\n .mapbox-improve-map {\n display: none;\n }\n }\n .mapboxgl-scroll-zoom-blocker,\n .mapboxgl-touch-pan-blocker {\n align-items: center;\n background: rgba(0, 0, 0, 0.7);\n color: #fff;\n display: flex;\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial,\n sans-serif;\n height: 100%;\n justify-content: center;\n left: 0;\n opacity: 0;\n pointer-events: none;\n position: absolute;\n text-align: center;\n top: 0;\n transition: opacity 0.75s ease-in-out;\n transition-delay: 1s;\n width: 100%;\n }\n .mapboxgl-scroll-zoom-blocker-show,\n .mapboxgl-touch-pan-blocker-show {\n opacity: 1;\n transition: opacity 0.1s ease-in-out;\n }\n .mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,\n .mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page\n .mapboxgl-canvas {\n touch-action: pan-x pan-y;\n }\n`;\n\nexport default mapboxStyle;\n","import React, { useContext } from 'react';\nimport {\n MAPBOX_INITIAL_ZOOM,\n MAPBOX_MAX_ZOOM,\n MAPBOX_TOKEN,\n MapBoxStyle,\n} from '../../constants/mapbox';\nimport BBox from '../../models/BBox';\nimport mergeBoundingBoxes from '../../utils/mergeBoundingBoxes';\nimport { css } from '@emotion/react';\nimport {\n Box,\n DefaultSectionContainer,\n DefaultSectionHeader,\n Wrapper,\n} from 'boemly';\nimport mapboxgl, { LngLatBoundsLike, LngLatLike, Map, Marker } from 'mapbox-gl';\nimport { MutableRefObject, createRef, useEffect, useRef } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport PortfolioProject from '../../models/PortfolioProject';\nimport MinimalProviders from '../../components/MinimalProviders';\nimport MapMarker from './MapMarker';\nimport mapboxStyle from './mapboxStyle';\nimport { IntlContext } from '../../components/ContextProvider';\n\nmapboxgl.accessToken = MAPBOX_TOKEN;\n\nexport interface ProjectsMapProps {\n slice: {\n tagline?: string;\n title?: string;\n text?: string;\n\n defaultCenterCoordinates?: {\n latitude: number;\n longitude: number;\n };\n defaultZoomLevel?: number;\n };\n\n projects: PortfolioProject[];\n}\n\nexport const ProjectsMap: React.FC<ProjectsMapProps> = ({\n slice,\n projects,\n}: ProjectsMapProps) => {\n const { locale } = useContext(IntlContext);\n\n const filteredProjects = projects.filter(\n (project) => project.geom\n ) as (PortfolioProject & {\n geom: Pick<PortfolioProject, 'geom'>;\n })[];\n\n const center: LngLatLike | undefined = slice.defaultCenterCoordinates\n ? [\n slice.defaultCenterCoordinates.longitude,\n slice.defaultCenterCoordinates.latitude,\n ]\n : undefined;\n\n const bounds: LngLatBoundsLike | undefined = center\n ? undefined\n : mergeBoundingBoxes(\n filteredProjects.map(\n (p): BBox =>\n [\n ...p.geom.coordinates.map((c) => c - 0.2),\n ...p.geom.coordinates.map((c) => c + 0.2),\n ] as BBox\n )\n );\n\n const mapContainer = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const map = new Map({\n container: mapContainer.current || '',\n style: MapBoxStyle.CaliTerrain,\n center,\n zoom: slice.defaultZoomLevel || MAPBOX_INITIAL_ZOOM,\n maxZoom: MAPBOX_MAX_ZOOM,\n bounds,\n });\n\n filteredProjects\n // Sort by longitude, so that the markers are rendeed form right to left\n .sort((a, b) => b.geom.coordinates[0] - a.geom.coordinates[0])\n .forEach((project) => {\n const ref =\n createRef<HTMLDivElement>() as MutableRefObject<HTMLDivElement>;\n ref.current = document.createElement('div');\n\n createRoot(ref.current).render(\n <MinimalProviders locale={locale}>\n <MapMarker\n title={project.title}\n isPublic={project.isPublic}\n portfolioHost={project.portfolioHost}\n slug={project.slug}\n creditsAvailable={project.creditsAvailable}\n projectDeveloper={project.projectDeveloper?.name}\n />\n </MinimalProviders>\n );\n\n // Offset is needed to center the marker on the coordinates\n const marker = new Marker(ref.current, { offset: [-20, -40] });\n\n // No chaining here, because the mocks don't support it\n marker.setLngLat(project.geom.coordinates);\n marker.addTo(map);\n });\n\n // Clean up on unmount\n return () => map.remove();\n }, [locale]);\n\n return (\n <DefaultSectionContainer>\n <Box css={mapboxStyle}>\n <Wrapper>\n {slice.title ? (\n <>\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.text}\n taglineProps={{ textAlign: 'center' }}\n titleProps={{\n textAlign: 'center',\n maxW: '6xl',\n marginX: 'auto',\n }}\n textProps={{\n textAlign: 'center',\n maxW: '3xl',\n marginX: 'auto',\n }}\n />\n <Box height=\"16\" />\n </>\n ) : (\n <></>\n )}\n\n <Box\n height=\"xl\"\n ref={mapContainer}\n borderRadius=\"xl\"\n overflow=\"hidden\"\n boxShadow={['md', null, null, 'none']}\n css={css`\n mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC);\n `}\n />\n </Wrapper>\n </Box>\n </DefaultSectionContainer>\n );\n};\n","import React from 'react';\nimport { Box, DefaultSectionContainer, Wrapper } from 'boemly';\nimport { useMeasure } from 'react-use';\n\ninterface VideoSlice {\n youTubeID: string;\n title: string;\n}\n\nexport interface VideoProps {\n slice: VideoSlice;\n}\n\nexport const Video: React.FC<VideoProps> = ({ slice }: VideoProps) => {\n const [ref, { width }] = useMeasure<HTMLDivElement>();\n\n return (\n <DefaultSectionContainer>\n <Wrapper>\n <Box ref={ref} borderRadius=\"xl\">\n <iframe\n data-testid=\"video-iframe\"\n width={width}\n height={(width / 16) * 9}\n src={`https://www.youtube.com/embed/${slice.youTubeID}`}\n frameBorder=\"0\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n allowFullScreen\n title={slice.title}\n style={{ borderRadius: 'var(--boemly-radii-xl)' }}\n />\n </Box>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","import React from 'react';\nimport Image from 'next/image';\nimport {\n DefaultSectionContainer,\n Wrapper,\n AvatarWithName,\n Text,\n Box,\n} from 'boemly';\nimport StrapiAvatarWithName from '../../models/strapi/StrapiAvatarWithName';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\n\nexport interface FullWidthHighlightQuoteProps {\n slice: {\n tagline?: string;\n quote: string;\n avatarWithName: StrapiAvatarWithName;\n };\n}\n\nexport const FullWidthHighlightQuote: React.FC<\n FullWidthHighlightQuoteProps\n> = ({ slice }: FullWidthHighlightQuoteProps) => (\n <DefaultSectionContainer>\n <Wrapper>\n <Box maxWidth=\"5xl\" marginX=\"auto\" mb=\"8\">\n {slice.tagline && (\n <Text\n color=\"primary.700\"\n size=\"mdMonoUppercase\"\n textAlign=\"center\"\n mb=\"3\"\n >\n {slice.tagline}\n </Text>\n )}\n <Text color=\"black\" size=\"xlRegularNormalBold\" textAlign=\"center\">\n {slice.quote}\n </Text>\n </Box>\n <AvatarWithName\n name={slice.avatarWithName.name}\n description={slice.avatarWithName.description}\n image={\n <Image\n src={strapiMediaUrl(slice.avatarWithName.image.img, 'small')}\n alt={slice.avatarWithName.image.alt}\n fill\n style={{\n objectFit: slice.avatarWithName.image.objectFit || 'cover',\n }}\n />\n }\n orientation=\"vertical\"\n />\n </Wrapper>\n </DefaultSectionContainer>\n);\n","import { motion } from 'framer-motion';\nimport styled from '@emotion/styled';\nimport { BREAKPOINT_MD } from '../../constants/breakpoints';\nimport { Box } from 'boemly';\n\nexport const SliderContainer = styled(Box)`\n --mobile-image-width: calc(100vw - var(--boemly-space-24));\n --desktop-image-width: var(--boemly-sizes-md);\n\n width: var(--boemly-size-full);\n\n overflow-x: hidden;\n\n padding-left: max(\n var(--boemly-space-8),\n calc(50vw - var(--boemly-sizes-7xl) / 2 + var(--boemly-space-6))\n );\n\n @media screen and (max-width: ${BREAKPOINT_MD}) {\n overflow-x: scroll;\n padding-left: max(\n var(--boemly-space-8),\n calc(50vw - var(--boemly-sizes-7xl) / 2 + var(--boemly-space-8))\n );\n }\n`;\n\ninterface SliderInnerContainerProps {\n imageCount: number;\n}\nexport const SliderInnerContainer = styled(\n motion.div\n)<SliderInnerContainerProps>`\n display: flex;\n gap: var(--boemly-space-6);\n\n width: fit-content;\n`;\n\nexport const ItemContainer = styled(Box)`\n width: var(--desktop-image-width);\n\n :last-of-type {\n margin-right: var(--boemly-space-8);\n }\n\n @media screen and (max-width: ${BREAKPOINT_MD}) {\n width: var(--mobile-image-width);\n }\n`;\n\ninterface ImageContainerProps {\n aspectRatio: number;\n}\nexport const ImageContainer = styled(Box)<ImageContainerProps>`\n position: relative;\n\n max-height: var(--boemly-sizes-xl);\n height: calc(\n var(--desktop-image-width) /\n ${({ aspectRatio }: ImageContainerProps) => aspectRatio}\n );\n width: var(--desktop-image-width);\n\n border-radius: var(--boemly-radii-xl);\n\n & img {\n border-radius: var(--boemly-radii-xl);\n }\n\n @media screen and (max-width: ${BREAKPOINT_MD}) {\n height: calc(\n var(--mobile-image-width) /\n ${({ aspectRatio }: ImageContainerProps) => aspectRatio}\n );\n width: var(--mobile-image-width);\n }\n`;\n","const ALLOWED_RATIOS = [2 / 3, 1 / 1, 3 / 2];\n\nexport const getClosestRatio = (width: number, height: number): number => {\n const ratio = width / height;\n\n let minDiff = Math.abs(ratio - ALLOWED_RATIOS[0]);\n let posMinDiff = 0;\n\n ALLOWED_RATIOS.forEach((allowedRatio, index) => {\n if (Math.abs(ratio - allowedRatio) < minDiff) {\n minDiff = Math.abs(ratio - allowedRatio);\n posMinDiff = index;\n }\n });\n\n return ALLOWED_RATIOS[posMinDiff];\n};\n","import React, { useMemo, useRef, useState } from 'react';\nimport {\n Box,\n IconButton,\n DefaultSectionContainer,\n Flex,\n Text,\n useMediaQuery,\n} from 'boemly';\nimport Image from 'next/image';\nimport { useMeasure, useWindowSize } from 'react-use';\nimport { AnimatePresence, motion } from 'framer-motion';\nimport { ArrowLeft, ArrowRight } from '@phosphor-icons/react';\nimport StrapiImage from '../../models/strapi/StrapiImage';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport FullScreenImage from '../../components/FullScreenImage';\nimport { BREAKPOINT_MD_QUERY } from '../../constants/breakpoints';\nimport {\n ItemContainer,\n SliderContainer,\n SliderInnerContainer,\n ImageContainer,\n} from './styles';\nimport { getClosestRatio } from './utils';\n\nexport interface FullWidthImageSliderProps {\n slice: {\n images: {\n id: number;\n caption: string;\n img: StrapiImage;\n }[];\n };\n}\n\nconst ITEM_GAP = 24;\nconst MAX_OFFSET_RIGHT = 162;\n\nexport const FullWidthImageSlider: React.FC<FullWidthImageSliderProps> = ({\n slice,\n}: FullWidthImageSliderProps) => {\n const containerRef = useRef(null);\n const [imageRef, { width: imageWidth }] = useMeasure<HTMLDivElement>();\n const { width: windowWidth } = useWindowSize();\n const [isMobile] = useMediaQuery(BREAKPOINT_MD_QUERY);\n\n const [sliderIndex, setSliderIndex] = useState(0);\n const [isOpen, setIsOpen] = useState(false);\n\n const numberOfItems = useMemo(\n () => slice.images.length,\n [slice.images.length]\n );\n\n const sliderItemsWidth = useMemo(\n () => numberOfItems * (imageWidth + ITEM_GAP) - ITEM_GAP,\n [imageWidth, numberOfItems]\n );\n\n const offsetLeft = useMemo(\n () => sliderIndex * (imageWidth + ITEM_GAP) * -1,\n [sliderIndex, imageWidth]\n );\n\n const allowScroll = useMemo(\n () => sliderItemsWidth + ITEM_GAP * 3 > windowWidth,\n\n [sliderItemsWidth, windowWidth]\n );\n\n const canMoveRight = useMemo(() => {\n const offsetRight = windowWidth - (sliderItemsWidth + offsetLeft);\n\n return offsetRight < MAX_OFFSET_RIGHT;\n }, [imageWidth, sliderIndex, sliderItemsWidth, windowWidth]);\n\n const canMoveLeft = useMemo(() => sliderIndex !== 0, [sliderIndex]);\n\n return (\n <DefaultSectionContainer>\n <SliderContainer ref={containerRef}>\n <SliderInnerContainer\n animate={{\n x: imageWidth * -sliderIndex,\n }}\n transition={{\n duration: 0.3,\n ease: 'easeInOut',\n }}\n imageCount={slice.images.length}\n >\n {slice.images.map((image, index) => (\n <ItemContainer key={image.id} ref={imageRef}>\n <Flex\n height=\"full\"\n width=\"full\"\n justifyContent=\"end\"\n flexDirection=\"column\"\n gap=\"2\"\n >\n <ImageContainer\n aspectRatio={getClosestRatio(\n image.img.img.data.attributes.width,\n image.img.img.data.attributes.height\n )}\n >\n <Image\n src={strapiMediaUrl(image.img.img, 'large')}\n alt={image.img.alt}\n fill\n style={{\n objectFit: image.img.objectFit || 'cover',\n cursor: isMobile ? 'unset' : 'pointer',\n }}\n onClick={() => {\n setSliderIndex(index);\n if (!isMobile) setIsOpen(true);\n }}\n />\n </ImageContainer>\n <Text height=\"6\">{image.caption}</Text>\n </Flex>\n </ItemContainer>\n ))}\n </SliderInnerContainer>\n </SliderContainer>\n\n <Box\n display={['none', null, null, !!allowScroll ? 'flex' : 'none']}\n pointerEvents=\"none\"\n position=\"absolute\"\n top=\"calc(50% - var(--boemly-sizes-12))\"\n left=\"0\"\n width=\"full\"\n py=\"0\"\n px=\"32\"\n justifyContent=\"space-between\"\n >\n <Box>\n <AnimatePresence>\n {canMoveLeft && (\n <IconButton\n key=\"leftButton\"\n as={motion.button}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n size=\"lg\"\n variant=\"outline\"\n onClick={() => setSliderIndex(sliderIndex - 1)}\n aria-label=\"Move left\"\n icon={<ArrowLeft size={16} />}\n pointerEvents=\"auto\"\n />\n )}\n </AnimatePresence>\n </Box>\n <Box>\n <AnimatePresence>\n {canMoveRight && (\n <IconButton\n key=\"rightButton\"\n as={motion.button}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n size=\"lg\"\n variant=\"outline\"\n onClick={() => setSliderIndex(sliderIndex + 1)}\n aria-label=\"Move right\"\n icon={<ArrowRight size={16} />}\n pointerEvents=\"auto\"\n />\n )}\n </AnimatePresence>\n </Box>\n </Box>\n\n <FullScreenImage\n images={slice.images.map((image) => image.img)}\n currentIndex={sliderIndex}\n setCurrentIndex={setSliderIndex}\n isOpen={isOpen}\n onClose={() => setIsOpen(false)}\n />\n </DefaultSectionContainer>\n );\n};\n","import React from 'react';\nimport {\n Box,\n DefaultSectionContainer,\n Grid,\n GridItem,\n SimpleGrid,\n Text,\n Wrapper,\n} from 'boemly';\nimport Image from 'next/image';\nimport StrapiImage from '../../models/strapi/StrapiImage';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\n\nexport interface SideBySideImagesProps {\n slice: {\n images: {\n id: number;\n caption: string;\n img: StrapiImage;\n }[];\n };\n}\nexport const SideBySideImages: React.FC<SideBySideImagesProps> = ({\n slice,\n}: SideBySideImagesProps) => (\n <DefaultSectionContainer>\n <Wrapper>\n <Grid templateColumns=\"repeat(12, 1fr)\" gap=\"4\">\n <GridItem colSpan={[12, null, null, 7]}>\n <SimpleGrid\n columns={[1, null, null, 2]}\n gap={['12', null, null, '6']}\n >\n {slice.images.map((image) => (\n <Box key={image.id}>\n <Box height=\"md\" position=\"relative\" borderRadius=\"xl\">\n <Image\n src={strapiMediaUrl(image.img.img, 'large')}\n alt={image.img.alt}\n fill\n style={{\n objectFit: image.img.objectFit || 'cover',\n borderRadius: 'var(--boemly-radii-xl)',\n }}\n />\n </Box>\n <Text mt=\"3\" size=\"xsLowNormal\">\n {image.caption}\n </Text>\n </Box>\n ))}\n </SimpleGrid>\n </GridItem>\n </Grid>\n </Wrapper>\n </DefaultSectionContainer>\n);\n","import React, { useContext } from 'react';\nimport {\n Box,\n Container,\n DefaultSectionContainer,\n DefaultSectionHeader,\n Flex,\n Gradient,\n Spacer,\n Wrapper,\n} from 'boemly';\nimport StrapiButtonWithVariant from '../../models/strapi/StrapiButtonWithVariant';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\nimport Image from 'next/image';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport StrapiImage from '../../models/strapi/StrapiImage';\nimport { CDN_URI } from '../../constants/api';\nimport { IntlContext } from '../../components/ContextProvider';\n\ntype Variant = 'gray' | 'green' | 'white';\n\nenum CtaCardType {\n Left = 'left',\n CenterWithoutImage = 'centerWithoutImage',\n CenterWithImage = 'centerWithImage',\n Right = 'right',\n}\n\nexport interface CtaProps {\n slice: {\n tagline?: string;\n title?: string;\n subTitle?: string;\n variant: Variant;\n ctaCards: CtaCard[];\n };\n}\n\nexport interface CtaCard {\n id: number;\n tagline?: string;\n title: string;\n subTitle?: string;\n image?: StrapiImage;\n buttons?: StrapiButtonWithVariant[];\n variant: Variant;\n backgroundShape: boolean;\n textAlign: 'left' | 'right' | 'center';\n}\n\nconst STATES: Record<CtaCardType, Record<string, any>> = {\n left: {\n textAlign: 'left',\n paddingTagline: '0',\n paddingTitle: '0',\n justifyContent: 'space-between',\n buttonJustifyContent: 'start',\n textMarginLeft: ['0', null, null, null, '14'],\n textMarginRight: '0',\n },\n centerWithoutImage: {\n textAlign: 'center',\n paddingTagline: '28',\n paddingTitle: '20',\n justifyContent: 'center',\n buttonJustifyContent: 'center',\n textMarginLeft: '0',\n textMarginRight: '0',\n },\n centerWithImage: {\n textAlign: 'center',\n paddingTagline: '28',\n paddingTitle: '20',\n justifyContent: 'center',\n buttonJustifyContent: 'center',\n textMarginLeft: '0',\n textMarginRight: '0',\n },\n right: {\n textAlign: 'left',\n paddingTagline: '0',\n paddingTitle: '0',\n justifyContent: 'start',\n buttonJustifyContent: 'start',\n textMarginLeft: '0',\n textMarginRight: ['0', null, null, null, '10'],\n },\n};\n\nconst VARIANTS: Record<Variant, Record<string, Record<CtaCardType, string>>> = {\n gray: {\n backgroundColor: {\n left: 'primary.50',\n centerWithoutImage: 'primary.50',\n centerWithImage: 'primary.50',\n right: 'primary.50',\n },\n taglineColor: {\n left: 'primary.500',\n centerWithoutImage: 'primary.500',\n centerWithImage: 'white',\n right: 'primary.500',\n },\n titleColor: {\n left: 'black',\n centerWithoutImage: 'black',\n centerWithImage: 'white',\n right: 'black',\n },\n subTitleColor: {\n left: 'black',\n centerWithoutImage: 'black',\n centerWithImage: 'white',\n right: 'black',\n },\n },\n green: {\n backgroundColor: {\n left: 'primary.800',\n centerWithoutImage: 'primary.800',\n centerWithImage: 'primary.800',\n right: 'primary.800',\n },\n taglineColor: {\n left: 'white',\n centerWithoutImage: 'white',\n centerWithImage: 'white',\n right: 'white',\n },\n titleColor: {\n left: 'white',\n centerWithoutImage: 'white',\n centerWithImage: 'white',\n right: 'white',\n },\n subTitleColor: {\n left: 'white',\n centerWithoutImage: 'white',\n centerWithImage: 'white',\n right: 'white',\n },\n },\n white: {\n backgroundColor: {\n left: 'white',\n centerWithoutImage: 'white',\n centerWithImage: 'primary.800',\n right: 'white',\n },\n taglineColor: {\n left: 'primary.500',\n centerWithoutImage: 'primary.500',\n centerWithImage: 'white',\n right: 'primary.500',\n },\n titleColor: {\n left: 'black',\n centerWithoutImage: 'black',\n centerWithImage: 'white',\n right: 'black',\n },\n subTitleColor: {\n left: 'black',\n centerWithoutImage: 'black',\n centerWithImage: 'white',\n right: 'black',\n },\n },\n};\n\nconst getTypeOfCard = (ctaCard: CtaCard): CtaCardType => {\n if (ctaCard.textAlign === 'center') {\n if (ctaCard.image) {\n return CtaCardType.CenterWithImage;\n }\n return CtaCardType.CenterWithoutImage;\n }\n if (ctaCard.textAlign === 'left') {\n return CtaCardType.Left;\n }\n return CtaCardType.Right;\n};\n\nexport const Cta: React.FC<CtaProps> = ({ slice }: CtaProps) => {\n const { formatMessage } = useContext(IntlContext);\n\n return (\n <DefaultSectionContainer\n backgroundColor={VARIANTS[slice.variant].backgroundColor.left}\n title={slice.title}\n >\n <Wrapper>\n {slice.title ? (\n <>\n <Flex alignItems=\"center\" flexDirection=\"column\">\n <DefaultSectionHeader\n tagline={slice.tagline}\n taglineProps={{\n color: VARIANTS[slice.variant].taglineColor.left,\n textAlign: 'center',\n maxWidth: '3xl',\n }}\n title={slice.title}\n titleProps={{\n color: VARIANTS[slice.variant].titleColor.left,\n textAlign: 'center',\n width: 'full',\n maxWidth: '3xl',\n }}\n text={slice.subTitle}\n textProps={{\n color: VARIANTS[slice.variant].subTitleColor.left,\n textAlign: 'center',\n maxWidth: '3xl',\n }}\n />\n </Flex>\n <Spacer height={['16', null, null, null, '20']} />\n </>\n ) : (\n <></>\n )}\n <Flex gap=\"4\" flexDirection=\"column\">\n {slice.ctaCards.map((ctaCard) => {\n const ctaCardType = getTypeOfCard(ctaCard);\n\n return (\n <Container\n backgroundColor={\n VARIANTS[ctaCard.variant].backgroundColor[ctaCardType]\n }\n key={ctaCard.id}\n position=\"relative\"\n elevation=\"none\"\n >\n {ctaCard.image &&\n ctaCardType === CtaCardType.CenterWithImage ? (\n <Box\n position=\"absolute\"\n left=\"0\"\n top=\"0\"\n width=\"full\"\n height=\"full\"\n borderRadius=\"xl\"\n overflow=\"hidden\"\n >\n <Image\n src={strapiMediaUrl(ctaCard.image.img, 'large')}\n alt={ctaCard.image.alt}\n fill\n style={{\n objectFit: ctaCard.image.objectFit || 'cover',\n borderRadius: 'var(--boemly-radii-xl)',\n }}\n />\n <Gradient />\n </Box>\n ) : (\n <></>\n )}\n {ctaCard.backgroundShape ? (\n <Box\n position=\"absolute\"\n left=\"0\"\n top=\"0\"\n width=\"full\"\n height=\"full\"\n >\n <Image\n src={\n ctaCardType === CtaCardType.CenterWithImage ||\n ctaCard.variant === 'green'\n ? `${CDN_URI}/assets/v3/strapi-slices/shapes-dark.svg`\n : `${CDN_URI}/assets/v3/strapi-slices/shapes-light.svg`\n }\n alt={formatMessage({\n id: `sections.cta.backgroundShapes${\n ctaCardType === CtaCardType.CenterWithImage ||\n ctaCard.variant === 'green'\n ? 'Dark'\n : 'Light'\n }`,\n })}\n fill\n style={{\n objectFit: 'cover',\n borderRadius: 'var(--boemly-radii-xl)',\n }}\n />\n </Box>\n ) : (\n <></>\n )}\n\n <Flex\n flexDir={['column', null, null, null, 'row']}\n flexGrow=\"1\"\n gap={['8', null, null, null, '16']}\n justifyContent={STATES[ctaCardType].justifyContent}\n >\n {ctaCard.image && ctaCardType === CtaCardType.Right ? (\n <Box\n position=\"relative\"\n height={['3xs', null, null, null, 'auto']}\n minWidth={[null, null, null, null, '50%']}\n >\n <Image\n src={strapiMediaUrl(ctaCard.image.img, 'xLarge')}\n alt={ctaCard.image.alt}\n fill\n style={{\n objectFit: ctaCard.image.objectFit || 'cover',\n borderRadius: 'var(--boemly-radii-xl)',\n }}\n />\n </Box>\n ) : (\n <></>\n )}\n\n <Box\n zIndex=\"base\"\n marginLeft={STATES[ctaCardType].textMarginLeft}\n marginRight={STATES[ctaCardType].textMarginRight}\n maxWidth=\"3xl\"\n >\n <Spacer height={['0', null, null, null, '20']} />\n\n <DefaultSectionHeader\n tagline={ctaCard.tagline}\n taglineProps={{\n textAlign: STATES[ctaCardType].textAlign,\n color:\n VARIANTS[ctaCard.variant].taglineColor[ctaCardType],\n paddingX: [\n '0',\n null,\n null,\n null,\n STATES[ctaCardType].paddingTagline,\n ],\n }}\n title={ctaCard.title}\n titleProps={{\n fontFamily: 'heading',\n fontSize: '4xl',\n fontWeight: '600',\n lineHeight: '9',\n textAlign: STATES[ctaCardType].textAlign,\n paddingX: [\n '0',\n null,\n null,\n null,\n STATES[ctaCardType].paddingTitle,\n ],\n color:\n VARIANTS[ctaCard.variant].titleColor[ctaCardType],\n }}\n text={ctaCard.subTitle}\n textProps={{\n textAlign: STATES[ctaCardType].textAlign,\n color:\n VARIANTS[ctaCard.variant].subTitleColor[ctaCardType],\n }}\n />\n {ctaCard.buttons && ctaCard.buttons.length > 0 ? (\n <>\n <Spacer height=\"8\" />\n <Flex\n gap=\"2\"\n justifyContent={\n STATES[ctaCardType].buttonJustifyContent\n }\n >\n {ctaCard.buttons &&\n ctaCard.buttons.map((button) => (\n <StrapiLinkButton\n key={button.button.id}\n link={button.button}\n size=\"md\"\n variant={button.variant}\n />\n ))}\n </Flex>\n </>\n ) : (\n <></>\n )}\n <Spacer height={['1', null, null, null, '20']} />\n </Box>\n {ctaCard.image && ctaCardType === CtaCardType.Left ? (\n <Box\n position=\"relative\"\n height={['3xs', null, null, null, 'auto']}\n minWidth={[null, null, null, null, '50%']}\n >\n <Image\n src={strapiMediaUrl(ctaCard.image.img, 'xLarge')}\n alt={ctaCard.image.alt}\n fill\n style={{\n objectFit: ctaCard.image.objectFit || 'cover',\n borderRadius: 'var(--boemly-radii-xl)',\n }}\n />\n </Box>\n ) : (\n <></>\n )}\n </Flex>\n </Container>\n );\n })}\n </Flex>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","import React from 'react';\nimport { Box, Wrapper } from 'boemly';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\nimport StrapiLink from '../../models/strapi/StrapiLink';\n\nexport interface CtaOnlyProps {\n slice: {\n button: StrapiLink;\n };\n}\n\nexport const CtaOnly: React.FC<CtaOnlyProps> = ({ slice }: CtaOnlyProps) => (\n <Wrapper>\n <Box position=\"absolute\" top=\"-28\" transform=\"translateY(50%)\">\n <StrapiLinkButton size=\"md\" link={slice.button} />\n </Box>\n </Wrapper>\n);\n","import React, { useContext, useState } from 'react';\nimport {\n DefaultSectionContainer,\n Divider,\n Flex,\n GridItem,\n Heading,\n IconButton,\n SimpleGrid,\n Text,\n Wrapper,\n} from 'boemly';\nimport { Check, Link as LinkIcon } from '@phosphor-icons/react';\nimport { useCopyToClipboard } from 'react-use';\nimport IStrapiData from '../../models/strapi/IStrapiData';\nimport StrapiGlossaryItem from '../../models/strapi/StrapiGlossaryItem';\nimport { IntlContext } from '../../components/ContextProvider';\n\nexport interface GlossaryProps {\n slice: {\n glossary_items: IStrapiData<StrapiGlossaryItem>[];\n };\n}\n\nexport const Glossary: React.FC<GlossaryProps> = ({ slice }: GlossaryProps) => {\n const [, copyToClipboard] = useCopyToClipboard();\n const { formatMessage } = useContext(IntlContext);\n const grouped: Record<string, StrapiGlossaryItem[]> = {};\n const [copiedItem, setCopiedItem] = useState<string>();\n\n slice.glossary_items\n .sort((a, b) => a.attributes.title.localeCompare(b.attributes.title))\n .forEach((curr) => {\n const index = curr.attributes.title.at(0)?.toUpperCase() || 'A';\n if (!grouped[index]) {\n grouped[index] = [];\n }\n grouped[index].push(curr.attributes);\n }, {});\n\n const handleAnchorClick = async (slug: string) => {\n if (window?.location) {\n const currentUrl = window.location.href.split('#')[0];\n copyToClipboard(`${currentUrl}#${slug}`);\n setCopiedItem(slug);\n\n setTimeout(() => {\n setCopiedItem(undefined);\n }, 1200);\n }\n };\n\n return (\n <DefaultSectionContainer>\n <Wrapper>\n <SimpleGrid>\n {Object.entries(grouped).map(([letter, items], index) => (\n <GridItem maxW=\"xl\" placeSelf=\"center\" key={letter}>\n <Heading size=\"3xl\" mb=\"8\">\n {letter}\n </Heading>\n\n <SimpleGrid spacing=\"6\">\n {items.map((item) => (\n <GridItem key={item.slug}>\n <Flex mb=\"2\" gap=\"1.5\" alignItems=\"center\">\n <Heading\n size=\"xl\"\n id={item.slug}\n scrollMarginTop=\"calc(var(--header-height) + var(--boemly-sizes-10))\"\n >\n {item.title}\n </Heading>\n <IconButton\n variant=\"ghost\"\n size=\"xs\"\n icon={\n copiedItem === item.slug ? (\n <Check size=\"16\" data-testid=\"check-icon\" />\n ) : (\n <LinkIcon size=\"16\" />\n )\n }\n title={formatMessage({\n id: 'sections.glossary.copyButtonLabel',\n })}\n aria-label={formatMessage({\n id: 'sections.glossary.copyButtonLabel',\n })}\n onClick={async () => handleAnchorClick(item.slug)}\n />\n </Flex>\n <Text color=\"black\">{item.text}</Text>\n </GridItem>\n ))}\n </SimpleGrid>\n\n {index !== Object.keys(grouped).length - 1 && (\n <Divider maxW=\"xl\" placeSelf=\"center\" mb=\"10\" mt=\"10\" />\n )}\n </GridItem>\n ))}\n </SimpleGrid>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","export const MINIMUM_CONTRIBUTION_VALUE_IN_MONEY = 10;\n\nexport const MAXIMUM_CONTRIBUTION_VALUE_IN_MONEY = 60_000;\n","import React, { useContext, useCallback } from 'react';\nimport {\n Badge,\n BoemlyFormControl,\n Box,\n Button,\n Container,\n DefaultSectionContainer,\n DefaultSectionHeader,\n Divider,\n Flex,\n InputRightAddon,\n LabelNumberPair,\n RichText,\n SimpleGrid,\n Spacer,\n useToken,\n Wrapper,\n} from 'boemly';\nimport { Field, FieldProps, Form, Formik, FormikProps } from 'formik';\nimport { FPM_API_URI } from '../../constants/api';\nimport CheckoutForm from '../../models/forms/CheckoutForm';\nimport {\n MAXIMUM_CONTRIBUTION_VALUE_IN_MONEY,\n MINIMUM_CONTRIBUTION_VALUE_IN_MONEY,\n} from '../../constants/domain';\nimport { IntlContext } from '../../components/ContextProvider';\nimport { useRouter } from 'next/router';\n\nexport interface ShopCheckoutProps {\n slice: {\n tagline?: string;\n title: string;\n text?: string;\n badge?: string;\n batchId: string;\n pricePerKg: number;\n couponId?: string;\n initialContributionValue: number;\n checkoutText: string;\n currency: 'EUR' | 'CHF';\n };\n}\n\nexport const ShopCheckout = ({ slice }: ShopCheckoutProps): JSX.Element => {\n const [primary50] = useToken('colors', ['primary.50']);\n const { formatMessage, formatNumber, locale } = useContext(IntlContext);\n const { push } = useRouter();\n\n const validateForm = useCallback(\n (values: CheckoutForm) => {\n const errors: Partial<{ contributionValue: string }> = {};\n\n if (!values.contributionValue) {\n errors.contributionValue = formatMessage({\n id: 'sections.shopCheckout.contributionValue.validation.empty',\n });\n } else if (\n values.contributionValue < MINIMUM_CONTRIBUTION_VALUE_IN_MONEY\n ) {\n errors.contributionValue = formatMessage({\n id: `sections.shopCheckout.contributionValue.validation.tooLow.${slice.currency}`,\n });\n } else if (\n values.contributionValue > MAXIMUM_CONTRIBUTION_VALUE_IN_MONEY\n ) {\n errors.contributionValue = formatMessage({\n id: 'sections.shopCheckout.contributionValue.validation.tooHigh',\n });\n }\n\n return errors;\n },\n [locale]\n );\n\n const onSubmit = ({ contributionValue }: CheckoutForm) => {\n const checkoutURL = new URL(`${FPM_API_URI}/v1/webhooks/shop/checkout`);\n const currentURL = new URL(window.location.href);\n\n checkoutURL.searchParams.append('batchId', slice.batchId);\n\n checkoutURL.searchParams.append(\n 'quantity',\n Math.floor(contributionValue / slice.pricePerKg).toString()\n );\n\n checkoutURL.searchParams.append('cancelPath', currentURL.pathname);\n\n if (slice.couponId)\n checkoutURL.searchParams.append('couponId', slice.couponId);\n\n push(checkoutURL.toString());\n };\n\n return (\n <DefaultSectionContainer backgroundColor={primary50} title={slice.title}>\n <Wrapper>\n <Flex\n flexDir={['column', null, null, null, 'row']}\n justifyContent=\"space-between\"\n alignItems={['left', null, null, null, 'center']}\n >\n <Box marginRight={['0', null, null, null, '36']} flexShrink={2}>\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.text}\n />\n </Box>\n <Container maxWidth=\"md\" padding=\"lg\" shadow=\"lg\">\n {slice.badge ? (\n <>\n <Badge\n colorScheme=\"green\"\n textTransform=\"none\"\n whiteSpace=\"unset\"\n >\n {slice.badge}\n </Badge>\n <Spacer height=\"3\" />\n </>\n ) : (\n <></>\n )}\n\n <RichText\n content={slice.checkoutText}\n textProps={{ color: 'gray.500' }}\n />\n\n <Spacer height=\"6\" />\n <Divider />\n <Spacer height=\"6\" />\n\n <LabelNumberPair\n label={formatMessage({ id: 'sections.shopCheckout.intro.price' })}\n number={`${formatNumber(slice.pricePerKg * 100, {\n style: 'currency',\n currency: slice.currency,\n })}/${formatNumber(100, {\n style: 'unit',\n unit: 'kilogram',\n })} CO₂`}\n />\n\n <Spacer height=\"6\" />\n <Divider />\n <Spacer height=\"6\" />\n\n <Formik\n initialValues={{\n contributionValue: slice.initialContributionValue,\n }}\n validate={validateForm}\n onSubmit={onSubmit}\n >\n {({\n errors,\n touched,\n handleSubmit,\n values,\n }: FormikProps<CheckoutForm>) => (\n <Form onSubmit={handleSubmit}>\n <Box width=\"full\">\n <Field name=\"contributionValue\">\n {({ field }: FieldProps) => (\n <BoemlyFormControl\n id=\"contributionValue\"\n size=\"md\"\n inputProps={{ type: 'number', ...field }}\n label={formatMessage({\n id: `sections.shopCheckout.contributionValue.label.${slice.currency}`,\n })}\n rightAddonsOrElements={[\n <InputRightAddon key=\"1\">\n {formatMessage({\n id: `sections.shopCheckout.contributionValue.unit.${slice.currency}`,\n })}\n </InputRightAddon>,\n ]}\n isInvalid={\n !!errors.contributionValue &&\n touched.contributionValue\n }\n errorMessage={errors.contributionValue}\n />\n )}\n </Field>\n </Box>\n\n <Spacer height=\"6\" />\n\n <SimpleGrid columns={2} gap=\"4\">\n <LabelNumberPair\n label={formatMessage({\n id: 'sections.shopCheckout.summary.kg',\n })}\n number={`${formatNumber(\n Math.floor(values.contributionValue / slice.pricePerKg),\n {\n style: 'unit',\n unit: 'kilogram',\n maximumFractionDigits: 0,\n }\n )} CO₂`}\n />\n <LabelNumberPair\n label={formatMessage({\n id: 'sections.shopCheckout.summary.price',\n })}\n number={formatNumber(\n Math.floor(\n values.contributionValue / slice.pricePerKg\n ) * slice.pricePerKg,\n {\n style: 'currency',\n currency: slice.currency,\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n }\n )}\n />\n </SimpleGrid>\n\n <Spacer height=\"6\" />\n\n <Button type=\"submit\" width=\"full\">\n {formatMessage({ id: 'sections.shopCheckout.submit' })}\n </Button>\n </Form>\n )}\n </Formik>\n </Container>\n </Flex>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","import React from 'react';\nimport {\n DefaultSectionContainer,\n DefaultSectionHeader,\n Flex,\n Heading,\n Spacer,\n Text,\n} from 'boemly';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\nimport StrapiLink from '../../models/strapi/StrapiLink';\n\nexport interface FactsProps {\n slice: {\n tagline?: string;\n title?: string;\n subTitle?: string;\n button?: StrapiLink;\n variant: 'gray' | 'green' | 'white';\n facts: { key: string; value: string }[];\n };\n}\n\nconst VARIANTS = {\n gray: {\n backgroundColor: 'primary.50',\n tagLineColor: 'primary.500',\n titleColor: 'black',\n subTitleColor: 'black',\n factKeyColor: 'gray.700',\n factValueColor: 'gray.700',\n },\n green: {\n backgroundColor: 'primary.800',\n tagLineColor: 'white',\n titleColor: 'white',\n subTitleColor: 'white',\n factKeyColor: 'whiteAlpha.900',\n factValueColor: 'white',\n },\n white: {\n backgroundColor: 'white',\n tagLineColor: 'primary.500',\n titleColor: 'black',\n subTitleColor: 'black',\n factKeyColor: 'gray.700',\n factValueColor: 'gray.700',\n },\n};\n\nexport const Facts: React.FC<FactsProps> = ({ slice }: FactsProps) => (\n <DefaultSectionContainer\n backgroundColor={VARIANTS[slice.variant].backgroundColor}\n flexDir=\"column\"\n textAlign=\"center\"\n justifyContent=\"space-between\"\n paddingX={['6', null, '8']}\n title={slice.title}\n >\n <>\n {slice.title && (\n <>\n <DefaultSectionHeader\n tagline={slice.tagline}\n text={slice.subTitle}\n title={slice.title}\n taglineProps={{\n color: VARIANTS[slice.variant].tagLineColor,\n textAlign: 'center',\n }}\n titleProps={{\n color: VARIANTS[slice.variant].titleColor,\n textAlign: 'center',\n maxW: '6xl',\n marginX: 'auto',\n }}\n textProps={{\n color: VARIANTS[slice.variant].subTitleColor,\n textAlign: 'center',\n maxW: '3xl',\n marginX: 'auto',\n }}\n />\n <Spacer height={['0', null, '12']} />\n </>\n )}\n <Flex\n justifyContent={slice.facts.length < 3 ? 'center' : 'flex-start'}\n alignItems=\"center\"\n flexWrap=\"wrap\"\n mx={[null, null, null, '22', '28']}\n flexDir={['column', null, null, 'row']}\n gap={[null, null, null, '12']}\n >\n {slice.facts.map((fact) => (\n <Flex\n key={fact.key}\n flexDir=\"column\"\n width={[\n 'var(--boemly-sizes-full)',\n null,\n null,\n 'calc((var(--boemly-sizes-full) - var(--boemly-space-24))/ 3 )',\n ]}\n mt={['8', '8', '8', slice.facts.length > 3 ? '16' : '0']}\n >\n <Heading\n fontSize=\"6xl\"\n fontFamily=\"display\"\n lineHeight=\"10\"\n fontWeight=\"700\"\n color={VARIANTS[slice.variant].factValueColor}\n mb=\"2\"\n as=\"p\"\n >\n {fact.value}\n </Heading>\n\n <Text\n size=\"mdLowNormal\"\n color={VARIANTS[slice.variant].factKeyColor}\n >\n {fact.key}\n </Text>\n </Flex>\n ))}\n </Flex>\n\n {slice.button && (\n <>\n <Spacer height={['0', null, '20']} />\n <StrapiLinkButton\n link={slice.button}\n size=\"md\"\n variant={slice.variant === 'green' ? 'outline' : 'solid'}\n />\n </>\n )}\n </>\n </DefaultSectionContainer>\n);\n","import React, { useContext, useMemo } from 'react';\nimport {\n Text,\n Heading,\n Spacer,\n DatePersonPair,\n DefaultSectionHeader,\n DefaultSectionContainer,\n Wrapper,\n SimpleGrid,\n Box,\n Flex,\n useMediaQuery,\n useToken,\n} from 'boemly';\nimport Image from 'next/image';\nimport Link from 'next/link';\nimport { CaretRight } from '@phosphor-icons/react';\nimport StrapiBlogPost from '../../models/strapi/StrapiBlogPost';\nimport IStrapiData from '../../models/strapi/IStrapiData';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport StrapiCategory from '../../models/strapi/StrapiCategory';\nimport IStrapi from '../../models/strapi/IStrapi';\nimport { BREAKPOINT_LG_QUERY } from '../../constants/breakpoints';\nimport StrapiLink from '../../models/strapi/StrapiLink';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\nimport { BlogItemContainer, ImageContainer } from '../Blog/styles';\nimport { IntlContext } from '../../components/ContextProvider';\n\nexport interface BlogCardsProps {\n slice: {\n tagline: string;\n title: string;\n subTitle: string;\n button?: StrapiLink;\n variant: 'white' | 'gray';\n blogPostCategory: IStrapi<IStrapiData<StrapiCategory> | null>;\n };\n blogPosts: IStrapiData<StrapiBlogPost>[];\n}\n\nconst VARIANTS = {\n white: {\n backgroundColor: 'white',\n },\n gray: {\n backgroundColor: 'primary.50',\n },\n};\n\nconst sortByCreatedAt = (\n a: IStrapiData<StrapiBlogPost>,\n b: IStrapiData<StrapiBlogPost>\n): number =>\n new Date(b.attributes.createdAt).getTime() -\n new Date(a.attributes.createdAt).getTime();\n\nexport const BlogCards: React.FC<BlogCardsProps> = ({\n slice,\n blogPosts,\n}: BlogCardsProps) => {\n const { formatDate } = useContext(IntlContext);\n const [mobile] = useMediaQuery(BREAKPOINT_LG_QUERY);\n const [gray700] = useToken('colors', ['gray.700']);\n\n const sortedBlogPosts = useMemo(\n () => blogPosts.sort(sortByCreatedAt),\n [blogPosts]\n );\n\n const blogPostsToDisplay = useMemo(\n () =>\n slice.blogPostCategory?.data?.attributes.name\n ? sortedBlogPosts\n .filter(\n (blogPost) =>\n blogPost.attributes.category.data?.attributes.name ===\n slice.blogPostCategory?.data?.attributes.name\n )\n .slice(0, 3)\n : sortedBlogPosts.slice(0, 3),\n [sortedBlogPosts, slice]\n );\n\n return (\n <DefaultSectionContainer\n backgroundColor={VARIANTS[slice.variant].backgroundColor}\n title={slice.title}\n >\n <Wrapper>\n {mobile || !slice.button ? (\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.subTitle}\n titleProps={{ maxW: '2xl' }}\n textProps={{ maxW: '2xl' }}\n />\n ) : (\n <Flex justifyContent=\"space-between\" alignItems=\"center\" gap=\"60\">\n <Box>\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.subTitle}\n />\n </Box>\n <Box minWidth=\"40\">\n <StrapiLinkButton\n link={slice.button}\n size=\"lg\"\n variant=\"outline\"\n rightIcon={<CaretRight color={gray700} />}\n />\n </Box>\n </Flex>\n )}\n <Spacer height=\"14\" />\n <SimpleGrid\n columns={[1, null, null, 3]}\n spacingX={4}\n spacingY={24}\n flexShrink=\"0\"\n >\n {blogPostsToDisplay.map((blogPost) => (\n <BlogItemContainer\n as={Link}\n href={`/blog/${blogPost.attributes.slug}`}\n data-testid=\"blog-item\"\n key={blogPost.attributes.slug}\n >\n <ImageContainer>\n <Image\n src={strapiMediaUrl(blogPost.attributes.img.img, 'medium')}\n alt={blogPost.attributes.img.alt}\n fill\n style={{\n objectFit: blogPost.attributes.img.objectFit || 'cover',\n }}\n />\n </ImageContainer>\n <Box px=\"2\" py=\"8\">\n {blogPost.attributes.category && (\n <Text size=\"smMonoUppercase\" color=\"primary.800\" mb=\"2\">\n {blogPost.attributes.category.data?.attributes.name}\n </Text>\n )}\n <Heading size=\"lg\">{blogPost.attributes.title}</Heading>\n {blogPost.attributes.teaser && (\n <Text size=\"mdRegularNormal\" mt=\"2\">\n {blogPost.attributes.teaser}\n </Text>\n )}\n\n <Spacer height=\"4\" />\n\n <DatePersonPair\n date={formatDate(blogPost.attributes.createdAt)}\n person={\n blogPost.attributes.author.data\n ? {\n name: blogPost.attributes.author.data.attributes.name,\n image: (\n <Image\n src={strapiMediaUrl(\n blogPost.attributes.author.data.attributes.img\n .img,\n 'thumbnail'\n )}\n alt={\n blogPost.attributes.author.data.attributes.img\n .alt\n }\n fill\n style={{\n objectFit:\n blogPost.attributes.author.data.attributes.img\n .objectFit || 'cover',\n }}\n />\n ),\n }\n : undefined\n }\n />\n </Box>\n </BlogItemContainer>\n ))}\n </SimpleGrid>\n <>\n {mobile && slice.button && (\n <>\n <Box minWidth=\"40\" mt=\"6\">\n <StrapiLinkButton\n link={slice.button}\n size=\"lg\"\n variant=\"outline\"\n rightIcon={<CaretRight color={gray700} />}\n />\n </Box>\n </>\n )}\n </>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","import React, { useCallback, useContext } from 'react';\nimport {\n BoemlyFormControl,\n Box,\n Button,\n Divider,\n Flex,\n InputRightAddon,\n Spacer,\n Text,\n} from 'boemly';\nimport {\n Field,\n FieldProps,\n Form,\n Formik,\n FormikErrors,\n FormikProps,\n} from 'formik';\nimport { useRouter } from 'next/router';\nimport Image from 'next/image';\nimport { StrapiLink } from '../../..';\nimport { IntlContext } from '../../ContextProvider';\nimport {\n MAXIMUM_CONTRIBUTION_VALUE_IN_MONEY,\n MINIMUM_CONTRIBUTION_VALUE_IN_MONEY,\n} from '../../../constants/domain';\nimport { CDN_URI, FPM_API_URI } from '../../../constants/api';\nimport StrapiLinkButton from '../../StrapiLinkButton';\n\nexport interface SmallCheckoutProps {\n batchId: string;\n pricePerKg: number;\n initialContributionValue: number;\n checkoutText?: string;\n currency: 'EUR' | 'CHF';\n\n title?: string;\n subtitle?: string;\n button?: StrapiLink;\n}\n\ninterface SmallCheckoutForm {\n contributionValueCurrency: number;\n contributionValueKgs: number;\n}\n\nconst SmallCheckout = ({\n pricePerKg,\n currency,\n batchId,\n initialContributionValue,\n checkoutText,\n title,\n subtitle,\n button,\n}: SmallCheckoutProps) => {\n const { formatNumber, formatMessage, locale } = useContext(IntlContext);\n const { push } = useRouter();\n\n const validateForm = useCallback(\n (values: SmallCheckoutForm) => {\n const errors: FormikErrors<SmallCheckoutForm> = {};\n\n if (!values.contributionValueCurrency) {\n errors.contributionValueCurrency = formatMessage({\n id: 'portfolio.smallCheckout.contributionValueCurrency.validation.empty',\n });\n } else if (\n values.contributionValueCurrency < MINIMUM_CONTRIBUTION_VALUE_IN_MONEY\n ) {\n errors.contributionValueCurrency = formatMessage({\n id: `portfolio.smallCheckout.contributionValueCurrency.validation.tooLow.${currency}`,\n });\n } else if (\n values.contributionValueCurrency > MAXIMUM_CONTRIBUTION_VALUE_IN_MONEY\n ) {\n errors.contributionValueCurrency = formatMessage({\n id: 'portfolio.smallCheckout.contributionValueCurrency.validation.tooHigh',\n });\n }\n\n return errors;\n },\n [locale]\n );\n\n const onSubmit = async ({ contributionValueCurrency }: SmallCheckoutForm) => {\n const checkoutURL = new URL(`${FPM_API_URI}/v1/webhooks/shop/checkout`);\n const currentURL = new URL(window.location.href);\n\n checkoutURL.searchParams.append('batchId', batchId);\n\n checkoutURL.searchParams.append(\n 'quantity',\n Math.floor(contributionValueCurrency / pricePerKg).toString()\n );\n\n checkoutURL.searchParams.append('cancelPath', currentURL.pathname);\n\n push(checkoutURL.toString());\n };\n\n return (\n <Flex\n width=\"full\"\n height=\"full\"\n borderRadius=\"xl\"\n background=\"primary.100\"\n padding=\"6\"\n direction=\"column\"\n >\n <Flex gap=\"1\" alignItems=\"end\" mb=\"6\">\n <Text color=\"black\" lineHeight=\"0\">\n {formatMessage(\n { id: 'unit.formatter.tonsCo2' },\n {\n number: (\n <Text as=\"span\" size=\"lgLowBold\" color=\"black\">\n {formatNumber(pricePerKg * 1000, {\n style: 'currency',\n currency,\n maximumFractionDigits: 0,\n })}\n </Text>\n ),\n }\n )}\n </Text>\n </Flex>\n\n <Formik\n initialValues={{\n contributionValueCurrency: initialContributionValue,\n contributionValueKgs: initialContributionValue / pricePerKg / 1000,\n }}\n validate={validateForm}\n onSubmit={onSubmit}\n >\n {({\n errors,\n touched,\n handleSubmit,\n setValues,\n }: FormikProps<SmallCheckoutForm>) => (\n <Form onSubmit={handleSubmit}>\n <Flex gap=\"4\">\n <Box width=\"full\">\n <Field name=\"contributionValueCurrency\">\n {({ field }: FieldProps) => (\n <BoemlyFormControl\n id=\"contributionValueCurrency\"\n size=\"md\"\n inputProps={{\n type: 'number',\n value: field.value,\n onChange: (e) => {\n setValues({\n contributionValueCurrency: e.target.valueAsNumber,\n contributionValueKgs:\n e.target.valueAsNumber / pricePerKg / 1000,\n });\n },\n }}\n label={formatMessage({\n id: `portfolio.smallCheckout.contributionValueCurrency.label.${currency}`,\n })}\n rightAddonsOrElements={[\n <InputRightAddon key=\"currencyUnit\">\n {formatMessage({\n id: `portfolio.smallCheckout.contributionValueCurrency.unit.${currency}`,\n })}\n </InputRightAddon>,\n ]}\n isInvalid={\n !!errors.contributionValueCurrency &&\n touched.contributionValueCurrency\n }\n errorMessage={errors.contributionValueCurrency}\n />\n )}\n </Field>\n </Box>\n\n <Box width=\"full\">\n <Field name=\"contributionValueKgs\">\n {({ field }: FieldProps) => (\n <BoemlyFormControl\n id=\"contributionValueKgs\"\n size=\"md\"\n inputProps={{\n type: 'number',\n value: field.value,\n onChange: (e) => {\n const value = e.target.valueAsNumber || 0;\n\n setValues({\n contributionValueCurrency:\n value * pricePerKg * 1000,\n contributionValueKgs: value,\n });\n },\n }}\n label={formatMessage({\n id: 'portfolio.smallCheckout.contributionValueKgs.label',\n })}\n rightAddonsOrElements={[\n <InputRightAddon key=\"tCO₂\">tCO₂</InputRightAddon>,\n ]}\n isInvalid={\n !!errors.contributionValueKgs &&\n touched.contributionValueKgs\n }\n errorMessage={errors.contributionValueKgs}\n />\n )}\n </Field>\n </Box>\n </Flex>\n\n <Spacer height=\"4\" />\n\n <Button type=\"submit\" width=\"full\">\n {formatMessage({ id: 'portfolio.smallCheckout.submitButton' })}\n </Button>\n </Form>\n )}\n </Formik>\n\n <Flex\n width=\"full\"\n justifyContent=\"center\"\n alignItems=\"center\"\n mt=\"6\"\n gap=\"2\"\n >\n <Image\n src={`${CDN_URI}/assets/v3/strapi-slices/globe-love-icon.svg`}\n alt=\"Icon\"\n width={20}\n height={20}\n />\n <Text size=\"smLowNormal\">{checkoutText}</Text>\n </Flex>\n\n <Divider my=\"6\" />\n\n <Flex width=\"full\" alignItems=\"center\" direction=\"column\">\n {title && (\n <Text size=\"smLowBold\" textAlign=\"center\" color=\"black\" mb=\"2\">\n {title}\n </Text>\n )}\n {subtitle && (\n <Text size=\"smRegularNormal\" textAlign=\"center\" mb=\"3\">\n {subtitle}\n </Text>\n )}\n {button && (\n <StrapiLinkButton\n link={{\n intercomLauncher: true,\n ...button,\n }}\n variant=\"outline\"\n />\n )}\n </Flex>\n </Flex>\n );\n};\n\nexport default SmallCheckout;\n","const convertAreaM2ToHa = (areaInM2: string): number =>\n parseInt(areaInM2, 10) / 10000;\n\nexport default convertAreaM2ToHa;\n","const convertCo2AmountKgToTons = (amount: string): number =>\n parseInt(amount, 10) / 1000;\n\nexport default convertCo2AmountKgToTons;\n","const getTimeSpanInYears = (start: Date, end: Date) => {\n const monthsDifference = end.getMonth() - start.getMonth();\n const yearsDifference = end.getFullYear() - start.getFullYear();\n\n if (monthsDifference > 4) {\n return yearsDifference + 1;\n }\n if (monthsDifference < -4) {\n return yearsDifference - 1;\n }\n return yearsDifference;\n};\n\nexport default getTimeSpanInYears;\n","import React, { useContext } from 'react';\nimport {\n Box,\n Container,\n Divider,\n Flex,\n Heading,\n LabelTextPair,\n SimpleGrid,\n Spacer,\n} from 'boemly';\nimport Image from 'next/image';\nimport convertAreaM2ToHa from '../../../utils/convertAreaM2ToHa';\nimport convertCo2AmountKgToTons from '../../../utils/convertCo2AmountKgToTons';\nimport CreditsAvailableBadge from '../../../components/CreditsAvailableBadge';\nimport PortfolioProject from '../../../models/PortfolioProject';\nimport {\n FORMAT_AS_HECTARE_CONFIG,\n FORMAT_AS_PERCENT_CONFIG,\n} from '../../../constants/formatter';\nimport getTimeSpanInYears from '../../../utils/getTimeSpanInYears';\nimport { IntlContext } from '../../ContextProvider';\n\nexport interface ProjectInfoProps {\n project: PortfolioProject;\n subtitles: {\n areaSubtitle?: string;\n locationSubtitle?: string;\n startSubtitle?: string;\n timeSpanSubtitle?: string;\n projectTypeSubtitle?: string;\n projectDeveloperSubtitle?: string;\n verificationStandardSubtitle?: string;\n forecastedAmountSubtitle?: string;\n riskBufferSubtitle?: string;\n buyCreditsSubtitle?: string;\n };\n}\n\nexport const ProjectInfo: React.FC<ProjectInfoProps> = ({\n project,\n subtitles,\n}: ProjectInfoProps) => {\n const { formatMessage, formatNumber, formatDate } = useContext(IntlContext);\n\n return (\n <Container p=\"2\" width=\"full\">\n <Heading size=\"xl\" textAlign=\"left\">\n {formatMessage({ id: 'features.projectInfo.projectInfo.value' })}\n </Heading>\n\n <Spacer height=\"8\" />\n\n <SimpleGrid\n columns={[1, null, null, 2]}\n gap=\"8\"\n spacingX=\"10\"\n spacingY=\"8\"\n >\n {project.area && (\n <Box>\n <LabelTextPair\n label={formatMessage({\n id: 'features.projectInfo.properties.area',\n })}\n text={formatNumber(\n convertAreaM2ToHa(project.area.toString()),\n FORMAT_AS_HECTARE_CONFIG\n )}\n caption={subtitles.areaSubtitle}\n />\n </Box>\n )}\n\n {project.location && (\n <Box>\n <LabelTextPair\n label={formatMessage({\n id: 'features.projectInfo.properties.location',\n })}\n text={project.location}\n caption={subtitles.locationSubtitle}\n />\n </Box>\n )}\n\n {project.start && (\n <Box>\n <LabelTextPair\n label={formatMessage({\n id: 'features.projectInfo.properties.start',\n })}\n text={formatDate(project.start, {\n year: 'numeric',\n month: 'long',\n })}\n caption={subtitles.startSubtitle}\n />\n </Box>\n )}\n\n {project.start && project.end && (\n <Box>\n <LabelTextPair\n label={formatMessage({\n id: 'features.projectInfo.properties.timeSpan',\n })}\n text={formatMessage(\n {\n id: 'features.projectInfo.properties.year',\n },\n {\n years: getTimeSpanInYears(\n new Date(project.start),\n new Date(project.end)\n ),\n }\n )}\n caption={subtitles.timeSpanSubtitle}\n />\n </Box>\n )}\n </SimpleGrid>\n\n {project.projectType ||\n project.projectDeveloper ||\n project.verificationStandard ? (\n <>\n <Spacer height=\"6\" />\n <Divider />\n <Spacer height=\"6\" />\n </>\n ) : (\n <></>\n )}\n <SimpleGrid columns={[1, null, null, 2]} spacingX=\"10\" spacingY=\"8\">\n {project.projectType && (\n <Box>\n <LabelTextPair\n label={formatMessage({\n id: 'features.projectInfo.properties.projectType',\n })}\n text={project.projectType.title}\n caption={subtitles.projectTypeSubtitle}\n />\n </Box>\n )}\n {project.projectDeveloper && (\n <Box>\n <LabelTextPair\n label={formatMessage({\n id: 'features.projectInfo.properties.projectDeveloper',\n })}\n text={project.projectDeveloper.name}\n caption={subtitles.projectDeveloperSubtitle}\n />\n </Box>\n )}\n </SimpleGrid>\n\n {project.verificationStandard ? (\n <>\n {project.projectType || project.projectDeveloper ? (\n <Spacer height=\"6\" />\n ) : (\n <></>\n )}\n <Flex justifyContent=\"space-between\" alignItems=\"center\">\n <Box>\n <LabelTextPair\n label={formatMessage({\n id: 'features.projectInfo.properties.verificationStandard.label',\n })}\n text={formatMessage({\n id: `features.projectInfo.properties.verificationStandard.value.${project.verificationStandard.id}`,\n defaultMessage: project.verificationStandard.id,\n })}\n caption={subtitles.verificationStandardSubtitle}\n />\n </Box>\n\n {project.defaultIssuer && (\n <Box position=\"relative\" width=\"14\" height=\"8\">\n <Image\n src={project.defaultIssuer.logoUrl}\n alt={`${project.defaultIssuer.name} logo`}\n fill\n style={{ objectFit: 'contain' }}\n />\n </Box>\n )}\n </Flex>\n </>\n ) : (\n <></>\n )}\n\n {project.forecastedAmountYearly && project.riskBuffer ? (\n <>\n <Spacer height=\"8\" />\n <Divider />\n <Spacer height=\"8\" />\n <SimpleGrid columns={[1, null, null, 2]} spacingX=\"10\" spacingY=\"8\">\n <Box>\n <LabelTextPair\n label={formatMessage({\n id: 'features.projectInfo.properties.forecastedAmountYear.label',\n })}\n text={formatMessage(\n {\n id: 'unit.formatter.tonsCo2PerYear',\n },\n {\n number: formatNumber(\n convertCo2AmountKgToTons(\n project.forecastedAmountYearly.toString()\n ),\n { maximumFractionDigits: 0 }\n ),\n }\n )}\n caption={subtitles.forecastedAmountSubtitle}\n />\n </Box>\n\n <Box>\n <LabelTextPair\n label={formatMessage({\n id: 'features.projectInfo.properties.riskBuffer',\n })}\n text={formatNumber(\n project.riskBuffer / 100,\n FORMAT_AS_PERCENT_CONFIG\n )}\n caption={subtitles.riskBufferSubtitle}\n />\n </Box>\n </SimpleGrid>\n </>\n ) : (\n <></>\n )}\n\n {project.creditsAvailable ? (\n <Box mt=\"2\">\n <CreditsAvailableBadge status={project.creditsAvailable} />\n </Box>\n ) : (\n <></>\n )}\n </Container>\n );\n};\n","import React, { useContext } from 'react';\nimport StrapiLink from '../../../models/strapi/StrapiLink';\nimport {\n Center,\n Container,\n Flex,\n Heading,\n IconButton,\n Spacer,\n Text,\n} from 'boemly';\nimport { DownloadSimple, FilePdf } from '@phosphor-icons/react';\nimport Link from 'next/link';\nimport { IntlContext } from '../../ContextProvider';\n\nexport interface DocumentsDownloadListProps {\n documentUrls: StrapiLink[];\n}\n\nexport const DocumentsDownloadList: React.FC<DocumentsDownloadListProps> = ({\n documentUrls,\n}: DocumentsDownloadListProps) => {\n const { formatMessage } = useContext(IntlContext);\n\n return (\n <Container p=\"2\">\n <Heading size=\"xl\" textAlign=\"left\">\n {formatMessage({\n id: 'features.portfolio.documentsDownloadList.projectDocuments',\n })}\n </Heading>\n\n <Flex flexDir=\"column\">\n {documentUrls.map((documentUrl) => (\n <Flex\n justifyContent=\"space-between\"\n alignItems=\"center\"\n mt=\"6\"\n key={documentUrl.text}\n >\n <Flex alignItems=\"center\">\n <Center\n w=\"8\"\n h=\"8\"\n borderRadius=\"full\"\n borderWidth=\"1px\"\n borderColor=\"grey.200\"\n >\n <FilePdf />\n </Center>\n\n <Spacer width=\"4\" />\n\n <Flex flexDir=\"column\">\n <Text size=\"smMonoNormal\">PDF</Text>\n <Text size=\"mdLowBold\" color=\"black\" textAlign=\"left\">\n {documentUrl.text}\n </Text>\n </Flex>\n </Flex>\n\n <Spacer width=\"32\" />\n\n <IconButton\n variant=\"outline\"\n aria-label={formatMessage({\n id: 'features.portfolio.documentsDownloadList.downloadDocument',\n })}\n icon={<DownloadSimple />}\n as={Link}\n href={documentUrl.url}\n size=\"sm\"\n />\n </Flex>\n ))}\n </Flex>\n </Container>\n );\n};\n","import React from 'react';\nimport StrapiImage from '../../../models/strapi/StrapiImage';\nimport StrapiLink from '../../../models/strapi/StrapiLink';\nimport strapiMediaUrl from '../../../utils/strapiMediaUrl';\nimport { Text, Heading, Flex, Box, Container } from 'boemly';\nimport Image from 'next/image';\nimport StrapiLinkButton from '../../../components/StrapiLinkButton';\n\nexport interface ContactProps {\n avatar?: StrapiImage;\n title?: string;\n text?: string;\n button?: StrapiLink;\n}\n\nexport const Contact: React.FC<ContactProps> = ({\n avatar,\n title,\n text,\n button,\n}: ContactProps) => (\n <Container backgroundColor=\"primary.100\" border=\"none\" p=\"8\" height=\"full\">\n <Flex\n flexDir=\"column\"\n justifyContent=\"center\"\n alignItems=\"center\"\n height=\"full\"\n >\n {avatar ? (\n <Box\n position=\"relative\"\n width=\"20\"\n height=\"20\"\n borderRadius=\"full\"\n overflow=\"hidden\"\n >\n <Image\n src={strapiMediaUrl(avatar.img, 'small')}\n alt={avatar.alt}\n fill\n objectFit={avatar.objectFit}\n />\n </Box>\n ) : (\n <></>\n )}\n {title ? (\n <Heading\n mt=\"6\"\n size=\"md\"\n fontWeight=\"500\"\n textAlign=\"center\"\n color=\"black\"\n >\n {title}\n </Heading>\n ) : (\n <></>\n )}\n {text ? (\n <Text mt=\"2\" size=\"smRegularNormal\" textAlign=\"center\">\n {text}\n </Text>\n ) : (\n <></>\n )}\n {button ? (\n <StrapiLinkButton mt=\"6\" link={button} size=\"md\" variant=\"outline\" />\n ) : (\n <></>\n )}\n </Flex>\n </Container>\n);\n","import React from 'react';\nimport { DefaultSectionContainer, Flex, Wrapper } from 'boemly';\nimport StrapiLink from '../../models/strapi/StrapiLink';\nimport PortfolioProject from '../../models/PortfolioProject';\nimport SmallCheckout from '../../components/portfolio/SmallCheckout';\nimport ProjectInfo from '../../components/portfolio/ProjectInfo';\nimport DocumentsDownloadList from '../../components/portfolio/DocumentsDownloadList';\nimport Contact from '../../components/portfolio/Contact';\nimport StrapiImage from '../../models/strapi/StrapiImage';\n\nexport interface ProjectFactsProps {\n project?: PortfolioProject;\n slice: {\n projectId: string;\n\n batchId?: string;\n currency?: 'EUR' | 'CHF';\n pricePerKg?: number;\n initialContributionValue?: number;\n checkoutText?: string;\n\n customTitle?: string;\n customSubtitle?: string;\n customButton?: StrapiLink;\n documentUrls?: StrapiLink[];\n\n areaSubtitle?: string;\n locationSubtitle?: string;\n startSubtitle?: string;\n timeSpanSubtitle?: string;\n projectTypeSubtitle?: string;\n projectDeveloperSubtitle?: string;\n verificationStandardSubtitle?: string;\n forecastedAmountSubtitle?: string;\n riskBufferSubtitle?: string;\n buyCreditsSubtitle?: string;\n\n contactTitle?: string;\n contactText?: string;\n contactButton?: StrapiLink;\n contactAvatar?: StrapiImage;\n };\n}\n\nexport const ProjectFacts: React.FC<ProjectFactsProps> = ({\n slice,\n project,\n}: ProjectFactsProps) => {\n if (!project) {\n return (\n <>Invalid configuration, check if a project this id exists in the FPM</>\n );\n }\n\n return (\n <DefaultSectionContainer>\n <Wrapper>\n <Flex flexDir={['column', null, null, 'row']} gap=\"4\" width=\"full\">\n <ProjectInfo project={project} subtitles={slice} />\n <Flex flexDir=\"column\" gap=\"4\" width=\"full\">\n {slice.documentUrls && slice.documentUrls.length > 0 && (\n <DocumentsDownloadList documentUrls={slice.documentUrls} />\n )}\n {slice.batchId &&\n slice.pricePerKg &&\n slice.currency &&\n slice.initialContributionValue ? (\n <SmallCheckout\n batchId={slice.batchId}\n checkoutText={slice.checkoutText}\n currency={slice.currency}\n initialContributionValue={slice.initialContributionValue}\n pricePerKg={slice.pricePerKg}\n title={slice.customTitle}\n subtitle={slice.customSubtitle}\n button={slice.customButton}\n />\n ) : (\n (slice.contactTitle ||\n slice.contactText ||\n slice.contactButton ||\n slice.contactAvatar) && (\n <Contact\n title={slice.contactTitle}\n text={slice.contactText}\n button={slice.contactButton}\n avatar={slice.contactAvatar}\n />\n )\n )}\n </Flex>\n </Flex>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","import { Container, Center, Heading, Button, Box, Text, Flex } from 'boemly';\nimport React, { useContext } from 'react';\nimport { StrapiCustomerStory, strapiMediaUrl } from '../..';\nimport Image from 'next/image';\nimport { IntlContext } from '../../components/ContextProvider';\nimport Link from 'next/link';\n\nexport interface CustomerCardProps {\n customerStory: StrapiCustomerStory;\n}\nexport const CustomerCard = ({\n customerStory,\n}: CustomerCardProps): JSX.Element => {\n const { formatMessage } = useContext(IntlContext);\n\n return (\n <Container padding=\"none\" height=\"full\">\n <Flex flexDir=\"column\" height=\"full\">\n <Center height=\"24\" backgroundColor=\"primary.50\" borderTopRadius=\"xl\">\n {customerStory.cardImage && (\n <Box position=\"relative\" height=\"12\" width=\"12\">\n <Image\n src={strapiMediaUrl(customerStory.cardImage.img, 'medium')}\n alt={customerStory.cardImage.alt}\n fill\n style={{\n objectFit: customerStory.cardImage.objectFit,\n }}\n />\n </Box>\n )}\n </Center>\n <Box px=\"6\" pt=\"8\" pb=\"6\" mb=\"auto\">\n {customerStory.customerCardCustomerIndustry && (\n <Text size=\"xsMonoUppercase\" color=\"gray.500\" mb=\"2\">\n {customerStory.customerCardCustomerIndustry}\n </Text>\n )}\n {customerStory.title && (\n <Heading size=\"md\" fontWeight=\"500\">\n {customerStory.title}\n </Heading>\n )}\n </Box>\n <Box px=\"6\" pt=\"8\" pb=\"6\">\n <Button\n as={Link}\n href={`/customer-stories/${customerStory.slug}`}\n variant=\"outline\"\n size=\"sm\"\n >\n {formatMessage({ id: 'sections.customerCard.more' })}\n </Button>\n </Box>\n </Flex>\n </Container>\n );\n};\n","import { Container, Heading, Button, Box, Text } from 'boemly';\nimport React, { useContext } from 'react';\nimport { StrapiCustomerStory, strapiMediaUrl } from '../..';\nimport Image from 'next/image';\nimport { IntlContext } from '../../components/ContextProvider';\nimport Link from 'next/link';\n\nexport interface CustomerQuoteCardProps {\n customerStory: StrapiCustomerStory;\n}\nexport const CustomerQuoteCard = ({\n customerStory,\n}: CustomerQuoteCardProps): JSX.Element => {\n const { formatMessage } = useContext(IntlContext);\n\n return (\n <Container p=\"1\" backgroundColor=\"primary.100\" height=\"full\">\n {customerStory.cardImage ? (\n <Box\n position=\"relative\"\n height=\"12\"\n width=\"12\"\n borderRadius=\"full\"\n overflow=\"hidden\"\n >\n <Image\n src={strapiMediaUrl(customerStory.cardImage.img, 'medium')}\n alt={customerStory.cardImage.alt}\n fill\n style={{\n objectFit: customerStory.cardImage.objectFit,\n }}\n />\n </Box>\n ) : (\n <></>\n )}\n <Box>\n <Box my=\"8\">\n <Heading size=\"md\" fontWeight=\"500\">\n {customerStory.customerName}\n </Heading>\n <Text size=\"xs\">{customerStory.quoteCardCustomerTitle}</Text>\n </Box>\n <Text size=\"xs\" color=\"black\">\n {customerStory.quoteCardQuote}\n </Text>\n <Button\n href={`/customer-stories/${customerStory.slug}`}\n as={Link}\n variant=\"outline\"\n size=\"sm\"\n mt=\"8\"\n >\n {formatMessage({ id: 'sections.customerQuoteCard.more' })}\n </Button>\n </Box>\n </Container>\n );\n};\n","import { Box, Container, Flex } from 'boemly';\nimport { StrapiCustomerStory, strapiMediaUrl } from '../..';\nimport Image from 'next/image';\nimport React from 'react';\nimport Link from 'next/link';\n\nexport interface LogoCardProps {\n customerStory: StrapiCustomerStory;\n}\nexport const LogoCard = ({ customerStory }: LogoCardProps) => {\n if (customerStory.cardImage) {\n return (\n <Container height=\"full\" backgroundColor=\"primary.50\">\n <Flex justifyContent=\"center\" height=\"full\" padding=\"4\">\n <Box position=\"relative\" height=\"12\" width=\"36\" marginY=\"auto\">\n <Link href={`/customer-stories/${customerStory.slug}`}>\n <Image\n src={strapiMediaUrl(customerStory.cardImage.img, 'medium')}\n alt={customerStory.cardImage.alt}\n fill\n style={{\n objectFit: customerStory.cardImage.objectFit,\n }}\n />\n </Link>\n </Box>\n </Flex>\n </Container>\n );\n }\n return <></>;\n};\n","import React from 'react';\nimport IStrapiData from '../../models/strapi/IStrapiData';\nimport StrapiCustomerStory from '../../models/strapi/StrapiCustomerStory';\nimport { Box, DefaultSectionContainer, SimpleGrid, Wrapper } from 'boemly';\nimport CustomerCard from '../../components/CustomerCard';\nimport CustomerQuoteCard from '../../components/CustomerQuoteCard';\nimport LogoCard from '../../components/LogoCard';\n\nexport interface CustomerStoriesProps {\n slice: {\n customer_stories: IStrapiData<StrapiCustomerStory>[];\n };\n customerStories: IStrapiData<StrapiCustomerStory>[];\n}\n\nexport const CustomerStories = ({\n slice,\n customerStories,\n}: CustomerStoriesProps): JSX.Element => {\n return (\n <DefaultSectionContainer>\n <Wrapper>\n <SimpleGrid columns={[1, null, null, 2, 3]} spacingX={6} spacingY={6}>\n {slice.customer_stories.map(({ attributes }) => {\n const customerStory: IStrapiData<StrapiCustomerStory> | undefined =\n customerStories.find(\n (cs) => cs.attributes.slug === attributes.slug\n );\n if (!customerStory) {\n return null;\n }\n return (\n <Box key={customerStory.id}>\n {attributes.variant === 'customerCard' && (\n <CustomerCard customerStory={customerStory.attributes} />\n )}\n {attributes.variant === 'quoteCard' && (\n <CustomerQuoteCard customerStory={customerStory.attributes} />\n )}\n {attributes.variant === 'logoCard' && (\n <LogoCard customerStory={customerStory.attributes} />\n )}\n </Box>\n );\n })}\n </SimpleGrid>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","import React from 'react';\nimport { Check, X } from '@phosphor-icons/react';\nimport { Box } from 'boemly';\n\nexport interface IconProps {\n variant: 'gray' | 'green' | 'white';\n icon: string;\n}\n\nconst BULLET_POINT_VARIANTS = {\n gray: { bulletPointColor: 'black' },\n green: { bulletPointColor: 'white' },\n white: { bulletPointColor: 'black' },\n};\n\nexport const Icon = ({ variant, icon }: IconProps): JSX.Element => {\n switch (icon) {\n case 'check':\n return <Check size={20} color=\"var(--boemly-colors-primary-500)\" />;\n case 'cross':\n return <X size={20} color=\"var(--boemly-colors-red-500)\" />;\n default:\n return (\n <Box\n data-testid=\"bullet-point-box\"\n borderRadius=\"full\"\n backgroundColor={BULLET_POINT_VARIANTS[variant].bulletPointColor}\n width=\"2\"\n height=\"2\"\n margin=\"1.5\"\n />\n );\n }\n};\nexport default Icon;\n","import React, { useContext } from 'react';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\nimport StrapiImage from '../../models/strapi/StrapiImage';\nimport StrapiLink from '../../models/strapi/StrapiLink';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport {\n Container,\n DefaultSectionContainer,\n DefaultSectionHeader,\n Wrapper,\n Text,\n Flex,\n Box,\n Spacer,\n Divider,\n Heading,\n Badge,\n SimpleGrid,\n} from 'boemly';\nimport Image from 'next/image';\nimport { CaretRight } from '@phosphor-icons/react';\nimport { Icon } from './Icon';\nimport { CDN_URI } from '../../constants/api';\nimport { IntlContext } from '../../components/ContextProvider';\n\nexport interface ComparisonProps {\n slice: {\n title?: string;\n subTitle?: string;\n tagline?: string;\n\n comparisonCards: ComparisonCard[];\n };\n}\n\nexport interface ComparisonCard {\n id: number;\n title: string;\n subTitle: string;\n badge?: string;\n variant: 'gray' | 'green' | 'white';\n image?: StrapiImage;\n button?: StrapiLink;\n factTitle?: string;\n factSubtitle?: string;\n lists: {\n id: string;\n title: string;\n items: { id: string; text: string; icon: 'bullet' | 'check' | 'cross' }[];\n }[];\n}\n\nconst VARIANTS = {\n gray: {\n backgroundColor: 'primary.50',\n textColor: 'black',\n subTitleColor: 'gray.500',\n factColor: 'primary.800',\n dividerColor: 'gray.200',\n },\n green: {\n backgroundColor: 'primary.800',\n textColor: 'white',\n subTitleColor: 'whiteAlpha.900',\n factColor: 'white',\n dividerColor: 'whiteAlpha.200',\n },\n white: {\n backgroundColor: 'white',\n textColor: 'black',\n subTitleColor: 'gray.500',\n factColor: 'primary.800',\n dividerColor: 'gray.200',\n },\n};\n\nexport const Comparison: React.FC<ComparisonProps> = ({\n slice,\n}: ComparisonProps) => {\n const { formatMessage } = useContext(IntlContext);\n\n return (\n <DefaultSectionContainer>\n <Wrapper>\n {slice.title ? (\n <>\n <Flex alignItems=\"center\" flexDirection=\"column\">\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.subTitle}\n textProps={{ maxW: '2xl', textAlign: 'center' }}\n titleProps={{\n textAlign: 'center',\n maxWidth: '3xl',\n }}\n taglineProps={{ textAlign: 'center', maxWidth: '3xl' }}\n />\n </Flex>\n <Spacer height=\"12\" />\n </>\n ) : (\n <></>\n )}\n <SimpleGrid\n columns={[1, null, null, null, slice.comparisonCards.length]}\n spacing=\"4\"\n >\n {slice.comparisonCards.map((comparisonCard) => (\n <Container\n boxShadow={comparisonCard.variant === 'green' ? 'xl' : 'base'}\n border={\n comparisonCard.variant === 'green' ? 'primary.800' : undefined\n }\n zIndex=\"base\"\n key={comparisonCard.id}\n position=\"relative\"\n elevation=\"none\"\n p=\"3\"\n backgroundColor={VARIANTS[comparisonCard.variant].backgroundColor}\n >\n {comparisonCard.variant === 'green' ? (\n <Box\n position=\"absolute\"\n left=\"0\"\n top=\"0\"\n width=\"full\"\n height=\"full\"\n zIndex=\"-1\"\n >\n <Image\n src={`${CDN_URI}/assets/v3/strapi-slices/shapes-comparison.svg`}\n alt={formatMessage({\n id: 'sections.comparison.backgroundShapes',\n })}\n fill\n style={{\n objectFit: 'cover',\n borderRadius: 'var(--boemly-radii-xl)',\n }}\n />\n </Box>\n ) : (\n <></>\n )}\n <Flex flexDir=\"column\" gap=\"4\">\n {comparisonCard.image && (\n <Box position=\"relative\" height=\"7\" width=\"100%\">\n <Image\n src={strapiMediaUrl(comparisonCard.image.img, 'small')}\n alt={comparisonCard.image.alt}\n fill\n style={{\n objectFit: comparisonCard.image.objectFit,\n }}\n />\n </Box>\n )}\n <Flex gap=\"2\" alignItems=\"center\" flexWrap=\"wrap\">\n <Heading\n size=\"2xl\"\n color={VARIANTS[comparisonCard.variant].textColor}\n whiteSpace=\"pre-line\"\n >\n {comparisonCard.title}\n </Heading>\n {comparisonCard.badge && (\n <Badge\n backgroundColor=\"green.100\"\n borderRadius=\"md\"\n whiteSpace=\"pre-line\"\n >\n {comparisonCard.badge}\n </Badge>\n )}\n </Flex>\n </Flex>\n <Spacer height=\"4\" />\n <Text\n size=\"smRegularNormal\"\n color={VARIANTS[comparisonCard.variant].subTitleColor}\n >\n {comparisonCard.subTitle}\n </Text>\n\n {comparisonCard.factTitle ||\n comparisonCard.factSubtitle ||\n comparisonCard.button ? (\n <>\n <Spacer height=\"6\" />\n <Flex flexDir=\"column\">\n {comparisonCard.factTitle && (\n <>\n <Text\n color={VARIANTS[comparisonCard.variant].factColor}\n size=\"lgMonoNormal\"\n >\n {comparisonCard.factTitle}\n </Text>\n <Text\n color={VARIANTS[comparisonCard.variant].factColor}\n size=\"smLowNormal\"\n >\n {comparisonCard.factSubtitle}\n </Text>\n </>\n )}\n {comparisonCard.button && (\n <StrapiLinkButton\n mt=\"6\"\n link={comparisonCard.button}\n size=\"md\"\n variant=\"outline\"\n rightIcon={<CaretRight size={16} weight=\"bold\" />}\n />\n )}\n </Flex>\n </>\n ) : (\n <></>\n )}\n <>\n {comparisonCard.lists.map((list) => (\n <Box key={list.id}>\n <Divider\n my=\"8\"\n color={VARIANTS[comparisonCard.variant].dividerColor}\n />\n <Text\n size=\"smLowBold\"\n color={VARIANTS[comparisonCard.variant].textColor}\n >\n {list.title}\n </Text>\n <>\n {list.items.map((item) => (\n <Box key={item.id}>\n <Spacer height=\"4\" />\n <Flex gap=\"4\" alignItems=\"center\">\n <Box>\n <Icon\n variant={comparisonCard.variant}\n icon={item.icon}\n />\n </Box>\n <Text\n size=\"smLowNormal\"\n color={VARIANTS[comparisonCard.variant].textColor}\n >\n {item.text}\n </Text>\n </Flex>\n </Box>\n ))}\n </>\n </Box>\n ))}\n </>\n </Container>\n ))}\n </SimpleGrid>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\nexport default Comparison;\n","import React, { useContext } from 'react';\nimport {\n Button,\n Box,\n Container,\n DefaultSectionContainer,\n DefaultSectionHeader,\n Flex,\n Heading,\n RichText,\n SimpleGrid,\n Spacer,\n Tag,\n Text,\n Wrapper,\n useMediaQuery,\n} from 'boemly';\nimport Image from 'next/image';\nimport StrapiImage from '../../models/strapi/StrapiImage';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport StrapiLink from '../../models/strapi/StrapiLink';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\nimport { CDN_URI } from '../../constants/api';\nimport { IntlContext } from 'react-intl';\nimport { BREAKPOINT_MD_QUERY } from '../../constants/breakpoints';\nimport { useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport FullScreenImage from '../../components/FullScreenImage';\n\nexport interface TimelineProps {\n slice: {\n title: string;\n text?: string;\n tagline?: string;\n\n timelineItems: TimelineItem[];\n };\n}\n\nexport interface TimelineItem {\n id: number;\n tagline?: string;\n title: string;\n text?: string;\n badge?: { text: string; variant: 'orange' | 'green' | 'red' | 'gray' };\n logo?: StrapiImage;\n icon?: StrapiImage;\n image?: StrapiImage;\n button?: StrapiLink;\n backgroundShapes?: boolean;\n}\n\nexport const Timeline: React.FC<TimelineProps> = ({ slice }: TimelineProps) => {\n const { formatMessage } = useContext(IntlContext);\n const [visibleItems, setVisibleItems] = useState(3);\n const [mobile] = useMediaQuery(BREAKPOINT_MD_QUERY);\n const [isOpen, setIsOpen] = useState(false);\n\n const showMoreItems = () => {\n setVisibleItems((prevVisibleItems) => prevVisibleItems + 3);\n };\n\n return (\n <DefaultSectionContainer>\n <Wrapper>\n <Flex flexDir={['column', null, null, 'row']}>\n <Box\n width={['full', null, null, '50%']}\n position={[null, null, null, 'sticky']}\n top={['16', null, null, '32']}\n height=\"full\"\n paddingRight={[null, null, null, '28']}\n >\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.text}\n />\n {mobile && (\n <>\n <Spacer h=\"10\" />\n <Flex justifyContent=\"center\">\n <Box\n borderRadius=\"full\"\n width=\"3\"\n height=\"3\"\n margin=\"1.5\"\n backgroundColor=\"gray\"\n />\n </Flex>\n <Box\n overflow=\"visible\"\n borderRight=\"dashed 1px var(--boemly-colors-gray-200)\"\n transform=\"translateX(-50%)\"\n position=\"relative\"\n height=\"20\"\n />\n </>\n )}\n </Box>\n <Box\n overflow=\"visible\"\n maxWidth={['full', null, null, '50%']}\n borderLeft={[\n null,\n null,\n null,\n 'dashed 1px var(--boemly-colors-gray-200)',\n ]}\n position=\"relative\"\n width=\"full\"\n >\n <Flex\n flexDir=\"column\"\n overflow=\"visible\"\n gap={[null, null, null, '8']}\n >\n {slice.timelineItems.slice(0, visibleItems).map((item, index) => (\n <SimpleGrid\n gap={['none', null, null, '4']}\n key={item.id}\n columns={[1, null, null, 2]}\n alignContent=\"center\"\n gridTemplateColumns={[null, null, null, '1fr 16fr']}\n position=\"relative\"\n >\n <Flex\n alignItems=\"center\"\n justifyContent={['center', null, null, 'flex-start']}\n >\n <Box\n position=\"absolute\"\n transform={[null, null, null, 'translateX(-50%)']}\n backgroundColor=\"white\"\n >\n {item.icon ? (\n <Box padding=\"2\">\n <Image\n src={strapiMediaUrl(item.icon.img, 'xSmall')}\n alt={item.icon.alt}\n width=\"21\"\n height=\"21\"\n />\n </Box>\n ) : (\n <Box padding=\"2\">\n <Box\n borderRadius=\"full\"\n backgroundColor=\"primary.800\"\n width=\"2\"\n height=\"2\"\n />\n </Box>\n )}\n {mobile && (\n <Box\n overflow=\"visible\"\n borderRight=\"dashed 1px var(--boemly-colors-gray-200)\"\n transform=\"translateX(-50%)\"\n position=\"relative\"\n height=\"10\"\n />\n )}\n </Box>\n </Flex>\n <Container\n p={[null, null, null, '3']}\n zIndex=\"base\"\n position=\"relative\"\n elevation=\"none\"\n >\n {item.backgroundShapes ? (\n <Box\n position=\"absolute\"\n left=\"0\"\n top=\"0\"\n width=\"full\"\n height=\"full\"\n zIndex=\"-1\"\n >\n <Image\n src={`${CDN_URI}/assets/v3/strapi-slices/timeline-shapes.svg`}\n alt={formatMessage({\n id: 'sections.timeline.backgroundShapes',\n })}\n fill\n style={{\n objectFit: 'cover',\n borderRadius: 'var(--boemly-radii-xl)',\n }}\n />\n </Box>\n ) : (\n <></>\n )}\n\n <Flex flexDir=\"column\">\n <Flex\n alignItems=\"flex-start\"\n justifyContent=\"space-between\"\n >\n <Box>\n {item.tagline && (\n <>\n <Text color=\"primary.800\" size=\"smMonoUppercase\">\n {item.tagline}\n </Text>\n <Spacer h=\"2\" />\n </>\n )}\n </Box>\n <Flex>\n {item.badge && (\n <Tag\n colorScheme={item.badge.variant}\n borderRadius=\"md\"\n >\n {item.badge.text}\n </Tag>\n )}\n {item.logo && (\n <Box position=\"relative\" height=\"8\" width=\"16\">\n <Image\n src={strapiMediaUrl(item.logo.img, 'small')}\n alt={item.logo.alt}\n fill\n style={{\n objectFit: item.logo.objectFit,\n }}\n />\n </Box>\n )}\n </Flex>\n </Flex>\n <Heading\n size=\"lg\"\n mt={['6', null, null, '3']}\n maxWidth=\"xs\"\n >\n {item.title}\n </Heading>\n {item.text && (\n <Box mt=\"3\">\n <RichText content={item.text} />\n </Box>\n )}\n {item.button && (\n <Box textAlign=\"left\">\n <Spacer h=\"4\" />\n <StrapiLinkButton\n link={item.button}\n size=\"sm\"\n variant=\"outline\"\n />\n </Box>\n )}\n {item.image ? (\n <>\n <Box\n position=\"relative\"\n mt=\"4\"\n height={['2xs', null, null, null, '48']}\n minWidth={[null, null, null, null, '50%']}\n >\n <Image\n src={strapiMediaUrl(item.image.img, 'xLarge')}\n alt={item.image.alt}\n fill\n style={{\n cursor: mobile ? 'unset' : 'pointer',\n objectFit: item.image.objectFit || 'cover',\n borderRadius: 'var(--boemly-radii-xl)',\n }}\n onClick={() => !mobile && setIsOpen(true)}\n />\n <FullScreenImage\n images={[item.image]}\n isOpen={isOpen}\n onClose={() => setIsOpen(false)}\n />\n </Box>\n </>\n ) : (\n <></>\n )}\n </Flex>\n </Container>\n {mobile && index + 1 < slice.timelineItems.length && (\n <Box\n overflow=\"visible\"\n borderRight=\"dashed 1px var(--boemly-colors-gray-200)\"\n transform=\"translateX(-50%)\"\n position=\"relative\"\n height=\"20\"\n />\n )}\n </SimpleGrid>\n ))}\n </Flex>\n {visibleItems < slice.timelineItems.length && (\n <>\n <Box\n width=\"full\"\n height={['36', null, null, '64']}\n position=\"absolute\"\n bottom=\"0\"\n zIndex=\"1\"\n background=\"linear-gradient(180deg, rgba(255, 255, 255, 0.00) 0%, rgba(255, 255, 255, 0.98) 76.54%, #FFF 100%)\"\n />\n <Box\n bottom=\"0\"\n textAlign=\"center\"\n zIndex=\"overlay\"\n position=\"relative\"\n >\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={showMoreItems}\n m={[null, null, null, '8']}\n >\n <FormattedMessage id=\"sections.timeline.showMoreButton\" />\n </Button>\n </Box>\n </>\n )}\n </Box>\n </Flex>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","import React from 'react';\nimport FullWidthImage from '../../slices/FullWidthImage';\nimport Hero from '../../slices/Hero';\nimport IconGrid from '../../slices/IconGrid';\nimport ImageGrid from '../../slices/ImageGrid';\nimport ImageTextSequence from '../../slices/ImageTextSequence';\nimport LeftTextRightCard from '../../slices/LeftTextRightCard';\nimport LogoGridWithText from '../../slices/LogoGridWithText';\nimport MapHero from '../../slices/MapHero';\nimport QAndA from '../../slices/QAndA';\nimport QuoteCards from '../../slices/QuoteCards';\nimport RichTextSection from '../../slices/RichTextSection';\nimport Steps from '../../slices/Steps';\nimport TextCardGrid from '../../slices/TextCardGrid';\nimport TextCarousel from '../../slices/TextCarousel';\nimport TextWithTextCards from '../../slices/TextWithTextCards';\nimport TextWithCard from '../../slices/TextWithCard';\nimport LinkCardsGrid from '../../slices/LinkCardsGrid';\nimport SmallHero from '../../slices/SmallHero';\nimport Blog from '../../slices/Blog';\nimport StrapiBlogPost from '../../models/strapi/StrapiBlogPost';\nimport ProjectsGrid from '../../slices/ProjectsGrid';\nimport ProjectsMap from '../../slices/ProjectsMap';\nimport Video from '../../slices/Video';\nimport FullWidthHighlightQuote from '../../slices/FullWidthHighlightQuote';\nimport FullWidthImageSlider from '../../slices/FullWidthImageSlider';\nimport SideBySideImages from '../../slices/SideBySideImages';\nimport IStrapiData from '../../models/strapi/IStrapiData';\nimport Cta from '../../slices/Cta';\nimport CtaOnly from '../../slices/CtaOnly';\nimport Glossary from '../../slices/Glossary';\nimport ShopCheckout from '../../slices/ShopCheckout';\nimport Facts from '../../slices/Facts';\nimport BlogCards from '../../slices/BlogCards';\nimport PortfolioProject from '../../models/PortfolioProject';\nimport ProjectFacts from '../../slices/ProjectFacts';\nimport CustomerStories from '../../slices/CustomerStories';\nimport StrapiCustomerStory from '../../models/strapi/StrapiCustomerStory';\nimport Comparison from '../../slices/Comparison';\nimport Locale from '../../models/Locale';\nimport { ContextProvider } from '../ContextProvider';\nimport Timeline from '../../slices/Timeline';\n\nexport interface CustomSliceProps {\n slice: any;\n id: string;\n}\n\nexport interface SliceRendererProps {\n slices: any;\n blogPosts: IStrapiData<StrapiBlogPost>[];\n projects: PortfolioProject[];\n customerStories: IStrapiData<StrapiCustomerStory>[];\n locale?: Locale;\n CustomSlice?: ({ slice, id }: CustomSliceProps) => JSX.Element;\n}\n\nexport const SliceRenderer = ({\n slices,\n blogPosts,\n projects,\n customerStories,\n locale = 'en',\n CustomSlice,\n}: SliceRendererProps): JSX.Element => (\n <ContextProvider locale={locale}>\n {slices.map((slice: any) => {\n switch (slice.__component) {\n case 'sections.hero':\n return (\n <Hero key={`${slice.__component}-${slice.id}`} slice={slice} />\n );\n case 'sections.map-hero':\n return (\n <MapHero key={`${slice.__component}-${slice.id}`} slice={slice} />\n );\n case 'sections.rich-text':\n return (\n <RichTextSection\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n />\n );\n case 'sections.left-text-right-card':\n return (\n <LeftTextRightCard\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n />\n );\n case 'sections.text-with-card':\n return (\n <TextWithCard\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n projects={projects}\n />\n );\n case 'sections.logo-grid-with-text':\n return (\n <LogoGridWithText\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n />\n );\n case 'sections.quote-cards':\n return (\n <QuoteCards\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n />\n );\n case 'sections.q-and-a':\n return (\n <QAndA key={`${slice.__component}-${slice.id}`} slice={slice} />\n );\n case 'sections.image-grid':\n return (\n <ImageGrid key={`${slice.__component}-${slice.id}`} slice={slice} />\n );\n case 'sections.full-width-image':\n return (\n <FullWidthImage\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n />\n );\n case 'sections.text-with-text-cards':\n return (\n <TextWithTextCards\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n />\n );\n case 'sections.text-card-grid':\n return (\n <TextCardGrid\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n />\n );\n case 'sections.icon-grid':\n return (\n <IconGrid key={`${slice.__component}-${slice.id}`} slice={slice} />\n );\n case 'sections.image-text-sequence':\n return (\n <ImageTextSequence\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n />\n );\n case 'sections.steps':\n return (\n <Steps key={`${slice.__component}-${slice.id}`} slice={slice} />\n );\n case 'sections.text-carousel':\n return (\n <TextCarousel\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n />\n );\n case 'sections.link-cards-grid':\n return (\n <LinkCardsGrid\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n />\n );\n case 'sections.small-hero':\n return (\n <SmallHero\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n theme=\"dark\"\n />\n );\n case 'sections.small-hero-light':\n return (\n <SmallHero\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n theme=\"light\"\n />\n );\n case 'sections.project-facts':\n return (\n <ProjectFacts\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n project={projects.find((p) => p.id === slice.projectId)}\n />\n );\n case 'sections.projects-grid':\n return (\n <ProjectsGrid\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n projects={projects}\n />\n );\n case 'sections.projects-map':\n return (\n <ProjectsMap\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n projects={projects}\n />\n );\n case 'sections.video':\n return (\n <Video key={`${slice.__component}-${slice.id}`} slice={slice} />\n );\n case 'sections.full-width-highlight-quote':\n return (\n <FullWidthHighlightQuote\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n />\n );\n case 'sections.full-width-image-slider':\n return (\n <FullWidthImageSlider\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n />\n );\n case 'sections.side-by-side-images':\n return (\n <SideBySideImages\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n />\n );\n case 'sections.cta-only':\n return (\n <CtaOnly key={`${slice.__component}-${slice.id}`} slice={slice} />\n );\n case 'sections.cta':\n return <Cta key={`${slice.__component}-${slice.id}`} slice={slice} />;\n case 'sections.shop-checkout':\n return (\n <ShopCheckout\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n />\n );\n case 'sections.facts':\n return (\n <Facts key={`${slice.__component}-${slice.id}`} slice={slice} />\n );\n case 'sections.blog-cards':\n return (\n <BlogCards\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n blogPosts={blogPosts}\n />\n );\n case 'sections.blog':\n return (\n <Blog\n key={`${slice.__component}-${slice.id}`}\n slice={{\n ...slice,\n blog_posts: slice.blog_posts.data,\n }}\n blogPosts={blogPosts}\n />\n );\n case 'sections.glossary':\n return (\n <Glossary\n key={`${slice.__component}-${slice.id}`}\n slice={{\n ...slice,\n glossary_items: slice.glossary_items.data,\n }}\n />\n );\n case 'sections.customer-stories':\n return (\n <CustomerStories\n key={`${slice.__component}-${slice.id}`}\n slice={{\n ...slice,\n customer_stories: slice.customer_stories.data,\n }}\n customerStories={customerStories}\n />\n );\n case 'sections.comparison':\n return (\n <Comparison\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n />\n );\n case 'sections.timeline':\n return (\n <Timeline key={`${slice.__component}-${slice.id}`} slice={slice} />\n );\n default:\n if (CustomSlice) {\n return (\n <CustomSlice\n key={`${slice.__component}-${slice.id}`}\n id={slice.__component}\n slice={slice}\n />\n );\n }\n\n return (\n <div key={`${slice.__component}-${slice.id}`}>\n Slice component not supported\n </div>\n );\n }\n })}\n </ContextProvider>\n);\n"],"names":["STRAPI_URI","process","env","NEXT_PUBLIC_STRAPI_URI","strapiMediaUrl","media","preferredSize","_ref","data","attributes","url","ext","_media$data$attribute","formats","indexOf","includes","STORYBOOK","DEFAULT_SHARE_IMAGE","DEFAULT_SHARE_ALT","EXTENDABLE_HEADER_SECTIONS","DARK_THEME_HEADER_SECTIONS","SLICES_WITH_BLOG_POSTS","SLICES_WITH_CUSTOMER_STORIES","SLICES_WITH_PROJECTS","mergeGlobalAndStrapiBlogPostData","context","global","post","blog","projects","_post$attributes$meta","_post$attributes$meta2","_post$attributes$meta3","_global$attributes$me","_post$attributes","_post$attributes$meta4","_post$attributes$meta5","_post$attributes$meta6","_post$attributes$meta7","_post$attributes$meta8","_post$attributes$meta9","_global$attributes$me2","metaShareImageUrl","metadata","shareImage","returnBlog","slices","some","slice","__component","returnProjects","_extends","headerType","extendable","theme","headerNavMenus","navbar","navMenus","headerButtons","buttons","footerLinks","footer","links","title","description","alt","metaTitleSuffix","favicon","blogPosts","banner","topBanner","customerStories","mergeGlobalAndStrapiCustomerStoryData","customerStory","_customerStory$attrib","_customerStory$attrib2","_customerStory$attrib3","_customerStory$attrib4","_customerStory$attrib5","_customerStory$attrib6","_customerStory$attrib7","_customerStory$attrib8","_customerStory$attrib9","_customerStory$attrib10","returnCustomerStories","mergeGlobalAndStrapiPageData","page","_page$attributes$meta","_page$attributes$meta2","_page$attributes$meta3","_page$attributes$meta4","_page$attributes","_page$attributes$slic","_page$attributes$slic2","_page$attributes$meta5","_page$attributes$meta6","_page$attributes$meta7","_page$attributes$meta8","_page$attributes$meta9","_page$attributes$meta10","returnBlogPosts","mergeGlobalAndStrapiProject","project","_project$attributes$m","_project$attributes$m2","_project$attributes$m3","_project$attributes","_project$attributes$s","_project$attributes$s2","_project$attributes$m4","_project$attributes$m5","_project$attributes$m6","_project$attributes$m7","_project$attributes$m8","_project$attributes$m9","strapiLinkUrl","strapiLink","_strapiLink","_strapiLink2","undefined","slug","SEOTags","_shareImage$url","_shareImage$alt","_ref$metaTitleSuffix","_ref$favicon","_ref$domain","domain","shareImageUrl","shareImageAlt","React","Head","createElement","name","content","rel","href","property","ZoomableImage","image","_ref$zoom","zoom","_useState","useState","isZoomed","setIsZoomed","_useState2","backgroundPos","setBackgroundPos","imageSrc","img","zoomInPosition","e","zoomer","currentTarget","getBoundingClientRect","x","clientX","width","y","clientY","height","toggleZoomImage","handleClick","handleMove","Fragment","as","Box","position","display","overflow","flexShrink","scrollSnapAlign","scrollSnapStop","draggable","cursor","backgroundImage","backgroundSize","backgroundPosition","onClick","onMouseMove","Image","src","fill","style","visibility","objectFit","FullScreenImage","images","isOpen","onClose","_ref$currentIndex","currentIndex","setCurrentIndex","containerRef","useRef","useLockBodyScroll","canMoveRight","useMemo","length","canMoveLeft","onRight","useCallback","c","onLeft","useKey","useEffect","setTimeout","_containerRef$current","current","scrollTo","left","clientWidth","behavior","BoemlyModal","trigger","size","Flex","insetY","insetX","alignItems","justifyContent","ref","flexGrow","flexBasis","gap","marginX","scrollSnapType","map","key","id","inset","pointerEvents","IconButton","icon","CaretLeft","variant","mr","CaretRight","ml","BREAKPOINT_MD","BREAKPOINT_LG","BREAKPOINT_MD_QUERY","BREAKPOINT_LG_QUERY","FullWidthImage","setIsOpen","_useMediaQuery","useMediaQuery","isMobile","DefaultSectionContainer","Wrapper","DefaultSectionHeader","isHero","tagline","text","taglineProps","textAlign","mt","titleProps","maxW","textProps","borderRadius","openHubSpotChat","w","window","HubSpotConversations","widget","open","hsConversationsOnReady","StrapiLinkButton","link","buttonProps","_objectWithoutPropertiesLoose","_excluded","adBlockDetected","useDetectAdBlock","intercomLauncher","Button","Link","Hero","minHeight","backgroundColor","overflowX","Gradient","shape","bottom","borderTopRightRadius","right","top","transform","subTitle","color","mx","button","additionalButtons","IconGrid","columns","iconsWithTextAndButton","flexDirection","Spacer","h","SimpleGrid","rowGap","iconWithTextAndButton","margin","Heading","mb","Text","LinkedInIcon","viewBox","xmlns","clipPath","d","StrapiLinkButtonWithIcon","props","getLinkIcon","destination","Globe","rightIcon","ImageGrid","_useToken","useToken","primary50","minChildWidth","_ref2","flexDir","flexWrap","NEXT_PUBLIC_API_URI","FPM_API_URI","NEXT_PUBLIC_FPM_API_URI","CDN_URI","ImageTextSequence","oneColumnGrid","_useToken2","gray700","background","imageTextRows","index","imageBox","LeftTextRightCard","_useRouter","useRouter","push","Grid","templateColumns","templateRows","GridItem","colSpan","rowSpan","pr","checkMarkLabels","BoemlyList","listItems","colorScheme","ArrowRight","card","PortfolioCard","_slice$card","facts","portfolioNumber","LogoGridWithText","RichText","logos","logo","MapHeroContainer","styled","_templateObject","_taggedTemplateLiteralLoose","MapHeroTextContainer","_templateObject2","ShapeContainer","_templateObject3","MapContainer","_templateObject4","MapGradient","_templateObject5","MapHero","belowBreakpoint","maxWidth","mobileMap","convertToKebabCase","str","matches","match","toLowerCase","join","VARIANTS","gray","tagLineColor","textColor","accordionVariant","otherQuestionsBackground","green","white","QAndA","_slice$variant","pb","hero","paddingY","maxHeight","paddingTop","paddingRight","overflowY","BoemlyAccordion","rows","questionsAndAnswers","defaultIndex","padding","otherQuestions","HeroCard","_slice$hero","QuoteCards","paddingBottom","shapes","Shape","radius","cards","QuoteCard","avatar","marginTop","RichTextSection","Steps","_slice$card$shapes","gray900","Array","steps","stepRefs","setStepRefs","stepProgress","setStepProgress","_useWindowScroll","useWindowScroll","offsetY","_useWindowSize","useWindowSize","windowHeight","createRef","containerOffsetTop","offsetTop","_ref$current","currentItemOffsetTop","step","Center","options","forceBlock","marginBottom","borderLeft","opacity","borderRight","transition","ShapesCard","ShapePosition","shapePositions","topLeft","bottomRight","topRight","bottomLeft","oppositesOfCorners","_oppositesOfCorners","unset","variants","positionIcon","TextCardGrid","primary800","justifyItems","zIndex","boxShadow","borderBottomRightRadius","borderBottomLeftRadius","borderTopLeftRadius","css","listProps","textSize","buttonIndex","weight","CarouselContainer","CarouselInnerContainer","motion","div","numberOfItems","CardContainer","messagesDe","unitMessagesDe","rootMessagesDe","creditsAvailableBadgeMessagesDe","portfolioDocumentsDownloadListMessagesDe","portfolioProjectCardMessagesDe","portfolioProjectInfoMessagesDe","portfolioSmallCheckoutMessagesDe","comparisonMessagesDe","ctaMessagesDe","customerCardMessagesDe","customerQuoteCardMessagesDe","glossaryMessagesDe","projectFactsMessagesDe","projectsMapMessagesDe","shopCheckoutMessagesDe","textCarouselMessagesDe","timelineMessagesDe","messagesEn","unitMessagesEn","rootMessagesEn","creditsAvailableBadgeMessagesEn","portfolioDocumentsDownloadListMessagesEn","portfolioProjectCardMessagesEn","portfolioProjectInfoMessagesEn","portfolioSmallCheckoutMessagesEn","comparisonMessagesEn","ctaMessagesEn","customerCardMessagesEn","customerQuoteCardMessagesEn","glossaryMessagesEn","projectFactsMessagesEn","projectsMapMessagesEn","shopCheckoutMessagesEn","textCarouselMessagesEn","timelineMessagesEn","GLOBAL_STYLE","cache","createIntlCache","intlFactory","locale","createIntl","messages","de","en","IntlContext","createContext","ContextProvider","children","Global","styles","Provider","value","ITEM_GAP","MAX_OFFSET_RIGHT","TextCarousel","_useMeasure","useMeasure","itemRef","itemWidth","_useContext","useContext","formatMessage","windowWidth","sliderIndex","setSliderIndex","slides","sliderItemsWidth","offsetLeft","allowScroll","offsetRight","animate","duration","ease","TextCardWithIcon","displayAs","py","px","AnimatePresence","initial","exit","ArrowLeft","TextWithTextCards","contact","ContactArea","_slice$contact","_slice$contact2","CreditsAvailableState","FORMAT_AS_HECTARE_CONFIG","unit","unitDisplay","maximumFractionDigits","FORMAT_AS_PERCENT_CONFIG","PortfolioProjectCard","_creditsAvailableMess","_project$creditsAvail","_project$thumbnail","_project$thumbnail2","_project$thumbnail3","formatNumber","creditsAvailableMessages","YES","SOME","NO","NOT_YET","ProjectCard","area","location","footerTitle","creditsAvailable","footerSubTitle","thumbnail","TextWithCard","portfolioProject","find","p","_slice$project","fpmProjectId","cardPosition","columnGap","MEDIUM_TRANSITION_DURATION","LinkCardsGrid","borderStyle","borderWidth","borderColor","transitionDuration","_hover","minWidth","colors","dark","light","SmallHero","gradient","tags","direction","justify","wrap","Tag","BlogItemContainer","ImageContainer","Blog","formatDate","sortedBlogPosts","blog_posts","sort","a","b","Date","createdAt","getTime","spacingX","spacingY","blogPost","bp","category","teaser","DatePersonPair","date","person","author","ConditionalWrapper","condition","wrapper","ProjectsGrid","filteredProjects","filter","fpmProject","strapiProject","portfolioHost","passHref","legacyBehavior","MAPBOX_TOKEN","MapBoxStyle","NEXT_PUBLIC_MAPBOX_TILES_URL","MAPBOX_MAX_ZOOM","MAPBOX_INITIAL_ZOOM","mergeBoundingBoxes","boundingBoxes","minLeft","minBottom","maxRight","maxTop","forEach","FONT_CUSTOMIZATIONS","body","heading","mono","MinimalProviders","IntlProvider","BoemlyThemeProvider","fonts","CreditsAvailableBadge","_variants","status","Badge","NextLink","MapMarker","projectDeveloper","_ref$portfolioHost","_ref$isPublic","isPublic","_useDisclosure","useDisclosure","onOpen","blue600","onMouseEnter","onMouseLeave","MapPin","Container","shadow","whiteSpace","mapboxStyle","mapboxgl","accessToken","ProjectsMap","geom","center","defaultCenterCoordinates","longitude","latitude","bounds","concat","coordinates","mapContainer","Map","container","CaliTerrain","defaultZoomLevel","maxZoom","_project$projectDevel","document","createRoot","render","marker","Marker","offset","setLngLat","addTo","remove","Video","youTubeID","frameBorder","allow","allowFullScreen","FullWidthHighlightQuote","quote","AvatarWithName","avatarWithName","orientation","SliderContainer","SliderInnerContainer","ItemContainer","aspectRatio","ALLOWED_RATIOS","getClosestRatio","ratio","minDiff","Math","abs","posMinDiff","allowedRatio","FullWidthImageSlider","imageRef","imageWidth","imageCount","caption","SideBySideImages","CtaCardType","STATES","paddingTagline","paddingTitle","buttonJustifyContent","textMarginLeft","textMarginRight","centerWithoutImage","centerWithImage","taglineColor","titleColor","subTitleColor","getTypeOfCard","ctaCard","CenterWithImage","CenterWithoutImage","Left","Right","Cta","ctaCards","ctaCardType","elevation","backgroundShape","marginLeft","marginRight","paddingX","fontFamily","fontSize","fontWeight","lineHeight","CtaOnly","Glossary","_useCopyToClipboard","useCopyToClipboard","copyToClipboard","grouped","copiedItem","setCopiedItem","glossary_items","localeCompare","curr","_curr$attributes$titl","at","toUpperCase","handleAnchorClick","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_window","currentUrl","_callee$","_context","prev","next","split","stop","_x","apply","arguments","Object","entries","_ref3","letter","items","placeSelf","spacing","item","scrollMarginTop","Check","LinkIcon","_onClick","_callee2","_callee2$","_context2","abrupt","keys","Divider","MINIMUM_CONTRIBUTION_VALUE_IN_MONEY","MAXIMUM_CONTRIBUTION_VALUE_IN_MONEY","ShopCheckout","validateForm","values","errors","contributionValue","currency","onSubmit","checkoutURL","URL","currentURL","searchParams","append","batchId","floor","pricePerKg","toString","pathname","couponId","badge","textTransform","checkoutText","LabelNumberPair","label","number","Formik","initialValues","initialContributionValue","validate","touched","handleSubmit","Form","Field","_ref4","field","BoemlyFormControl","inputProps","type","rightAddonsOrElements","InputRightAddon","isInvalid","errorMessage","minimumFractionDigits","factKeyColor","factValueColor","Facts","fact","sortByCreatedAt","BlogCards","mobile","blogPostsToDisplay","_slice$blogPostCatego","blogPostCategory","_blogPost$attributes$","_slice$blogPostCatego2","_blogPost$attributes$2","SmallCheckout","subtitle","contributionValueCurrency","contributionValueKgs","setValues","_ref5","onChange","target","valueAsNumber","_ref6","my","convertAreaM2ToHa","areaInM2","parseInt","convertCo2AmountKgToTons","amount","getTimeSpanInYears","start","end","monthsDifference","getMonth","yearsDifference","getFullYear","ProjectInfo","subtitles","LabelTextPair","areaSubtitle","locationSubtitle","year","month","startSubtitle","years","timeSpanSubtitle","projectType","verificationStandard","projectTypeSubtitle","projectDeveloperSubtitle","defaultMessage","verificationStandardSubtitle","defaultIssuer","logoUrl","forecastedAmountYearly","riskBuffer","forecastedAmountSubtitle","riskBufferSubtitle","DocumentsDownloadList","documentUrls","documentUrl","FilePdf","DownloadSimple","Contact","border","ProjectFacts","customTitle","customSubtitle","customButton","contactTitle","contactText","contactButton","contactAvatar","CustomerCard","borderTopRadius","cardImage","pt","customerCardCustomerIndustry","CustomerQuoteCard","customerName","quoteCardCustomerTitle","quoteCardQuote","LogoCard","marginY","CustomerStories","customer_stories","cs","BULLET_POINT_VARIANTS","bulletPointColor","Icon","X","factColor","dividerColor","Comparison","comparisonCards","comparisonCard","factTitle","factSubtitle","lists","list","Timeline","visibleItems","setVisibleItems","showMoreItems","prevVisibleItems","timelineItems","alignContent","gridTemplateColumns","backgroundShapes","m","FormattedMessage","SliceRenderer","_ref$locale","CustomSlice","projectId"],"mappings":"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"}
1
+ {"version":3,"file":"strapi-slices.cjs.development.js","sources":["../src/constants/strapi.ts","../src/constants/api.ts","../src/integrations/fpmClient.ts","../src/integrations/strapi/strapiClient.ts","../src/integrations/strapi/getPortfolioProjects.ts","../src/integrations/strapi/getStaticPathsFromStrapi.ts","../src/integrations/strapi/getStaticPropsFromStrapi.ts","../src/utils/strapiMediaUrl.ts","../src/constants/metadata.ts","../src/constants/slicesConfig.ts","../src/utils/mergeGlobalAndStrapiBlogPostData.ts","../src/utils/mergeGlobalAndStrapiCustomerStoryData.ts","../src/utils/mergeGlobalAndStrapiPageData.ts","../src/utils/mergeGlobalAndStrapiProjectData.ts","../src/utils/strapiLinkUrl.ts","../src/components/SEOTags/SEOTags.tsx","../src/components/FullScreenImage/ZoomableImage.tsx","../src/components/FullScreenImage/FullScreenImage.tsx","../src/constants/breakpoints.ts","../src/slices/FullWidthImage/FullWidthImage.tsx","../src/utils/openHubSpotChat.ts","../src/components/StrapiLinkButton/StrapiLinkButton.tsx","../src/slices/Hero/Hero.tsx","../src/slices/IconGrid/IconGrid.tsx","../src/icons/LinkedInIcon.tsx","../src/components/StrapiLinkButtonWithIcon/StrapiLinkButtonWithIcon.tsx","../src/slices/ImageGrid/ImageGrid.tsx","../src/slices/ImageTextSequence/ImageTextSequence.tsx","../src/slices/LeftTextRightCard/LeftTextRightCard.tsx","../src/slices/LogoGridWithText/LogoGridWithText.tsx","../src/slices/MapHero/styles.ts","../src/slices/MapHero/MapHero.tsx","../src/utils/convertToKebabCase.ts","../src/slices/QAndA/QAndA.tsx","../src/slices/QuoteCards/QuoteCards.tsx","../src/slices/RichTextSection/RichTextSection.tsx","../src/slices/Steps/Steps.tsx","../src/slices/TextCardGrid/TextCardGrid.tsx","../src/slices/TextCarousel/styles.ts","../src/slices/Comparison/messages.de.ts","../src/components/CreditsAvailableBadge/messages.de.ts","../src/slices/Cta/messages.de.ts","../src/components/CustomerCard/messages.de.ts","../src/components/CustomerQuoteCard/messages.de.ts","../src/slices/Glossary/messages.de.ts","../src/components/portfolio/DocumentsDownloadList/messages.de.ts","../src/slices/ProjectFacts/messages.de.ts","../src/slices/ProjectsMap/messages.de.ts","../src/components/portfolio/ProjectInfo/messages.de.ts","../src/components/portfolio/PortfolioProjectCard/messages.de.ts","../src/components/portfolio/SmallCheckout/messages.de.ts","../src/slices/ShopCheckout/messages.de.ts","../src/slices/TextCarousel/messages.de.ts","../src/slices/Timeline/messages.de.ts","../src/unit.messages.de.ts","../src/rootMessages.de.ts","../src/slices/Comparison/messages.en.ts","../src/components/CreditsAvailableBadge/messages.en.ts","../src/slices/Cta/messages.en.ts","../src/components/CustomerCard/messages.en.ts","../src/components/CustomerQuoteCard/messages.en.ts","../src/slices/Glossary/messages.en.ts","../src/components/portfolio/DocumentsDownloadList/messages.en.ts","../src/slices/ProjectFacts/messages.en.ts","../src/slices/ProjectsMap/messages.en.ts","../src/components/portfolio/ProjectInfo/messages.en.ts","../src/components/portfolio/PortfolioProjectCard/messages.en.ts","../src/components/portfolio/SmallCheckout/messages.en.ts","../src/slices/ShopCheckout/messages.en.ts","../src/slices/TextCarousel/messages.en.ts","../src/slices/Timeline/messages.en.ts","../src/unit.messages.en.ts","../src/rootMessages.en.ts","../src/constants/globalStyle.ts","../src/components/ContextProvider/ContextProvider.tsx","../src/slices/TextCarousel/TextCarousel.tsx","../src/slices/TextWithTextCards/TextWithTextCards.tsx","../src/models/CreditsAvailableState.ts","../src/constants/formatter.ts","../src/components/portfolio/PortfolioProjectCard/PortfolioProjectCard.tsx","../src/slices/TextWithCard/TextWithCard.tsx","../src/constants/animations.ts","../src/slices/LinkCardsGrid/LinkCardsGrid.tsx","../src/slices/SmallHero/SmallHero.tsx","../src/slices/Blog/styles.ts","../src/slices/Blog/Blog.tsx","../src/slices/ProjectsGrid/ProjectsGrid.tsx","../src/constants/mapbox.ts","../src/utils/mergeBoundingBoxes.ts","../src/constants/fontCustomizations.ts","../src/components/MinimalProviders/MinimalProviders.tsx","../src/components/CreditsAvailableBadge/CreditsAvailableBadge.tsx","../src/slices/ProjectsMap/MapMarker.tsx","../src/slices/ProjectsMap/mapboxStyle.ts","../src/slices/ProjectsMap/ProjectsMap.tsx","../src/slices/Video/Video.tsx","../src/slices/FullWidthHighlightQuote/FullWidthHighlightQuote.tsx","../src/slices/FullWidthImageSlider/styles.ts","../src/slices/FullWidthImageSlider/utils.ts","../src/slices/FullWidthImageSlider/FullWidthImageSlider.tsx","../src/slices/SideBySideImages/SideBySideImages.tsx","../src/slices/Cta/Cta.tsx","../src/slices/CtaOnly/CtaOnly.tsx","../src/slices/Glossary/Glossary.tsx","../src/constants/domain.ts","../src/slices/ShopCheckout/ShopCheckout.tsx","../src/slices/Facts/Facts.tsx","../src/slices/BlogCards/BlogCards.tsx","../src/components/portfolio/SmallCheckout/SmallCheckout.tsx","../src/utils/convertAreaM2ToHa.ts","../src/utils/convertCo2AmountKgToTons.ts","../src/utils/getTimeSpanInYears.ts","../src/components/portfolio/ProjectInfo/ProjectInfo.tsx","../src/components/portfolio/DocumentsDownloadList/DocumentsDownloadList.tsx","../src/components/portfolio/Contact/Contact.tsx","../src/slices/ProjectFacts/ProjectFacts.tsx","../src/components/CustomerCard/CustomerCard.tsx","../src/components/CustomerQuoteCard/CustomerQuoteCard.tsx","../src/components/LogoCard/LogoCard.tsx","../src/slices/CustomerStories/CustomerStories.tsx","../src/slices/Comparison/Icon.tsx","../src/slices/Comparison/Comparison.tsx","../src/slices/Timeline/Timeline.tsx","../src/components/SliceRenderer/SliceRenderer.tsx"],"sourcesContent":["export const STRAPI_URI =\n process.env.NEXT_PUBLIC_STRAPI_URI || 'http://127.0.0.1:1337';\n\nexport const STRAPI_DEFAULT_PAGE_SIZE = '100';\n","export const API_URI =\n process.env.NEXT_PUBLIC_API_URI || 'http://localhost:4001';\nexport const FPM_API_URI =\n process.env.NEXT_PUBLIC_FPM_API_URI || 'https://api.fpm.t-staging.com';\nexport const CDN_URI = 'https://cdn.tree.ly';\n","import axios from 'axios';\nimport qs from 'qs';\nimport { setupCache } from 'axios-cache-interceptor';\nimport { FPM_API_URI } from '../constants/api';\n\nconst fpmClient = setupCache(\n axios.create({\n baseURL: `${FPM_API_URI}/v1`,\n paramsSerializer: (p) => qs.stringify(p, { encodeValuesOnly: true }),\n timeout: 5000,\n })\n);\n\nexport default fpmClient;\n","import axios from 'axios';\nimport qs from 'qs';\nimport { setupCache } from 'axios-cache-interceptor';\nimport { STRAPI_URI } from '../../constants/strapi';\n\nconst strapiClient = setupCache(\n axios.create({\n baseURL: `${STRAPI_URI}/api`,\n paramsSerializer: (p) => qs.stringify(p, { encodeValuesOnly: true }),\n timeout: 60_000,\n })\n);\n\nexport default strapiClient;\n","import {\n IStrapiData,\n IStrapiResponse,\n PortfolioProject,\n StrapiProject,\n} from '../..';\nimport { STRAPI_DEFAULT_PAGE_SIZE } from '../../constants/strapi';\nimport FPMProject from '../../models/fpm/FPMProject';\nimport fpmClient from '../fpmClient';\nimport strapiClient from './strapiClient';\n\nconst getPortfolioProjects = async (\n locale?: string\n): Promise<PortfolioProject[]> => {\n const [{ data: fpmProjects }, { data: strapiProjects }] = await Promise.all([\n fpmClient.get<FPMProject[]>('/public/projects'),\n strapiClient.get<IStrapiResponse<IStrapiData<StrapiProject>[]>>(\n '/projects',\n {\n params: {\n populate: 'deep,6',\n locale,\n 'pagination[pageSize]': STRAPI_DEFAULT_PAGE_SIZE,\n },\n }\n ),\n ]);\n\n return fpmProjects.map((fpmProject: FPMProject) => {\n const strapiProject = strapiProjects.data.find(\n (sp: IStrapiData<StrapiProject>) =>\n sp.attributes.fpmProjectId === fpmProject.id\n );\n\n const toReturn: PortfolioProject = fpmProject;\n\n if (strapiProject?.attributes.slug) {\n toReturn.slug = strapiProject.attributes.slug;\n }\n if (strapiProject?.attributes.creditsAvailable) {\n toReturn.creditsAvailable = strapiProject?.attributes.creditsAvailable;\n }\n if (strapiProject?.attributes.thumbnail) {\n toReturn.thumbnail = strapiProject?.attributes.thumbnail;\n }\n if (strapiProject?.attributes.footerSubTitle) {\n toReturn.footerSubTitle = strapiProject?.attributes.footerSubTitle;\n }\n if (strapiProject?.attributes.portfolio.data?.attributes.host) {\n toReturn.portfolioHost =\n strapiProject.attributes.portfolio.data.attributes.host;\n }\n\n return toReturn;\n });\n};\n\nexport default getPortfolioProjects;\n","import { AxiosResponse } from 'axios';\nimport strapiClient from './strapiClient';\nimport { STRAPI_DEFAULT_PAGE_SIZE } from '../../constants/strapi';\n\ninterface Options {\n filters?: Record<string, any>;\n}\n\nconst getStaticPathsFromStrapi = async (\n path: string,\n { filters = {} }: Options = { filters: {} }\n): Promise<AxiosResponse> => {\n const params: Record<string, any> = {\n locale: 'all',\n 'pagination[pageSize]': STRAPI_DEFAULT_PAGE_SIZE,\n filters,\n };\n\n return strapiClient.get(path, { params });\n};\n\nexport default getStaticPathsFromStrapi;\n","import { AxiosResponse } from 'axios';\nimport strapiClient from './strapiClient';\nimport { STRAPI_DEFAULT_PAGE_SIZE } from '../../constants/strapi';\n\ninterface Options {\n locale?: string;\n slug?: string;\n preview?: boolean;\n}\n\nconst getStaticPropsFromStrapi = async (\n path: string,\n { locale = 'en', slug, preview = false }: Options\n): Promise<AxiosResponse> => {\n const filters: Record<string, string> = {};\n\n if (slug) {\n filters.slug = slug;\n }\n\n const params: Record<string, any> = {\n populate: 'deep,6',\n locale,\n 'pagination[pageSize]': STRAPI_DEFAULT_PAGE_SIZE,\n filters,\n };\n\n if (preview) {\n params.publicationState = 'preview';\n }\n\n return strapiClient.get(path, { params });\n};\n\nexport default getStaticPropsFromStrapi;\n","import { STRAPI_URI } from '../constants/strapi';\nimport IStrapi from '../models/strapi/IStrapi';\nimport IStrapiData from '../models/strapi/IStrapiData';\nimport StrapiMedia from '../models/strapi/StrapiMedia';\n\nconst strapiMediaUrl = (\n media: IStrapi<IStrapiData<StrapiMedia>>,\n preferredSize:\n | 'native'\n | 'thumbnail'\n | 'xSmall'\n | 'small'\n | 'medium'\n | 'large'\n | 'xLarge' = 'native'\n): string => {\n let { url } = media.data.attributes || {};\n if (preferredSize !== 'native' && media.data.attributes.ext !== '.svg') {\n url = media.data.attributes.formats[preferredSize]?.url || url;\n }\n if (url && (url.indexOf('http://') === 0 || url.indexOf('https://') === 0)) {\n return url;\n }\n return `${\n (STRAPI_URI.includes('127.0.0.1') || STRAPI_URI.includes('localhost')) &&\n !process.env.STORYBOOK\n ? STRAPI_URI\n : ''\n }${url}`;\n};\n\nexport default strapiMediaUrl;\n","export const DEFAULT_SHARE_IMAGE =\n 'https://cdn.tree.ly/assets/v3/app/share-image-generic.webp';\nexport const DEFAULT_SHARE_ALT = 'Share Image';\n","export const EXTENDABLE_HEADER_SECTIONS = [\n 'sections.hero',\n 'sections.map-hero',\n 'sections.full-width-image',\n 'sections.small-hero',\n 'sections.small-hero-light',\n];\nexport const DARK_THEME_HEADER_SECTIONS = [\n 'sections.hero',\n 'sections.small-hero',\n];\nexport const SLICES_WITH_BLOG_POSTS = ['sections.blog', 'sections.blog-cards'];\nexport const SLICES_WITH_CUSTOMER_STORIES = ['sections.customer-stories'];\nexport const SLICES_WITH_PROJECTS = [\n 'sections.projects-grid',\n 'sections.projects-map',\n 'sections.project-facts',\n 'sections.text-with-card',\n];\n","import { GetStaticPropsContext } from 'next';\nimport strapiMediaUrl from './strapiMediaUrl';\nimport {\n IStrapiData,\n StrapiBlogPost,\n StrapiBlogPostProps,\n StrapiGlobal,\n} from '..';\nimport PortfolioProject from '../models/PortfolioProject';\nimport { DEFAULT_SHARE_ALT, DEFAULT_SHARE_IMAGE } from '../constants/metadata';\nimport {\n SLICES_WITH_BLOG_POSTS,\n SLICES_WITH_PROJECTS,\n} from '../constants/slicesConfig';\n\nconst mergeGlobalAndStrapiBlogPostData = (\n context: GetStaticPropsContext,\n global: IStrapiData<StrapiGlobal>,\n post: IStrapiData<StrapiBlogPost>,\n blog: IStrapiData<StrapiBlogPost>[],\n projects: PortfolioProject[]\n): StrapiBlogPostProps => {\n const metaShareImageUrl = post.attributes.metadata?.shareImage\n ? strapiMediaUrl(\n post.attributes.metadata?.shareImage.media ??\n global.attributes.metadata.shareImage?.media,\n 'large'\n )\n : DEFAULT_SHARE_IMAGE;\n\n const returnBlog = post.attributes.slices.some((slice) =>\n SLICES_WITH_BLOG_POSTS.includes(slice.__component)\n );\n const returnProjects = post.attributes.slices.some((slice) =>\n SLICES_WITH_PROJECTS.includes(slice.__component)\n );\n\n return {\n ...post,\n // Portfolio Projects\n projects: returnProjects ? projects : [],\n // StrapiBlogPost\n attributes: {\n ...post?.attributes,\n metadata: post?.attributes?.metadata || global.attributes.metadata,\n },\n // PageProps\n headerType: {\n extendable: true,\n theme: 'light',\n },\n headerNavMenus: global.attributes.navbar.navMenus || [],\n headerButtons: global.attributes.navbar.buttons || [],\n footerLinks: global.attributes.footer.links || [],\n metadata: {\n title:\n post.attributes.metadata?.title ?? global.attributes.metadata.title,\n description:\n post.attributes.metadata?.description ??\n global.attributes.metadata.description,\n shareImage: {\n url: metaShareImageUrl,\n alt:\n post.attributes.metadata?.shareImage?.alt ??\n global.attributes.metadata.shareImage?.alt ??\n DEFAULT_SHARE_ALT,\n },\n metaTitleSuffix: global.attributes.metaTitleSuffix,\n favicon: strapiMediaUrl(global.attributes.favicon, 'thumbnail'),\n },\n slices: post?.attributes.slices,\n blogPosts: returnBlog ? blog : [],\n banner: global.attributes.banner,\n topBanner: post?.attributes.topBanner || global.attributes.topBanner,\n customerStories: [],\n preview: !!context.preview,\n };\n};\n\nexport default mergeGlobalAndStrapiBlogPostData;\n","import { GetStaticPropsContext } from 'next';\nimport strapiMediaUrl from './strapiMediaUrl';\nimport {\n IStrapiData,\n StrapiCustomerStory,\n StrapiCustomerStoryProps,\n StrapiGlobal,\n} from '..';\nimport { DEFAULT_SHARE_ALT, DEFAULT_SHARE_IMAGE } from '../constants/metadata';\nimport { SLICES_WITH_CUSTOMER_STORIES } from '../constants/slicesConfig';\n\nconst mergeGlobalAndStrapiCustomerStoryData = (\n context: GetStaticPropsContext,\n global: IStrapiData<StrapiGlobal>,\n customerStory: IStrapiData<StrapiCustomerStory>,\n customerStories: IStrapiData<StrapiCustomerStory>[]\n): StrapiCustomerStoryProps => {\n const metaShareImageUrl = customerStory.attributes.metadata?.shareImage\n ? strapiMediaUrl(\n customerStory.attributes.metadata?.shareImage.media ??\n global.attributes.metadata.shareImage?.media,\n 'large'\n )\n : DEFAULT_SHARE_IMAGE;\n\n const returnCustomerStories = customerStory.attributes.slices.some((slice) =>\n SLICES_WITH_CUSTOMER_STORIES.includes(slice.__component)\n );\n\n return {\n ...customerStory,\n // Portfolio Projects\n projects: [],\n attributes: {\n ...customerStory?.attributes,\n metadata:\n customerStory?.attributes?.metadata || global.attributes.metadata,\n },\n // PageProps\n headerType: {\n extendable: true,\n theme: 'light',\n },\n headerNavMenus: global.attributes.navbar.navMenus || [],\n headerButtons: global.attributes.navbar.buttons || [],\n footerLinks: global.attributes.footer.links || [],\n metadata: {\n title:\n customerStory.attributes.metadata?.title ??\n global.attributes.metadata.title,\n description:\n customerStory.attributes.metadata?.description ??\n global.attributes.metadata.description,\n shareImage: {\n url: metaShareImageUrl,\n alt:\n customerStory.attributes.metadata?.shareImage?.alt ??\n global.attributes.metadata.shareImage?.alt ??\n DEFAULT_SHARE_ALT,\n },\n metaTitleSuffix: global.attributes.metaTitleSuffix,\n favicon: strapiMediaUrl(global.attributes.favicon, 'thumbnail'),\n },\n slices: customerStory?.attributes.slices,\n customerStories: returnCustomerStories ? customerStories : [],\n banner: global.attributes.banner,\n topBanner:\n customerStory?.attributes.topBanner || global.attributes.topBanner,\n blogPosts: [],\n preview: !!context.preview,\n };\n};\n\nexport default mergeGlobalAndStrapiCustomerStoryData;\n","import { GetStaticPropsContext } from 'next';\nimport strapiMediaUrl from './strapiMediaUrl';\nimport {\n IStrapiData,\n StrapiBlogPost,\n StrapiCustomerStory,\n StrapiGlobal,\n StrapiPage,\n StrapiPageProps,\n} from '..';\nimport PortfolioProject from '../models/PortfolioProject';\nimport {\n DARK_THEME_HEADER_SECTIONS,\n EXTENDABLE_HEADER_SECTIONS,\n SLICES_WITH_BLOG_POSTS,\n SLICES_WITH_CUSTOMER_STORIES,\n SLICES_WITH_PROJECTS,\n} from '../constants/slicesConfig';\nimport { DEFAULT_SHARE_ALT, DEFAULT_SHARE_IMAGE } from '../constants/metadata';\n\nconst mergeGlobalAndStrapiPageData = (\n context: GetStaticPropsContext,\n global: IStrapiData<StrapiGlobal>,\n page: IStrapiData<StrapiPage>,\n blogPosts: IStrapiData<StrapiBlogPost>[],\n customerStories: IStrapiData<StrapiCustomerStory>[],\n projects: PortfolioProject[]\n): StrapiPageProps => {\n const metaShareImageUrl = page.attributes.metadata?.shareImage\n ? strapiMediaUrl(\n page.attributes.metadata?.shareImage.media ??\n global.attributes.metadata.shareImage?.media,\n 'large'\n )\n : DEFAULT_SHARE_IMAGE;\n\n const returnBlogPosts = page.attributes.slices.some((slice) =>\n SLICES_WITH_BLOG_POSTS.includes(slice.__component)\n );\n const returnCustomerStories = page.attributes.slices.some((slice) =>\n SLICES_WITH_CUSTOMER_STORIES.includes(slice.__component)\n );\n const returnProjects = page.attributes.slices.some((slice) =>\n SLICES_WITH_PROJECTS.includes(slice.__component)\n );\n\n return {\n ...page,\n // Portfolio Projects\n projects: returnProjects ? projects : [],\n // StrapiPage\n attributes: {\n ...page?.attributes,\n metadata: page?.attributes?.metadata ?? global.attributes.metadata,\n },\n // PageProps\n headerType: {\n extendable: EXTENDABLE_HEADER_SECTIONS.includes(\n page.attributes.slices[0]?.__component\n ),\n theme: DARK_THEME_HEADER_SECTIONS.includes(\n page.attributes.slices[0]?.__component\n )\n ? 'dark'\n : 'light',\n },\n headerNavMenus: global.attributes.navbar.navMenus || [],\n headerButtons: global.attributes.navbar.buttons || [],\n footerLinks: global.attributes.footer.links || [],\n metadata: {\n title:\n page.attributes.metadata?.title ?? global.attributes.metadata.title,\n description:\n page.attributes.metadata?.description ??\n global.attributes.metadata.description,\n shareImage: {\n url: metaShareImageUrl,\n alt:\n page.attributes.metadata?.shareImage?.alt ??\n global.attributes.metadata.shareImage?.alt ??\n DEFAULT_SHARE_ALT,\n },\n metaTitleSuffix: global.attributes.metaTitleSuffix,\n favicon: strapiMediaUrl(global.attributes.favicon, 'thumbnail'),\n },\n slices: page?.attributes.slices,\n blogPosts: returnBlogPosts ? blogPosts : [],\n banner: global.attributes.banner,\n topBanner: page?.attributes.topBanner || global.attributes.topBanner,\n customerStories: returnCustomerStories ? customerStories : [],\n preview: !!context.preview,\n };\n};\n\nexport default mergeGlobalAndStrapiPageData;\n","import { GetStaticPropsContext } from 'next';\nimport strapiMediaUrl from './strapiMediaUrl';\nimport {\n IStrapiData,\n StrapiBlogPost,\n StrapiGlobal,\n StrapiProject,\n StrapiProjectProps,\n} from '..';\nimport PortfolioProject from '../models/PortfolioProject';\nimport {\n DARK_THEME_HEADER_SECTIONS,\n EXTENDABLE_HEADER_SECTIONS,\n SLICES_WITH_BLOG_POSTS,\n SLICES_WITH_PROJECTS,\n} from '../constants/slicesConfig';\nimport { DEFAULT_SHARE_ALT, DEFAULT_SHARE_IMAGE } from '../constants/metadata';\n\nconst mergeGlobalAndStrapiProject = (\n context: GetStaticPropsContext,\n global: IStrapiData<StrapiGlobal>,\n project: IStrapiData<StrapiProject>,\n blogPosts: IStrapiData<StrapiBlogPost>[],\n projects: PortfolioProject[]\n): StrapiProjectProps => {\n const metaShareImageUrl = project.attributes.metadata?.shareImage\n ? strapiMediaUrl(\n project.attributes.metadata?.shareImage.media ??\n global.attributes.metadata.shareImage?.media,\n 'large'\n )\n : DEFAULT_SHARE_IMAGE;\n\n const returnBlogPosts = project.attributes.slices.some((slice) =>\n SLICES_WITH_BLOG_POSTS.includes(slice.__component)\n );\n const returnProjects = project.attributes.slices.some((slice) =>\n SLICES_WITH_PROJECTS.includes(slice.__component)\n );\n\n return {\n ...project,\n // Portfolio Projects\n projects: returnProjects ? projects : [],\n // StrapiProject\n attributes: {\n ...project.attributes,\n metadata: project?.attributes?.metadata || global.attributes.metadata,\n },\n headerType: {\n extendable: EXTENDABLE_HEADER_SECTIONS.includes(\n project.attributes.slices[0]?.__component\n ),\n theme: DARK_THEME_HEADER_SECTIONS.includes(\n project.attributes.slices[0]?.__component\n )\n ? 'dark'\n : 'light',\n },\n // PageProps\n headerNavMenus: global.attributes.navbar.navMenus || [],\n headerButtons: global.attributes.navbar.buttons || [],\n footerLinks: global.attributes.footer.links || [],\n metadata: {\n title:\n project.attributes.metadata?.title ?? global.attributes.metadata.title,\n description:\n project.attributes.metadata?.description ??\n global.attributes.metadata.description,\n shareImage: {\n url: metaShareImageUrl,\n alt:\n project.attributes.metadata?.shareImage?.alt ??\n global.attributes.metadata.shareImage?.alt ??\n DEFAULT_SHARE_ALT,\n },\n metaTitleSuffix: global.attributes.metaTitleSuffix,\n favicon: strapiMediaUrl(global.attributes.favicon, 'thumbnail'),\n },\n slices: project.attributes.slices,\n blogPosts: returnBlogPosts ? blogPosts : [],\n banner: global.attributes.banner,\n topBanner: project?.attributes.topBanner || global.attributes.topBanner,\n customerStories: [],\n preview: !!context.preview,\n };\n};\n\nexport default mergeGlobalAndStrapiProject;\n","import StrapiLink from '../models/strapi/StrapiLink';\n\nconst strapiLinkUrl = (\n strapiLink: StrapiLink | undefined = undefined\n): string => {\n if (strapiLink?.page?.data) {\n return `/${strapiLink.page.data.attributes.slug}`;\n }\n\n return strapiLink?.url || '/';\n};\n\nexport default strapiLinkUrl;\n","import React from 'react';\nimport Head from 'next/head';\nimport {\n DEFAULT_SHARE_ALT,\n DEFAULT_SHARE_IMAGE,\n} from '../../constants/metadata';\n\ninterface SEOTagsProps {\n title: string;\n description: string;\n shareImage?: {\n url: string;\n alt: string;\n };\n metaTitleSuffix?: string;\n favicon?: string;\n domain?: string;\n}\n\nexport const SEOTags: React.FC<SEOTagsProps> = ({\n title,\n description,\n shareImage,\n metaTitleSuffix = 'Tree.ly',\n favicon = 'https://cdn.tree.ly/favicon.ico',\n domain = 'tree.ly',\n}: SEOTagsProps) => {\n const shareImageUrl = shareImage?.url ?? DEFAULT_SHARE_IMAGE;\n const shareImageAlt = shareImage?.alt ?? DEFAULT_SHARE_ALT;\n\n return (\n <Head>\n <title>{`${title} - ${metaTitleSuffix}`}</title>\n <meta name=\"description\" content={description} />\n <link rel=\"icon\" href={favicon} />\n\n <meta property=\"og:url\" content={`https://${domain}`} />\n <meta property=\"og:type\" content=\"website\" />\n <meta property=\"og:title\" content={title} />\n <meta property=\"og:description\" content={description} />\n <meta property=\"og:image\" content={shareImageUrl} />\n <meta property=\"og:image:alt\" content={shareImageAlt} />\n\n <meta name=\"twitter:card\" content=\"summary_large_image\" />\n <meta property=\"twitter:domain\" content={domain} />\n <meta property=\"twitter:url\" content={`https://${domain}`} />\n <meta name=\"twitter:title\" content={title} />\n <meta name=\"twitter:description\" content={description} />\n <meta name=\"twitter:image\" content={shareImageUrl} />\n <meta name=\"twitter:image:alt\" content={shareImageAlt} />\n </Head>\n );\n};\n","import StrapiImage from '../../models/strapi/StrapiImage';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport { Box } from 'boemly';\nimport Head from 'next/head';\nimport Image from 'next/image';\nimport React, { useState } from 'react';\n\ninterface ZoomableImageProps {\n image: StrapiImage;\n zoom?: number;\n}\n\nconst ZoomableImage = ({ image, zoom = 200 }: ZoomableImageProps) => {\n // define and set default values to the states of the component\n const [isZoomed, setIsZoomed] = useState(false);\n const [backgroundPos, setBackgroundPos] = useState('50% 50%');\n\n const imageSrc = strapiMediaUrl(image.img, 'xLarge');\n\n const zoomInPosition = (e: React.MouseEvent<HTMLElement, MouseEvent>) => {\n // This will handle the calculations of the area where the image needs to zoom in depending on the user interaction\n const zoomer = e.currentTarget.getBoundingClientRect();\n const x = ((e.clientX - zoomer.x) / zoomer.width) * 100;\n const y = ((e.clientY - zoomer.y) / zoomer.height) * 100;\n setBackgroundPos(`${x}% ${y}%`);\n };\n\n const toggleZoomImage = (e: React.MouseEvent<HTMLElement, MouseEvent>) => {\n if (isZoomed) {\n setIsZoomed(false);\n } else {\n // Zoom in and set the background position correctly\n setIsZoomed(true);\n zoomInPosition(e);\n }\n };\n\n const handleClick = (e: React.MouseEvent<HTMLElement, MouseEvent>) => {\n toggleZoomImage(e);\n };\n\n const handleMove = (e: React.MouseEvent<HTMLElement, MouseEvent>) => {\n if (isZoomed) {\n zoomInPosition(e);\n }\n };\n\n return (\n <>\n <Head>\n <link rel=\"prefetch\" as=\"image\" href={imageSrc} />\n </Head>\n <Box\n position=\"relative\"\n display=\"inline-block\"\n width=\"full\"\n height=\"full\"\n overflow=\"hidden\"\n flexShrink=\"0\"\n scrollSnapAlign=\"center\"\n scrollSnapStop=\"always\"\n draggable=\"false\"\n cursor={isZoomed ? 'zoom-out' : 'zoom-in'}\n backgroundImage={isZoomed ? `url( ${imageSrc} )` : 'none'}\n backgroundSize={`${zoom}%`}\n backgroundPosition={backgroundPos}\n onClick={(e) => handleClick(e)}\n onMouseMove={(e) => handleMove(e)}\n >\n <Image\n src={imageSrc}\n alt={image.alt}\n fill\n style={{\n visibility: isZoomed ? 'hidden' : 'visible',\n objectFit: 'contain',\n }}\n />\n </Box>\n </>\n );\n};\n\nexport default ZoomableImage;\n","import React, { useCallback, useEffect, useMemo, useRef } from 'react';\nimport { BoemlyModal, Flex, IconButton } from 'boemly';\nimport { useKey, useLockBodyScroll } from 'react-use';\nimport StrapiImage from '../../models/strapi/StrapiImage';\nimport { CaretLeft, CaretRight } from '@phosphor-icons/react';\nimport ZoomableImage from './ZoomableImage';\n\nexport interface FullScreenImageProps {\n images: StrapiImage[];\n isOpen: boolean;\n onClose: () => void;\n currentIndex?: number;\n setCurrentIndex?: (callback: (c: number) => number) => void;\n}\n\nexport const FullScreenImage = ({\n images,\n isOpen,\n onClose,\n currentIndex = 0,\n setCurrentIndex,\n}: FullScreenImageProps) => {\n const containerRef = useRef<HTMLDivElement>(null);\n\n useLockBodyScroll(isOpen);\n\n const canMoveRight = useMemo(\n () => currentIndex < images.length - 1,\n [currentIndex, images.length]\n );\n const canMoveLeft = useMemo(() => currentIndex !== 0, [currentIndex]);\n\n const onRight = useCallback(\n () => canMoveRight && setCurrentIndex && setCurrentIndex((c) => c + 1),\n [canMoveRight]\n );\n const onLeft = useCallback(\n () => canMoveLeft && setCurrentIndex && setCurrentIndex((c) => c - 1),\n [canMoveLeft]\n );\n\n useKey('ArrowRight', onRight, {}, [onRight]);\n useKey('ArrowLeft', onLeft, {}, [onLeft]);\n\n useEffect(() => {\n if (!!isOpen) {\n setTimeout(() => {\n containerRef?.current?.scrollTo({\n left: currentIndex * containerRef.current.clientWidth,\n behavior: 'instant',\n });\n }, 10);\n }\n }, [isOpen]);\n\n useEffect(() => {\n if (containerRef.current) {\n containerRef.current.scrollTo({\n left: currentIndex * containerRef.current.clientWidth,\n behavior: 'smooth',\n });\n }\n }, [currentIndex, containerRef]);\n\n return (\n <BoemlyModal\n onClose={onClose}\n isOpen={isOpen}\n title=\"\"\n trigger=\"\"\n size=\"full\"\n content={\n <Flex\n position=\"absolute\"\n insetY=\"16\"\n insetX=\"0\"\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Flex\n ref={containerRef}\n flexGrow=\"1\"\n flexBasis=\"100%\"\n flexShrink=\"1\"\n gap=\"4\"\n marginX=\"24\"\n scrollSnapType=\"x mandatory\"\n overflow=\"hidden\"\n position=\"relative\"\n height=\"full\"\n width=\"full\"\n >\n {images.map((image) => (\n <ZoomableImage key={image.id} image={image} />\n ))}\n </Flex>\n\n <Flex\n position=\"absolute\"\n inset=\"6\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n pointerEvents=\"none\"\n >\n <IconButton\n visibility={canMoveLeft ? 'visible' : 'hidden'}\n onClick={onLeft}\n icon={<CaretLeft size={16} />}\n aria-label=\"Previous picture\"\n variant=\"outline\"\n pointerEvents=\"all\"\n mr=\"6\"\n />\n\n <IconButton\n visibility={canMoveRight ? 'visible' : 'hidden'}\n onClick={onRight}\n icon={<CaretRight size={16} />}\n aria-label=\"Next picture\"\n variant=\"outline\"\n pointerEvents=\"all\"\n ml=\"4\"\n />\n </Flex>\n </Flex>\n }\n />\n );\n};\n","export const BREAKPOINT_SM = `${320 - 1}px`;\nexport const BREAKPOINT_MD = `${768 - 1}px`;\nexport const BREAKPOINT_LG = `${960 - 1}px`;\nexport const BREAKPOINT_XL = `${1200 - 1}px`;\n\nexport const BREAKPOINT_SM_QUERY = `(max-width: ${BREAKPOINT_SM})`;\nexport const BREAKPOINT_MD_QUERY = `(max-width: ${BREAKPOINT_MD})`;\nexport const BREAKPOINT_LG_QUERY = `(max-width: ${BREAKPOINT_LG})`;\nexport const BREAKPOINT_XL_QUERY = `(max-width: ${BREAKPOINT_XL})`;\n","import React, { useState } from 'react';\nimport {\n Box,\n DefaultSectionContainer,\n DefaultSectionHeader,\n Wrapper,\n useMediaQuery,\n} from 'boemly';\nimport Image from 'next/image';\nimport StrapiDefaultHeader from '../../models/strapi/StrapiDefaultHeader';\nimport StrapiImage from '../../models/strapi/StrapiImage';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport FullScreenImage from '../../components/FullScreenImage';\nimport { BREAKPOINT_MD_QUERY } from '../../constants/breakpoints';\n\ninterface FullWidthImageSlice extends StrapiDefaultHeader {\n image: StrapiImage;\n}\nexport interface FullWidthImageProps {\n slice: FullWidthImageSlice;\n}\n\nexport const FullWidthImage: React.FC<FullWidthImageProps> = ({\n slice,\n}: FullWidthImageProps) => {\n const [isOpen, setIsOpen] = useState(false);\n const [isMobile] = useMediaQuery(BREAKPOINT_MD_QUERY);\n\n return (\n <DefaultSectionContainer title={slice.title}>\n <Wrapper>\n <DefaultSectionHeader\n isHero\n tagline={slice.tagline}\n title={slice.title}\n text={slice.text}\n taglineProps={{ textAlign: 'center', mt: ['32', null, null, '56'] }}\n titleProps={{ textAlign: 'center', maxW: '6xl', marginX: 'auto' }}\n textProps={{ textAlign: 'center', maxW: '3xl', marginX: 'auto' }}\n />\n\n <Box position=\"relative\" mt=\"20\" height={['3xs', null, 'xl']}>\n <Image\n src={strapiMediaUrl(slice.image.img, 'xLarge')}\n alt={slice.image.alt}\n fill\n style={{\n objectFit: slice.image.objectFit || 'cover',\n cursor: isMobile ? 'unset' : 'pointer',\n borderRadius: 'var(--boemly-radii-2xl)',\n }}\n onClick={() => !isMobile && setIsOpen(true)}\n />\n\n <FullScreenImage\n images={[slice.image]}\n isOpen={isOpen}\n onClose={() => setIsOpen(false)}\n />\n </Box>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","const openHubSpotChat = () => {\n const w = window as any;\n\n if (w.HubSpotConversations) {\n w.HubSpotConversations.widget.open();\n } else {\n w.hsConversationsOnReady = [\n () => {\n w.HubSpotConversations.widget.open();\n },\n ];\n }\n};\n\nexport default openHubSpotChat;\n","import React from 'react';\nimport { Button } from 'boemly';\nimport Link from 'next/link';\nimport { useDetectAdBlock } from 'adblock-detect-react';\nimport StrapiLink from '../../models/strapi/StrapiLink';\nimport strapiLinkUrl from '../../utils/strapiLinkUrl';\nimport openHubSpotChat from '../../utils/openHubSpotChat';\n\nexport interface StrapiLinkButtonProps {\n link: StrapiLink;\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n variant?: 'solid' | 'outline' | 'outlineWhite' | 'link' | 'ghost';\n colorScheme?: 'primary' | 'gray' | 'orange' | 'green' | 'white';\n rightIcon?: JSX.Element;\n leftIcon?: JSX.Element;\n mt?: any;\n mr?: any;\n mb?: any;\n ml?: any;\n mx?: any;\n my?: any;\n background?: string;\n}\n\nexport const StrapiLinkButton: React.FC<StrapiLinkButtonProps> = ({\n link,\n ...buttonProps\n}: StrapiLinkButtonProps) => {\n const adBlockDetected = useDetectAdBlock();\n\n if (link.intercomLauncher) {\n if (adBlockDetected) {\n return (\n <Button {...buttonProps} as={Link} href=\"mailto:hello@tree.ly\">\n {link.text}\n </Button>\n );\n }\n\n return (\n <Button {...buttonProps} onClick={openHubSpotChat}>\n {link.text}\n </Button>\n );\n }\n\n return (\n <Button {...buttonProps} as={Link} href={strapiLinkUrl(link)}>\n {link.text}\n </Button>\n );\n};\n","import React from 'react';\nimport { Box, DefaultSectionHeader, Flex, Gradient, Wrapper } from 'boemly';\nimport Image from 'next/image';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\nimport StrapiImage from '../../models/strapi/StrapiImage';\nimport StrapiLink from '../../models/strapi/StrapiLink';\nimport StrapiButtonWithVariant from '../../models/strapi/StrapiButtonWithVariant';\n\nexport interface HeroProps {\n slice: {\n tagline?: string;\n title: string;\n subTitle: string;\n button?: StrapiLink;\n additionalButtons: StrapiButtonWithVariant[];\n image?: StrapiImage;\n textAlign: 'left' | 'center';\n shape?: StrapiImage;\n };\n}\n\nexport const Hero: React.FC<HeroProps> = ({ slice }: HeroProps) => (\n <Box\n position=\"relative\"\n width=\"full\"\n height=\"var(--default-hero-height)\"\n minHeight=\"2xl\"\n backgroundColor=\"gray.900\"\n overflowX=\"hidden\"\n >\n {slice.image && (\n <>\n <Image\n src={strapiMediaUrl(slice.image.img, 'xLarge')}\n alt={slice.image.alt}\n fill\n style={{ objectFit: slice.image.objectFit || 'cover' }}\n />\n <Gradient />\n </>\n )}\n {slice.shape && (\n <Box\n position=\"absolute\"\n bottom=\"0\"\n borderTopRightRadius=\"full\"\n width={['3xs', null, '2xs', null, 'sm']}\n height={['3xs', null, '2xs', null, 'sm']}\n right={['-16', null, '24']}\n >\n <Image\n src={strapiMediaUrl(slice.shape.img, 'medium')}\n alt={slice.shape.alt}\n fill\n style={{\n objectFit: slice.shape.objectFit || 'cover',\n borderTopRightRadius: 'var(--boemly-radii-full)',\n }}\n />\n </Box>\n )}\n <Box\n position=\"absolute\"\n left=\"0\"\n top=\"56%\"\n width=\"full\"\n textAlign={slice.textAlign}\n transform=\"translateY(-50%)\"\n >\n <Wrapper>\n <>\n <DefaultSectionHeader\n isHero\n tagline={slice.tagline}\n title={slice.title}\n text={slice.subTitle}\n taglineProps={{ color: 'white' }}\n titleProps={{\n color: 'white',\n maxW: slice.textAlign === 'center' ? '4xl' : '3xl',\n mx: slice.textAlign === 'center' ? 'auto' : 'unset',\n textAlign: slice.textAlign,\n }}\n textProps={{\n maxW: '2xl',\n mx: slice.textAlign === 'center' ? 'auto' : 'unset',\n textAlign: slice.textAlign,\n color: 'white',\n }}\n />\n\n <Flex\n gap=\"8\"\n justifyContent={slice.textAlign === 'center' ? 'center' : 'start'}\n >\n {slice.button && (\n <StrapiLinkButton\n key={slice.button.id}\n mt=\"10\"\n size=\"xl\"\n link={slice.button}\n />\n )}\n {slice.additionalButtons.map((button) => (\n <StrapiLinkButton\n key={button.button.id}\n mt=\"10\"\n size=\"xl\"\n variant={button.variant}\n link={button.button}\n />\n ))}\n </Flex>\n </>\n </Wrapper>\n </Box>\n </Box>\n);\n","import React from 'react';\nimport {\n Box,\n DefaultSectionContainer,\n DefaultSectionHeader,\n Flex,\n Heading,\n SimpleGrid,\n Spacer,\n Text,\n Wrapper,\n} from 'boemly';\nimport Image from 'next/image';\nimport StrapiImage from '../../models/strapi/StrapiImage';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport StrapiLink from '../../models/strapi/StrapiLink';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\n\nexport interface IconGridProps {\n slice: {\n tagline?: string;\n title?: string;\n subTitle?: string;\n iconsWithTextAndButton: {\n id: number;\n title: string;\n text: string;\n icon: StrapiImage;\n button?: StrapiLink;\n }[];\n };\n}\n\nexport const IconGrid: React.FC<IconGridProps> = ({ slice }: IconGridProps) => {\n const columns = () => {\n if (slice.iconsWithTextAndButton.length === 2) {\n return [1, null, null, 2, 2];\n }\n if (slice.iconsWithTextAndButton.length === 1) {\n return 1;\n }\n return [1, null, null, 2, 3];\n };\n\n return (\n <DefaultSectionContainer>\n <Wrapper>\n {slice.title ? (\n <>\n <Flex alignItems=\"center\" flexDirection=\"column\">\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.subTitle}\n taglineProps={{ maxW: '2xl', textAlign: 'center' }}\n titleProps={{ maxW: '3xl', textAlign: 'center' }}\n textProps={{ maxW: '3xl', textAlign: 'center' }}\n />\n </Flex>\n <Spacer h=\"20\" />\n </>\n ) : (\n <></>\n )}\n\n <SimpleGrid\n columns={columns()}\n gap={slice.iconsWithTextAndButton.length === 2 ? '14' : '16'}\n rowGap={['16', null, null, '20']}\n >\n {slice.iconsWithTextAndButton.map((iconWithTextAndButton) => (\n <Box key={iconWithTextAndButton.id}>\n <Box\n margin=\"0 auto\"\n backgroundColor=\"primary.50\"\n borderRadius=\"full\"\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"space-around\"\n width=\"6.5rem\"\n height=\"6.5rem\"\n >\n <Box position=\"absolute\" width=\"12\" height=\"12\">\n <Image\n src={strapiMediaUrl(\n iconWithTextAndButton.icon.img,\n 'xSmall'\n )}\n alt={iconWithTextAndButton.icon.alt}\n fill\n style={{\n objectFit:\n iconWithTextAndButton.icon.objectFit || 'contain',\n }}\n />\n </Box>\n </Box>\n <Heading size=\"xl\" textAlign=\"center\" mb=\"4\" mt=\"8\">\n {iconWithTextAndButton.title}\n </Heading>\n <Text size=\"mdRegularNormal\" textAlign=\"center\">\n {iconWithTextAndButton.text}\n </Text>\n {iconWithTextAndButton.button && (\n <Box textAlign=\"center\">\n <StrapiLinkButton\n key={iconWithTextAndButton.button.id}\n mt=\"8\"\n size=\"md\"\n variant=\"outline\"\n link={iconWithTextAndButton.button}\n />\n </Box>\n )}\n </Box>\n ))}\n </SimpleGrid>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","import React from 'react';\n\nconst LinkedInIcon = () => (\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_112_606)\">\n <path\n d=\"M11.9286 11.9285H9.85424V8.67998C9.85424 7.90534 9.84042 6.90813 8.77539 6.90813C7.695 6.90813 7.52969 7.75213 7.52969 8.62357V11.9283H5.45533V5.24799H7.44671V6.16093H7.47459C7.67388 5.82018 7.96186 5.53986 8.30786 5.34984C8.65386 5.15981 9.04493 5.06719 9.4394 5.08183C11.5418 5.08183 11.9295 6.46473 11.9295 8.2638L11.9286 11.9285ZM3.11477 4.33484C2.87669 4.33489 2.64393 4.26433 2.44595 4.13209C2.24796 3.99985 2.09365 3.81188 2.0025 3.59193C1.91135 3.37199 1.88746 3.12995 1.93387 2.89644C1.98027 2.66292 2.09488 2.44841 2.26321 2.28003C2.43153 2.11164 2.646 1.99696 2.8795 1.95047C3.11301 1.90398 3.35504 1.92778 3.57502 2.01884C3.795 2.10992 3.98303 2.26417 4.11533 2.46211C4.24764 2.66004 4.31829 2.89277 4.31833 3.13085C4.31836 3.28894 4.28725 3.44547 4.22678 3.59153C4.1663 3.7376 4.07767 3.87031 3.96591 3.98211C3.85415 4.09392 3.72146 4.18261 3.57541 4.24313C3.42937 4.30365 3.27286 4.33481 3.11477 4.33484ZM4.15194 11.9285H2.07544V5.24799H4.15194V11.9285ZM12.9628 0.000953808H1.03307C0.762304 -0.00210183 0.501383 0.102466 0.307673 0.291681C0.113961 0.480895 0.00330461 0.739273 0 1.01004V12.9892C0.00319151 13.2602 0.113783 13.5187 0.307487 13.7081C0.501192 13.8975 0.762169 14.0023 1.03307 13.9994H12.9628C13.2342 14.0028 13.496 13.8983 13.6904 13.7089C13.8848 13.5195 13.9962 13.2607 14 12.9892V1.00918C13.9961 0.737873 13.8846 0.479199 13.6902 0.28999C13.4958 0.10078 13.2341 -0.00348904 12.9628 8.91429e-05\"\n fill=\"#0A66C2\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_112_606\">\n <rect width=\"14\" height=\"14\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n);\n\nexport default LinkedInIcon;\n","import React from 'react';\nimport { CaretRight, Globe } from '@phosphor-icons/react';\nimport LinkedInIcon from '../../icons/LinkedInIcon';\nimport StrapiLinkWithIcon from '../../models/strapi/StrapiLinkWithIcon';\nimport StrapiLinkButton from '../StrapiLinkButton';\nimport { StrapiLinkButtonProps } from '../StrapiLinkButton/StrapiLinkButton';\n\nexport interface StrapiLinkButtonWithIconProps\n extends Omit<StrapiLinkButtonProps, 'link'> {\n link: StrapiLinkWithIcon;\n}\n\nexport const StrapiLinkButtonWithIcon: React.FC<\n StrapiLinkButtonWithIconProps\n> = ({ link, ...props }: StrapiLinkButtonWithIconProps) => {\n const getLinkIcon = (destination: string) => {\n switch (destination) {\n case 'linkedin': {\n return <LinkedInIcon />;\n }\n case 'web': {\n return <Globe />;\n }\n default: {\n return <CaretRight />;\n }\n }\n };\n\n return (\n <StrapiLinkButton\n {...props}\n link={link.link}\n rightIcon={getLinkIcon(link.destination)}\n />\n );\n};\n","import React from 'react';\nimport {\n Box,\n DefaultSectionContainer,\n DefaultSectionHeader,\n Flex,\n Heading,\n SimpleGrid,\n Text,\n useToken,\n Wrapper,\n} from 'boemly';\nimport Image from 'next/image';\nimport StrapiLinkButtonWithIcon from '../../components/StrapiLinkButtonWithIcon';\nimport StrapiDefaultHeader from '../../models/strapi/StrapiDefaultHeader';\nimport StrapiImage from '../../models/strapi/StrapiImage';\nimport StrapiLinkWithIcon from '../../models/strapi/StrapiLinkWithIcon';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\n\ninterface ImageGridSlice extends StrapiDefaultHeader {\n images: {\n id: number;\n title: string;\n subTitle?: string;\n image: StrapiImage;\n links: StrapiLinkWithIcon[];\n }[];\n}\nexport interface ImageGridProps {\n slice: ImageGridSlice;\n}\n\nexport const ImageGrid: React.FC<ImageGridProps> = ({\n slice,\n}: ImageGridProps) => {\n const [primary50] = useToken('colors', ['primary.50']);\n\n return (\n <DefaultSectionContainer backgroundColor={primary50} title={slice.title}>\n <Wrapper>\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.text}\n taglineProps={{ textAlign: 'center' }}\n titleProps={{ textAlign: 'center', maxW: '6xl', marginX: 'auto' }}\n textProps={{ textAlign: 'center', maxW: '2xl', marginX: 'auto' }}\n />\n\n <SimpleGrid\n mt=\"24\"\n columns={3}\n gap=\"24\"\n rowGap=\"16\"\n minChildWidth=\"16rem\"\n >\n {slice.images.map(({ id, title, subTitle, image, links }) => (\n <Box key={id}>\n <Box position=\"relative\" height=\"sm\" borderRadius=\"xl\">\n <Image\n src={strapiMediaUrl(image.img, 'medium')}\n alt={image.alt}\n fill\n style={{\n objectFit: image.objectFit || 'cover',\n borderRadius: 'var(--boemly-radii-xl)',\n }}\n />\n </Box>\n <Heading size=\"xl\" mt=\"4\">\n {title}\n </Heading>\n {subTitle && <Text size=\"mdRegularNormal\">{subTitle}</Text>}\n {links && links.length > 0 && (\n <Flex mt=\"3\" flexDir=\"row\" gap=\"2\" flexWrap=\"wrap\">\n {links.map((link) => (\n <StrapiLinkButtonWithIcon\n key={link.id}\n link={link}\n size=\"sm\"\n variant=\"outline\"\n />\n ))}\n </Flex>\n )}\n </Box>\n ))}\n </SimpleGrid>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","import React, { Fragment } from 'react';\nimport {\n Box,\n DefaultSectionContainer,\n DefaultSectionHeader,\n Heading,\n SimpleGrid,\n Text,\n useMediaQuery,\n useToken,\n Wrapper,\n} from 'boemly';\nimport Image from 'next/image';\nimport { CaretRight } from '@phosphor-icons/react';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport { BREAKPOINT_LG_QUERY } from '../../constants/breakpoints';\nimport StrapiDefaultHeader from '../../models/strapi/StrapiDefaultHeader';\nimport StrapiImage from '../../models/strapi/StrapiImage';\nimport StrapiLink from '../../models/strapi/StrapiLink';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\nimport { CDN_URI } from '../../constants/api';\n\ninterface ImageTextSequenceSlice extends StrapiDefaultHeader {\n imageTextRows: {\n id: number;\n title: string;\n text: string;\n button?: StrapiLink;\n image: StrapiImage;\n }[];\n background?: boolean;\n}\nexport interface ImageTextSequenceProps {\n slice: ImageTextSequenceSlice;\n}\n\nexport const ImageTextSequence: React.FC<ImageTextSequenceProps> = ({\n slice,\n}: ImageTextSequenceProps) => {\n const [oneColumnGrid] = useMediaQuery(BREAKPOINT_LG_QUERY);\n const [primary50] = useToken('colors', ['primary.50']);\n const [gray700] = useToken('colors', ['gray.700']);\n\n return (\n <DefaultSectionContainer backgroundColor={primary50} title={slice.title}>\n {slice.background ? (\n <>\n <Box\n position=\"absolute\"\n top=\"0\"\n right=\"24\"\n display={['none', null, null, 'unset']}\n >\n <Image\n src={`${CDN_URI}/assets/v3/strapi-slices/desktop-map-border.svg`}\n alt=\"Map\"\n width=\"786\"\n height=\"897\"\n />\n </Box>\n <Box\n position=\"absolute\"\n top=\"64\"\n right=\"-14\"\n display={['unset', null, null, 'none']}\n >\n <Image\n src={`${CDN_URI}/assets/v3/strapi-slices/mobile-map-border.svg`}\n alt=\"Map\"\n width=\"227\"\n height=\"452\"\n />\n </Box>\n </>\n ) : (\n <></>\n )}\n <Wrapper>\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.text}\n taglineProps={{ textAlign: ['left', null, null, null, 'center'] }}\n titleProps={{\n maxW: '6xl',\n marginX: ['0', null, null, null, 'auto'],\n textAlign: ['left', null, null, null, 'center'],\n }}\n textProps={{\n maxW: '2xl',\n marginX: ['0', null, null, null, 'auto'],\n textAlign: ['left', null, null, null, 'center'],\n color: 'black',\n }}\n />\n\n <SimpleGrid\n gap=\"16\"\n mt={['28', null, null, null, '40']}\n columns={[1, null, null, null, 2]}\n >\n {slice.imageTextRows.map(\n ({ id, title, text, button, image }, index) => {\n const imageBox = (\n <Box>\n <Box\n position=\"relative\"\n width=\"full\"\n minHeight={['2xs', null, null, 'sm']}\n >\n <Image\n src={strapiMediaUrl(image.img, 'large')}\n alt={image.alt}\n fill\n style={{\n objectFit: image.objectFit || 'contain',\n borderRadius: 'var(--boemly-radii-xl)',\n }}\n />\n </Box>\n </Box>\n );\n return (\n <Fragment key={id}>\n {(oneColumnGrid || index % 2 !== 0) && imageBox}\n <Box\n display=\"flex\"\n alignItems=\"flex-start\"\n flexDirection=\"column\"\n justifyContent=\"center\"\n >\n <Heading as=\"h2\" size=\"xl\" mb=\"4\">\n {title}\n </Heading>\n <Text size=\"mdRegularNormal\">{text}</Text>\n {button && (\n <StrapiLinkButton\n mt=\"5\"\n link={button}\n size=\"sm\"\n variant=\"outline\"\n rightIcon={<CaretRight size=\"10\" color={gray700} />}\n />\n )}\n </Box>\n {!oneColumnGrid && index % 2 === 0 && imageBox}\n </Fragment>\n );\n }\n )}\n </SimpleGrid>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","import React from 'react';\nimport {\n DefaultSectionContainer,\n DefaultSectionHeader,\n Grid,\n GridItem,\n PortfolioCard,\n Spacer,\n BoemlyList,\n Wrapper,\n} from 'boemly';\nimport { ArrowRight } from '@phosphor-icons/react';\nimport Image from 'next/image';\nimport { useRouter } from 'next/router';\nimport strapiLinkUrl from '../../utils/strapiLinkUrl';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport StrapiPortfolioCard from '../../models/strapi/StrapiPortfolioCard';\nimport StrapiDefaultHeader from '../../models/strapi/StrapiDefaultHeader';\nimport StrapiLink from '../../models/strapi/StrapiLink';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\n\ninterface LeftTextRightCardSlice extends StrapiDefaultHeader {\n checkMarkLabels?: {\n id: number;\n text: string;\n }[];\n button?: StrapiLink;\n card?: StrapiPortfolioCard;\n}\nexport interface LeftTextRightCardProps {\n slice: LeftTextRightCardSlice;\n}\n\nexport const LeftTextRightCard: React.FC<LeftTextRightCardProps> = ({\n slice,\n}: LeftTextRightCardProps) => {\n const { push } = useRouter();\n\n return (\n <DefaultSectionContainer title={slice.title}>\n <Wrapper>\n <Grid\n templateColumns={[\n 'repeat(8, 1fr)',\n null,\n null,\n null,\n 'repeat(12, 1fr)',\n ]}\n templateRows={['repeat(2, 1fr)', null, null, null, 'repeat(1, 1fr)']}\n rowGap=\"12\"\n >\n <GridItem colSpan={8} rowSpan={1} pr={['0', null, null, null, '28']}>\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.text}\n />\n\n {slice.checkMarkLabels && (\n <>\n <Spacer height=\"10\" />\n <BoemlyList listItems={slice.checkMarkLabels} />\n <Spacer height=\"10\" />\n </>\n )}\n\n {slice.button && (\n <StrapiLinkButton\n link={slice.button}\n size=\"md\"\n colorScheme=\"white\"\n variant=\"outline\"\n rightIcon={<ArrowRight />}\n />\n )}\n </GridItem>\n <GridItem\n colSpan={[8, null, null, null, 4]}\n rowSpan={1}\n position=\"relative\"\n >\n {slice.card && (\n <PortfolioCard\n title={slice.card.title}\n button={\n slice.card.button && {\n text: slice.card.button.text,\n onClick: () => push(strapiLinkUrl(slice.card?.button)),\n }\n }\n facts={slice.card.facts}\n image={\n <Image\n src={strapiMediaUrl(slice.card.image.img, 'medium')}\n alt={slice.card.image.alt}\n fill\n style={{ objectFit: slice.card.image.objectFit || 'cover' }}\n />\n }\n portfolioNumber={slice.card.portfolioNumber}\n />\n )}\n </GridItem>\n </Grid>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","import React from 'react';\nimport {\n Box,\n DefaultSectionContainer,\n Flex,\n Heading,\n RichText,\n SimpleGrid,\n useToken,\n Wrapper,\n} from 'boemly';\nimport Image from 'next/image';\nimport { ArrowRight } from '@phosphor-icons/react';\nimport strapiLinkUrl from '../../utils/strapiLinkUrl';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\nimport StrapiImageWithLink from '../../models/strapi/StrapiImageWithLink';\nimport StrapiLink from '../../models/strapi/StrapiLink';\n\nexport interface LogoGridWithTextProps {\n slice: {\n title: string;\n text: string;\n button?: StrapiLink;\n logos: StrapiImageWithLink[];\n };\n}\n\nexport const LogoGridWithText: React.FC<LogoGridWithTextProps> = ({\n slice,\n}: LogoGridWithTextProps) => {\n const [primary50] = useToken('colors', ['primary.50']);\n\n return (\n <DefaultSectionContainer backgroundColor={primary50} title={slice.title}>\n <Wrapper>\n <SimpleGrid columns={2} gap=\"28\" minChildWidth=\"16rem\">\n <Box\n display=\"flex\"\n flexDirection=\"column\"\n justifyContent=\"center\"\n alignItems=\"flex-start\"\n >\n <Heading as=\"h2\" size=\"3xl\" mb=\"4\">\n {slice.title}\n </Heading>\n <RichText content={slice.text} />\n {slice.button && (\n <StrapiLinkButton\n link={slice.button}\n size=\"md\"\n colorScheme=\"white\"\n variant=\"outline\"\n mt=\"6\"\n rightIcon={<ArrowRight />}\n />\n )}\n </Box>\n <Flex flexDir=\"row\" flexWrap=\"wrap\" gap={['12', null, null, '28']}>\n {slice.logos.map((logo) => (\n <Flex\n key={logo.id}\n justifyContent=\"center\"\n alignItems=\"center\"\n flexGrow={1}\n flexShrink={0}\n flexBasis={slice.logos.length > 2 ? '34%' : '90%'} // 34% are just enough to not allow three in one row\n >\n <Box position=\"relative\" height=\"20\" width=\"100%\">\n {logo.link ? (\n <a href={strapiLinkUrl(logo.link)}>\n <Image\n src={strapiMediaUrl(logo.img, 'small')}\n alt={logo.alt}\n fill\n style={{ objectFit: logo.objectFit || 'contain' }}\n />\n </a>\n ) : (\n <Image\n src={strapiMediaUrl(logo.img, 'small')}\n alt={logo.alt}\n fill\n style={{ objectFit: logo.objectFit || 'contain' }}\n />\n )}\n </Box>\n </Flex>\n ))}\n </Flex>\n </SimpleGrid>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","import styled from '@emotion/styled';\nimport { BREAKPOINT_LG } from '../../constants/breakpoints';\nimport { Box } from 'boemly';\n\nexport const MapHeroContainer = styled(Box)`\n position: relative;\n width: 100vw;\n height: var(--default-hero-height);\n min-height: var(--boemly-sizes-3xl);\n background-color: var(--boemly-colors-primary-50);\n overflow: hidden;\n z-index: var(--boemly-zIndices-base);\n\n @media screen and (max-width: ${BREAKPOINT_LG}) {\n height: auto;\n }\n`;\n\nexport const MapHeroTextContainer = styled(Box)`\n position: absolute;\n width: 100vw;\n top: 56%;\n left: 0;\n transform: translateY(-50%);\n z-index: var(--boemly-zIndices-aboveBase);\n\n @media screen and (max-width: ${BREAKPOINT_LG}) {\n position: relative;\n transform: unset;\n\n padding-top: var(--boemly-space-32);\n }\n`;\n\nexport const ShapeContainer = styled(Box)`\n position: absolute;\n bottom: calc(var(--boemly-space-8) * -1);\n left: 0;\n\n width: var(--boemly-sizes-sm);\n height: var(--boemly-sizes-sm);\n\n border-top-right-radius: var(--boemly-radii-full);\n\n & span,\n div {\n border-top-right-radius: var(--boemly-radii-full);\n }\n\n @media screen and (max-width: ${BREAKPOINT_LG}) {\n display: none;\n }\n`;\n\nexport const MapContainer = styled(Box)`\n position: absolute;\n\n width: 50%;\n height: 100%;\n\n right: 0;\n top: 0;\n\n & img {\n object-fit: cover !important;\n }\n\n @media screen and (max-width: ${BREAKPOINT_LG}) {\n width: 100%;\n height: var(--boemly-sizes-4xl);\n position: relative;\n margin-top: calc(var(--boemly-space-72) * -1);\n background-color: var(--boemly-colors-white);\n\n & img {\n object-fit: contain !important;\n }\n }\n`;\n\nexport const MapGradient = styled(Box)`\n position: absolute;\n top: 0;\n right: 0;\n width: 100%;\n height: 100%;\n\n background: linear-gradient(\n 90deg,\n var(--boemly-colors-primary-50) 0%,\n var(--boemly-colors-primary-50) 10%,\n rgba(243, 246, 245, 0.6) 28%,\n rgba(243, 246, 245, 0) 40%,\n rgba(243, 246, 245, 0) 100%\n );\n\n @media screen and (max-width: ${BREAKPOINT_LG}) {\n background: linear-gradient(\n 180deg,\n var(--boemly-colors-primary-50) 0%,\n var(--boemly-colors-primary-50) 36%,\n rgba(243, 246, 245, 0.12) 46%,\n rgba(243, 246, 245, 0) 100%\n );\n }\n`;\n","import React from 'react';\nimport { DefaultSectionHeader, Flex, useMediaQuery, Wrapper } from 'boemly';\nimport Image from 'next/image';\nimport { BREAKPOINT_LG_QUERY } from '../../constants/breakpoints';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\nimport StrapiImage from '../../models/strapi/StrapiImage';\nimport StrapiLink from '../../models/strapi/StrapiLink';\nimport {\n MapHeroContainer,\n MapHeroTextContainer,\n ShapeContainer,\n MapContainer,\n MapGradient,\n} from './styles';\n\nexport interface MapHeroProps {\n slice: {\n tagline?: string;\n title: string;\n subTitle?: string;\n buttons?: StrapiLink[];\n shape?: StrapiImage;\n map: StrapiImage;\n mobileMap: StrapiImage;\n };\n}\n\nexport const MapHero: React.FC<MapHeroProps> = ({ slice }: MapHeroProps) => {\n const [belowBreakpoint] = useMediaQuery(BREAKPOINT_LG_QUERY);\n\n return (\n <MapHeroContainer maxWidth=\"full\">\n {slice.shape && (\n <ShapeContainer>\n <Image\n src={strapiMediaUrl(slice.shape.img, 'medium')}\n alt={slice.shape.alt}\n fill\n style={{ objectFit: slice.shape.objectFit || 'cover' }}\n />\n </ShapeContainer>\n )}\n <MapHeroTextContainer>\n <Wrapper>\n <>\n <DefaultSectionHeader\n isHero\n tagline={slice.tagline}\n title={slice.title}\n text={slice.subTitle}\n titleProps={{ maxW: ['100%', null, null, null, '60%'] }}\n textProps={{ maxW: ['100%', null, null, null, '55%'] }}\n />\n {slice.buttons && slice.buttons.length > 0 && (\n <Flex mt=\"10\" flexDir=\"row\" gap=\"5\">\n <StrapiLinkButton link={slice.buttons[0]} size=\"xl\" />\n {slice.buttons.length === 2 && (\n <StrapiLinkButton\n link={slice.buttons[1]}\n variant=\"outline\"\n size=\"xl\"\n />\n )}\n </Flex>\n )}\n </>\n </Wrapper>\n </MapHeroTextContainer>\n <MapContainer>\n {belowBreakpoint ? (\n <Image\n src={strapiMediaUrl(slice.mobileMap.img, 'xLarge')}\n alt={slice.mobileMap.alt}\n fill\n style={{ objectFit: slice.mobileMap.objectFit || 'contain' }}\n />\n ) : (\n <Image\n src={strapiMediaUrl(slice.map.img, 'xLarge')}\n alt={slice.map.alt}\n fill\n style={{ objectFit: slice.map.objectFit || 'cover' }}\n />\n )}\n <MapGradient />\n </MapContainer>\n </MapHeroContainer>\n );\n};\n","const convertToKebabCase = (str: string) => {\n const matches =\n str &&\n str.match(\n /[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g\n );\n return matches ? matches.map((x: string) => x.toLowerCase()).join('-') : '';\n};\n\nexport default convertToKebabCase;\n","import React from 'react';\nimport {\n Box,\n Heading,\n HeroCard,\n SimpleGrid,\n Text,\n BoemlyAccordion,\n Wrapper,\n Flex,\n Spacer,\n} from 'boemly';\nimport { ArrowRight } from '@phosphor-icons/react';\nimport { useRouter } from 'next/router';\nimport Image from 'next/image';\nimport StrapiLink from '../../models/strapi/StrapiLink';\nimport strapiLinkUrl from '../../utils/strapiLinkUrl';\nimport StrapiHeroCard from '../../models/strapi/StrapiHeroCard';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\nimport convertToKebabCase from '../../utils/convertToKebabCase';\n\nconst VARIANTS = {\n gray: {\n backgroundColor: 'primary.50',\n tagLineColor: 'primary.500',\n textColor: 'black',\n accordionVariant: 'black',\n otherQuestionsBackground: 'primary.700',\n },\n green: {\n backgroundColor: 'primary.800',\n tagLineColor: 'white',\n textColor: 'white',\n accordionVariant: 'white',\n otherQuestionsBackground: 'primary.900',\n },\n white: {\n backgroundColor: 'white',\n tagLineColor: 'primary.500',\n textColor: 'black',\n accordionVariant: 'black',\n otherQuestionsBackground: 'primary.700',\n },\n};\n\nexport interface QAndAProps {\n slice: {\n tagline: string;\n title: string;\n questionsAndAnswers: {\n id: number;\n key: string;\n value: string;\n }[];\n otherQuestions: string;\n button: StrapiLink;\n hero?: StrapiHeroCard;\n variant?: keyof typeof VARIANTS;\n };\n}\n\nexport const QAndA: React.FC<QAndAProps> = ({ slice }: QAndAProps) => {\n const { push } = useRouter();\n\n const variant = VARIANTS[slice.variant ?? 'green'];\n\n return (\n <>\n <Box\n pb={slice.hero ? 80 : 28}\n id={convertToKebabCase(slice.title)}\n backgroundColor={variant.backgroundColor}\n >\n <Wrapper>\n <SimpleGrid columns={[1, null, null, 2]}>\n <Box mr=\"16\" paddingY=\"28\">\n <Text size=\"mdMonoUppercase\" color={variant.tagLineColor}>\n {slice.tagline}\n </Text>\n <Heading\n as=\"h2\"\n size=\"3xl\"\n color={variant.textColor}\n mt=\"6\"\n mb=\"16\"\n >\n {slice.title}\n </Heading>\n </Box>\n <Box\n maxHeight={['unset', null, null, 'xl']}\n paddingTop={['0', null, null, '28']}\n paddingRight={['0', null, null, '6']}\n overflowY={['unset', null, null, 'scroll']}\n >\n <Box>\n <BoemlyAccordion\n rows={slice.questionsAndAnswers}\n defaultIndex={0}\n variant={variant.accordionVariant as 'white' | 'black'}\n />\n <Flex\n padding=\"8\"\n backgroundColor={variant.otherQuestionsBackground}\n borderRadius=\"2xl\"\n mt=\"14\"\n flexDir={['column', null, null, 'row']}\n justifyContent={['flex-start', null, null, 'space-between']}\n alignItems={['flex-start', null, null, 'center']}\n >\n <Heading as=\"h6\" size=\"sm\" color=\"white\">\n {slice.otherQuestions}\n </Heading>\n <Spacer minHeight={['4', null, null, '0']} />\n <StrapiLinkButton\n size=\"lg\"\n colorScheme=\"white\"\n background=\"white\"\n rightIcon={<ArrowRight />}\n link={slice.button}\n />\n </Flex>\n </Box>\n </Box>\n </SimpleGrid>\n </Wrapper>\n </Box>\n\n {slice.hero && (\n <Box pb=\"28\" mt=\"-56\">\n <Wrapper>\n <HeroCard\n title={slice.hero.title}\n subTitle={slice.hero.subTitle}\n link={\n slice.hero.button && {\n text: slice.hero.button.text,\n onClick: () => push(strapiLinkUrl(slice.hero?.button)),\n }\n }\n image={\n slice.hero.image && (\n <Image\n src={strapiMediaUrl(slice.hero.image.img, 'xLarge')}\n alt={slice.hero.image.alt}\n fill\n style={{ objectFit: slice.hero.image.objectFit || 'cover' }}\n />\n )\n }\n />\n </Wrapper>\n </Box>\n )}\n </>\n );\n};\n","import React from 'react';\nimport Image from 'next/image';\nimport {\n Box,\n DefaultSectionHeader,\n HeroCard,\n QuoteCard,\n Shape,\n SimpleGrid,\n Wrapper,\n} from 'boemly';\nimport StrapiDefaultHeader from '../../models/strapi/StrapiDefaultHeader';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport StrapiQuoteCard from '../../models/strapi/StrapiQuoteCard';\nimport StrapiHeroCard from '../../models/strapi/StrapiHeroCard';\nimport strapiLinkUrl from '../../utils/strapiLinkUrl';\nimport StrapiImage from '../../models/strapi/StrapiImage';\nimport convertToKebabCase from '../../utils/convertToKebabCase';\nimport { useRouter } from 'next/router';\n\ninterface QuoteCardsSlice extends StrapiDefaultHeader {\n cards: StrapiQuoteCard[];\n shapes?: StrapiImage[];\n hero?: StrapiHeroCard;\n}\nexport interface QuoteCardsProps {\n slice: QuoteCardsSlice;\n}\n\nexport const QuoteCards: React.FC<QuoteCardsProps> = ({\n slice,\n}: QuoteCardsProps) => {\n const { push } = useRouter();\n\n return (\n <>\n <Box\n id={convertToKebabCase(slice.title)}\n position=\"relative\"\n paddingTop=\"28\"\n paddingBottom={!!slice.hero ? '80' : '28'}\n >\n {slice.shapes && slice.shapes.length === 2 && (\n <>\n <Shape\n shape={\n <Image\n src={strapiMediaUrl(slice.shapes[0].img, 'small')}\n alt={slice.shapes[0].alt}\n fill\n style={{ objectFit: slice.shapes[0].objectFit || 'cover' }}\n />\n }\n top=\"0\"\n right=\"0\"\n size=\"xs\"\n radius=\"bottom-left\"\n />\n <Shape\n shape={\n <Image\n src={strapiMediaUrl(slice.shapes[1].img, 'small')}\n alt={slice.shapes[1].alt}\n fill\n style={{ objectFit: slice.shapes[1].objectFit || 'cover' }}\n />\n }\n bottom=\"0\"\n left=\"0\"\n radius=\"top-right\"\n />\n </>\n )}\n <Wrapper>\n <Box maxW=\"3xl\">\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.text}\n />\n </Box>\n <SimpleGrid\n columns={2}\n gap=\"20\"\n rowGap=\"6\"\n mt=\"16\"\n minChildWidth={['100%', null, '16rem']}\n >\n {slice.cards.map((card) => (\n <Box key={card.id} width=\"full\" maxWidth=\"2xl\">\n <QuoteCard\n key={card.id}\n avatar={{\n name: card.avatar.name,\n description: card.avatar.description,\n image: (\n <Image\n src={strapiMediaUrl(card.avatar.image.img, 'small')}\n alt={card.avatar.image.alt}\n fill\n style={{\n objectFit: card.avatar.image.objectFit || 'cover',\n }}\n />\n ),\n }}\n text={card.text}\n />\n </Box>\n ))}\n </SimpleGrid>\n </Wrapper>\n </Box>\n {slice.hero && (\n <Box marginTop=\"-40\" paddingBottom=\"28\">\n <Wrapper>\n <HeroCard\n title={slice.hero.title}\n subTitle={slice.hero.subTitle}\n link={\n slice.hero.button && {\n text: slice.hero.button.text,\n onClick: () => push(strapiLinkUrl(slice.hero?.button)),\n }\n }\n image={\n slice.hero.image && (\n <Image\n src={strapiMediaUrl(slice.hero.image.img, 'xLarge')}\n alt={slice.hero.image.alt}\n fill\n style={{ objectFit: slice.hero.image.objectFit || 'cover' }}\n />\n )\n }\n />\n </Wrapper>\n </Box>\n )}\n </>\n );\n};\n","import React from 'react';\nimport {\n DefaultSectionContainer,\n Grid,\n GridItem,\n RichText,\n Wrapper,\n} from 'boemly';\n\nexport interface RichTextSectionProps {\n slice: {\n content: string;\n };\n}\n\nexport const RichTextSection: React.FC<RichTextSectionProps> = ({\n slice,\n}: RichTextSectionProps) => (\n <DefaultSectionContainer>\n <Wrapper>\n <Grid templateColumns=\"repeat(12, 1fr)\" gap=\"4\">\n <GridItem colSpan={[12, null, null, 7]}>\n <RichText content={slice.content} />\n </GridItem>\n </Grid>\n </Wrapper>\n </DefaultSectionContainer>\n);\n","import React, { createRef, useEffect, useRef, useState } from 'react';\nimport {\n Box,\n Center,\n DefaultSectionContainer,\n DefaultSectionHeader,\n Flex,\n Gradient,\n Heading,\n RichText,\n ShapesCard,\n Text,\n useToken,\n Wrapper,\n} from 'boemly';\nimport Image from 'next/image';\nimport { useWindowScroll, useWindowSize } from 'react-use';\nimport { useRouter } from 'next/router';\nimport StrapiShapesCard from '../../models/strapi/StrapiShapesCard';\nimport StrapiDefaultHeader from '../../models/strapi/StrapiDefaultHeader';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport strapiLinkUrl from '../../utils/strapiLinkUrl';\nimport StrapiImage from '../../models/strapi/StrapiImage';\n\ninterface StepsSlice extends StrapiDefaultHeader {\n steps: {\n id: number;\n step: number;\n title: string;\n text?: string;\n }[];\n image?: StrapiImage;\n card?: StrapiShapesCard;\n}\nexport interface StepsProps {\n slice: StepsSlice;\n}\n\nexport const Steps: React.FC<StepsProps> = ({ slice }: StepsProps) => {\n const { push } = useRouter();\n const [gray900] = useToken('colors', ['gray.900']);\n\n const containerRef = useRef<HTMLDivElement>(null);\n\n const [stepRefs, setStepRefs] = useState(new Array(slice.steps.length));\n const [stepProgress, setStepProgress] = useState(\n new Array(slice.steps.length)\n );\n\n const { y: offsetY } = useWindowScroll();\n const { height: windowHeight } = useWindowSize();\n\n useEffect(() => {\n setStepRefs(slice.steps.map(() => createRef()));\n }, []);\n\n useEffect(() => {\n const containerOffsetTop = containerRef.current?.offsetTop || 0;\n setStepProgress(\n stepRefs.map((ref) => {\n const currentItemOffsetTop = ref.current?.offsetTop || 0;\n return containerOffsetTop + currentItemOffsetTop <\n offsetY + windowHeight / 3\n ? 100\n : 0;\n })\n );\n }, [offsetY]);\n\n return (\n <div ref={containerRef}>\n <DefaultSectionContainer backgroundColor={gray900} title={slice.title}>\n <>\n {slice.image && (\n <Box\n position=\"absolute\"\n top=\"0\"\n left=\"0\"\n width=\"full\"\n height=\"full\"\n >\n <Image\n src={strapiMediaUrl(slice.image.img, 'xLarge')}\n alt={slice.image.alt}\n fill\n style={{ objectFit: slice.image.objectFit || 'cover' }}\n />\n <Gradient />\n </Box>\n )}\n </>\n <Wrapper>\n <>\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.text}\n taglineProps={{ textAlign: 'center' }}\n titleProps={{\n textAlign: 'center',\n maxW: '2xl',\n marginX: 'auto',\n color: 'white',\n }}\n textProps={{\n textAlign: 'center',\n maxW: 'xl',\n marginX: 'auto',\n color: 'whiteAlpha.800',\n }}\n />\n\n <Box marginTop={['16', null, '24']}>\n {slice.steps.map(({ id, step, title, text }, index) => (\n <Flex flexDir=\"column\" alignItems=\"center\" key={id}>\n <Center\n width=\"10\"\n height=\"10\"\n borderRadius=\"full\"\n backgroundColor=\"white\"\n >\n <Text size=\"smRegularNormal\" color=\"black\">\n {step}\n </Text>\n </Center>\n <Heading size=\"lg\" color=\"white\" mt=\"4\" textAlign=\"center\">\n {title}\n </Heading>\n {text && (\n <Box maxW=\"xl\" mt=\"4\">\n <RichText\n options={{ forceBlock: true }}\n content={text}\n textProps={{\n size: 'mdRegularNormal',\n color: 'whiteAlpha.700',\n textAlign: 'center',\n }}\n />\n </Box>\n )}\n {(index + 1 < slice.steps.length || slice.card) && (\n <Box\n ref={stepRefs[index]}\n position=\"relative\"\n marginTop=\"4\"\n marginBottom=\"6\"\n height=\"12\"\n >\n <Box\n position=\"absolute\"\n height=\"full\"\n borderLeft=\"dashed 1px white\"\n opacity=\"0.5\"\n />\n <Box\n position=\"absolute\"\n height={`${stepProgress[index]}%`}\n borderRight=\"solid 1px white\"\n opacity=\"1\"\n transition=\"height ease var(--medium-transition-duration)\"\n />\n </Box>\n )}\n </Flex>\n ))}\n </Box>\n\n {slice.card && (\n <ShapesCard\n tagline={slice.card.tagline}\n title={slice.card.title}\n text={slice.card.text}\n shapes={\n slice.card.shapes &&\n slice.card.shapes?.map((shape) => (\n <Image\n key={shape.id}\n src={strapiMediaUrl(shape.img, 'small')}\n alt={shape.alt}\n fill\n style={{ objectFit: shape.objectFit || 'cover' }}\n />\n ))\n }\n button={\n slice.card.button && {\n text: slice.card.button.text,\n onClick: () => push(strapiLinkUrl(slice.card?.button)),\n }\n }\n />\n )}\n </>\n </Wrapper>\n </DefaultSectionContainer>\n </div>\n );\n};\n","import React from 'react';\nimport { css } from '@emotion/react';\nimport {\n Box,\n DefaultSectionContainer,\n DefaultSectionHeader,\n Flex,\n Heading,\n RichText,\n SimpleGrid,\n Text,\n useToken,\n Wrapper,\n} from 'boemly';\nimport Image from 'next/image';\nimport { CaretRight } from '@phosphor-icons/react';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\nimport StrapiDefaultHeader from '../../models/strapi/StrapiDefaultHeader';\nimport StrapiImage from '../../models/strapi/StrapiImage';\nimport StrapiLink from '../../models/strapi/StrapiLink';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\n\ninterface TextCardGridSlice extends StrapiDefaultHeader {\n variant: 'shape' | 'image';\n cards: {\n id: number;\n tagline?: string;\n title: string;\n text: string;\n image: StrapiImage;\n buttons?: StrapiLink[];\n }[];\n}\nexport interface TextCardGridProps {\n slice: TextCardGridSlice;\n}\n\nenum ShapePosition {\n topLeft = 'top-left',\n topRight = 'top-right',\n bottomLeft = 'bottom-left',\n bottomRight = 'bottom-right',\n unset = 'unset',\n}\n\nconst shapePositions: ShapePosition[] = [\n ShapePosition.topLeft,\n ShapePosition.bottomRight,\n ShapePosition.topRight,\n ShapePosition.bottomLeft,\n ShapePosition.topRight,\n ShapePosition.bottomLeft,\n ShapePosition.topLeft,\n ShapePosition.bottomRight,\n];\n\nconst oppositesOfCorners = {\n [ShapePosition.bottomLeft]: ShapePosition.topRight,\n [ShapePosition.topRight]: ShapePosition.bottomLeft,\n [ShapePosition.bottomRight]: ShapePosition.topLeft,\n [ShapePosition.topLeft]: ShapePosition.bottomRight,\n [ShapePosition.unset]: ShapePosition.unset,\n};\n\ntype Variant = {\n padding: (string | null)[];\n positionIcon: (index: number) => ShapePosition;\n width: string;\n height: string;\n position: 'absolute' | 'relative';\n mb: string;\n};\n\nconst variants: { shape: Variant; image: Variant } = {\n shape: {\n padding: ['6', null, null, '8'],\n positionIcon: (index: number) => shapePositions[index],\n width: '40',\n height: '40',\n position: 'absolute',\n mb: 'unset',\n },\n image: {\n padding: ['6', null, null, '8'],\n positionIcon: () => ShapePosition.unset,\n width: '24',\n height: '24',\n position: 'relative',\n mb: '10',\n },\n};\n\nexport const TextCardGrid: React.FC<TextCardGridProps> = ({\n slice,\n}: TextCardGridProps) => {\n const [primary800] = useToken('colors', ['primary.800']);\n\n return (\n <DefaultSectionContainer backgroundColor={primary800} title={slice.title}>\n <Wrapper>\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.text}\n taglineProps={{ textAlign: 'center', color: 'white' }}\n titleProps={{\n textAlign: 'center',\n maxW: '2xl',\n marginX: 'auto',\n color: 'white',\n }}\n textProps={{\n textAlign: 'center',\n maxW: 'xl',\n marginX: 'auto',\n color: 'whiteAlpha.800',\n }}\n />\n\n <SimpleGrid\n mt={['14', null, null, '24']}\n columns={3}\n justifyItems=\"center\"\n gap=\"20\"\n rowGap=\"16\"\n minChildWidth={['100%', null, '16rem']}\n >\n {slice.cards.map(\n ({ id, tagline, title, text, image, buttons }, index) => (\n <Box\n key={id}\n backgroundColor=\"white\"\n zIndex=\"base\"\n padding={variants[slice.variant].padding}\n boxShadow=\"lg\"\n borderRadius=\"2xl\"\n minHeight=\"2xs\"\n width=\"full\"\n maxWidth={slice.cards.length > 1 ? 'unset' : 'xl'}\n position=\"relative\"\n display=\"flex\"\n flexDir=\"column\"\n alignItems=\"flex-start\"\n justifyContent={\n slice.variant === 'shape' ? 'flex-end' : 'flex-start'\n }\n overflow=\"hidden\"\n >\n <Box\n position={variants[slice.variant].position}\n width={variants[slice.variant].width}\n height={variants[slice.variant].height}\n mb={variants[slice.variant].mb}\n top={\n variants[slice.variant].positionIcon(index).includes('top')\n ? '-4'\n : 'unset'\n }\n left={\n variants[slice.variant].positionIcon(index).includes('left')\n ? '-4'\n : 'unset'\n }\n right={\n variants[slice.variant]\n .positionIcon(index)\n .includes('right')\n ? '-4'\n : 'unset'\n }\n bottom={\n variants[slice.variant]\n .positionIcon(index)\n .includes('bottom')\n ? '-4'\n : 'unset'\n }\n borderBottomRightRadius={\n oppositesOfCorners[\n variants[slice.variant].positionIcon(index)\n ].includes('bottomRight')\n ? 'full'\n : 'unset'\n }\n borderBottomLeftRadius={\n oppositesOfCorners[\n variants[slice.variant].positionIcon(index)\n ].includes('bottomLeft')\n ? 'full'\n : 'unset'\n }\n borderTopRightRadius={\n oppositesOfCorners[\n variants[slice.variant].positionIcon(index)\n ].includes('topRight')\n ? 'full'\n : 'unset'\n }\n borderTopLeftRadius={\n oppositesOfCorners[\n variants[slice.variant].positionIcon(index)\n ].includes('topLeft')\n ? 'full'\n : 'unset'\n }\n css={\n variants[slice.variant]\n .positionIcon(index)\n .includes('unset')\n ? css`\n & span,\n div,\n img {\n border-radius: var(--boemly-radii-xl);\n }\n `\n : css`\n & span,\n div,\n img {\n border-${\n oppositesOfCorners[\n variants[slice.variant].positionIcon(index)\n ]\n }-radius: var(--boemly-radii-full);\n }\n `\n }\n >\n <Image\n src={strapiMediaUrl(image.img, 'small')}\n alt={image.alt}\n fill\n style={{ objectFit: image.objectFit || 'cover' }}\n />\n </Box>\n <Box zIndex=\"aboveBase\" width=\"full\">\n {tagline && (\n <Text color=\"black\" size=\"smMonoNormal\" mb=\"2\">\n {tagline}\n </Text>\n )}\n <Heading as=\"h4\" size=\"xl\" mb=\"3\">\n {title}\n </Heading>\n <RichText\n content={text}\n listProps={{\n textColor: 'gray.500',\n textSize: 'smRegularNormal',\n }}\n textProps={{\n color: 'gray.500',\n size: 'smRegularNormal',\n }}\n />\n {buttons && !!buttons.length && (\n <Flex\n mt=\"4\"\n gap=\"3\"\n flexDir={['column', null, null, null, 'row']}\n >\n {buttons.map((button, buttonIndex) => (\n <StrapiLinkButton\n key={button.id}\n link={button}\n size=\"sm\"\n rightIcon={\n buttonIndex === 0 ? (\n <CaretRight size=\"10\" weight=\"bold\" />\n ) : undefined\n }\n variant={buttonIndex === 0 ? 'outline' : 'ghost'}\n />\n ))}\n </Flex>\n )}\n </Box>\n </Box>\n )\n )}\n </SimpleGrid>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","import { motion } from 'framer-motion';\nimport styled from '@emotion/styled';\nimport { BREAKPOINT_MD } from '../../constants/breakpoints';\nimport { Box } from 'boemly';\n\nexport const CarouselContainer = styled(Box)`\n margin-top: var(--boemly-space-6);\n padding: var(--boemly-space-8) 0;\n\n @media screen and (max-width: ${BREAKPOINT_MD}) {\n margin-top: var(--boemly-space-4);\n width: var(--boemly-sizes-full);\n }\n\n width: var(--boemly-sizes-full);\n\n overflow-x: hidden;\n\n @media screen and (max-width: ${BREAKPOINT_MD}) {\n overflow-x: scroll;\n }\n`;\n\ninterface CarouselInnerContainerProps {\n numberOfItems: number;\n}\nexport const CarouselInnerContainer = styled(\n motion.div\n)<CarouselInnerContainerProps>`\n display: flex;\n gap: var(--boemly-space-6);\n justify-content: center;\n\n width: calc(\n (var(--boemly-sizes-sm) + var(--boemly-space-6)) *\n ${({ numberOfItems }: CarouselInnerContainerProps) => numberOfItems} +\n var(--boemly-space-6)\n );\n min-width: var(--boemly-sizes-full);\n\n @media screen and (max-width: ${BREAKPOINT_MD}) {\n justify-content: flex-start;\n width: calc(\n (var(--boemly-sizes-2xs) + var(--boemly-space-4)) *\n ${({ numberOfItems }: CarouselInnerContainerProps) => numberOfItems} +\n var(--boemly-space-6)\n );\n }\n`;\n\nexport const CardContainer = styled(Box)`\n width: var(--boemly-sizes-sm);\n\n @media screen and (max-width: ${BREAKPOINT_MD}) {\n width: var(--boemly-sizes-2xs);\n\n margin-right: var(--boemly-space-4);\n\n &:first-of-type {\n margin-left: var(--boemly-space-6);\n }\n }\n`;\n","const messagesDe = {\n 'sections.comparison.backgroundShapes': 'Hintergrundformen',\n};\nexport default messagesDe;\n","const messagesDe = {\n 'components.creditsAvailableBadge.text.yes': 'Credits verfügbar',\n 'components.creditsAvailableBadge.text.some': 'Einige verbleibende Credits',\n 'components.creditsAvailableBadge.text.no': 'Keine verbleibenden Credits',\n 'components.creditsAvailableBadge.text.notYet': 'Gutschriften bald verfügbar',\n};\nexport default messagesDe;\n","const messagesDe = {\n 'sections.cta.backgroundShapes': 'Dunkle Hintergrundformen',\n 'sections.cta.backgroundShapesLight': 'Helle Hintergrundformen',\n};\nexport default messagesDe;\n","const messagesDe = {\n 'sections.customerCard.more': 'Weiterlesen',\n};\nexport default messagesDe;\n","const messagesDe = {\n 'sections.customerQuoteCard.more': 'Weiterlesen',\n};\nexport default messagesDe;\n","const messagesDe = {\n 'sections.glossary.copyButtonLabel':\n 'Kopiere den Link zu diesem Abschnitt in die Zwischenablage',\n 'sections.glossary.copySuccessMessage': 'Link in die Zwischenablage kopiert',\n 'sections.glossary.copyFailureMessage':\n 'Link konnte nicht in die Zwischenablage kopiert werden',\n};\nexport default messagesDe;\n","const messagesDe = {\n 'features.portfolio.documentsDownloadList.projectDocuments':\n 'Projektdokumente',\n 'features.portfolio.documentsDownloadList.downloadDocument':\n 'Dokument herunterladen',\n};\nexport default messagesDe;\n","const messagesDe = {\n 'sections.projectFacts.projectInfo.value': 'Projekt Infos',\n 'projects.projectFacts.properties.area': 'Fläche',\n};\nexport default messagesDe;\n","const messagesDe = {\n 'sections.projectsMap.link.text': 'Mehr Infos',\n};\nexport default messagesDe;\n","const messagesDe = {\n 'features.projectInfo.projectInfo.value': 'Projekt Infos',\n 'features.projectInfo.properties.area': 'Projekt Fläche',\n 'features.projectInfo.properties.location': 'Standort',\n 'features.projectInfo.properties.start': 'Projekt Start Datum',\n 'features.projectInfo.properties.timeSpan': 'Projekt Zeitraum',\n 'features.projectInfo.properties.projectType': 'Projekt Typ',\n 'features.projectInfo.properties.projectDeveloper': 'Projekt Entwickler',\n 'features.projectInfo.properties.verificationStandard.label':\n 'Verifizierungsstandard',\n 'features.projectInfo.properties.verificationStandard.value.SilvaconsultFCSISO14':\n 'SILVACONSULT® Forest Carbon Standard, ISO 14064-2',\n 'features.projectInfo.properties.verificationStandard.value.MfKWCH':\n 'Methodik für Klimaschutzprojekte im Wald für die Schweiz',\n 'features.projectInfo.properties.forecastedAmountYear.label':\n 'Projektvolumen',\n 'features.projectInfo.properties.riskBuffer': 'Anteil Risikopuffer',\n\n 'features.projectInfo.properties.year':\n '{years} {years, plural, one {Jahr} other {Jahre} }',\n};\n\nexport default messagesDe;\n","const messagesDe = {\n 'components.portfolioProjectCard.text.yes': 'Credits verfügbar',\n 'components.portfolioProjectCard.text.some': 'Einige verbleibende Credits',\n 'components.portfolioProjectCard.text.no': 'Keine verbleibenden Credits',\n 'components.portfolioProjectCard.text.notYet': 'Gutschriften bald verfügbar',\n};\n\nexport default messagesDe;\n","const messagesDe = {\n 'portfolio.smallCheckout.contributionValueCurrency.label.CHF':\n 'Geben Sie den Beitrag in Fr. ein',\n 'portfolio.smallCheckout.contributionValueCurrency.label.EUR':\n 'Geben Sie den Beitrag in € ein',\n 'portfolio.smallCheckout.contributionValueCurrency.unit.EUR': '€',\n 'portfolio.smallCheckout.contributionValueCurrency.unit.CHF': 'Fr.',\n 'portfolio.smallCheckout.contributionValueCurrency.validation.tooLow.CHF':\n 'Der Wert muss mindestens 10 CHF betragen',\n 'portfolio.smallCheckout.contributionValueCurrency.validation.tooLow.EUR':\n 'Der Wert muss mindestens 10 Euro betragen.',\n 'portfolio.smallCheckout.contributionValueCurrency.validation.empty':\n 'Bitte geben Sie einen Wert ein',\n 'portfolio.smallCheckout.contributionValueCurrency.validation.tooHigh':\n 'Für größere Einkäufe kontaktieren Sie bitte unser Verkaufsteam über den unten stehenden Button',\n\n 'portfolio.smallCheckout.contributionValueKgs.label': 'Beitrag in Tonnen',\n\n 'portfolio.smallCheckout.submitButton': 'Credits kaufen',\n\n 'portfolio.smallCheckout.cta.title':\n 'Möchten Sie mehr als 10.000 tCO₂ kaufen?',\n 'portfolio.smallCheckout.cta.subTitle':\n 'Für Unternehmenskunden bieten wir individuelle Lösungen an. Kontaktieren Sie uns.',\n 'portfolio.smallCheckout.cta.button': 'Unser Vertriebsteam kontaktieren',\n};\nexport default messagesDe;\n","const messagesDe = {\n 'sections.shopCheckout.intro.price': 'Preis',\n\n 'sections.shopCheckout.contributionValue.label.EUR':\n 'Geben sie einen Betrag in € ein',\n 'sections.shopCheckout.contributionValue.label.CHF':\n 'Geben sie einen Betrag in CHF ein',\n 'sections.shopCheckout.contributionValue.unit.EUR': '€',\n 'sections.shopCheckout.contributionValue.unit.CHF': 'CHF',\n 'sections.shopCheckout.contributionValue.validation.empty':\n 'Bitte geben sie einen Betrag ein',\n 'sections.shopCheckout.contributionValue.validation.tooLow.EUR':\n 'Der Betrag muss mindestens 10 Euro sein',\n 'sections.shopCheckout.contributionValue.validation.tooLow.CHF':\n 'Der Betrag muss mindestens 10 CHF sein',\n 'sections.shopCheckout.contributionValue.validation.tooHigh':\n 'Für größere Einkäufe kontaktieren Sie bitte unser Verkaufsteam über office@tree.ly',\n\n 'sections.shopCheckout.summary.kg': 'Menge',\n 'sections.shopCheckout.summary.price': 'Preis',\n\n 'sections.shopCheckout.submit': 'Kaufen',\n};\nexport default messagesDe;\n","const messagesDe = {\n 'sections.textCarousel.moveRight': 'Nach rechts bewegen',\n 'sections.textCarousel.moveLeft': 'Nach links bewegen',\n};\nexport default messagesDe;\n","const messagesDe = {\n 'sections.timeline.backgroundShapes': 'Hintergrundformen',\n 'sections.timeline.showMoreButton': 'Drei weitere Meilensteine anzeigen',\n};\nexport default messagesDe;\n","const unitMessagesDe = {\n 'unit.formatter.tonsCo2': '{number} /tCO₂',\n 'unit.formatter.tonsCo2PerYear': '{number} tCO₂/Jahr',\n};\nexport default unitMessagesDe;\n","import comparisonMessagesDe from './slices/Comparison/messages.de';\nimport creditsAvailableBadgeMessagesDe from './components/CreditsAvailableBadge/messages.de';\nimport ctaMessagesDe from './slices/Cta/messages.de';\nimport customerCardMessagesDe from './components/CustomerCard/messages.de';\nimport customerQuoteCardMessagesDe from './components/CustomerQuoteCard/messages.de';\nimport glossaryMessagesDe from './slices/Glossary/messages.de';\nimport portfolioDocumentsDownloadListMessagesDe from './components/portfolio/DocumentsDownloadList/messages.de';\nimport projectFactsMessagesDe from './slices/ProjectFacts/messages.de';\nimport projectsMapMessagesDe from './slices/ProjectsMap/messages.de';\nimport portfolioProjectInfoMessagesDe from './components/portfolio/ProjectInfo/messages.de';\nimport portfolioProjectCardMessagesDe from './components/portfolio/PortfolioProjectCard/messages.de';\nimport portfolioSmallCheckoutMessagesDe from './components/portfolio/SmallCheckout/messages.de';\nimport shopCheckoutMessagesDe from './slices/ShopCheckout/messages.de';\nimport textCarouselMessagesDe from './slices/TextCarousel/messages.de';\nimport timelineMessagesDe from './slices/Timeline/messages.de';\n\nimport unitMessagesDe from './unit.messages.de';\n\nconst rootMessagesDe = {\n //\n // Components\n //\n ...creditsAvailableBadgeMessagesDe,\n ...portfolioDocumentsDownloadListMessagesDe,\n ...portfolioProjectCardMessagesDe,\n ...portfolioProjectInfoMessagesDe,\n ...portfolioSmallCheckoutMessagesDe,\n\n //\n // Slices\n //\n ...comparisonMessagesDe,\n ...ctaMessagesDe,\n ...customerCardMessagesDe,\n ...customerQuoteCardMessagesDe,\n ...glossaryMessagesDe,\n ...projectFactsMessagesDe,\n ...projectsMapMessagesDe,\n ...shopCheckoutMessagesDe,\n ...textCarouselMessagesDe,\n ...timelineMessagesDe,\n\n //\n // Units\n //\n ...unitMessagesDe,\n};\n\nexport default rootMessagesDe;\n","const messagesEn = {\n 'sections.comparison.backgroundShapes': 'Background shapes',\n};\nexport default messagesEn;\n","const messagesEn = {\n 'components.creditsAvailableBadge.text.yes': 'Credits available',\n 'components.creditsAvailableBadge.text.some': 'Some remaining credits',\n 'components.creditsAvailableBadge.text.no': 'No remaining credits',\n 'components.creditsAvailableBadge.text.notYet': 'Credits available soon',\n};\nexport default messagesEn;\n","const messagesEn = {\n 'sections.cta.backgroundShapesDark': 'Dark background shapes',\n 'sections.cta.backgroundShapesLight': 'Light background shapes',\n};\nexport default messagesEn;\n","const messagesEn = {\n 'sections.customerCard.more': 'Read more',\n};\nexport default messagesEn;\n","const messagesEn = {\n 'sections.customerQuoteCard.more': 'Read more',\n};\nexport default messagesEn;\n","const messagesEn = {\n 'sections.glossary.copyButtonLabel':\n 'Copy a link to this section to your clipboard',\n 'sections.glossary.copySuccessMessage': 'Copied the link to your clipboard',\n 'sections.glossary.copyFailureMessage': 'Could not copy link to clipboard',\n};\nexport default messagesEn;\n","const messagesEn = {\n 'features.portfolio.documentsDownloadList.projectDocuments':\n 'Project documents',\n 'features.portfolio.documentsDownloadList.downloadDocument':\n 'Download document',\n};\nexport default messagesEn;\n","const messagesEn = {\n 'sections.projectFacts.projectInfo.value': 'Project Infos',\n 'projects.projectFacts.properties.area': 'Area',\n};\nexport default messagesEn;\n","const messagesEn = {\n 'sections.projectsMap.link.text': 'Show more info',\n};\nexport default messagesEn;\n","const messagesEn = {\n 'features.projectInfo.projectInfo.value': 'Project Infos',\n 'features.projectInfo.properties.area': 'Project Area',\n 'features.projectInfo.properties.location': 'Location',\n 'features.projectInfo.properties.start': 'Project Start Date',\n 'features.projectInfo.properties.timeSpan': 'Project Time Span',\n 'features.projectInfo.properties.projectType': 'Project Type',\n 'features.projectInfo.properties.projectDeveloper': 'Project Developer',\n 'features.projectInfo.properties.verificationStandard.label':\n 'Verification Standard',\n 'features.projectInfo.properties.verificationStandard.value.SilvaconsultFCSISO14':\n 'SILVACONSULT® Forest Carbon Standard, ISO 14064-2',\n 'features.projectInfo.properties.verificationStandard.value.MfKWCH':\n 'Methodik für Klimaschutzprojekte im Wald für die Schweiz',\n 'features.projectInfo.properties.forecastedAmountYear.label':\n 'Project Volume',\n 'features.projectInfo.properties.riskBuffer': 'Risk Buffer Share',\n\n 'features.projectInfo.properties.year':\n '{years} {years, plural, one {year} other {years} }',\n};\n\nexport default messagesEn;\n","const messagesEn = {\n 'components.portfolioProjectCard.text.yes': 'Credits available',\n 'components.portfolioProjectCard.text.some': 'Some remaining credits',\n 'components.portfolioProjectCard.text.no': 'No remaining credits',\n 'components.portfolioProjectCard.text.notYet': 'Credits available soon',\n};\n\nexport default messagesEn;\n","const messagesEn = {\n 'portfolio.smallCheckout.contributionValueCurrency.label.CHF':\n 'Contribution Amount in CHF',\n 'portfolio.smallCheckout.contributionValueCurrency.label.EUR':\n 'Contribution Amount in €',\n 'portfolio.smallCheckout.contributionValueCurrency.unit.EUR': '€',\n 'portfolio.smallCheckout.contributionValueCurrency.unit.CHF': 'CHF',\n 'portfolio.smallCheckout.contributionValueCurrency.validation.tooLow.CHF':\n 'The value must be at least 10 CHF',\n 'portfolio.smallCheckout.contributionValueCurrency.validation.tooLow.EUR':\n 'The value must be at least 10 Euro',\n 'portfolio.smallCheckout.contributionValueCurrency.validation.empty':\n 'Please enter a value',\n 'portfolio.smallCheckout.contributionValueCurrency.validation.tooHigh':\n 'For bigger purchases please contact our sales team via office@tree.ly',\n\n 'portfolio.smallCheckout.contributionValueKgs.label':\n 'Contribution Amount in Tons',\n\n 'portfolio.smallCheckout.submitButton': 'Buy credits',\n\n 'portfolio.smallCheckout.cta.title': 'Looking to buy more than 10.000 tCO₂?',\n 'portfolio.smallCheckout.cta.subTitle':\n 'For enterprise-customers we offer custom solutions. Feel free to contact us.',\n 'portfolio.smallCheckout.cta.button': 'Contact our Sales Team',\n};\nexport default messagesEn;\n","const messagesEn = {\n 'sections.shopCheckout.intro.price': 'Price',\n\n 'sections.shopCheckout.contributionValue.label.EUR':\n 'Enter contribution value in €',\n 'sections.shopCheckout.contributionValue.label.CHF':\n 'Enter contribution value in CHF',\n 'sections.shopCheckout.contributionValue.unit.EUR': '€',\n 'sections.shopCheckout.contributionValue.unit.CHF': 'CHF',\n 'sections.shopCheckout.contributionValue.validation.empty':\n 'Please enter a value',\n 'sections.shopCheckout.contributionValue.validation.tooLow.EUR':\n 'Der Betrag muss mindestens 10 Euro sein',\n 'sections.shopCheckout.contributionValue.validation.tooLow.CHF':\n 'Der Betrag muss mindestens 10 CHF sein',\n 'sections.shopCheckout.contributionValue.validation.tooHigh':\n 'For bigger purchases please contact our sales team via office@tree.ly',\n\n 'sections.shopCheckout.summary.kg': 'Quantity',\n 'sections.shopCheckout.summary.price': 'Price',\n\n 'sections.shopCheckout.submit': 'Checkout',\n};\nexport default messagesEn;\n","const messagesDe = {\n 'sections.textCarousel.moveRight': 'Move right',\n 'sections.textCarousel.moveLeft': 'Move left',\n};\nexport default messagesDe;\n","const messagesEn = {\n 'sections.timeline.backgroundShapes': 'Background shapes',\n 'sections.timeline.showMoreButton': 'Show three more milestones',\n};\nexport default messagesEn;\n","const unitMessagesEn = {\n 'unit.formatter.tonsCo2': '{number} /tCO₂',\n 'unit.formatter.tonsCo2PerYear': '{number} tCO₂/year',\n};\nexport default unitMessagesEn;\n","import comparisonMessagesEn from './slices/Comparison/messages.en';\nimport creditsAvailableBadgeMessagesEn from './components/CreditsAvailableBadge/messages.en';\nimport ctaMessagesEn from './slices/Cta/messages.en';\nimport customerCardMessagesEn from './components/CustomerCard/messages.en';\nimport customerQuoteCardMessagesEn from './components/CustomerQuoteCard/messages.en';\nimport glossaryMessagesEn from './slices/Glossary/messages.en';\nimport portfolioDocumentsDownloadListMessagesEn from './components/portfolio/DocumentsDownloadList/messages.en';\nimport projectFactsMessagesEn from './slices/ProjectFacts/messages.en';\nimport projectsMapMessagesEn from './slices/ProjectsMap/messages.en';\nimport portfolioProjectInfoMessagesEn from './components/portfolio/ProjectInfo/messages.en';\nimport portfolioProjectCardMessagesEn from './components/portfolio/PortfolioProjectCard/messages.en';\nimport portfolioSmallCheckoutMessagesEn from './components/portfolio/SmallCheckout/messages.en';\nimport shopCheckoutMessagesEn from './slices/ShopCheckout/messages.en';\nimport textCarouselMessagesEn from './slices/TextCarousel/messages.en';\nimport timelineMessagesEn from './slices/Timeline/messages.en';\n\nimport unitMessagesEn from './unit.messages.en';\n\nconst rootMessagesEn = {\n //\n // Components\n //\n ...creditsAvailableBadgeMessagesEn,\n ...portfolioDocumentsDownloadListMessagesEn,\n ...portfolioProjectCardMessagesEn,\n ...portfolioProjectInfoMessagesEn,\n ...portfolioSmallCheckoutMessagesEn,\n\n //\n // Slices\n //\n ...comparisonMessagesEn,\n ...ctaMessagesEn,\n ...customerCardMessagesEn,\n ...customerQuoteCardMessagesEn,\n ...glossaryMessagesEn,\n ...projectFactsMessagesEn,\n ...projectsMapMessagesEn,\n ...shopCheckoutMessagesEn,\n ...textCarouselMessagesEn,\n ...timelineMessagesEn,\n\n //\n // Units\n //\n ...unitMessagesEn,\n};\n\nexport default rootMessagesEn;\n","import { css } from '@emotion/react';\n\nexport const GLOBAL_STYLE = css`\n :root {\n --default-hero-height: calc(100vh - var(--boemly-space-24));\n }\n\n a {\n text-decoration: none;\n }\n`;\n","import React, { createContext } from 'react';\nimport { createIntl, createIntlCache } from 'react-intl';\nimport rootMessagesDe from '../../rootMessages.de';\nimport rootMessagesEn from '../../rootMessages.en';\nimport Locale from '../../models/Locale';\nimport { Global } from '@emotion/react';\nimport { GLOBAL_STYLE } from '../../constants/globalStyle';\n\nconst cache = createIntlCache();\n\nconst intlFactory = (locale: string) =>\n createIntl(\n {\n locale,\n messages: { de: rootMessagesDe, en: rootMessagesEn }[locale],\n },\n cache\n );\n\nexport const IntlContext = createContext(intlFactory('en'));\n\nexport interface ContextProviderProps {\n children: React.ReactNode;\n locale: Locale;\n}\n\nexport const ContextProvider: React.FC<ContextProviderProps> = ({\n children,\n locale,\n}: ContextProviderProps): JSX.Element => {\n return (\n <>\n <Global styles={{ GLOBAL_STYLE }} />\n <IntlContext.Provider value={intlFactory(locale)}>\n {children}\n </IntlContext.Provider>\n </>\n );\n};\n","import React, { useContext, useMemo, useRef, useState } from 'react';\nimport {\n Box,\n Center,\n DefaultSectionContainer,\n DefaultSectionHeader,\n IconButton,\n TextCardWithIcon,\n useToken,\n Wrapper,\n} from 'boemly';\nimport Image from 'next/image';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport StrapiDefaultHeader from '../../models/strapi/StrapiDefaultHeader';\nimport StrapiLink from '../../models/strapi/StrapiLink';\nimport StrapiTextCardWithIcon from '../../models/strapi/StrapiTextCardWithIcons';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\nimport {\n CardContainer,\n CarouselContainer,\n CarouselInnerContainer,\n} from './styles';\nimport { useMeasure, useWindowSize } from 'react-use';\nimport { AnimatePresence, motion } from 'framer-motion';\nimport { ArrowLeft, ArrowRight } from '@phosphor-icons/react';\nimport { IntlContext } from '../../components/ContextProvider';\n\ninterface TextCarouselSlice extends StrapiDefaultHeader {\n slides: StrapiTextCardWithIcon[];\n button?: StrapiLink;\n}\nexport interface TextCarouselProps {\n slice: TextCarouselSlice;\n}\n\nconst ITEM_GAP = 24;\nconst MAX_OFFSET_RIGHT = 55;\n\nexport const TextCarousel: React.FC<TextCarouselProps> = ({\n slice,\n}: TextCarouselProps) => {\n const containerRef = useRef(null);\n const [primary50] = useToken('colors', ['primary.50']);\n const [itemRef, { width: itemWidth }] = useMeasure<HTMLDivElement>();\n const { formatMessage } = useContext(IntlContext);\n const { width: windowWidth } = useWindowSize();\n\n const [sliderIndex, setSliderIndex] = useState(0);\n\n const numberOfItems = useMemo(\n () => slice.slides.length,\n [slice.slides.length]\n );\n\n const sliderItemsWidth = useMemo(\n () => numberOfItems * (itemWidth + ITEM_GAP) - ITEM_GAP,\n [itemWidth, numberOfItems]\n );\n\n const offsetLeft = useMemo(\n () => sliderIndex * (itemWidth + ITEM_GAP) * -1,\n [sliderIndex, itemWidth]\n );\n\n const allowScroll = useMemo(\n () => sliderItemsWidth + ITEM_GAP * 2 > windowWidth,\n\n [sliderItemsWidth, windowWidth]\n );\n\n const canMoveRight = useMemo(() => {\n const offsetRight = windowWidth - (sliderItemsWidth + offsetLeft);\n\n return offsetRight < MAX_OFFSET_RIGHT;\n }, [itemWidth, sliderIndex, sliderItemsWidth, windowWidth]);\n\n const canMoveLeft = useMemo(() => sliderIndex !== 0, [sliderIndex]);\n\n return (\n <DefaultSectionContainer backgroundColor={primary50} title={slice.title}>\n <Wrapper>\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.text}\n taglineProps={{ textAlign: 'center' }}\n titleProps={{ textAlign: 'center', maxW: '6xl', marginX: 'auto' }}\n textProps={{ textAlign: 'center', maxW: '2xl', marginX: 'auto' }}\n />\n </Wrapper>\n\n <CarouselContainer ref={containerRef}>\n <Box position=\"relative\" width=\"full\">\n <CarouselInnerContainer\n numberOfItems={slice.slides.length}\n animate={{\n x: offsetLeft,\n }}\n transition={{\n duration: 0.3,\n ease: 'easeInOut',\n }}\n >\n {slice.slides.map(({ id, title, text, icon }) => (\n <CardContainer key={id} ref={itemRef}>\n <TextCardWithIcon\n title={title}\n text={text}\n height=\"full\"\n icon={\n <Image\n src={strapiMediaUrl(icon.img, 'small')}\n alt={icon.alt}\n fill\n style={{ objectFit: icon.objectFit || 'contain' }}\n />\n }\n displayAs=\"column\"\n />\n </CardContainer>\n ))}\n </CarouselInnerContainer>\n <Box\n display={['none', null, null, !!allowScroll ? 'flex' : 'none']}\n pointerEvents=\"none\"\n position=\"absolute\"\n top=\"40%\"\n left=\"0\"\n width=\"full\"\n py=\"0\"\n px=\"32\"\n justifyContent=\"space-between\"\n >\n <Box>\n <AnimatePresence>\n {canMoveLeft && (\n <IconButton\n key=\"leftButton\"\n as={motion.button}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n size=\"lg\"\n variant=\"outline\"\n onClick={() => setSliderIndex(sliderIndex - 1)}\n aria-label={formatMessage({\n id: 'sections.textCarousel.moveLeft',\n })}\n icon={<ArrowLeft size={16} />}\n pointerEvents=\"auto\"\n boxShadow=\"md\"\n />\n )}\n </AnimatePresence>\n </Box>\n <Box>\n <AnimatePresence>\n {canMoveRight && (\n <IconButton\n key=\"rightButton\"\n as={motion.button}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n size=\"lg\"\n variant=\"outline\"\n onClick={() => setSliderIndex(sliderIndex + 1)}\n aria-label={formatMessage({\n id: 'sections.textCarousel.moveRight',\n })}\n icon={<ArrowRight size={16} />}\n pointerEvents=\"auto\"\n boxShadow=\"md\"\n />\n )}\n </AnimatePresence>\n </Box>\n </Box>\n </Box>\n </CarouselContainer>\n\n <>\n {slice.button && (\n <Wrapper>\n <Center>\n <StrapiLinkButton\n link={slice.button}\n size=\"xl\"\n mt={['8', null, '14']}\n />\n </Center>\n </Wrapper>\n )}\n </>\n </DefaultSectionContainer>\n );\n};\n","import React from 'react';\nimport {\n Box,\n ContactArea,\n DefaultSectionContainer,\n DefaultSectionHeader,\n Grid,\n GridItem,\n TextCardWithIcon,\n useMediaQuery,\n useToken,\n Wrapper,\n} from 'boemly';\nimport Image from 'next/image';\nimport { useRouter } from 'next/router';\nimport { BREAKPOINT_LG_QUERY } from '../../constants/breakpoints';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport strapiLinkUrl from '../../utils/strapiLinkUrl';\nimport StrapiDefaultHeader from '../../models/strapi/StrapiDefaultHeader';\nimport StrapiContactArea from '../../models/strapi/StrapiContactArea';\nimport StrapiTextCardWithIcon from '../../models/strapi/StrapiTextCardWithIcons';\nimport StrapiImage from '../../models/strapi/StrapiImage';\n\ninterface TextWithTextCardsSlice extends StrapiDefaultHeader {\n cards: StrapiTextCardWithIcon[];\n contact?: StrapiContactArea;\n shape?: StrapiImage;\n}\nexport interface TextWithTextCardsProps {\n slice: TextWithTextCardsSlice;\n}\n\nexport const TextWithTextCards: React.FC<TextWithTextCardsProps> = ({\n slice,\n}: TextWithTextCardsProps) => {\n const { push } = useRouter();\n const [white] = useToken('colors', ['white']);\n const [belowBreakpoint] = useMediaQuery(BREAKPOINT_LG_QUERY);\n\n return (\n <DefaultSectionContainer backgroundColor={white} title={slice.title}>\n <>\n {slice.shape && (\n <Box\n position=\"absolute\"\n right={['-28', null, null, '-136']}\n top={['96', null, null, '-28']}\n width={['sm', null, null, '4xl']}\n height={['sm', null, null, '4xl']}\n borderBottomRightRadius=\"full\"\n >\n <Image\n src={strapiMediaUrl(slice.shape.img, 'medium')}\n alt={slice.shape.alt}\n fill\n style={{\n objectFit: slice.shape.objectFit || 'cover',\n borderBottomRightRadius: 'var(--boemly-radii-full)',\n }}\n />\n </Box>\n )}\n </>\n <Wrapper>\n <>\n <Grid\n templateColumns={[\n 'repeat(8, 1fr)',\n null,\n null,\n null,\n 'repeat(16, 1fr)',\n ]}\n templateRows={[\n 'repeat(2, auto)',\n null,\n null,\n null,\n 'repeat(1, auto)',\n ]}\n rowGap=\"12\"\n >\n <GridItem\n colSpan={[8, null, null, null, 9]}\n rowSpan={1}\n pr={['0', null, null, null, '32']}\n >\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.text}\n textProps={{ pr: ['0', null, null, null, '10'] }}\n />\n\n {slice.contact && !belowBreakpoint && (\n <ContactArea\n title={slice.contact.title}\n text={slice.contact.text}\n avatar={{\n name: slice.contact.avatar.name,\n description: slice.contact.avatar.description,\n image: (\n <Image\n src={strapiMediaUrl(\n slice.contact.avatar.image.img,\n 'small'\n )}\n alt={slice.contact.avatar.image.alt}\n fill\n style={{\n objectFit:\n slice.contact.avatar.image.objectFit || 'cover',\n }}\n />\n ),\n }}\n link={{\n text: slice.contact.button.text,\n onClick: () => push(strapiLinkUrl(slice.contact?.button)),\n }}\n />\n )}\n </GridItem>\n <GridItem\n colSpan={[8, null, null, null, 7]}\n rowSpan={1}\n position=\"relative\"\n >\n {slice.cards.map((card) => (\n <TextCardWithIcon\n key={card.id}\n title={card.title}\n text={card.text}\n icon={\n <Image\n src={strapiMediaUrl(card.icon.img, 'small')}\n alt={card.icon.alt}\n fill\n style={{ objectFit: card.icon.objectFit || 'contain' }}\n />\n }\n />\n ))}\n </GridItem>\n </Grid>\n {slice.contact && belowBreakpoint && (\n <ContactArea\n title={slice.contact.title}\n text={slice.contact.text}\n avatar={{\n name: slice.contact.avatar.name,\n description: slice.contact.avatar.description,\n image: (\n <Image\n src={strapiMediaUrl(\n slice.contact.avatar.image.img,\n 'small'\n )}\n alt={slice.contact.avatar.image.alt}\n fill\n style={{\n objectFit:\n slice.contact.avatar.image.objectFit || 'cover',\n }}\n />\n ),\n }}\n link={{\n text: slice.contact.button.text,\n onClick: () => push(strapiLinkUrl(slice.contact?.button)),\n }}\n />\n )}\n </>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","enum CreditsAvailableState {\n YES = 'yes',\n SOME = 'some',\n NO = 'no',\n NOT_YET = 'notYet',\n}\n\nexport default CreditsAvailableState;\n","import { FormatNumberOptions } from 'react-intl';\n\nexport const FORMAT_AS_EUR_CONFIG: FormatNumberOptions = {\n style: 'currency',\n currency: 'EUR',\n};\n\nexport const FORMAT_AS_METER_CONFIG: FormatNumberOptions = {\n unit: 'meter',\n unitDisplay: 'short',\n style: 'unit',\n maximumFractionDigits: 0,\n};\n\nexport const FORMAT_AS_HECTARE_CONFIG: FormatNumberOptions = {\n unit: 'hectare',\n unitDisplay: 'short',\n style: 'unit',\n maximumFractionDigits: 2,\n};\n\nexport const FORMAT_AS_CUBIC_METERS_PER_HECTARE_CONFIG: FormatNumberOptions = {\n maximumFractionDigits: 0,\n};\n\nexport const FORMAT_AS_PERCENT_CONFIG: FormatNumberOptions = {\n style: 'percent',\n maximumFractionDigits: 2,\n};\n","import React, { useContext } from 'react';\nimport { ProjectCard } from 'boemly';\nimport { PortfolioProject, strapiMediaUrl } from '../../..';\nimport CreditsAvailableState from '../../../models/CreditsAvailableState';\nimport { FORMAT_AS_HECTARE_CONFIG } from '../../../constants/formatter';\nimport Image from 'next/image';\nimport { IntlContext } from '../../ContextProvider';\n\nexport interface PortfolioProjectCardProps {\n project: PortfolioProject;\n}\n\nexport const PortfolioProjectCard = ({\n project,\n}: PortfolioProjectCardProps) => {\n const { formatMessage, formatNumber } = useContext(IntlContext);\n\n const creditsAvailableMessages: Record<CreditsAvailableState, string> = {\n [CreditsAvailableState.YES]: formatMessage({\n id: 'components.portfolioProjectCard.text.yes',\n }),\n\n [CreditsAvailableState.SOME]: formatMessage({\n id: 'components.portfolioProjectCard.text.some',\n }),\n\n [CreditsAvailableState.NO]: formatMessage({\n id: 'components.portfolioProjectCard.text.no',\n }),\n\n [CreditsAvailableState.NOT_YET]: formatMessage({\n id: 'components.portfolioProjectCard.text.notYet',\n }),\n };\n\n return (\n <ProjectCard\n title={project.title}\n facts={[\n {\n id: 1,\n text: formatNumber(\n (project.area || 0) / 10000,\n FORMAT_AS_HECTARE_CONFIG\n ),\n },\n { id: 2, text: project.location || '' },\n ]}\n footerTitle={\n creditsAvailableMessages[\n project.creditsAvailable ?? CreditsAvailableState.NOT_YET\n ]\n }\n footerSubTitle={project.footerSubTitle || ''}\n image={\n project.thumbnail && (\n <Image\n src={strapiMediaUrl(project.thumbnail?.img, 'medium')}\n alt={project.thumbnail?.alt}\n fill\n style={{\n objectFit: project.thumbnail?.objectFit || 'cover',\n }}\n />\n )\n }\n />\n );\n};\n","import React from 'react';\nimport {\n DefaultSectionContainer,\n DefaultSectionHeader,\n Grid,\n GridItem,\n ProjectCard,\n Spacer,\n BoemlyList,\n Wrapper,\n} from 'boemly';\nimport Image from 'next/image';\nimport { ArrowRight } from '@phosphor-icons/react';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport StrapiLink from '../../models/strapi/StrapiLink';\nimport StrapiProjectCard from '../../models/strapi/StrapiProjectCard';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\nimport { IStrapiData, PortfolioProject, StrapiProject } from '../..';\nimport PortfolioProjectCard from '../../components/portfolio/PortfolioProjectCard';\n\ninterface TextWithCardSlice {\n tagline?: string;\n title: string;\n text?: string;\n listItems?: {\n id: number;\n text: string;\n }[];\n button?: StrapiLink;\n card?: StrapiProjectCard;\n project?: { data?: IStrapiData<StrapiProject> };\n cardPosition: 'left' | 'right';\n}\nexport interface TextWithCardProps {\n slice: TextWithCardSlice;\n projects: PortfolioProject[];\n}\n\nexport const TextWithCard: React.FC<TextWithCardProps> = ({\n slice,\n projects,\n}: TextWithCardProps) => {\n const portfolioProject = projects.find(\n (p) =>\n slice.project?.data?.attributes.fpmProjectId &&\n p.id === slice.project.data.attributes.fpmProjectId\n );\n\n const card = (\n <GridItem\n colSpan={[4, null, null, null, 2]}\n rowSpan={1}\n position=\"relative\"\n data-testid={`card-position-${slice.cardPosition}`}\n >\n {portfolioProject && <PortfolioProjectCard project={portfolioProject} />}\n {!portfolioProject && slice.card && (\n <ProjectCard\n facts={slice.card.facts}\n footerSubTitle={slice.card.footerSubTitle}\n footerTitle={slice.card.footerTitle}\n title={slice.card.title}\n image={\n <Image\n src={strapiMediaUrl(slice.card.image.img, 'medium')}\n alt={slice.card.image.alt}\n fill\n style={{ objectFit: slice.card.image.objectFit || 'cover' }}\n />\n }\n />\n )}\n </GridItem>\n );\n\n return (\n <DefaultSectionContainer title={slice.title}>\n <Wrapper>\n <Grid\n templateColumns={[\n 'repeat(4, auto)',\n null,\n null,\n null,\n 'repeat(6, auto)',\n ]}\n templateRows={[\n 'repeat(2, auto)',\n null,\n null,\n null,\n 'repeat(1, auto)',\n ]}\n rowGap=\"12\"\n columnGap={['0', null, null, null, '28']}\n >\n {slice.cardPosition === 'left' && card}\n <GridItem colSpan={4} rowSpan={1} position=\"relative\">\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.text}\n />\n\n {slice.listItems && (\n <>\n <Spacer height=\"10\" />\n <BoemlyList listItems={slice.listItems} />\n <Spacer height=\"10\" />\n </>\n )}\n\n {slice.button && (\n <StrapiLinkButton\n link={slice.button}\n size=\"md\"\n colorScheme=\"white\"\n variant=\"outline\"\n rightIcon={<ArrowRight />}\n />\n )}\n </GridItem>\n {slice.cardPosition === 'right' && card}\n </Grid>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","export const MEDIUM_TRANSITION_DURATION = 0.2;\n","import React from 'react';\nimport Link from 'next/link';\nimport {\n Box,\n DefaultSectionContainer,\n DefaultSectionHeader,\n Heading,\n SimpleGrid,\n Text,\n Wrapper,\n} from 'boemly';\nimport { CaretRight } from '@phosphor-icons/react';\nimport { MEDIUM_TRANSITION_DURATION } from '../../constants/animations';\nimport strapiLinkUrl from '../../utils/strapiLinkUrl';\nimport StrapiLink from '../../models/strapi/StrapiLink';\n\ninterface LinkCardsGridSlice {\n tagline?: string;\n title: string;\n text?: string;\n cards: {\n id: number;\n title: string;\n text?: string;\n link: StrapiLink;\n }[];\n}\nexport interface LinkCardsGridProps {\n slice: LinkCardsGridSlice;\n}\n\nexport const LinkCardsGrid: React.FC<LinkCardsGridProps> = ({\n slice,\n}: LinkCardsGridProps) => (\n <DefaultSectionContainer title={slice.title}>\n <Wrapper>\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.text}\n />\n\n <SimpleGrid mt=\"16\" columns={[1, null, null, null, 2]} gap=\"4\">\n {slice.cards.map(({ id, title, text, link }) => (\n <Box\n key={id}\n as={Link}\n href={strapiLinkUrl(link)}\n data-testid=\"link\"\n px=\"10\"\n py=\"8\"\n borderStyle=\"solid\"\n borderWidth=\"thin\"\n borderColor=\"gray.200\"\n borderRadius=\"2xl\"\n display=\"flex\"\n flexDir=\"row\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n cursor=\"pointer\"\n transitionDuration={`${MEDIUM_TRANSITION_DURATION}s`}\n _hover={{ backgroundColor: 'gray.50' }}\n >\n <div>\n <Heading as=\"h4\" size=\"lg\">\n {title}\n </Heading>\n {text && (\n <Text mt=\"2\" size=\"smRegularNormal\">\n {text}\n </Text>\n )}\n </div>\n\n <Box\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n borderStyle=\"solid\"\n borderWidth=\"thin\"\n borderColor=\"gray.200\"\n borderRadius=\"2xl\"\n height=\"12\"\n width=\"12\"\n minWidth=\"12\"\n minHeight=\"12\"\n ml=\"6\"\n backgroundColor=\"white\"\n >\n <CaretRight />\n </Box>\n </Box>\n ))}\n </SimpleGrid>\n </Wrapper>\n </DefaultSectionContainer>\n);\n","import React from 'react';\nimport {\n Box,\n DefaultSectionHeader,\n Flex,\n Gradient,\n Tag,\n Wrapper,\n} from 'boemly';\nimport Image from 'next/image';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\nimport StrapiImage from '../../models/strapi/StrapiImage';\nimport StrapiLink from '../../models/strapi/StrapiLink';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\n\nexport interface SmallHeroProps {\n slice: {\n tags?: {\n id: number;\n text: string;\n colorScheme: string;\n }[];\n tagline?: string;\n title: string;\n subTitle?: string;\n button?: StrapiLink;\n image?: StrapiImage;\n gradient?: boolean;\n };\n theme: 'dark' | 'light';\n}\n\nconst colors = {\n dark: {\n tagline: 'white',\n title: 'white',\n text: 'white',\n background: 'gray.900',\n },\n light: {\n tagline: 'primary.500',\n title: 'black',\n text: 'gray.500',\n background: 'primary.50',\n },\n};\n\nexport const SmallHero: React.FC<SmallHeroProps> = ({\n slice,\n theme,\n}: SmallHeroProps) => (\n <Box\n position=\"relative\"\n width=\"full\"\n height=\"xl\"\n backgroundColor={colors[theme].background}\n >\n {slice.image && (\n <>\n <Image\n src={strapiMediaUrl(slice.image.img, 'xLarge')}\n alt={slice.image.alt}\n fill\n style={{ objectFit: slice.image.objectFit || 'cover' }}\n />\n {slice.gradient && <Gradient />}\n </>\n )}\n <Box\n position=\"absolute\"\n left=\"0\"\n top=\"60%\"\n width=\"full\"\n textAlign=\"center\"\n transform=\"translateY(-50%)\"\n >\n <Wrapper>\n <>\n {slice.tags && (\n <Flex direction=\"row\" justify=\"center\" gap=\"2\" mb=\"4\" wrap=\"wrap\">\n {slice.tags.map(({ id, text, colorScheme }) => (\n <Tag\n key={id}\n colorScheme={colorScheme}\n size=\"md\"\n variant=\"subtle\"\n >\n {text}\n </Tag>\n ))}\n </Flex>\n )}\n <DefaultSectionHeader\n isHero\n tagline={slice.tagline}\n title={slice.title}\n text={slice.subTitle}\n taglineProps={{\n color: colors[theme].tagline,\n textAlign: 'center',\n mx: 'auto',\n }}\n titleProps={{\n color: colors[theme].title,\n maxW: '4xl',\n textAlign: 'center',\n mx: 'auto',\n }}\n textProps={{\n maxW: '2xl',\n textAlign: 'center',\n mx: 'auto',\n color: colors[theme].text,\n }}\n />\n {slice.button && (\n <StrapiLinkButton link={slice.button} mt=\"6\" size=\"lg\" />\n )}\n </>\n </Wrapper>\n </Box>\n </Box>\n);\n","import styled from '@emotion/styled';\nimport { BREAKPOINT_MD } from '../../constants/breakpoints';\nimport { Box, Link } from 'boemly';\n\nexport const BlogItemContainer = styled(Link)`\n text-decoration: none;\n\n & div img {\n transition: transform var(--default-ease) var(--medium-transition-duration);\n }\n\n &:hover {\n text-decoration: none;\n\n & > div:first-of-type img {\n transform: scale(1.03);\n }\n }\n`;\n\nexport const ImageContainer = styled(Box)`\n width: 100%;\n height: var(--boemly-sizes-xs);\n position: relative;\n border-radius: var(--boemly-radii-2xl);\n\n // Fixes the flickering of borders during animation in Safari\n -webkit-mask-image: -webkit-radial-gradient(white, black);\n\n & span,\n div {\n border-radius: var(--boemly-radii-2xl);\n }\n\n @media screen and (max-width: ${BREAKPOINT_MD}) {\n height: var(--boemly-sizes-3xs);\n }\n`;\n","import React, { useContext } from 'react';\nimport {\n Box,\n DatePersonPair,\n DefaultSectionContainer,\n Heading,\n SimpleGrid,\n Spacer,\n Text,\n Wrapper,\n} from 'boemly';\nimport Image from 'next/image';\nimport Link from 'next/link';\nimport StrapiBlogPost from '../../models/strapi/StrapiBlogPost';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport IStrapiData from '../../models/strapi/IStrapiData';\nimport { BlogItemContainer, ImageContainer } from './styles';\nimport { IntlContext } from '../../components/ContextProvider';\n\nexport interface BlogProps {\n slice: {\n blog_posts: IStrapiData<StrapiBlogPost>[];\n };\n blogPosts: IStrapiData<StrapiBlogPost>[];\n}\n\nexport const Blog: React.FC<BlogProps> = ({ slice, blogPosts }: BlogProps) => {\n const { formatDate } = useContext(IntlContext);\n const sortedBlogPosts = slice.blog_posts.sort(\n (a, b) =>\n new Date(b.attributes.createdAt).getTime() -\n new Date(a.attributes.createdAt).getTime()\n );\n\n return (\n <DefaultSectionContainer>\n <Wrapper>\n <SimpleGrid columns={[1, null, null, 2]} spacingX={56} spacingY={24}>\n {sortedBlogPosts.map(({ attributes }) => {\n const blogPost: IStrapiData<StrapiBlogPost> | undefined =\n blogPosts.find((bp) => bp.attributes.slug === attributes.slug);\n if (!blogPost) {\n return null;\n }\n return (\n <BlogItemContainer\n key={blogPost.attributes.slug}\n as={Link}\n href={`/blog/${blogPost.attributes.slug}`}\n >\n <ImageContainer>\n <Image\n src={strapiMediaUrl(blogPost.attributes.img.img, 'large')}\n alt={blogPost.attributes.img.alt}\n fill\n style={{\n objectFit: blogPost.attributes.img.objectFit || 'cover',\n }}\n />\n </ImageContainer>\n <Box px=\"2\" py=\"8\">\n {blogPost.attributes.category.data && (\n <Text size=\"smMonoUppercase\" color=\"primary.800\" mb=\"2\">\n {blogPost.attributes.category.data.attributes.name}\n </Text>\n )}\n <Heading size=\"lg\">{blogPost.attributes.title}</Heading>\n {blogPost.attributes.teaser && (\n <Text size=\"mdRegularNormal\" mt=\"2\">\n {blogPost.attributes.teaser}\n </Text>\n )}\n <Spacer height=\"4\" />\n <DatePersonPair\n date={formatDate(blogPost.attributes.createdAt)}\n person={\n blogPost.attributes.author.data\n ? {\n name: blogPost.attributes.author.data.attributes\n .name,\n image: (\n <Image\n src={strapiMediaUrl(\n blogPost.attributes.author.data.attributes.img\n .img,\n 'thumbnail'\n )}\n alt={\n blogPost.attributes.author.data.attributes.img\n .alt\n }\n fill\n style={{\n objectFit:\n blogPost.attributes.author.data.attributes\n .img.objectFit || 'cover',\n }}\n />\n ),\n }\n : undefined\n }\n />\n </Box>\n </BlogItemContainer>\n );\n })}\n </SimpleGrid>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","import React from 'react';\nimport { Box, DefaultSectionContainer, SimpleGrid, Wrapper } from 'boemly';\nimport Link from 'next/link';\nimport { MEDIUM_TRANSITION_DURATION } from '../../constants/animations';\nimport PortfolioProject from '../../models/PortfolioProject';\nimport PortfolioProjectCard from '../../components/portfolio/PortfolioProjectCard';\nimport { IStrapi, IStrapiData, StrapiProject } from '../..';\n\nexport interface ProjectsGridProps {\n slice: {\n projects: IStrapi<IStrapiData<StrapiProject>[]>;\n };\n projects: PortfolioProject[];\n}\n\nconst ConditionalWrapper = ({\n condition,\n wrapper,\n children,\n}: {\n condition: boolean;\n wrapper: (children: JSX.Element) => JSX.Element;\n children: JSX.Element;\n}) => (condition ? wrapper(children) : children);\n\nexport const ProjectsGrid: React.FC<ProjectsGridProps> = ({\n projects,\n slice,\n}: ProjectsGridProps) => {\n const filteredProjects = projects.filter(\n (fpmProject) =>\n fpmProject.thumbnail &&\n slice.projects.data.some(\n (strapiProject) =>\n strapiProject.attributes.fpmProjectId === fpmProject.id\n )\n );\n\n return (\n <DefaultSectionContainer>\n <Wrapper>\n <SimpleGrid columns={[1, null, null, 2, null, 3]} gap=\"16\">\n {filteredProjects.map((project) => (\n <ConditionalWrapper\n key={project.id}\n condition={!!project.slug}\n wrapper={(children: JSX.Element) => (\n <Link\n href={`${project.portfolioHost || ''}/portfolio/${\n project.slug\n }`}\n passHref\n key={project.id}\n legacyBehavior\n >\n {children}\n </Link>\n )}\n >\n <Box\n width=\"full\"\n as=\"a\"\n cursor=\"pointer\"\n borderRadius=\"2xl\"\n transition={`box-shadow ease ${MEDIUM_TRANSITION_DURATION}s`}\n _hover={{ boxShadow: 'lg' }}\n >\n <PortfolioProjectCard project={project} />\n </Box>\n </ConditionalWrapper>\n ))}\n </SimpleGrid>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","export const MAPBOX_TOKEN =\n 'pk.eyJ1IjoidHJlZS1seSIsImEiOiJja25rNG1heHgwNThjMnZwZTl2eThmeXUwIn0.SOrYUKfevZkbx8jZPxJesA';\n\nexport enum MapBoxStyle {\n Outdoors = 'mapbox://styles/mapbox/outdoors-v11',\n SatelliteStreets = 'mapbox://styles/mapbox/satellite-streets-v11',\n Satellite = 'mapbox://styles/mapbox/satellite-v9',\n CaliTerrain = 'mapbox://styles/tree-ly/clna54iq603ht01pbc199cszw',\n}\n\nexport const MAPBOX_TILES_URL = `${\n process.env.NEXT_PUBLIC_MAPBOX_TILES_URL || 'http://localhost:8123'\n}/vectortiles/v1/plots/{z}/{x}/{y}.mvt`;\nexport const MAPBOX_SOURCE_LAYER = 'plots';\nexport const MAPBOX_SOURCE_IDENTIFIER = 'plots';\nexport const MAPBOX_BORDER_LAYER_IDENTIFIER = 'plots-borders';\nexport const MAPBOX_FILL_LAYER_IDENTIFIER = 'plots-fill';\nexport const MAPBOX_TEXT_LAYER_IDENTIFIER = 'plots-text';\n\nexport const MAPBOX_TEXT_MIN_ZOOM = 15;\nexport const MAPBOX_SHAPES_MIN_ZOOM = 13;\n\nexport const MAPBOX_MAX_ZOOM = 19;\nexport const MAPBOX_INITIAL_ZOOM = 13;\n","import BBox from '../models/BBox';\n\nconst mergeBoundingBoxes = (boundingBoxes: BBox[]): BBox => {\n let minLeft: number = 180;\n let minBottom: number = 90;\n let maxRight: number = -180;\n let maxTop: number = -90;\n\n boundingBoxes.forEach(([left, bottom, right, top]) => {\n if (left < minLeft) minLeft = left;\n if (bottom < minBottom) minBottom = bottom;\n if (right > maxRight) maxRight = right;\n if (top > maxTop) maxTop = top;\n });\n\n return [minLeft, minBottom, maxRight, maxTop];\n};\n\nexport default mergeBoundingBoxes;\n","export const FONT_CUSTOMIZATIONS = {\n body: 'Inter',\n heading: 'Inter',\n display: 'GintoNord',\n mono: 'SpaceMono',\n};\n","import React from 'react';\nimport { FONT_CUSTOMIZATIONS } from '../../constants/fontCustomizations';\nimport rootMessagesDe from '../../rootMessages.de';\nimport rootMessagesEn from '../../rootMessages.en';\nimport { BoemlyThemeProvider } from 'boemly';\nimport { IntlProvider } from 'react-intl';\n\nconst messages = {\n en: rootMessagesEn,\n de: rootMessagesDe,\n};\n\ninterface MinimalProvidersProps {\n locale: string;\n children: JSX.Element | JSX.Element[];\n}\n\nconst MinimalProviders = ({ children, locale }: MinimalProvidersProps) => (\n <IntlProvider messages={messages[locale as 'en' | 'de']} locale={locale}>\n <BoemlyThemeProvider fonts={FONT_CUSTOMIZATIONS}>\n {children}\n </BoemlyThemeProvider>\n </IntlProvider>\n);\n\nexport default MinimalProviders;\n","import React, { useContext } from 'react';\nimport CreditsAvailableState from '../../models/CreditsAvailableState';\nimport { Badge } from 'boemly';\nimport NextLink from 'next/link';\nimport { IntlContext } from '../ContextProvider';\n\nexport interface CreditsAvailableBadgeProps {\n status: CreditsAvailableState;\n href?: string;\n}\n\nconst CreditsAvailableBadge = ({\n status,\n href,\n}: CreditsAvailableBadgeProps) => {\n const { formatMessage } = useContext(IntlContext);\n\n const variants: Record<\n CreditsAvailableState,\n { color: string; text: string }\n > = {\n [CreditsAvailableState.YES]: {\n color: 'green',\n text: formatMessage({ id: 'components.creditsAvailableBadge.text.yes' }),\n },\n [CreditsAvailableState.SOME]: {\n color: 'orange',\n text: formatMessage({ id: 'components.creditsAvailableBadge.text.some' }),\n },\n [CreditsAvailableState.NO]: {\n color: 'red',\n text: formatMessage({ id: 'components.creditsAvailableBadge.text.no' }),\n },\n [CreditsAvailableState.NOT_YET]: {\n color: 'blue',\n text: formatMessage({\n id: 'components.creditsAvailableBadge.text.notYet',\n }),\n },\n };\n\n const variant = variants[status];\n\n return (\n <Badge\n as={href ? NextLink : undefined}\n href={href}\n colorScheme={variant.color}\n width=\"fit-content\"\n >\n {variant.text}\n </Badge>\n );\n};\n\nexport default CreditsAvailableBadge;\n","import React, { useContext } from 'react';\nimport {\n Box,\n Button,\n Container,\n Flex,\n Heading,\n Text,\n useDisclosure,\n useToken,\n} from 'boemly';\nimport { MapPin } from '@phosphor-icons/react';\nimport NextLink from 'next/link';\nimport CreditsAvailableBadge from '../../components/CreditsAvailableBadge';\nimport CreditsAvailableState from '../../models/CreditsAvailableState';\nimport { IntlContext } from '../../components/ContextProvider';\n\nexport interface MapMarkerProps {\n title: string;\n isPublic?: boolean;\n projectDeveloper?: string;\n slug?: string;\n portfolioHost?: string;\n creditsAvailable?: CreditsAvailableState;\n}\n\nconst MapMarker = ({\n title,\n projectDeveloper,\n slug,\n creditsAvailable,\n portfolioHost = '',\n isPublic = false,\n}: MapMarkerProps) => {\n const { formatMessage } = useContext(IntlContext);\n const { isOpen, onOpen, onClose } = useDisclosure();\n const blue600 = useToken('colors', 'blue.600');\n\n return (\n <Flex\n position=\"absolute\"\n gap=\"4\"\n onMouseEnter={onOpen}\n onMouseLeave={onClose}\n cursor=\"grab\"\n >\n <Box\n as={slug ? NextLink : undefined}\n href={slug && `${portfolioHost}/portfolio/${slug}`}\n >\n <MapPin\n size=\"40px\"\n color={blue600}\n weight=\"fill\"\n data-testid=\"mapmarker-pin\"\n filter=\"drop-shadow(0px 0px 2px #FFF)\"\n />\n </Box>\n\n {isPublic && isOpen && (\n <Container\n shadow=\"md\"\n width=\"max-content\"\n minWidth=\"3xs\"\n maxWidth={['3xs', null, null, 'sm']}\n >\n <Flex direction=\"column\">\n {creditsAvailable && (\n <>\n <CreditsAvailableBadge\n status={creditsAvailable}\n href={slug && `${portfolioHost}/portfolio/${slug}`}\n />\n <Box height=\"3\" />\n </>\n )}\n\n <Heading size=\"md\">{title}</Heading>\n\n {projectDeveloper && (\n <Text size=\"smLowNormal\" mt=\"1\">\n {projectDeveloper}\n </Text>\n )}\n\n {slug && (\n <Button\n width=\"fit-content\"\n variant=\"outline\"\n size=\"sm\"\n as={NextLink}\n href={`${portfolioHost}/portfolio/${slug}`}\n mt=\"4\"\n whiteSpace=\"nowrap\"\n >\n {formatMessage({ id: 'sections.projectsMap.link.text' })}\n </Button>\n )}\n </Flex>\n </Container>\n )}\n </Flex>\n );\n};\n\nexport default MapMarker;\n","import { css } from '@emotion/react';\n\nconst mapboxStyle = css`\n .mapboxgl-map {\n -webkit-tap-highlight-color: rgb(0 0 0/0);\n font: 12px/20px Helvetica Neue, Arial, Helvetica, sans-serif;\n overflow: hidden;\n position: relative;\n }\n .mapboxgl-canvas {\n left: 0;\n position: absolute;\n top: 0;\n }\n .mapboxgl-map:-webkit-full-screen {\n height: 100%;\n width: 100%;\n }\n .mapboxgl-canary {\n background-color: salmon;\n }\n .mapboxgl-canvas-container.mapboxgl-interactive,\n .mapboxgl-ctrl-group button.mapboxgl-ctrl-compass {\n cursor: grab;\n -webkit-user-select: none;\n user-select: none;\n }\n .mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer {\n cursor: pointer;\n }\n .mapboxgl-canvas-container.mapboxgl-interactive:active,\n .mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active {\n cursor: grabbing;\n }\n .mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,\n .mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas {\n touch-action: pan-x pan-y;\n }\n .mapboxgl-canvas-container.mapboxgl-touch-drag-pan,\n .mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas {\n touch-action: pinch-zoom;\n }\n .mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,\n .mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan\n .mapboxgl-canvas {\n touch-action: none;\n }\n .mapboxgl-ctrl-bottom-left,\n .mapboxgl-ctrl-bottom-right,\n .mapboxgl-ctrl-top-left,\n .mapboxgl-ctrl-top-right {\n pointer-events: none;\n position: absolute;\n z-index: 2;\n }\n .mapboxgl-ctrl-top-left {\n left: 0;\n top: 0;\n }\n .mapboxgl-ctrl-top-right {\n right: 0;\n top: 0;\n }\n .mapboxgl-ctrl-bottom-left {\n bottom: 0;\n left: 0;\n }\n .mapboxgl-ctrl-bottom-right {\n bottom: 0;\n right: 0;\n }\n .mapboxgl-ctrl {\n clear: both;\n pointer-events: auto;\n transform: translate(0);\n }\n .mapboxgl-ctrl-top-left .mapboxgl-ctrl {\n float: left;\n margin: 10px 0 0 10px;\n }\n .mapboxgl-ctrl-top-right .mapboxgl-ctrl {\n float: right;\n margin: 10px 10px 0 0;\n }\n .mapboxgl-ctrl-bottom-left .mapboxgl-ctrl {\n float: left;\n margin: 0 0 10px 10px;\n }\n .mapboxgl-ctrl-bottom-right .mapboxgl-ctrl {\n float: right;\n margin: 0 10px 10px 0;\n }\n .mapboxgl-ctrl-group {\n background: #fff;\n border-radius: 4px;\n }\n .mapboxgl-ctrl-group:not(:empty) {\n box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);\n }\n @media (-ms-high-contrast: active) {\n .mapboxgl-ctrl-group:not(:empty) {\n box-shadow: 0 0 0 2px ButtonText;\n }\n }\n .mapboxgl-ctrl-group button {\n background-color: transparent;\n border: 0;\n box-sizing: border-box;\n cursor: pointer;\n display: block;\n height: 29px;\n outline: none;\n overflow: hidden;\n padding: 0;\n width: 29px;\n }\n .mapboxgl-ctrl-group button + button {\n border-top: 1px solid #ddd;\n }\n .mapboxgl-ctrl button .mapboxgl-ctrl-icon {\n background-position: 50%;\n background-repeat: no-repeat;\n display: block;\n height: 100%;\n width: 100%;\n }\n @media (-ms-high-contrast: active) {\n .mapboxgl-ctrl-icon {\n background-color: transparent;\n }\n .mapboxgl-ctrl-group button + button {\n border-top: 1px solid ButtonText;\n }\n }\n .mapboxgl-ctrl-attrib-button:focus,\n .mapboxgl-ctrl-group button:focus {\n box-shadow: 0 0 2px 2px #0096ff;\n }\n .mapboxgl-ctrl button:disabled {\n cursor: not-allowed;\n }\n .mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon {\n opacity: 0.25;\n }\n .mapboxgl-ctrl-group button:first-of-type {\n border-radius: 4px 4px 0 0;\n }\n .mapboxgl-ctrl-group button:last-of-type {\n border-radius: 0 0 4px 4px;\n }\n .mapboxgl-ctrl-group button:only-of-type {\n border-radius: inherit;\n }\n .mapboxgl-ctrl button:not(:disabled):hover {\n background-color: rgb(0 0 0/5%);\n }\n .mapboxgl-ctrl-group button:focus:focus-visible {\n box-shadow: 0 0 2px 2px #0096ff;\n }\n .mapboxgl-ctrl-group button:focus:not(:focus-visible) {\n box-shadow: none;\n }\n .mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\");\n }\n @media (-ms-high-contrast: active) {\n .mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\");\n }\n }\n @media (-ms-high-contrast: black-on-white) {\n .mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\");\n }\n }\n .mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\");\n }\n @media (-ms-high-contrast: active) {\n .mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\");\n }\n }\n @media (-ms-high-contrast: black-on-white) {\n .mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\");\n }\n }\n .mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\");\n }\n @media (-ms-high-contrast: active) {\n .mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E\");\n }\n }\n @media (-ms-high-contrast: black-on-white) {\n .mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\");\n }\n }\n .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl\n button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active\n .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl\n button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error\n .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl\n button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background\n .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl\n button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error\n .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl\n button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting\n .mapboxgl-ctrl-icon {\n animation: mapboxgl-spin 2s linear infinite;\n }\n @media (-ms-high-contrast: active) {\n .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl\n button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active\n .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl\n button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error\n .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl\n button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background\n .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl\n button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error\n .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\");\n }\n }\n @media (-ms-high-contrast: black-on-white) {\n .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\");\n }\n .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E\");\n }\n }\n @keyframes mapboxgl-spin {\n 0% {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(1turn);\n }\n }\n a.mapboxgl-ctrl-logo {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='0.9' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n cursor: pointer;\n display: block;\n height: 23px;\n margin: 0 0 -4px -4px;\n overflow: hidden;\n width: 88px;\n }\n a.mapboxgl-ctrl-logo.mapboxgl-compact {\n width: 23px;\n }\n @media (-ms-high-contrast: active) {\n a.mapboxgl-ctrl-logo {\n background-color: transparent;\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E\");\n }\n }\n @media (-ms-high-contrast: black-on-white) {\n a.mapboxgl-ctrl-logo {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23000'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E\");\n }\n }\n .mapboxgl-ctrl.mapboxgl-ctrl-attrib {\n background-color: hsla(0, 0%, 100%, 0.5);\n margin: 0;\n padding: 0 5px;\n }\n @media screen {\n .mapboxgl-ctrl-attrib.mapboxgl-compact {\n background-color: #fff;\n border-radius: 12px;\n margin: 10px;\n min-height: 20px;\n padding: 2px 24px 2px 0;\n position: relative;\n }\n .mapboxgl-ctrl-attrib.mapboxgl-compact-show {\n padding: 2px 28px 2px 8px;\n visibility: visible;\n }\n .mapboxgl-ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact-show,\n .mapboxgl-ctrl-top-left > .mapboxgl-ctrl-attrib.mapboxgl-compact-show {\n border-radius: 12px;\n padding: 2px 8px 2px 28px;\n }\n .mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner {\n display: none;\n }\n .mapboxgl-ctrl-attrib-button {\n background-color: hsla(0, 0%, 100%, 0.5);\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\");\n border: 0;\n border-radius: 12px;\n box-sizing: border-box;\n cursor: pointer;\n display: none;\n height: 24px;\n outline: none;\n position: absolute;\n right: 0;\n top: 0;\n width: 24px;\n }\n .mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,\n .mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button {\n left: 0;\n }\n .mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,\n .mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner {\n display: block;\n }\n .mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button {\n background-color: rgb(0 0 0/5%);\n }\n .mapboxgl-ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact:after {\n bottom: 0;\n right: 0;\n }\n .mapboxgl-ctrl-top-right > .mapboxgl-ctrl-attrib.mapboxgl-compact:after {\n right: 0;\n top: 0;\n }\n .mapboxgl-ctrl-top-left > .mapboxgl-ctrl-attrib.mapboxgl-compact:after {\n left: 0;\n top: 0;\n }\n .mapboxgl-ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact:after {\n bottom: 0;\n left: 0;\n }\n }\n @media screen and (-ms-high-contrast: active) {\n .mapboxgl-ctrl-attrib.mapboxgl-compact:after {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\");\n }\n }\n @media screen and (-ms-high-contrast: black-on-white) {\n .mapboxgl-ctrl-attrib.mapboxgl-compact:after {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\");\n }\n }\n .mapboxgl-ctrl-attrib a {\n color: rgba(0, 0, 0, 0.75);\n text-decoration: none;\n }\n .mapboxgl-ctrl-attrib a:hover {\n color: inherit;\n text-decoration: underline;\n }\n .mapboxgl-ctrl-attrib .mapbox-improve-map {\n font-weight: 700;\n margin-left: 2px;\n }\n .mapboxgl-attrib-empty {\n display: none;\n }\n .mapboxgl-ctrl-scale {\n background-color: hsla(0, 0%, 100%, 0.75);\n border: 2px solid #333;\n border-top: #333;\n box-sizing: border-box;\n color: #333;\n font-size: 10px;\n padding: 0 5px;\n white-space: nowrap;\n }\n .mapboxgl-popup {\n display: flex;\n left: 0;\n pointer-events: none;\n position: absolute;\n top: 0;\n will-change: transform;\n }\n .mapboxgl-popup-anchor-top,\n .mapboxgl-popup-anchor-top-left,\n .mapboxgl-popup-anchor-top-right {\n flex-direction: column;\n }\n .mapboxgl-popup-anchor-bottom,\n .mapboxgl-popup-anchor-bottom-left,\n .mapboxgl-popup-anchor-bottom-right {\n flex-direction: column-reverse;\n }\n .mapboxgl-popup-anchor-left {\n flex-direction: row;\n }\n .mapboxgl-popup-anchor-right {\n flex-direction: row-reverse;\n }\n .mapboxgl-popup-tip {\n border: 10px solid transparent;\n height: 0;\n width: 0;\n z-index: 1;\n }\n .mapboxgl-popup-anchor-top .mapboxgl-popup-tip {\n align-self: center;\n border-bottom-color: #fff;\n border-top: none;\n }\n .mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip {\n align-self: flex-start;\n border-bottom-color: #fff;\n border-left: none;\n border-top: none;\n }\n .mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip {\n align-self: flex-end;\n border-bottom-color: #fff;\n border-right: none;\n border-top: none;\n }\n .mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip {\n align-self: center;\n border-bottom: none;\n border-top-color: #fff;\n }\n .mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip {\n align-self: flex-start;\n border-bottom: none;\n border-left: none;\n border-top-color: #fff;\n }\n .mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip {\n align-self: flex-end;\n border-bottom: none;\n border-right: none;\n border-top-color: #fff;\n }\n .mapboxgl-popup-anchor-left .mapboxgl-popup-tip {\n align-self: center;\n border-left: none;\n border-right-color: #fff;\n }\n .mapboxgl-popup-anchor-right .mapboxgl-popup-tip {\n align-self: center;\n border-left-color: #fff;\n border-right: none;\n }\n .mapboxgl-popup-close-button {\n background-color: transparent;\n border: 0;\n border-radius: 0 3px 0 0;\n cursor: pointer;\n position: absolute;\n right: 0;\n top: 0;\n }\n .mapboxgl-popup-close-button:hover {\n background-color: rgb(0 0 0/5%);\n }\n .mapboxgl-popup-content {\n background: #fff;\n border-radius: 3px;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n padding: 10px 10px 15px;\n pointer-events: auto;\n position: relative;\n }\n .mapboxgl-popup-anchor-top-left .mapboxgl-popup-content {\n border-top-left-radius: 0;\n }\n .mapboxgl-popup-anchor-top-right .mapboxgl-popup-content {\n border-top-right-radius: 0;\n }\n .mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content {\n border-bottom-left-radius: 0;\n }\n .mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content {\n border-bottom-right-radius: 0;\n }\n .mapboxgl-popup-track-pointer {\n display: none;\n }\n .mapboxgl-popup-track-pointer * {\n pointer-events: none;\n user-select: none;\n }\n .mapboxgl-map:hover .mapboxgl-popup-track-pointer {\n display: flex;\n }\n .mapboxgl-map:active .mapboxgl-popup-track-pointer {\n display: none;\n }\n .mapboxgl-marker {\n left: 0;\n opacity: 1;\n position: absolute;\n top: 0;\n transition: opacity 0.2s;\n will-change: transform;\n }\n .mapboxgl-user-location-dot,\n .mapboxgl-user-location-dot:before {\n background-color: #1da1f2;\n border-radius: 50%;\n height: 15px;\n width: 15px;\n }\n .mapboxgl-user-location-dot:before {\n animation: mapboxgl-user-location-dot-pulse 2s infinite;\n content: '';\n position: absolute;\n }\n .mapboxgl-user-location-dot:after {\n border: 2px solid #fff;\n border-radius: 50%;\n box-shadow: 0 0 3px rgba(0, 0, 0, 0.35);\n box-sizing: border-box;\n content: '';\n height: 19px;\n left: -2px;\n position: absolute;\n top: -2px;\n width: 19px;\n }\n .mapboxgl-user-location-show-heading .mapboxgl-user-location-heading {\n height: 0;\n width: 0;\n }\n .mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,\n .mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before {\n border-bottom: 7.5px solid #4aa1eb;\n content: '';\n position: absolute;\n }\n .mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before {\n border-left: 7.5px solid transparent;\n transform: translateY(-28px) skewY(-20deg);\n }\n .mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after {\n border-right: 7.5px solid transparent;\n transform: translate(7.5px, -28px) skewY(20deg);\n }\n @keyframes mapboxgl-user-location-dot-pulse {\n 0% {\n opacity: 1;\n transform: scale(1);\n }\n 70% {\n opacity: 0;\n transform: scale(3);\n }\n to {\n opacity: 0;\n transform: scale(1);\n }\n }\n .mapboxgl-user-location-dot-stale {\n background-color: #aaa;\n }\n .mapboxgl-user-location-dot-stale:after {\n display: none;\n }\n .mapboxgl-user-location-accuracy-circle {\n background-color: #1da1f233;\n border-radius: 100%;\n height: 1px;\n width: 1px;\n }\n .mapboxgl-crosshair,\n .mapboxgl-crosshair .mapboxgl-interactive,\n .mapboxgl-crosshair .mapboxgl-interactive:active {\n cursor: crosshair;\n }\n .mapboxgl-boxzoom {\n background: #fff;\n border: 2px dotted #202020;\n height: 0;\n left: 0;\n opacity: 0.5;\n position: absolute;\n top: 0;\n width: 0;\n }\n @media print {\n .mapbox-improve-map {\n display: none;\n }\n }\n .mapboxgl-scroll-zoom-blocker,\n .mapboxgl-touch-pan-blocker {\n align-items: center;\n background: rgba(0, 0, 0, 0.7);\n color: #fff;\n display: flex;\n font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial,\n sans-serif;\n height: 100%;\n justify-content: center;\n left: 0;\n opacity: 0;\n pointer-events: none;\n position: absolute;\n text-align: center;\n top: 0;\n transition: opacity 0.75s ease-in-out;\n transition-delay: 1s;\n width: 100%;\n }\n .mapboxgl-scroll-zoom-blocker-show,\n .mapboxgl-touch-pan-blocker-show {\n opacity: 1;\n transition: opacity 0.1s ease-in-out;\n }\n .mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,\n .mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page\n .mapboxgl-canvas {\n touch-action: pan-x pan-y;\n }\n`;\n\nexport default mapboxStyle;\n","import React, { useContext } from 'react';\nimport {\n MAPBOX_INITIAL_ZOOM,\n MAPBOX_MAX_ZOOM,\n MAPBOX_TOKEN,\n MapBoxStyle,\n} from '../../constants/mapbox';\nimport BBox from '../../models/BBox';\nimport mergeBoundingBoxes from '../../utils/mergeBoundingBoxes';\nimport { css } from '@emotion/react';\nimport {\n Box,\n DefaultSectionContainer,\n DefaultSectionHeader,\n Wrapper,\n} from 'boemly';\nimport mapboxgl, { LngLatBoundsLike, LngLatLike, Map, Marker } from 'mapbox-gl';\nimport { MutableRefObject, createRef, useEffect, useRef } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport PortfolioProject from '../../models/PortfolioProject';\nimport MinimalProviders from '../../components/MinimalProviders';\nimport MapMarker from './MapMarker';\nimport mapboxStyle from './mapboxStyle';\nimport { IntlContext } from '../../components/ContextProvider';\n\nmapboxgl.accessToken = MAPBOX_TOKEN;\n\nexport interface ProjectsMapProps {\n slice: {\n tagline?: string;\n title?: string;\n text?: string;\n\n defaultCenterCoordinates?: {\n latitude: number;\n longitude: number;\n };\n defaultZoomLevel?: number;\n };\n\n projects: PortfolioProject[];\n}\n\nexport const ProjectsMap: React.FC<ProjectsMapProps> = ({\n slice,\n projects,\n}: ProjectsMapProps) => {\n const { locale } = useContext(IntlContext);\n\n const filteredProjects = projects.filter(\n (project) => project.geom\n ) as (PortfolioProject & {\n geom: Pick<PortfolioProject, 'geom'>;\n })[];\n\n const center: LngLatLike | undefined = slice.defaultCenterCoordinates\n ? [\n slice.defaultCenterCoordinates.longitude,\n slice.defaultCenterCoordinates.latitude,\n ]\n : undefined;\n\n const bounds: LngLatBoundsLike | undefined = center\n ? undefined\n : mergeBoundingBoxes(\n filteredProjects.map(\n (p): BBox =>\n [\n ...p.geom.coordinates.map((c) => c - 0.2),\n ...p.geom.coordinates.map((c) => c + 0.2),\n ] as BBox\n )\n );\n\n const mapContainer = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const map = new Map({\n container: mapContainer.current || '',\n style: MapBoxStyle.CaliTerrain,\n center,\n zoom: slice.defaultZoomLevel || MAPBOX_INITIAL_ZOOM,\n maxZoom: MAPBOX_MAX_ZOOM,\n bounds,\n });\n\n filteredProjects\n // Sort by longitude, so that the markers are rendeed form right to left\n .sort((a, b) => b.geom.coordinates[0] - a.geom.coordinates[0])\n .forEach((project) => {\n const ref =\n createRef<HTMLDivElement>() as MutableRefObject<HTMLDivElement>;\n ref.current = document.createElement('div');\n\n createRoot(ref.current).render(\n <MinimalProviders locale={locale}>\n <MapMarker\n title={project.title}\n isPublic={project.isPublic}\n portfolioHost={project.portfolioHost}\n slug={project.slug}\n creditsAvailable={project.creditsAvailable}\n projectDeveloper={project.projectDeveloper?.name}\n />\n </MinimalProviders>\n );\n\n // Offset is needed to center the marker on the coordinates\n const marker = new Marker(ref.current, { offset: [-20, -40] });\n\n // No chaining here, because the mocks don't support it\n marker.setLngLat(project.geom.coordinates);\n marker.addTo(map);\n });\n\n // Clean up on unmount\n return () => map.remove();\n }, [locale]);\n\n return (\n <DefaultSectionContainer>\n <Box css={mapboxStyle}>\n <Wrapper>\n {slice.title ? (\n <>\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.text}\n taglineProps={{ textAlign: 'center' }}\n titleProps={{\n textAlign: 'center',\n maxW: '6xl',\n marginX: 'auto',\n }}\n textProps={{\n textAlign: 'center',\n maxW: '3xl',\n marginX: 'auto',\n }}\n />\n <Box height=\"16\" />\n </>\n ) : (\n <></>\n )}\n\n <Box\n height=\"xl\"\n ref={mapContainer}\n borderRadius=\"xl\"\n overflow=\"hidden\"\n boxShadow={['md', null, null, 'none']}\n css={css`\n mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC);\n `}\n />\n </Wrapper>\n </Box>\n </DefaultSectionContainer>\n );\n};\n","import React from 'react';\nimport { Box, DefaultSectionContainer, Wrapper } from 'boemly';\nimport { useMeasure } from 'react-use';\n\ninterface VideoSlice {\n youTubeID: string;\n title: string;\n}\n\nexport interface VideoProps {\n slice: VideoSlice;\n}\n\nexport const Video: React.FC<VideoProps> = ({ slice }: VideoProps) => {\n const [ref, { width }] = useMeasure<HTMLDivElement>();\n\n return (\n <DefaultSectionContainer>\n <Wrapper>\n <Box ref={ref} borderRadius=\"xl\">\n <iframe\n data-testid=\"video-iframe\"\n width={width}\n height={(width / 16) * 9}\n src={`https://www.youtube.com/embed/${slice.youTubeID}`}\n frameBorder=\"0\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n allowFullScreen\n title={slice.title}\n style={{ borderRadius: 'var(--boemly-radii-xl)' }}\n />\n </Box>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","import React from 'react';\nimport Image from 'next/image';\nimport {\n DefaultSectionContainer,\n Wrapper,\n AvatarWithName,\n Text,\n Box,\n} from 'boemly';\nimport StrapiAvatarWithName from '../../models/strapi/StrapiAvatarWithName';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\n\nexport interface FullWidthHighlightQuoteProps {\n slice: {\n tagline?: string;\n quote: string;\n avatarWithName: StrapiAvatarWithName;\n };\n}\n\nexport const FullWidthHighlightQuote: React.FC<\n FullWidthHighlightQuoteProps\n> = ({ slice }: FullWidthHighlightQuoteProps) => (\n <DefaultSectionContainer>\n <Wrapper>\n <Box maxWidth=\"5xl\" marginX=\"auto\" mb=\"8\">\n {slice.tagline && (\n <Text\n color=\"primary.700\"\n size=\"mdMonoUppercase\"\n textAlign=\"center\"\n mb=\"3\"\n >\n {slice.tagline}\n </Text>\n )}\n <Text color=\"black\" size=\"xlRegularNormalBold\" textAlign=\"center\">\n {slice.quote}\n </Text>\n </Box>\n <AvatarWithName\n name={slice.avatarWithName.name}\n description={slice.avatarWithName.description}\n image={\n <Image\n src={strapiMediaUrl(slice.avatarWithName.image.img, 'small')}\n alt={slice.avatarWithName.image.alt}\n fill\n style={{\n objectFit: slice.avatarWithName.image.objectFit || 'cover',\n }}\n />\n }\n orientation=\"vertical\"\n />\n </Wrapper>\n </DefaultSectionContainer>\n);\n","import { motion } from 'framer-motion';\nimport styled from '@emotion/styled';\nimport { BREAKPOINT_MD } from '../../constants/breakpoints';\nimport { Box } from 'boemly';\n\nexport const SliderContainer = styled(Box)`\n --mobile-image-width: calc(100vw - var(--boemly-space-24));\n --desktop-image-width: var(--boemly-sizes-md);\n\n width: var(--boemly-size-full);\n\n overflow-x: hidden;\n\n padding-left: max(\n var(--boemly-space-8),\n calc(50vw - var(--boemly-sizes-7xl) / 2 + var(--boemly-space-6))\n );\n\n @media screen and (max-width: ${BREAKPOINT_MD}) {\n overflow-x: scroll;\n padding-left: max(\n var(--boemly-space-8),\n calc(50vw - var(--boemly-sizes-7xl) / 2 + var(--boemly-space-8))\n );\n }\n`;\n\ninterface SliderInnerContainerProps {\n imageCount: number;\n}\nexport const SliderInnerContainer = styled(\n motion.div\n)<SliderInnerContainerProps>`\n display: flex;\n gap: var(--boemly-space-6);\n\n width: fit-content;\n`;\n\nexport const ItemContainer = styled(Box)`\n width: var(--desktop-image-width);\n\n :last-of-type {\n margin-right: var(--boemly-space-8);\n }\n\n @media screen and (max-width: ${BREAKPOINT_MD}) {\n width: var(--mobile-image-width);\n }\n`;\n\ninterface ImageContainerProps {\n aspectRatio: number;\n}\nexport const ImageContainer = styled(Box)<ImageContainerProps>`\n position: relative;\n\n max-height: var(--boemly-sizes-xl);\n height: calc(\n var(--desktop-image-width) /\n ${({ aspectRatio }: ImageContainerProps) => aspectRatio}\n );\n width: var(--desktop-image-width);\n\n border-radius: var(--boemly-radii-xl);\n\n & img {\n border-radius: var(--boemly-radii-xl);\n }\n\n @media screen and (max-width: ${BREAKPOINT_MD}) {\n height: calc(\n var(--mobile-image-width) /\n ${({ aspectRatio }: ImageContainerProps) => aspectRatio}\n );\n width: var(--mobile-image-width);\n }\n`;\n","const ALLOWED_RATIOS = [2 / 3, 1 / 1, 3 / 2];\n\nexport const getClosestRatio = (width: number, height: number): number => {\n const ratio = width / height;\n\n let minDiff = Math.abs(ratio - ALLOWED_RATIOS[0]);\n let posMinDiff = 0;\n\n ALLOWED_RATIOS.forEach((allowedRatio, index) => {\n if (Math.abs(ratio - allowedRatio) < minDiff) {\n minDiff = Math.abs(ratio - allowedRatio);\n posMinDiff = index;\n }\n });\n\n return ALLOWED_RATIOS[posMinDiff];\n};\n","import React, { useMemo, useRef, useState } from 'react';\nimport {\n Box,\n IconButton,\n DefaultSectionContainer,\n Flex,\n Text,\n useMediaQuery,\n} from 'boemly';\nimport Image from 'next/image';\nimport { useMeasure, useWindowSize } from 'react-use';\nimport { AnimatePresence, motion } from 'framer-motion';\nimport { ArrowLeft, ArrowRight } from '@phosphor-icons/react';\nimport StrapiImage from '../../models/strapi/StrapiImage';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport FullScreenImage from '../../components/FullScreenImage';\nimport { BREAKPOINT_MD_QUERY } from '../../constants/breakpoints';\nimport {\n ItemContainer,\n SliderContainer,\n SliderInnerContainer,\n ImageContainer,\n} from './styles';\nimport { getClosestRatio } from './utils';\n\nexport interface FullWidthImageSliderProps {\n slice: {\n images: {\n id: number;\n caption: string;\n img: StrapiImage;\n }[];\n };\n}\n\nconst ITEM_GAP = 24;\nconst MAX_OFFSET_RIGHT = 162;\n\nexport const FullWidthImageSlider: React.FC<FullWidthImageSliderProps> = ({\n slice,\n}: FullWidthImageSliderProps) => {\n const containerRef = useRef(null);\n const [imageRef, { width: imageWidth }] = useMeasure<HTMLDivElement>();\n const { width: windowWidth } = useWindowSize();\n const [isMobile] = useMediaQuery(BREAKPOINT_MD_QUERY);\n\n const [sliderIndex, setSliderIndex] = useState(0);\n const [isOpen, setIsOpen] = useState(false);\n\n const numberOfItems = useMemo(\n () => slice.images.length,\n [slice.images.length]\n );\n\n const sliderItemsWidth = useMemo(\n () => numberOfItems * (imageWidth + ITEM_GAP) - ITEM_GAP,\n [imageWidth, numberOfItems]\n );\n\n const offsetLeft = useMemo(\n () => sliderIndex * (imageWidth + ITEM_GAP) * -1,\n [sliderIndex, imageWidth]\n );\n\n const allowScroll = useMemo(\n () => sliderItemsWidth + ITEM_GAP * 3 > windowWidth,\n\n [sliderItemsWidth, windowWidth]\n );\n\n const canMoveRight = useMemo(() => {\n const offsetRight = windowWidth - (sliderItemsWidth + offsetLeft);\n\n return offsetRight < MAX_OFFSET_RIGHT;\n }, [imageWidth, sliderIndex, sliderItemsWidth, windowWidth]);\n\n const canMoveLeft = useMemo(() => sliderIndex !== 0, [sliderIndex]);\n\n return (\n <DefaultSectionContainer>\n <SliderContainer ref={containerRef}>\n <SliderInnerContainer\n animate={{\n x: imageWidth * -sliderIndex,\n }}\n transition={{\n duration: 0.3,\n ease: 'easeInOut',\n }}\n imageCount={slice.images.length}\n >\n {slice.images.map((image, index) => (\n <ItemContainer key={image.id} ref={imageRef}>\n <Flex\n height=\"full\"\n width=\"full\"\n justifyContent=\"end\"\n flexDirection=\"column\"\n gap=\"2\"\n >\n <ImageContainer\n aspectRatio={getClosestRatio(\n image.img.img.data.attributes.width,\n image.img.img.data.attributes.height\n )}\n >\n <Image\n src={strapiMediaUrl(image.img.img, 'large')}\n alt={image.img.alt}\n fill\n style={{\n objectFit: image.img.objectFit || 'cover',\n cursor: isMobile ? 'unset' : 'pointer',\n }}\n onClick={() => {\n setSliderIndex(index);\n if (!isMobile) setIsOpen(true);\n }}\n />\n </ImageContainer>\n <Text height=\"6\">{image.caption}</Text>\n </Flex>\n </ItemContainer>\n ))}\n </SliderInnerContainer>\n </SliderContainer>\n\n <Box\n display={['none', null, null, !!allowScroll ? 'flex' : 'none']}\n pointerEvents=\"none\"\n position=\"absolute\"\n top=\"calc(50% - var(--boemly-sizes-12))\"\n left=\"0\"\n width=\"full\"\n py=\"0\"\n px=\"32\"\n justifyContent=\"space-between\"\n >\n <Box>\n <AnimatePresence>\n {canMoveLeft && (\n <IconButton\n key=\"leftButton\"\n as={motion.button}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n size=\"lg\"\n variant=\"outline\"\n onClick={() => setSliderIndex(sliderIndex - 1)}\n aria-label=\"Move left\"\n icon={<ArrowLeft size={16} />}\n pointerEvents=\"auto\"\n />\n )}\n </AnimatePresence>\n </Box>\n <Box>\n <AnimatePresence>\n {canMoveRight && (\n <IconButton\n key=\"rightButton\"\n as={motion.button}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n size=\"lg\"\n variant=\"outline\"\n onClick={() => setSliderIndex(sliderIndex + 1)}\n aria-label=\"Move right\"\n icon={<ArrowRight size={16} />}\n pointerEvents=\"auto\"\n />\n )}\n </AnimatePresence>\n </Box>\n </Box>\n\n <FullScreenImage\n images={slice.images.map((image) => image.img)}\n currentIndex={sliderIndex}\n setCurrentIndex={setSliderIndex}\n isOpen={isOpen}\n onClose={() => setIsOpen(false)}\n />\n </DefaultSectionContainer>\n );\n};\n","import React from 'react';\nimport {\n Box,\n DefaultSectionContainer,\n Grid,\n GridItem,\n SimpleGrid,\n Text,\n Wrapper,\n} from 'boemly';\nimport Image from 'next/image';\nimport StrapiImage from '../../models/strapi/StrapiImage';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\n\nexport interface SideBySideImagesProps {\n slice: {\n images: {\n id: number;\n caption: string;\n img: StrapiImage;\n }[];\n };\n}\nexport const SideBySideImages: React.FC<SideBySideImagesProps> = ({\n slice,\n}: SideBySideImagesProps) => (\n <DefaultSectionContainer>\n <Wrapper>\n <Grid templateColumns=\"repeat(12, 1fr)\" gap=\"4\">\n <GridItem colSpan={[12, null, null, 7]}>\n <SimpleGrid\n columns={[1, null, null, 2]}\n gap={['12', null, null, '6']}\n >\n {slice.images.map((image) => (\n <Box key={image.id}>\n <Box height=\"md\" position=\"relative\" borderRadius=\"xl\">\n <Image\n src={strapiMediaUrl(image.img.img, 'large')}\n alt={image.img.alt}\n fill\n style={{\n objectFit: image.img.objectFit || 'cover',\n borderRadius: 'var(--boemly-radii-xl)',\n }}\n />\n </Box>\n <Text mt=\"3\" size=\"xsLowNormal\">\n {image.caption}\n </Text>\n </Box>\n ))}\n </SimpleGrid>\n </GridItem>\n </Grid>\n </Wrapper>\n </DefaultSectionContainer>\n);\n","import React, { useContext } from 'react';\nimport {\n Box,\n Container,\n DefaultSectionContainer,\n DefaultSectionHeader,\n Flex,\n Gradient,\n Spacer,\n Wrapper,\n} from 'boemly';\nimport StrapiButtonWithVariant from '../../models/strapi/StrapiButtonWithVariant';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\nimport Image from 'next/image';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport StrapiImage from '../../models/strapi/StrapiImage';\nimport { CDN_URI } from '../../constants/api';\nimport { IntlContext } from '../../components/ContextProvider';\n\ntype Variant = 'gray' | 'green' | 'white';\n\nenum CtaCardType {\n Left = 'left',\n CenterWithoutImage = 'centerWithoutImage',\n CenterWithImage = 'centerWithImage',\n Right = 'right',\n}\n\nexport interface CtaProps {\n slice: {\n tagline?: string;\n title?: string;\n subTitle?: string;\n variant: Variant;\n ctaCards: CtaCard[];\n };\n}\n\nexport interface CtaCard {\n id: number;\n tagline?: string;\n title: string;\n subTitle?: string;\n image?: StrapiImage;\n buttons?: StrapiButtonWithVariant[];\n variant: Variant;\n backgroundShape: boolean;\n textAlign: 'left' | 'right' | 'center';\n}\n\nconst STATES: Record<CtaCardType, Record<string, any>> = {\n left: {\n textAlign: 'left',\n paddingTagline: '0',\n paddingTitle: '0',\n justifyContent: 'space-between',\n buttonJustifyContent: 'start',\n textMarginLeft: ['0', null, null, null, '14'],\n textMarginRight: '0',\n },\n centerWithoutImage: {\n textAlign: 'center',\n paddingTagline: '28',\n paddingTitle: '20',\n justifyContent: 'center',\n buttonJustifyContent: 'center',\n textMarginLeft: '0',\n textMarginRight: '0',\n },\n centerWithImage: {\n textAlign: 'center',\n paddingTagline: '28',\n paddingTitle: '20',\n justifyContent: 'center',\n buttonJustifyContent: 'center',\n textMarginLeft: '0',\n textMarginRight: '0',\n },\n right: {\n textAlign: 'left',\n paddingTagline: '0',\n paddingTitle: '0',\n justifyContent: 'start',\n buttonJustifyContent: 'start',\n textMarginLeft: '0',\n textMarginRight: ['0', null, null, null, '10'],\n },\n};\n\nconst VARIANTS: Record<Variant, Record<string, Record<CtaCardType, string>>> = {\n gray: {\n backgroundColor: {\n left: 'primary.50',\n centerWithoutImage: 'primary.50',\n centerWithImage: 'primary.50',\n right: 'primary.50',\n },\n taglineColor: {\n left: 'primary.500',\n centerWithoutImage: 'primary.500',\n centerWithImage: 'white',\n right: 'primary.500',\n },\n titleColor: {\n left: 'black',\n centerWithoutImage: 'black',\n centerWithImage: 'white',\n right: 'black',\n },\n subTitleColor: {\n left: 'black',\n centerWithoutImage: 'black',\n centerWithImage: 'white',\n right: 'black',\n },\n },\n green: {\n backgroundColor: {\n left: 'primary.800',\n centerWithoutImage: 'primary.800',\n centerWithImage: 'primary.800',\n right: 'primary.800',\n },\n taglineColor: {\n left: 'white',\n centerWithoutImage: 'white',\n centerWithImage: 'white',\n right: 'white',\n },\n titleColor: {\n left: 'white',\n centerWithoutImage: 'white',\n centerWithImage: 'white',\n right: 'white',\n },\n subTitleColor: {\n left: 'white',\n centerWithoutImage: 'white',\n centerWithImage: 'white',\n right: 'white',\n },\n },\n white: {\n backgroundColor: {\n left: 'white',\n centerWithoutImage: 'white',\n centerWithImage: 'primary.800',\n right: 'white',\n },\n taglineColor: {\n left: 'primary.500',\n centerWithoutImage: 'primary.500',\n centerWithImage: 'white',\n right: 'primary.500',\n },\n titleColor: {\n left: 'black',\n centerWithoutImage: 'black',\n centerWithImage: 'white',\n right: 'black',\n },\n subTitleColor: {\n left: 'black',\n centerWithoutImage: 'black',\n centerWithImage: 'white',\n right: 'black',\n },\n },\n};\n\nconst getTypeOfCard = (ctaCard: CtaCard): CtaCardType => {\n if (ctaCard.textAlign === 'center') {\n if (ctaCard.image) {\n return CtaCardType.CenterWithImage;\n }\n return CtaCardType.CenterWithoutImage;\n }\n if (ctaCard.textAlign === 'left') {\n return CtaCardType.Left;\n }\n return CtaCardType.Right;\n};\n\nexport const Cta: React.FC<CtaProps> = ({ slice }: CtaProps) => {\n const { formatMessage } = useContext(IntlContext);\n\n return (\n <DefaultSectionContainer\n backgroundColor={VARIANTS[slice.variant].backgroundColor.left}\n title={slice.title}\n >\n <Wrapper>\n {slice.title ? (\n <>\n <Flex alignItems=\"center\" flexDirection=\"column\">\n <DefaultSectionHeader\n tagline={slice.tagline}\n taglineProps={{\n color: VARIANTS[slice.variant].taglineColor.left,\n textAlign: 'center',\n maxWidth: '3xl',\n }}\n title={slice.title}\n titleProps={{\n color: VARIANTS[slice.variant].titleColor.left,\n textAlign: 'center',\n width: 'full',\n maxWidth: '3xl',\n }}\n text={slice.subTitle}\n textProps={{\n color: VARIANTS[slice.variant].subTitleColor.left,\n textAlign: 'center',\n maxWidth: '3xl',\n }}\n />\n </Flex>\n <Spacer height={['16', null, null, null, '20']} />\n </>\n ) : (\n <></>\n )}\n <Flex gap=\"4\" flexDirection=\"column\">\n {slice.ctaCards.map((ctaCard) => {\n const ctaCardType = getTypeOfCard(ctaCard);\n\n return (\n <Container\n backgroundColor={\n VARIANTS[ctaCard.variant].backgroundColor[ctaCardType]\n }\n key={ctaCard.id}\n position=\"relative\"\n elevation=\"none\"\n >\n {ctaCard.image &&\n ctaCardType === CtaCardType.CenterWithImage ? (\n <Box\n position=\"absolute\"\n left=\"0\"\n top=\"0\"\n width=\"full\"\n height=\"full\"\n borderRadius=\"xl\"\n overflow=\"hidden\"\n >\n <Image\n src={strapiMediaUrl(ctaCard.image.img, 'large')}\n alt={ctaCard.image.alt}\n fill\n style={{\n objectFit: ctaCard.image.objectFit || 'cover',\n borderRadius: 'var(--boemly-radii-xl)',\n }}\n />\n <Gradient />\n </Box>\n ) : (\n <></>\n )}\n {ctaCard.backgroundShape ? (\n <Box\n position=\"absolute\"\n left=\"0\"\n top=\"0\"\n width=\"full\"\n height=\"full\"\n >\n <Image\n src={\n ctaCardType === CtaCardType.CenterWithImage ||\n ctaCard.variant === 'green'\n ? `${CDN_URI}/assets/v3/strapi-slices/shapes-dark.svg`\n : `${CDN_URI}/assets/v3/strapi-slices/shapes-light.svg`\n }\n alt={formatMessage({\n id: `sections.cta.backgroundShapes${\n ctaCardType === CtaCardType.CenterWithImage ||\n ctaCard.variant === 'green'\n ? 'Dark'\n : 'Light'\n }`,\n })}\n fill\n style={{\n objectFit: 'cover',\n borderRadius: 'var(--boemly-radii-xl)',\n }}\n />\n </Box>\n ) : (\n <></>\n )}\n\n <Flex\n flexDir={['column', null, null, null, 'row']}\n flexGrow=\"1\"\n gap={['8', null, null, null, '16']}\n justifyContent={STATES[ctaCardType].justifyContent}\n >\n {ctaCard.image && ctaCardType === CtaCardType.Right ? (\n <Box\n position=\"relative\"\n height={['3xs', null, null, null, 'auto']}\n minWidth={[null, null, null, null, '50%']}\n >\n <Image\n src={strapiMediaUrl(ctaCard.image.img, 'xLarge')}\n alt={ctaCard.image.alt}\n fill\n style={{\n objectFit: ctaCard.image.objectFit || 'cover',\n borderRadius: 'var(--boemly-radii-xl)',\n }}\n />\n </Box>\n ) : (\n <></>\n )}\n\n <Box\n zIndex=\"base\"\n marginLeft={STATES[ctaCardType].textMarginLeft}\n marginRight={STATES[ctaCardType].textMarginRight}\n maxWidth=\"3xl\"\n >\n <Spacer height={['0', null, null, null, '20']} />\n\n <DefaultSectionHeader\n tagline={ctaCard.tagline}\n taglineProps={{\n textAlign: STATES[ctaCardType].textAlign,\n color:\n VARIANTS[ctaCard.variant].taglineColor[ctaCardType],\n paddingX: [\n '0',\n null,\n null,\n null,\n STATES[ctaCardType].paddingTagline,\n ],\n }}\n title={ctaCard.title}\n titleProps={{\n fontFamily: 'heading',\n fontSize: '4xl',\n fontWeight: '600',\n lineHeight: '9',\n textAlign: STATES[ctaCardType].textAlign,\n paddingX: [\n '0',\n null,\n null,\n null,\n STATES[ctaCardType].paddingTitle,\n ],\n color:\n VARIANTS[ctaCard.variant].titleColor[ctaCardType],\n }}\n text={ctaCard.subTitle}\n textProps={{\n textAlign: STATES[ctaCardType].textAlign,\n color:\n VARIANTS[ctaCard.variant].subTitleColor[ctaCardType],\n }}\n />\n {ctaCard.buttons && ctaCard.buttons.length > 0 ? (\n <>\n <Spacer height=\"8\" />\n <Flex\n gap=\"2\"\n justifyContent={\n STATES[ctaCardType].buttonJustifyContent\n }\n >\n {ctaCard.buttons &&\n ctaCard.buttons.map((button) => (\n <StrapiLinkButton\n key={button.button.id}\n link={button.button}\n size=\"md\"\n variant={button.variant}\n />\n ))}\n </Flex>\n </>\n ) : (\n <></>\n )}\n <Spacer height={['1', null, null, null, '20']} />\n </Box>\n {ctaCard.image && ctaCardType === CtaCardType.Left ? (\n <Box\n position=\"relative\"\n height={['3xs', null, null, null, 'auto']}\n minWidth={[null, null, null, null, '50%']}\n >\n <Image\n src={strapiMediaUrl(ctaCard.image.img, 'xLarge')}\n alt={ctaCard.image.alt}\n fill\n style={{\n objectFit: ctaCard.image.objectFit || 'cover',\n borderRadius: 'var(--boemly-radii-xl)',\n }}\n />\n </Box>\n ) : (\n <></>\n )}\n </Flex>\n </Container>\n );\n })}\n </Flex>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","import React from 'react';\nimport { Box, Wrapper } from 'boemly';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\nimport StrapiLink from '../../models/strapi/StrapiLink';\n\nexport interface CtaOnlyProps {\n slice: {\n button: StrapiLink;\n };\n}\n\nexport const CtaOnly: React.FC<CtaOnlyProps> = ({ slice }: CtaOnlyProps) => (\n <Wrapper>\n <Box position=\"absolute\" top=\"-28\" transform=\"translateY(50%)\">\n <StrapiLinkButton size=\"md\" link={slice.button} />\n </Box>\n </Wrapper>\n);\n","import React, { useContext, useState } from 'react';\nimport {\n DefaultSectionContainer,\n Divider,\n Flex,\n GridItem,\n Heading,\n IconButton,\n SimpleGrid,\n Text,\n Wrapper,\n} from 'boemly';\nimport { Check, Link as LinkIcon } from '@phosphor-icons/react';\nimport { useCopyToClipboard } from 'react-use';\nimport IStrapiData from '../../models/strapi/IStrapiData';\nimport StrapiGlossaryItem from '../../models/strapi/StrapiGlossaryItem';\nimport { IntlContext } from '../../components/ContextProvider';\n\nexport interface GlossaryProps {\n slice: {\n glossary_items: IStrapiData<StrapiGlossaryItem>[];\n };\n}\n\nexport const Glossary: React.FC<GlossaryProps> = ({ slice }: GlossaryProps) => {\n const [, copyToClipboard] = useCopyToClipboard();\n const { formatMessage } = useContext(IntlContext);\n const grouped: Record<string, StrapiGlossaryItem[]> = {};\n const [copiedItem, setCopiedItem] = useState<string>();\n\n slice.glossary_items\n .sort((a, b) => a.attributes.title.localeCompare(b.attributes.title))\n .forEach((curr) => {\n const index = curr.attributes.title.at(0)?.toUpperCase() || 'A';\n if (!grouped[index]) {\n grouped[index] = [];\n }\n grouped[index].push(curr.attributes);\n }, {});\n\n const handleAnchorClick = async (slug: string) => {\n if (window?.location) {\n const currentUrl = window.location.href.split('#')[0];\n copyToClipboard(`${currentUrl}#${slug}`);\n setCopiedItem(slug);\n\n setTimeout(() => {\n setCopiedItem(undefined);\n }, 1200);\n }\n };\n\n return (\n <DefaultSectionContainer>\n <Wrapper>\n <SimpleGrid>\n {Object.entries(grouped).map(([letter, items], index) => (\n <GridItem maxW=\"xl\" placeSelf=\"center\" key={letter}>\n <Heading size=\"3xl\" mb=\"8\">\n {letter}\n </Heading>\n\n <SimpleGrid spacing=\"6\">\n {items.map((item) => (\n <GridItem key={item.slug}>\n <Flex mb=\"2\" gap=\"1.5\" alignItems=\"center\">\n <Heading\n size=\"xl\"\n id={item.slug}\n scrollMarginTop=\"calc(var(--header-height) + var(--boemly-sizes-10))\"\n >\n {item.title}\n </Heading>\n <IconButton\n variant=\"ghost\"\n size=\"xs\"\n icon={\n copiedItem === item.slug ? (\n <Check size=\"16\" data-testid=\"check-icon\" />\n ) : (\n <LinkIcon size=\"16\" />\n )\n }\n title={formatMessage({\n id: 'sections.glossary.copyButtonLabel',\n })}\n aria-label={formatMessage({\n id: 'sections.glossary.copyButtonLabel',\n })}\n onClick={async () => handleAnchorClick(item.slug)}\n />\n </Flex>\n <Text color=\"black\">{item.text}</Text>\n </GridItem>\n ))}\n </SimpleGrid>\n\n {index !== Object.keys(grouped).length - 1 && (\n <Divider maxW=\"xl\" placeSelf=\"center\" mb=\"10\" mt=\"10\" />\n )}\n </GridItem>\n ))}\n </SimpleGrid>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","export const MINIMUM_CONTRIBUTION_VALUE_IN_MONEY = 10;\n\nexport const MAXIMUM_CONTRIBUTION_VALUE_IN_MONEY = 60_000;\n","import React, { useContext, useCallback } from 'react';\nimport {\n Badge,\n BoemlyFormControl,\n Box,\n Button,\n Container,\n DefaultSectionContainer,\n DefaultSectionHeader,\n Divider,\n Flex,\n InputRightAddon,\n LabelNumberPair,\n RichText,\n SimpleGrid,\n Spacer,\n useToken,\n Wrapper,\n} from 'boemly';\nimport { Field, FieldProps, Form, Formik, FormikProps } from 'formik';\nimport { FPM_API_URI } from '../../constants/api';\nimport CheckoutForm from '../../models/forms/CheckoutForm';\nimport {\n MAXIMUM_CONTRIBUTION_VALUE_IN_MONEY,\n MINIMUM_CONTRIBUTION_VALUE_IN_MONEY,\n} from '../../constants/domain';\nimport { IntlContext } from '../../components/ContextProvider';\nimport { useRouter } from 'next/router';\n\nexport interface ShopCheckoutProps {\n slice: {\n tagline?: string;\n title: string;\n text?: string;\n badge?: string;\n batchId: string;\n pricePerKg: number;\n couponId?: string;\n initialContributionValue: number;\n checkoutText: string;\n currency: 'EUR' | 'CHF';\n };\n}\n\nexport const ShopCheckout = ({ slice }: ShopCheckoutProps): JSX.Element => {\n const [primary50] = useToken('colors', ['primary.50']);\n const { formatMessage, formatNumber, locale } = useContext(IntlContext);\n const { push } = useRouter();\n\n const validateForm = useCallback(\n (values: CheckoutForm) => {\n const errors: Partial<{ contributionValue: string }> = {};\n\n if (!values.contributionValue) {\n errors.contributionValue = formatMessage({\n id: 'sections.shopCheckout.contributionValue.validation.empty',\n });\n } else if (\n values.contributionValue < MINIMUM_CONTRIBUTION_VALUE_IN_MONEY\n ) {\n errors.contributionValue = formatMessage({\n id: `sections.shopCheckout.contributionValue.validation.tooLow.${slice.currency}`,\n });\n } else if (\n values.contributionValue > MAXIMUM_CONTRIBUTION_VALUE_IN_MONEY\n ) {\n errors.contributionValue = formatMessage({\n id: 'sections.shopCheckout.contributionValue.validation.tooHigh',\n });\n }\n\n return errors;\n },\n [locale]\n );\n\n const onSubmit = ({ contributionValue }: CheckoutForm) => {\n const checkoutURL = new URL(`${FPM_API_URI}/v1/webhooks/shop/checkout`);\n const currentURL = new URL(window.location.href);\n\n checkoutURL.searchParams.append('batchId', slice.batchId);\n\n checkoutURL.searchParams.append(\n 'quantity',\n Math.floor(contributionValue / slice.pricePerKg).toString()\n );\n\n checkoutURL.searchParams.append('cancelPath', currentURL.pathname);\n\n if (slice.couponId)\n checkoutURL.searchParams.append('couponId', slice.couponId);\n\n push(checkoutURL.toString());\n };\n\n return (\n <DefaultSectionContainer backgroundColor={primary50} title={slice.title}>\n <Wrapper>\n <Flex\n flexDir={['column', null, null, null, 'row']}\n justifyContent=\"space-between\"\n alignItems={['left', null, null, null, 'center']}\n >\n <Box marginRight={['0', null, null, null, '36']} flexShrink={2}>\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.text}\n />\n </Box>\n <Container maxWidth=\"md\" padding=\"lg\" shadow=\"lg\">\n {slice.badge ? (\n <>\n <Badge\n colorScheme=\"green\"\n textTransform=\"none\"\n whiteSpace=\"unset\"\n >\n {slice.badge}\n </Badge>\n <Spacer height=\"3\" />\n </>\n ) : (\n <></>\n )}\n\n <RichText\n content={slice.checkoutText}\n textProps={{ color: 'gray.500' }}\n />\n\n <Spacer height=\"6\" />\n <Divider />\n <Spacer height=\"6\" />\n\n <LabelNumberPair\n label={formatMessage({ id: 'sections.shopCheckout.intro.price' })}\n number={`${formatNumber(slice.pricePerKg * 100, {\n style: 'currency',\n currency: slice.currency,\n })}/${formatNumber(100, {\n style: 'unit',\n unit: 'kilogram',\n })} CO₂`}\n />\n\n <Spacer height=\"6\" />\n <Divider />\n <Spacer height=\"6\" />\n\n <Formik\n initialValues={{\n contributionValue: slice.initialContributionValue,\n }}\n validate={validateForm}\n onSubmit={onSubmit}\n >\n {({\n errors,\n touched,\n handleSubmit,\n values,\n }: FormikProps<CheckoutForm>) => (\n <Form onSubmit={handleSubmit}>\n <Box width=\"full\">\n <Field name=\"contributionValue\">\n {({ field }: FieldProps) => (\n <BoemlyFormControl\n id=\"contributionValue\"\n size=\"md\"\n inputProps={{ type: 'number', ...field }}\n label={formatMessage({\n id: `sections.shopCheckout.contributionValue.label.${slice.currency}`,\n })}\n rightAddonsOrElements={[\n <InputRightAddon key=\"1\">\n {formatMessage({\n id: `sections.shopCheckout.contributionValue.unit.${slice.currency}`,\n })}\n </InputRightAddon>,\n ]}\n isInvalid={\n !!errors.contributionValue &&\n touched.contributionValue\n }\n errorMessage={errors.contributionValue}\n />\n )}\n </Field>\n </Box>\n\n <Spacer height=\"6\" />\n\n <SimpleGrid columns={2} gap=\"4\">\n <LabelNumberPair\n label={formatMessage({\n id: 'sections.shopCheckout.summary.kg',\n })}\n number={`${formatNumber(\n Math.floor(values.contributionValue / slice.pricePerKg),\n {\n style: 'unit',\n unit: 'kilogram',\n maximumFractionDigits: 0,\n }\n )} CO₂`}\n />\n <LabelNumberPair\n label={formatMessage({\n id: 'sections.shopCheckout.summary.price',\n })}\n number={formatNumber(\n Math.floor(\n values.contributionValue / slice.pricePerKg\n ) * slice.pricePerKg,\n {\n style: 'currency',\n currency: slice.currency,\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n }\n )}\n />\n </SimpleGrid>\n\n <Spacer height=\"6\" />\n\n <Button type=\"submit\" width=\"full\">\n {formatMessage({ id: 'sections.shopCheckout.submit' })}\n </Button>\n </Form>\n )}\n </Formik>\n </Container>\n </Flex>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","import React from 'react';\nimport {\n DefaultSectionContainer,\n DefaultSectionHeader,\n Flex,\n Heading,\n Spacer,\n Text,\n} from 'boemly';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\nimport StrapiLink from '../../models/strapi/StrapiLink';\n\nexport interface FactsProps {\n slice: {\n tagline?: string;\n title?: string;\n subTitle?: string;\n button?: StrapiLink;\n variant: 'gray' | 'green' | 'white';\n facts: { key: string; value: string }[];\n };\n}\n\nconst VARIANTS = {\n gray: {\n backgroundColor: 'primary.50',\n tagLineColor: 'primary.500',\n titleColor: 'black',\n subTitleColor: 'black',\n factKeyColor: 'gray.700',\n factValueColor: 'gray.700',\n },\n green: {\n backgroundColor: 'primary.800',\n tagLineColor: 'white',\n titleColor: 'white',\n subTitleColor: 'white',\n factKeyColor: 'whiteAlpha.900',\n factValueColor: 'white',\n },\n white: {\n backgroundColor: 'white',\n tagLineColor: 'primary.500',\n titleColor: 'black',\n subTitleColor: 'black',\n factKeyColor: 'gray.700',\n factValueColor: 'gray.700',\n },\n};\n\nexport const Facts: React.FC<FactsProps> = ({ slice }: FactsProps) => (\n <DefaultSectionContainer\n backgroundColor={VARIANTS[slice.variant].backgroundColor}\n flexDir=\"column\"\n textAlign=\"center\"\n justifyContent=\"space-between\"\n paddingX={['6', null, '8']}\n title={slice.title}\n >\n <>\n {slice.title && (\n <>\n <DefaultSectionHeader\n tagline={slice.tagline}\n text={slice.subTitle}\n title={slice.title}\n taglineProps={{\n color: VARIANTS[slice.variant].tagLineColor,\n textAlign: 'center',\n }}\n titleProps={{\n color: VARIANTS[slice.variant].titleColor,\n textAlign: 'center',\n maxW: '6xl',\n marginX: 'auto',\n }}\n textProps={{\n color: VARIANTS[slice.variant].subTitleColor,\n textAlign: 'center',\n maxW: '3xl',\n marginX: 'auto',\n }}\n />\n <Spacer height={['0', null, '12']} />\n </>\n )}\n <Flex\n justifyContent={slice.facts.length < 3 ? 'center' : 'flex-start'}\n alignItems=\"center\"\n flexWrap=\"wrap\"\n mx={[null, null, null, '22', '28']}\n flexDir={['column', null, null, 'row']}\n gap={[null, null, null, '12']}\n >\n {slice.facts.map((fact) => (\n <Flex\n key={fact.key}\n flexDir=\"column\"\n width={[\n 'var(--boemly-sizes-full)',\n null,\n null,\n 'calc((var(--boemly-sizes-full) - var(--boemly-space-24))/ 3 )',\n ]}\n mt={['8', '8', '8', slice.facts.length > 3 ? '16' : '0']}\n >\n <Heading\n fontSize=\"6xl\"\n fontFamily=\"display\"\n lineHeight=\"10\"\n fontWeight=\"700\"\n color={VARIANTS[slice.variant].factValueColor}\n mb=\"2\"\n as=\"p\"\n >\n {fact.value}\n </Heading>\n\n <Text\n size=\"mdLowNormal\"\n color={VARIANTS[slice.variant].factKeyColor}\n >\n {fact.key}\n </Text>\n </Flex>\n ))}\n </Flex>\n\n {slice.button && (\n <>\n <Spacer height={['0', null, '20']} />\n <StrapiLinkButton\n link={slice.button}\n size=\"md\"\n variant={slice.variant === 'green' ? 'outline' : 'solid'}\n />\n </>\n )}\n </>\n </DefaultSectionContainer>\n);\n","import React, { useContext, useMemo } from 'react';\nimport {\n Text,\n Heading,\n Spacer,\n DatePersonPair,\n DefaultSectionHeader,\n DefaultSectionContainer,\n Wrapper,\n SimpleGrid,\n Box,\n Flex,\n useMediaQuery,\n useToken,\n} from 'boemly';\nimport Image from 'next/image';\nimport Link from 'next/link';\nimport { CaretRight } from '@phosphor-icons/react';\nimport StrapiBlogPost from '../../models/strapi/StrapiBlogPost';\nimport IStrapiData from '../../models/strapi/IStrapiData';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport StrapiCategory from '../../models/strapi/StrapiCategory';\nimport IStrapi from '../../models/strapi/IStrapi';\nimport { BREAKPOINT_LG_QUERY } from '../../constants/breakpoints';\nimport StrapiLink from '../../models/strapi/StrapiLink';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\nimport { BlogItemContainer, ImageContainer } from '../Blog/styles';\nimport { IntlContext } from '../../components/ContextProvider';\n\nexport interface BlogCardsProps {\n slice: {\n tagline: string;\n title: string;\n subTitle: string;\n button?: StrapiLink;\n variant: 'white' | 'gray';\n blogPostCategory: IStrapi<IStrapiData<StrapiCategory> | null>;\n };\n blogPosts: IStrapiData<StrapiBlogPost>[];\n}\n\nconst VARIANTS = {\n white: {\n backgroundColor: 'white',\n },\n gray: {\n backgroundColor: 'primary.50',\n },\n};\n\nconst sortByCreatedAt = (\n a: IStrapiData<StrapiBlogPost>,\n b: IStrapiData<StrapiBlogPost>\n): number =>\n new Date(b.attributes.createdAt).getTime() -\n new Date(a.attributes.createdAt).getTime();\n\nexport const BlogCards: React.FC<BlogCardsProps> = ({\n slice,\n blogPosts,\n}: BlogCardsProps) => {\n const { formatDate } = useContext(IntlContext);\n const [mobile] = useMediaQuery(BREAKPOINT_LG_QUERY);\n const [gray700] = useToken('colors', ['gray.700']);\n\n const sortedBlogPosts = useMemo(\n () => blogPosts.sort(sortByCreatedAt),\n [blogPosts]\n );\n\n const blogPostsToDisplay = useMemo(\n () =>\n slice.blogPostCategory?.data?.attributes.name\n ? sortedBlogPosts\n .filter(\n (blogPost) =>\n blogPost.attributes.category.data?.attributes.name ===\n slice.blogPostCategory?.data?.attributes.name\n )\n .slice(0, 3)\n : sortedBlogPosts.slice(0, 3),\n [sortedBlogPosts, slice]\n );\n\n return (\n <DefaultSectionContainer\n backgroundColor={VARIANTS[slice.variant].backgroundColor}\n title={slice.title}\n >\n <Wrapper>\n {mobile || !slice.button ? (\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.subTitle}\n titleProps={{ maxW: '2xl' }}\n textProps={{ maxW: '2xl' }}\n />\n ) : (\n <Flex justifyContent=\"space-between\" alignItems=\"center\" gap=\"60\">\n <Box>\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.subTitle}\n />\n </Box>\n <Box minWidth=\"40\">\n <StrapiLinkButton\n link={slice.button}\n size=\"lg\"\n variant=\"outline\"\n rightIcon={<CaretRight color={gray700} />}\n />\n </Box>\n </Flex>\n )}\n <Spacer height=\"14\" />\n <SimpleGrid\n columns={[1, null, null, 3]}\n spacingX={4}\n spacingY={24}\n flexShrink=\"0\"\n >\n {blogPostsToDisplay.map((blogPost) => (\n <BlogItemContainer\n as={Link}\n href={`/blog/${blogPost.attributes.slug}`}\n data-testid=\"blog-item\"\n key={blogPost.attributes.slug}\n >\n <ImageContainer>\n <Image\n src={strapiMediaUrl(blogPost.attributes.img.img, 'medium')}\n alt={blogPost.attributes.img.alt}\n fill\n style={{\n objectFit: blogPost.attributes.img.objectFit || 'cover',\n }}\n />\n </ImageContainer>\n <Box px=\"2\" py=\"8\">\n {blogPost.attributes.category && (\n <Text size=\"smMonoUppercase\" color=\"primary.800\" mb=\"2\">\n {blogPost.attributes.category.data?.attributes.name}\n </Text>\n )}\n <Heading size=\"lg\">{blogPost.attributes.title}</Heading>\n {blogPost.attributes.teaser && (\n <Text size=\"mdRegularNormal\" mt=\"2\">\n {blogPost.attributes.teaser}\n </Text>\n )}\n\n <Spacer height=\"4\" />\n\n <DatePersonPair\n date={formatDate(blogPost.attributes.createdAt)}\n person={\n blogPost.attributes.author.data\n ? {\n name: blogPost.attributes.author.data.attributes.name,\n image: (\n <Image\n src={strapiMediaUrl(\n blogPost.attributes.author.data.attributes.img\n .img,\n 'thumbnail'\n )}\n alt={\n blogPost.attributes.author.data.attributes.img\n .alt\n }\n fill\n style={{\n objectFit:\n blogPost.attributes.author.data.attributes.img\n .objectFit || 'cover',\n }}\n />\n ),\n }\n : undefined\n }\n />\n </Box>\n </BlogItemContainer>\n ))}\n </SimpleGrid>\n <>\n {mobile && slice.button && (\n <>\n <Box minWidth=\"40\" mt=\"6\">\n <StrapiLinkButton\n link={slice.button}\n size=\"lg\"\n variant=\"outline\"\n rightIcon={<CaretRight color={gray700} />}\n />\n </Box>\n </>\n )}\n </>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","import React, { useCallback, useContext } from 'react';\nimport {\n BoemlyFormControl,\n Box,\n Button,\n Divider,\n Flex,\n InputRightAddon,\n Spacer,\n Text,\n} from 'boemly';\nimport {\n Field,\n FieldProps,\n Form,\n Formik,\n FormikErrors,\n FormikProps,\n} from 'formik';\nimport { useRouter } from 'next/router';\nimport Image from 'next/image';\nimport { StrapiLink } from '../../..';\nimport { IntlContext } from '../../ContextProvider';\nimport {\n MAXIMUM_CONTRIBUTION_VALUE_IN_MONEY,\n MINIMUM_CONTRIBUTION_VALUE_IN_MONEY,\n} from '../../../constants/domain';\nimport { CDN_URI, FPM_API_URI } from '../../../constants/api';\nimport StrapiLinkButton from '../../StrapiLinkButton';\n\nexport interface SmallCheckoutProps {\n batchId: string;\n pricePerKg: number;\n initialContributionValue: number;\n checkoutText?: string;\n currency: 'EUR' | 'CHF';\n\n title?: string;\n subtitle?: string;\n button?: StrapiLink;\n}\n\ninterface SmallCheckoutForm {\n contributionValueCurrency: number;\n contributionValueKgs: number;\n}\n\nconst SmallCheckout = ({\n pricePerKg,\n currency,\n batchId,\n initialContributionValue,\n checkoutText,\n title,\n subtitle,\n button,\n}: SmallCheckoutProps) => {\n const { formatNumber, formatMessage, locale } = useContext(IntlContext);\n const { push } = useRouter();\n\n const validateForm = useCallback(\n (values: SmallCheckoutForm) => {\n const errors: FormikErrors<SmallCheckoutForm> = {};\n\n if (!values.contributionValueCurrency) {\n errors.contributionValueCurrency = formatMessage({\n id: 'portfolio.smallCheckout.contributionValueCurrency.validation.empty',\n });\n } else if (\n values.contributionValueCurrency < MINIMUM_CONTRIBUTION_VALUE_IN_MONEY\n ) {\n errors.contributionValueCurrency = formatMessage({\n id: `portfolio.smallCheckout.contributionValueCurrency.validation.tooLow.${currency}`,\n });\n } else if (\n values.contributionValueCurrency > MAXIMUM_CONTRIBUTION_VALUE_IN_MONEY\n ) {\n errors.contributionValueCurrency = formatMessage({\n id: 'portfolio.smallCheckout.contributionValueCurrency.validation.tooHigh',\n });\n }\n\n return errors;\n },\n [locale]\n );\n\n const onSubmit = async ({ contributionValueCurrency }: SmallCheckoutForm) => {\n const checkoutURL = new URL(`${FPM_API_URI}/v1/webhooks/shop/checkout`);\n const currentURL = new URL(window.location.href);\n\n checkoutURL.searchParams.append('batchId', batchId);\n\n checkoutURL.searchParams.append(\n 'quantity',\n Math.floor(contributionValueCurrency / pricePerKg).toString()\n );\n\n checkoutURL.searchParams.append('cancelPath', currentURL.pathname);\n\n push(checkoutURL.toString());\n };\n\n return (\n <Flex\n width=\"full\"\n height=\"full\"\n borderRadius=\"xl\"\n background=\"primary.100\"\n padding=\"6\"\n direction=\"column\"\n >\n <Flex gap=\"1\" alignItems=\"end\" mb=\"6\">\n <Text color=\"black\" lineHeight=\"0\">\n {formatMessage(\n { id: 'unit.formatter.tonsCo2' },\n {\n number: (\n <Text as=\"span\" size=\"lgLowBold\" color=\"black\">\n {formatNumber(pricePerKg * 1000, {\n style: 'currency',\n currency,\n maximumFractionDigits: 0,\n })}\n </Text>\n ),\n }\n )}\n </Text>\n </Flex>\n\n <Formik\n initialValues={{\n contributionValueCurrency: initialContributionValue,\n contributionValueKgs: initialContributionValue / pricePerKg / 1000,\n }}\n validate={validateForm}\n onSubmit={onSubmit}\n >\n {({\n errors,\n touched,\n handleSubmit,\n setValues,\n }: FormikProps<SmallCheckoutForm>) => (\n <Form onSubmit={handleSubmit}>\n <Flex gap=\"4\">\n <Box width=\"full\">\n <Field name=\"contributionValueCurrency\">\n {({ field }: FieldProps) => (\n <BoemlyFormControl\n id=\"contributionValueCurrency\"\n size=\"md\"\n inputProps={{\n type: 'number',\n value: field.value,\n onChange: (e) => {\n setValues({\n contributionValueCurrency: e.target.valueAsNumber,\n contributionValueKgs:\n e.target.valueAsNumber / pricePerKg / 1000,\n });\n },\n }}\n label={formatMessage({\n id: `portfolio.smallCheckout.contributionValueCurrency.label.${currency}`,\n })}\n rightAddonsOrElements={[\n <InputRightAddon key=\"currencyUnit\">\n {formatMessage({\n id: `portfolio.smallCheckout.contributionValueCurrency.unit.${currency}`,\n })}\n </InputRightAddon>,\n ]}\n isInvalid={\n !!errors.contributionValueCurrency &&\n touched.contributionValueCurrency\n }\n errorMessage={errors.contributionValueCurrency}\n />\n )}\n </Field>\n </Box>\n\n <Box width=\"full\">\n <Field name=\"contributionValueKgs\">\n {({ field }: FieldProps) => (\n <BoemlyFormControl\n id=\"contributionValueKgs\"\n size=\"md\"\n inputProps={{\n type: 'number',\n value: field.value,\n onChange: (e) => {\n const value = e.target.valueAsNumber || 0;\n\n setValues({\n contributionValueCurrency:\n value * pricePerKg * 1000,\n contributionValueKgs: value,\n });\n },\n }}\n label={formatMessage({\n id: 'portfolio.smallCheckout.contributionValueKgs.label',\n })}\n rightAddonsOrElements={[\n <InputRightAddon key=\"tCO₂\">tCO₂</InputRightAddon>,\n ]}\n isInvalid={\n !!errors.contributionValueKgs &&\n touched.contributionValueKgs\n }\n errorMessage={errors.contributionValueKgs}\n />\n )}\n </Field>\n </Box>\n </Flex>\n\n <Spacer height=\"4\" />\n\n <Button type=\"submit\" width=\"full\">\n {formatMessage({ id: 'portfolio.smallCheckout.submitButton' })}\n </Button>\n </Form>\n )}\n </Formik>\n\n <Flex\n width=\"full\"\n justifyContent=\"center\"\n alignItems=\"center\"\n mt=\"6\"\n gap=\"2\"\n >\n <Image\n src={`${CDN_URI}/assets/v3/strapi-slices/globe-love-icon.svg`}\n alt=\"Icon\"\n width={20}\n height={20}\n />\n <Text size=\"smLowNormal\">{checkoutText}</Text>\n </Flex>\n\n <Divider my=\"6\" />\n\n <Flex width=\"full\" alignItems=\"center\" direction=\"column\">\n {title && (\n <Text size=\"smLowBold\" textAlign=\"center\" color=\"black\" mb=\"2\">\n {title}\n </Text>\n )}\n {subtitle && (\n <Text size=\"smRegularNormal\" textAlign=\"center\" mb=\"3\">\n {subtitle}\n </Text>\n )}\n {button && (\n <StrapiLinkButton\n link={{\n intercomLauncher: true,\n ...button,\n }}\n variant=\"outline\"\n />\n )}\n </Flex>\n </Flex>\n );\n};\n\nexport default SmallCheckout;\n","const convertAreaM2ToHa = (areaInM2: string): number =>\n parseInt(areaInM2, 10) / 10000;\n\nexport default convertAreaM2ToHa;\n","const convertCo2AmountKgToTons = (amount: string): number =>\n parseInt(amount, 10) / 1000;\n\nexport default convertCo2AmountKgToTons;\n","const getTimeSpanInYears = (start: Date, end: Date) => {\n const monthsDifference = end.getMonth() - start.getMonth();\n const yearsDifference = end.getFullYear() - start.getFullYear();\n\n if (monthsDifference > 4) {\n return yearsDifference + 1;\n }\n if (monthsDifference < -4) {\n return yearsDifference - 1;\n }\n return yearsDifference;\n};\n\nexport default getTimeSpanInYears;\n","import React, { useContext } from 'react';\nimport {\n Box,\n Container,\n Divider,\n Flex,\n Heading,\n LabelTextPair,\n SimpleGrid,\n Spacer,\n} from 'boemly';\nimport Image from 'next/image';\nimport convertAreaM2ToHa from '../../../utils/convertAreaM2ToHa';\nimport convertCo2AmountKgToTons from '../../../utils/convertCo2AmountKgToTons';\nimport CreditsAvailableBadge from '../../../components/CreditsAvailableBadge';\nimport PortfolioProject from '../../../models/PortfolioProject';\nimport {\n FORMAT_AS_HECTARE_CONFIG,\n FORMAT_AS_PERCENT_CONFIG,\n} from '../../../constants/formatter';\nimport getTimeSpanInYears from '../../../utils/getTimeSpanInYears';\nimport { IntlContext } from '../../ContextProvider';\n\nexport interface ProjectInfoProps {\n project: PortfolioProject;\n subtitles: {\n areaSubtitle?: string;\n locationSubtitle?: string;\n startSubtitle?: string;\n timeSpanSubtitle?: string;\n projectTypeSubtitle?: string;\n projectDeveloperSubtitle?: string;\n verificationStandardSubtitle?: string;\n forecastedAmountSubtitle?: string;\n riskBufferSubtitle?: string;\n buyCreditsSubtitle?: string;\n };\n}\n\nexport const ProjectInfo: React.FC<ProjectInfoProps> = ({\n project,\n subtitles,\n}: ProjectInfoProps) => {\n const { formatMessage, formatNumber, formatDate } = useContext(IntlContext);\n\n return (\n <Container p=\"2\" width=\"full\">\n <Heading size=\"xl\" textAlign=\"left\">\n {formatMessage({ id: 'features.projectInfo.projectInfo.value' })}\n </Heading>\n\n <Spacer height=\"8\" />\n\n <SimpleGrid\n columns={[1, null, null, 2]}\n gap=\"8\"\n spacingX=\"10\"\n spacingY=\"8\"\n >\n {project.area && (\n <Box>\n <LabelTextPair\n label={formatMessage({\n id: 'features.projectInfo.properties.area',\n })}\n text={formatNumber(\n convertAreaM2ToHa(project.area.toString()),\n FORMAT_AS_HECTARE_CONFIG\n )}\n caption={subtitles.areaSubtitle}\n />\n </Box>\n )}\n\n {project.location && (\n <Box>\n <LabelTextPair\n label={formatMessage({\n id: 'features.projectInfo.properties.location',\n })}\n text={project.location}\n caption={subtitles.locationSubtitle}\n />\n </Box>\n )}\n\n {project.start && (\n <Box>\n <LabelTextPair\n label={formatMessage({\n id: 'features.projectInfo.properties.start',\n })}\n text={formatDate(project.start, {\n year: 'numeric',\n month: 'long',\n })}\n caption={subtitles.startSubtitle}\n />\n </Box>\n )}\n\n {project.start && project.end && (\n <Box>\n <LabelTextPair\n label={formatMessage({\n id: 'features.projectInfo.properties.timeSpan',\n })}\n text={formatMessage(\n {\n id: 'features.projectInfo.properties.year',\n },\n {\n years: getTimeSpanInYears(\n new Date(project.start),\n new Date(project.end)\n ),\n }\n )}\n caption={subtitles.timeSpanSubtitle}\n />\n </Box>\n )}\n </SimpleGrid>\n\n {project.projectType ||\n project.projectDeveloper ||\n project.verificationStandard ? (\n <>\n <Spacer height=\"6\" />\n <Divider />\n <Spacer height=\"6\" />\n </>\n ) : (\n <></>\n )}\n <SimpleGrid columns={[1, null, null, 2]} spacingX=\"10\" spacingY=\"8\">\n {project.projectType && (\n <Box>\n <LabelTextPair\n label={formatMessage({\n id: 'features.projectInfo.properties.projectType',\n })}\n text={project.projectType.title}\n caption={subtitles.projectTypeSubtitle}\n />\n </Box>\n )}\n {project.projectDeveloper && (\n <Box>\n <LabelTextPair\n label={formatMessage({\n id: 'features.projectInfo.properties.projectDeveloper',\n })}\n text={project.projectDeveloper.name}\n caption={subtitles.projectDeveloperSubtitle}\n />\n </Box>\n )}\n </SimpleGrid>\n\n {project.verificationStandard ? (\n <>\n {project.projectType || project.projectDeveloper ? (\n <Spacer height=\"6\" />\n ) : (\n <></>\n )}\n <Flex justifyContent=\"space-between\" alignItems=\"center\">\n <Box>\n <LabelTextPair\n label={formatMessage({\n id: 'features.projectInfo.properties.verificationStandard.label',\n })}\n text={formatMessage({\n id: `features.projectInfo.properties.verificationStandard.value.${project.verificationStandard.id}`,\n defaultMessage: project.verificationStandard.id,\n })}\n caption={subtitles.verificationStandardSubtitle}\n />\n </Box>\n\n {project.defaultIssuer && (\n <Box position=\"relative\" width=\"14\" height=\"8\">\n <Image\n src={project.defaultIssuer.logoUrl}\n alt={`${project.defaultIssuer.name} logo`}\n fill\n style={{ objectFit: 'contain' }}\n />\n </Box>\n )}\n </Flex>\n </>\n ) : (\n <></>\n )}\n\n {project.forecastedAmountYearly && project.riskBuffer ? (\n <>\n <Spacer height=\"8\" />\n <Divider />\n <Spacer height=\"8\" />\n <SimpleGrid columns={[1, null, null, 2]} spacingX=\"10\" spacingY=\"8\">\n <Box>\n <LabelTextPair\n label={formatMessage({\n id: 'features.projectInfo.properties.forecastedAmountYear.label',\n })}\n text={formatMessage(\n {\n id: 'unit.formatter.tonsCo2PerYear',\n },\n {\n number: formatNumber(\n convertCo2AmountKgToTons(\n project.forecastedAmountYearly.toString()\n ),\n { maximumFractionDigits: 0 }\n ),\n }\n )}\n caption={subtitles.forecastedAmountSubtitle}\n />\n </Box>\n\n <Box>\n <LabelTextPair\n label={formatMessage({\n id: 'features.projectInfo.properties.riskBuffer',\n })}\n text={formatNumber(\n project.riskBuffer / 100,\n FORMAT_AS_PERCENT_CONFIG\n )}\n caption={subtitles.riskBufferSubtitle}\n />\n </Box>\n </SimpleGrid>\n </>\n ) : (\n <></>\n )}\n\n {project.creditsAvailable ? (\n <Box mt=\"2\">\n <CreditsAvailableBadge status={project.creditsAvailable} />\n </Box>\n ) : (\n <></>\n )}\n </Container>\n );\n};\n","import React, { useContext } from 'react';\nimport StrapiLink from '../../../models/strapi/StrapiLink';\nimport {\n Center,\n Container,\n Flex,\n Heading,\n IconButton,\n Spacer,\n Text,\n} from 'boemly';\nimport { DownloadSimple, FilePdf } from '@phosphor-icons/react';\nimport Link from 'next/link';\nimport { IntlContext } from '../../ContextProvider';\n\nexport interface DocumentsDownloadListProps {\n documentUrls: StrapiLink[];\n}\n\nexport const DocumentsDownloadList: React.FC<DocumentsDownloadListProps> = ({\n documentUrls,\n}: DocumentsDownloadListProps) => {\n const { formatMessage } = useContext(IntlContext);\n\n return (\n <Container p=\"2\">\n <Heading size=\"xl\" textAlign=\"left\">\n {formatMessage({\n id: 'features.portfolio.documentsDownloadList.projectDocuments',\n })}\n </Heading>\n\n <Flex flexDir=\"column\">\n {documentUrls.map((documentUrl) => (\n <Flex\n justifyContent=\"space-between\"\n alignItems=\"center\"\n mt=\"6\"\n key={documentUrl.text}\n >\n <Flex alignItems=\"center\">\n <Center\n w=\"8\"\n h=\"8\"\n borderRadius=\"full\"\n borderWidth=\"1px\"\n borderColor=\"grey.200\"\n >\n <FilePdf />\n </Center>\n\n <Spacer width=\"4\" />\n\n <Flex flexDir=\"column\">\n <Text size=\"smMonoNormal\">PDF</Text>\n <Text size=\"mdLowBold\" color=\"black\" textAlign=\"left\">\n {documentUrl.text}\n </Text>\n </Flex>\n </Flex>\n\n <Spacer width=\"32\" />\n\n <IconButton\n variant=\"outline\"\n aria-label={formatMessage({\n id: 'features.portfolio.documentsDownloadList.downloadDocument',\n })}\n icon={<DownloadSimple />}\n as={Link}\n href={documentUrl.url}\n size=\"sm\"\n />\n </Flex>\n ))}\n </Flex>\n </Container>\n );\n};\n","import React from 'react';\nimport StrapiImage from '../../../models/strapi/StrapiImage';\nimport StrapiLink from '../../../models/strapi/StrapiLink';\nimport strapiMediaUrl from '../../../utils/strapiMediaUrl';\nimport { Text, Heading, Flex, Box, Container } from 'boemly';\nimport Image from 'next/image';\nimport StrapiLinkButton from '../../../components/StrapiLinkButton';\n\nexport interface ContactProps {\n avatar?: StrapiImage;\n title?: string;\n text?: string;\n button?: StrapiLink;\n}\n\nexport const Contact: React.FC<ContactProps> = ({\n avatar,\n title,\n text,\n button,\n}: ContactProps) => (\n <Container backgroundColor=\"primary.100\" border=\"none\" p=\"8\" height=\"full\">\n <Flex\n flexDir=\"column\"\n justifyContent=\"center\"\n alignItems=\"center\"\n height=\"full\"\n >\n {avatar ? (\n <Box\n position=\"relative\"\n width=\"20\"\n height=\"20\"\n borderRadius=\"full\"\n overflow=\"hidden\"\n >\n <Image\n src={strapiMediaUrl(avatar.img, 'small')}\n alt={avatar.alt}\n fill\n objectFit={avatar.objectFit}\n />\n </Box>\n ) : (\n <></>\n )}\n {title ? (\n <Heading\n mt=\"6\"\n size=\"md\"\n fontWeight=\"500\"\n textAlign=\"center\"\n color=\"black\"\n >\n {title}\n </Heading>\n ) : (\n <></>\n )}\n {text ? (\n <Text mt=\"2\" size=\"smRegularNormal\" textAlign=\"center\">\n {text}\n </Text>\n ) : (\n <></>\n )}\n {button ? (\n <StrapiLinkButton mt=\"6\" link={button} size=\"md\" variant=\"outline\" />\n ) : (\n <></>\n )}\n </Flex>\n </Container>\n);\n","import React from 'react';\nimport { DefaultSectionContainer, Flex, Wrapper } from 'boemly';\nimport StrapiLink from '../../models/strapi/StrapiLink';\nimport PortfolioProject from '../../models/PortfolioProject';\nimport SmallCheckout from '../../components/portfolio/SmallCheckout';\nimport ProjectInfo from '../../components/portfolio/ProjectInfo';\nimport DocumentsDownloadList from '../../components/portfolio/DocumentsDownloadList';\nimport Contact from '../../components/portfolio/Contact';\nimport StrapiImage from '../../models/strapi/StrapiImage';\n\nexport interface ProjectFactsProps {\n project?: PortfolioProject;\n slice: {\n projectId: string;\n\n batchId?: string;\n currency?: 'EUR' | 'CHF';\n pricePerKg?: number;\n initialContributionValue?: number;\n checkoutText?: string;\n\n customTitle?: string;\n customSubtitle?: string;\n customButton?: StrapiLink;\n documentUrls?: StrapiLink[];\n\n areaSubtitle?: string;\n locationSubtitle?: string;\n startSubtitle?: string;\n timeSpanSubtitle?: string;\n projectTypeSubtitle?: string;\n projectDeveloperSubtitle?: string;\n verificationStandardSubtitle?: string;\n forecastedAmountSubtitle?: string;\n riskBufferSubtitle?: string;\n buyCreditsSubtitle?: string;\n\n contactTitle?: string;\n contactText?: string;\n contactButton?: StrapiLink;\n contactAvatar?: StrapiImage;\n };\n}\n\nexport const ProjectFacts: React.FC<ProjectFactsProps> = ({\n slice,\n project,\n}: ProjectFactsProps) => {\n if (!project) {\n return (\n <>Invalid configuration, check if a project this id exists in the FPM</>\n );\n }\n\n return (\n <DefaultSectionContainer>\n <Wrapper>\n <Flex flexDir={['column', null, null, 'row']} gap=\"4\" width=\"full\">\n <ProjectInfo project={project} subtitles={slice} />\n <Flex flexDir=\"column\" gap=\"4\" width=\"full\">\n {slice.documentUrls && slice.documentUrls.length > 0 && (\n <DocumentsDownloadList documentUrls={slice.documentUrls} />\n )}\n {slice.batchId &&\n slice.pricePerKg &&\n slice.currency &&\n slice.initialContributionValue ? (\n <SmallCheckout\n batchId={slice.batchId}\n checkoutText={slice.checkoutText}\n currency={slice.currency}\n initialContributionValue={slice.initialContributionValue}\n pricePerKg={slice.pricePerKg}\n title={slice.customTitle}\n subtitle={slice.customSubtitle}\n button={slice.customButton}\n />\n ) : (\n (slice.contactTitle ||\n slice.contactText ||\n slice.contactButton ||\n slice.contactAvatar) && (\n <Contact\n title={slice.contactTitle}\n text={slice.contactText}\n button={slice.contactButton}\n avatar={slice.contactAvatar}\n />\n )\n )}\n </Flex>\n </Flex>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","import { Container, Center, Heading, Button, Box, Text, Flex } from 'boemly';\nimport React, { useContext } from 'react';\nimport { StrapiCustomerStory, strapiMediaUrl } from '../..';\nimport Image from 'next/image';\nimport { IntlContext } from '../../components/ContextProvider';\nimport Link from 'next/link';\n\nexport interface CustomerCardProps {\n customerStory: StrapiCustomerStory;\n}\nexport const CustomerCard = ({\n customerStory,\n}: CustomerCardProps): JSX.Element => {\n const { formatMessage } = useContext(IntlContext);\n\n return (\n <Container padding=\"none\" height=\"full\">\n <Flex flexDir=\"column\" height=\"full\">\n <Center height=\"24\" backgroundColor=\"primary.50\" borderTopRadius=\"xl\">\n {customerStory.cardImage && (\n <Box position=\"relative\" height=\"12\" width=\"12\">\n <Image\n src={strapiMediaUrl(customerStory.cardImage.img, 'medium')}\n alt={customerStory.cardImage.alt}\n fill\n style={{\n objectFit: customerStory.cardImage.objectFit,\n }}\n />\n </Box>\n )}\n </Center>\n <Box px=\"6\" pt=\"8\" pb=\"6\" mb=\"auto\">\n {customerStory.customerCardCustomerIndustry && (\n <Text size=\"xsMonoUppercase\" color=\"gray.500\" mb=\"2\">\n {customerStory.customerCardCustomerIndustry}\n </Text>\n )}\n {customerStory.title && (\n <Heading size=\"md\" fontWeight=\"500\">\n {customerStory.title}\n </Heading>\n )}\n </Box>\n <Box px=\"6\" pt=\"8\" pb=\"6\">\n <Button\n as={Link}\n href={`/customer-stories/${customerStory.slug}`}\n variant=\"outline\"\n size=\"sm\"\n >\n {formatMessage({ id: 'sections.customerCard.more' })}\n </Button>\n </Box>\n </Flex>\n </Container>\n );\n};\n","import { Container, Heading, Button, Box, Text } from 'boemly';\nimport React, { useContext } from 'react';\nimport { StrapiCustomerStory, strapiMediaUrl } from '../..';\nimport Image from 'next/image';\nimport { IntlContext } from '../../components/ContextProvider';\nimport Link from 'next/link';\n\nexport interface CustomerQuoteCardProps {\n customerStory: StrapiCustomerStory;\n}\nexport const CustomerQuoteCard = ({\n customerStory,\n}: CustomerQuoteCardProps): JSX.Element => {\n const { formatMessage } = useContext(IntlContext);\n\n return (\n <Container p=\"1\" backgroundColor=\"primary.100\" height=\"full\">\n {customerStory.cardImage ? (\n <Box\n position=\"relative\"\n height=\"12\"\n width=\"12\"\n borderRadius=\"full\"\n overflow=\"hidden\"\n >\n <Image\n src={strapiMediaUrl(customerStory.cardImage.img, 'medium')}\n alt={customerStory.cardImage.alt}\n fill\n style={{\n objectFit: customerStory.cardImage.objectFit,\n }}\n />\n </Box>\n ) : (\n <></>\n )}\n <Box>\n <Box my=\"8\">\n <Heading size=\"md\" fontWeight=\"500\">\n {customerStory.customerName}\n </Heading>\n <Text size=\"xs\">{customerStory.quoteCardCustomerTitle}</Text>\n </Box>\n <Text size=\"xs\" color=\"black\">\n {customerStory.quoteCardQuote}\n </Text>\n <Button\n href={`/customer-stories/${customerStory.slug}`}\n as={Link}\n variant=\"outline\"\n size=\"sm\"\n mt=\"8\"\n >\n {formatMessage({ id: 'sections.customerQuoteCard.more' })}\n </Button>\n </Box>\n </Container>\n );\n};\n","import { Box, Container, Flex } from 'boemly';\nimport { StrapiCustomerStory, strapiMediaUrl } from '../..';\nimport Image from 'next/image';\nimport React from 'react';\nimport Link from 'next/link';\n\nexport interface LogoCardProps {\n customerStory: StrapiCustomerStory;\n}\nexport const LogoCard = ({ customerStory }: LogoCardProps) => {\n if (customerStory.cardImage) {\n return (\n <Container height=\"full\" backgroundColor=\"primary.50\">\n <Flex justifyContent=\"center\" height=\"full\" padding=\"4\">\n <Box position=\"relative\" height=\"12\" width=\"36\" marginY=\"auto\">\n <Link href={`/customer-stories/${customerStory.slug}`}>\n <Image\n src={strapiMediaUrl(customerStory.cardImage.img, 'medium')}\n alt={customerStory.cardImage.alt}\n fill\n style={{\n objectFit: customerStory.cardImage.objectFit,\n }}\n />\n </Link>\n </Box>\n </Flex>\n </Container>\n );\n }\n return <></>;\n};\n","import React from 'react';\nimport IStrapiData from '../../models/strapi/IStrapiData';\nimport StrapiCustomerStory from '../../models/strapi/StrapiCustomerStory';\nimport { Box, DefaultSectionContainer, SimpleGrid, Wrapper } from 'boemly';\nimport CustomerCard from '../../components/CustomerCard';\nimport CustomerQuoteCard from '../../components/CustomerQuoteCard';\nimport LogoCard from '../../components/LogoCard';\n\nexport interface CustomerStoriesProps {\n slice: {\n customer_stories: IStrapiData<StrapiCustomerStory>[];\n };\n customerStories: IStrapiData<StrapiCustomerStory>[];\n}\n\nexport const CustomerStories = ({\n slice,\n customerStories,\n}: CustomerStoriesProps): JSX.Element => {\n return (\n <DefaultSectionContainer>\n <Wrapper>\n <SimpleGrid columns={[1, null, null, 2, 3]} spacingX={6} spacingY={6}>\n {slice.customer_stories.map(({ attributes }) => {\n const customerStory: IStrapiData<StrapiCustomerStory> | undefined =\n customerStories.find(\n (cs) => cs.attributes.slug === attributes.slug\n );\n if (!customerStory) {\n return null;\n }\n return (\n <Box key={customerStory.id}>\n {attributes.variant === 'customerCard' && (\n <CustomerCard customerStory={customerStory.attributes} />\n )}\n {attributes.variant === 'quoteCard' && (\n <CustomerQuoteCard customerStory={customerStory.attributes} />\n )}\n {attributes.variant === 'logoCard' && (\n <LogoCard customerStory={customerStory.attributes} />\n )}\n </Box>\n );\n })}\n </SimpleGrid>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","import React from 'react';\nimport { Check, X } from '@phosphor-icons/react';\nimport { Box } from 'boemly';\n\nexport interface IconProps {\n variant: 'gray' | 'green' | 'white';\n icon: string;\n}\n\nconst BULLET_POINT_VARIANTS = {\n gray: { bulletPointColor: 'black' },\n green: { bulletPointColor: 'white' },\n white: { bulletPointColor: 'black' },\n};\n\nexport const Icon = ({ variant, icon }: IconProps): JSX.Element => {\n switch (icon) {\n case 'check':\n return <Check size={20} color=\"var(--boemly-colors-primary-500)\" />;\n case 'cross':\n return <X size={20} color=\"var(--boemly-colors-red-500)\" />;\n default:\n return (\n <Box\n data-testid=\"bullet-point-box\"\n borderRadius=\"full\"\n backgroundColor={BULLET_POINT_VARIANTS[variant].bulletPointColor}\n width=\"2\"\n height=\"2\"\n margin=\"1.5\"\n />\n );\n }\n};\nexport default Icon;\n","import React, { useContext } from 'react';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\nimport StrapiImage from '../../models/strapi/StrapiImage';\nimport StrapiLink from '../../models/strapi/StrapiLink';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport {\n Container,\n DefaultSectionContainer,\n DefaultSectionHeader,\n Wrapper,\n Text,\n Flex,\n Box,\n Spacer,\n Divider,\n Heading,\n Badge,\n SimpleGrid,\n} from 'boemly';\nimport Image from 'next/image';\nimport { CaretRight } from '@phosphor-icons/react';\nimport { Icon } from './Icon';\nimport { CDN_URI } from '../../constants/api';\nimport { IntlContext } from '../../components/ContextProvider';\n\nexport interface ComparisonProps {\n slice: {\n title?: string;\n subTitle?: string;\n tagline?: string;\n\n comparisonCards: ComparisonCard[];\n };\n}\n\nexport interface ComparisonCard {\n id: number;\n title: string;\n subTitle: string;\n badge?: string;\n variant: 'gray' | 'green' | 'white';\n image?: StrapiImage;\n button?: StrapiLink;\n factTitle?: string;\n factSubtitle?: string;\n lists: {\n id: string;\n title: string;\n items: { id: string; text: string; icon: 'bullet' | 'check' | 'cross' }[];\n }[];\n}\n\nconst VARIANTS = {\n gray: {\n backgroundColor: 'primary.50',\n textColor: 'black',\n subTitleColor: 'gray.500',\n factColor: 'primary.800',\n dividerColor: 'gray.200',\n },\n green: {\n backgroundColor: 'primary.800',\n textColor: 'white',\n subTitleColor: 'whiteAlpha.900',\n factColor: 'white',\n dividerColor: 'whiteAlpha.200',\n },\n white: {\n backgroundColor: 'white',\n textColor: 'black',\n subTitleColor: 'gray.500',\n factColor: 'primary.800',\n dividerColor: 'gray.200',\n },\n};\n\nexport const Comparison: React.FC<ComparisonProps> = ({\n slice,\n}: ComparisonProps) => {\n const { formatMessage } = useContext(IntlContext);\n\n return (\n <DefaultSectionContainer>\n <Wrapper>\n {slice.title ? (\n <>\n <Flex alignItems=\"center\" flexDirection=\"column\">\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.subTitle}\n textProps={{ maxW: '2xl', textAlign: 'center' }}\n titleProps={{\n textAlign: 'center',\n maxWidth: '3xl',\n }}\n taglineProps={{ textAlign: 'center', maxWidth: '3xl' }}\n />\n </Flex>\n <Spacer height=\"12\" />\n </>\n ) : (\n <></>\n )}\n <SimpleGrid\n columns={[1, null, null, null, slice.comparisonCards.length]}\n spacing=\"4\"\n >\n {slice.comparisonCards.map((comparisonCard) => (\n <Container\n boxShadow={comparisonCard.variant === 'green' ? 'xl' : 'base'}\n border={\n comparisonCard.variant === 'green' ? 'primary.800' : undefined\n }\n zIndex=\"base\"\n key={comparisonCard.id}\n position=\"relative\"\n elevation=\"none\"\n p=\"3\"\n backgroundColor={VARIANTS[comparisonCard.variant].backgroundColor}\n >\n {comparisonCard.variant === 'green' ? (\n <Box\n position=\"absolute\"\n left=\"0\"\n top=\"0\"\n width=\"full\"\n height=\"full\"\n zIndex=\"-1\"\n >\n <Image\n src={`${CDN_URI}/assets/v3/strapi-slices/shapes-comparison.svg`}\n alt={formatMessage({\n id: 'sections.comparison.backgroundShapes',\n })}\n fill\n style={{\n objectFit: 'cover',\n borderRadius: 'var(--boemly-radii-xl)',\n }}\n />\n </Box>\n ) : (\n <></>\n )}\n <Flex flexDir=\"column\" gap=\"4\">\n {comparisonCard.image && (\n <Box position=\"relative\" height=\"7\" width=\"100%\">\n <Image\n src={strapiMediaUrl(comparisonCard.image.img, 'small')}\n alt={comparisonCard.image.alt}\n fill\n style={{\n objectFit: comparisonCard.image.objectFit,\n }}\n />\n </Box>\n )}\n <Flex gap=\"2\" alignItems=\"center\" flexWrap=\"wrap\">\n <Heading\n size=\"2xl\"\n color={VARIANTS[comparisonCard.variant].textColor}\n whiteSpace=\"pre-line\"\n >\n {comparisonCard.title}\n </Heading>\n {comparisonCard.badge && (\n <Badge\n backgroundColor=\"green.100\"\n borderRadius=\"md\"\n whiteSpace=\"pre-line\"\n >\n {comparisonCard.badge}\n </Badge>\n )}\n </Flex>\n </Flex>\n <Spacer height=\"4\" />\n <Text\n size=\"smRegularNormal\"\n color={VARIANTS[comparisonCard.variant].subTitleColor}\n >\n {comparisonCard.subTitle}\n </Text>\n\n {comparisonCard.factTitle ||\n comparisonCard.factSubtitle ||\n comparisonCard.button ? (\n <>\n <Spacer height=\"6\" />\n <Flex flexDir=\"column\">\n {comparisonCard.factTitle && (\n <>\n <Text\n color={VARIANTS[comparisonCard.variant].factColor}\n size=\"lgMonoNormal\"\n >\n {comparisonCard.factTitle}\n </Text>\n <Text\n color={VARIANTS[comparisonCard.variant].factColor}\n size=\"smLowNormal\"\n >\n {comparisonCard.factSubtitle}\n </Text>\n </>\n )}\n {comparisonCard.button && (\n <StrapiLinkButton\n mt=\"6\"\n link={comparisonCard.button}\n size=\"md\"\n variant=\"outline\"\n rightIcon={<CaretRight size={16} weight=\"bold\" />}\n />\n )}\n </Flex>\n </>\n ) : (\n <></>\n )}\n <>\n {comparisonCard.lists.map((list) => (\n <Box key={list.id}>\n <Divider\n my=\"8\"\n color={VARIANTS[comparisonCard.variant].dividerColor}\n />\n <Text\n size=\"smLowBold\"\n color={VARIANTS[comparisonCard.variant].textColor}\n >\n {list.title}\n </Text>\n <>\n {list.items.map((item) => (\n <Box key={item.id}>\n <Spacer height=\"4\" />\n <Flex gap=\"4\" alignItems=\"center\">\n <Box>\n <Icon\n variant={comparisonCard.variant}\n icon={item.icon}\n />\n </Box>\n <Text\n size=\"smLowNormal\"\n color={VARIANTS[comparisonCard.variant].textColor}\n >\n {item.text}\n </Text>\n </Flex>\n </Box>\n ))}\n </>\n </Box>\n ))}\n </>\n </Container>\n ))}\n </SimpleGrid>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\nexport default Comparison;\n","import React, { useContext } from 'react';\nimport {\n Button,\n Box,\n Container,\n DefaultSectionContainer,\n DefaultSectionHeader,\n Flex,\n Heading,\n RichText,\n SimpleGrid,\n Spacer,\n Tag,\n Text,\n Wrapper,\n useMediaQuery,\n} from 'boemly';\nimport Image from 'next/image';\nimport StrapiImage from '../../models/strapi/StrapiImage';\nimport strapiMediaUrl from '../../utils/strapiMediaUrl';\nimport StrapiLink from '../../models/strapi/StrapiLink';\nimport StrapiLinkButton from '../../components/StrapiLinkButton';\nimport { CDN_URI } from '../../constants/api';\nimport { IntlContext } from 'react-intl';\nimport { BREAKPOINT_MD_QUERY } from '../../constants/breakpoints';\nimport { useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport FullScreenImage from '../../components/FullScreenImage';\n\nexport interface TimelineProps {\n slice: {\n title: string;\n text?: string;\n tagline?: string;\n\n timelineItems: TimelineItem[];\n };\n}\n\nexport interface TimelineItem {\n id: number;\n tagline?: string;\n title: string;\n text?: string;\n badge?: { text: string; variant: 'orange' | 'green' | 'red' | 'gray' };\n logo?: StrapiImage;\n icon?: StrapiImage;\n image?: StrapiImage;\n button?: StrapiLink;\n backgroundShapes?: boolean;\n}\n\nexport const Timeline: React.FC<TimelineProps> = ({ slice }: TimelineProps) => {\n const { formatMessage } = useContext(IntlContext);\n const [visibleItems, setVisibleItems] = useState(3);\n const [mobile] = useMediaQuery(BREAKPOINT_MD_QUERY);\n const [isOpen, setIsOpen] = useState(false);\n\n const showMoreItems = () => {\n setVisibleItems((prevVisibleItems) => prevVisibleItems + 3);\n };\n\n return (\n <DefaultSectionContainer>\n <Wrapper>\n <Flex flexDir={['column', null, null, 'row']}>\n <Box\n width={['full', null, null, '50%']}\n position={[null, null, null, 'sticky']}\n top={['16', null, null, '32']}\n height=\"full\"\n paddingRight={[null, null, null, '28']}\n >\n <DefaultSectionHeader\n tagline={slice.tagline}\n title={slice.title}\n text={slice.text}\n />\n {mobile && (\n <>\n <Spacer h=\"10\" />\n <Flex justifyContent=\"center\">\n <Box\n borderRadius=\"full\"\n width=\"3\"\n height=\"3\"\n margin=\"1.5\"\n backgroundColor=\"gray\"\n />\n </Flex>\n <Box\n overflow=\"visible\"\n borderRight=\"dashed 1px var(--boemly-colors-gray-200)\"\n transform=\"translateX(-50%)\"\n position=\"relative\"\n height=\"20\"\n />\n </>\n )}\n </Box>\n <Box\n overflow=\"visible\"\n maxWidth={['full', null, null, '50%']}\n borderLeft={[\n null,\n null,\n null,\n 'dashed 1px var(--boemly-colors-gray-200)',\n ]}\n position=\"relative\"\n width=\"full\"\n >\n <Flex\n flexDir=\"column\"\n overflow=\"visible\"\n gap={[null, null, null, '8']}\n >\n {slice.timelineItems.slice(0, visibleItems).map((item, index) => (\n <SimpleGrid\n gap={['none', null, null, '4']}\n key={item.id}\n columns={[1, null, null, 2]}\n alignContent=\"center\"\n gridTemplateColumns={[null, null, null, '1fr 16fr']}\n position=\"relative\"\n >\n <Flex\n alignItems=\"center\"\n justifyContent={['center', null, null, 'flex-start']}\n >\n <Box\n position=\"absolute\"\n transform={[null, null, null, 'translateX(-50%)']}\n backgroundColor=\"white\"\n >\n {item.icon ? (\n <Box padding=\"2\">\n <Image\n src={strapiMediaUrl(item.icon.img, 'xSmall')}\n alt={item.icon.alt}\n width=\"21\"\n height=\"21\"\n />\n </Box>\n ) : (\n <Box padding=\"2\">\n <Box\n borderRadius=\"full\"\n backgroundColor=\"primary.800\"\n width=\"2\"\n height=\"2\"\n />\n </Box>\n )}\n {mobile && (\n <Box\n overflow=\"visible\"\n borderRight=\"dashed 1px var(--boemly-colors-gray-200)\"\n transform=\"translateX(-50%)\"\n position=\"relative\"\n height=\"10\"\n />\n )}\n </Box>\n </Flex>\n <Container\n p={[null, null, null, '3']}\n zIndex=\"base\"\n position=\"relative\"\n elevation=\"none\"\n >\n {item.backgroundShapes ? (\n <Box\n position=\"absolute\"\n left=\"0\"\n top=\"0\"\n width=\"full\"\n height=\"full\"\n zIndex=\"-1\"\n >\n <Image\n src={`${CDN_URI}/assets/v3/strapi-slices/timeline-shapes.svg`}\n alt={formatMessage({\n id: 'sections.timeline.backgroundShapes',\n })}\n fill\n style={{\n objectFit: 'cover',\n borderRadius: 'var(--boemly-radii-xl)',\n }}\n />\n </Box>\n ) : (\n <></>\n )}\n\n <Flex flexDir=\"column\">\n <Flex\n alignItems=\"flex-start\"\n justifyContent=\"space-between\"\n >\n <Box>\n {item.tagline && (\n <>\n <Text color=\"primary.800\" size=\"smMonoUppercase\">\n {item.tagline}\n </Text>\n <Spacer h=\"2\" />\n </>\n )}\n </Box>\n <Flex>\n {item.badge && (\n <Tag\n colorScheme={item.badge.variant}\n borderRadius=\"md\"\n >\n {item.badge.text}\n </Tag>\n )}\n {item.logo && (\n <Box position=\"relative\" height=\"8\" width=\"16\">\n <Image\n src={strapiMediaUrl(item.logo.img, 'small')}\n alt={item.logo.alt}\n fill\n style={{\n objectFit: item.logo.objectFit,\n }}\n />\n </Box>\n )}\n </Flex>\n </Flex>\n <Heading\n size=\"lg\"\n mt={['6', null, null, '3']}\n maxWidth=\"xs\"\n >\n {item.title}\n </Heading>\n {item.text && (\n <Box mt=\"3\">\n <RichText content={item.text} />\n </Box>\n )}\n {item.button && (\n <Box textAlign=\"left\">\n <Spacer h=\"4\" />\n <StrapiLinkButton\n link={item.button}\n size=\"sm\"\n variant=\"outline\"\n />\n </Box>\n )}\n {item.image ? (\n <>\n <Box\n position=\"relative\"\n mt=\"4\"\n height={['2xs', null, null, null, '48']}\n minWidth={[null, null, null, null, '50%']}\n >\n <Image\n src={strapiMediaUrl(item.image.img, 'xLarge')}\n alt={item.image.alt}\n fill\n style={{\n cursor: mobile ? 'unset' : 'pointer',\n objectFit: item.image.objectFit || 'cover',\n borderRadius: 'var(--boemly-radii-xl)',\n }}\n onClick={() => !mobile && setIsOpen(true)}\n />\n <FullScreenImage\n images={[item.image]}\n isOpen={isOpen}\n onClose={() => setIsOpen(false)}\n />\n </Box>\n </>\n ) : (\n <></>\n )}\n </Flex>\n </Container>\n {mobile && index + 1 < slice.timelineItems.length && (\n <Box\n overflow=\"visible\"\n borderRight=\"dashed 1px var(--boemly-colors-gray-200)\"\n transform=\"translateX(-50%)\"\n position=\"relative\"\n height=\"20\"\n />\n )}\n </SimpleGrid>\n ))}\n </Flex>\n {visibleItems < slice.timelineItems.length && (\n <>\n <Box\n width=\"full\"\n height={['36', null, null, '64']}\n position=\"absolute\"\n bottom=\"0\"\n zIndex=\"1\"\n background=\"linear-gradient(180deg, rgba(255, 255, 255, 0.00) 0%, rgba(255, 255, 255, 0.98) 76.54%, #FFF 100%)\"\n />\n <Box\n bottom=\"0\"\n textAlign=\"center\"\n zIndex=\"overlay\"\n position=\"relative\"\n >\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={showMoreItems}\n m={[null, null, null, '8']}\n >\n <FormattedMessage id=\"sections.timeline.showMoreButton\" />\n </Button>\n </Box>\n </>\n )}\n </Box>\n </Flex>\n </Wrapper>\n </DefaultSectionContainer>\n );\n};\n","import React from 'react';\nimport FullWidthImage from '../../slices/FullWidthImage';\nimport Hero from '../../slices/Hero';\nimport IconGrid from '../../slices/IconGrid';\nimport ImageGrid from '../../slices/ImageGrid';\nimport ImageTextSequence from '../../slices/ImageTextSequence';\nimport LeftTextRightCard from '../../slices/LeftTextRightCard';\nimport LogoGridWithText from '../../slices/LogoGridWithText';\nimport MapHero from '../../slices/MapHero';\nimport QAndA from '../../slices/QAndA';\nimport QuoteCards from '../../slices/QuoteCards';\nimport RichTextSection from '../../slices/RichTextSection';\nimport Steps from '../../slices/Steps';\nimport TextCardGrid from '../../slices/TextCardGrid';\nimport TextCarousel from '../../slices/TextCarousel';\nimport TextWithTextCards from '../../slices/TextWithTextCards';\nimport TextWithCard from '../../slices/TextWithCard';\nimport LinkCardsGrid from '../../slices/LinkCardsGrid';\nimport SmallHero from '../../slices/SmallHero';\nimport Blog from '../../slices/Blog';\nimport StrapiBlogPost from '../../models/strapi/StrapiBlogPost';\nimport ProjectsGrid from '../../slices/ProjectsGrid';\nimport ProjectsMap from '../../slices/ProjectsMap';\nimport Video from '../../slices/Video';\nimport FullWidthHighlightQuote from '../../slices/FullWidthHighlightQuote';\nimport FullWidthImageSlider from '../../slices/FullWidthImageSlider';\nimport SideBySideImages from '../../slices/SideBySideImages';\nimport IStrapiData from '../../models/strapi/IStrapiData';\nimport Cta from '../../slices/Cta';\nimport CtaOnly from '../../slices/CtaOnly';\nimport Glossary from '../../slices/Glossary';\nimport ShopCheckout from '../../slices/ShopCheckout';\nimport Facts from '../../slices/Facts';\nimport BlogCards from '../../slices/BlogCards';\nimport PortfolioProject from '../../models/PortfolioProject';\nimport ProjectFacts from '../../slices/ProjectFacts';\nimport CustomerStories from '../../slices/CustomerStories';\nimport StrapiCustomerStory from '../../models/strapi/StrapiCustomerStory';\nimport Comparison from '../../slices/Comparison';\nimport Locale from '../../models/Locale';\nimport { ContextProvider } from '../ContextProvider';\nimport Timeline from '../../slices/Timeline';\n\nexport interface CustomSliceProps {\n slice: any;\n id: string;\n}\n\nexport interface SliceRendererProps {\n slices: any;\n blogPosts: IStrapiData<StrapiBlogPost>[];\n projects: PortfolioProject[];\n customerStories: IStrapiData<StrapiCustomerStory>[];\n locale?: Locale;\n CustomSlice?: ({ slice, id }: CustomSliceProps) => JSX.Element;\n}\n\nexport const SliceRenderer = ({\n slices,\n blogPosts,\n projects,\n customerStories,\n locale = 'en',\n CustomSlice,\n}: SliceRendererProps): JSX.Element => (\n <ContextProvider locale={locale}>\n {slices.map((slice: any) => {\n switch (slice.__component) {\n case 'sections.hero':\n return (\n <Hero key={`${slice.__component}-${slice.id}`} slice={slice} />\n );\n case 'sections.map-hero':\n return (\n <MapHero key={`${slice.__component}-${slice.id}`} slice={slice} />\n );\n case 'sections.rich-text':\n return (\n <RichTextSection\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n />\n );\n case 'sections.left-text-right-card':\n return (\n <LeftTextRightCard\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n />\n );\n case 'sections.text-with-card':\n return (\n <TextWithCard\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n projects={projects}\n />\n );\n case 'sections.logo-grid-with-text':\n return (\n <LogoGridWithText\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n />\n );\n case 'sections.quote-cards':\n return (\n <QuoteCards\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n />\n );\n case 'sections.q-and-a':\n return (\n <QAndA key={`${slice.__component}-${slice.id}`} slice={slice} />\n );\n case 'sections.image-grid':\n return (\n <ImageGrid key={`${slice.__component}-${slice.id}`} slice={slice} />\n );\n case 'sections.full-width-image':\n return (\n <FullWidthImage\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n />\n );\n case 'sections.text-with-text-cards':\n return (\n <TextWithTextCards\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n />\n );\n case 'sections.text-card-grid':\n return (\n <TextCardGrid\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n />\n );\n case 'sections.icon-grid':\n return (\n <IconGrid key={`${slice.__component}-${slice.id}`} slice={slice} />\n );\n case 'sections.image-text-sequence':\n return (\n <ImageTextSequence\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n />\n );\n case 'sections.steps':\n return (\n <Steps key={`${slice.__component}-${slice.id}`} slice={slice} />\n );\n case 'sections.text-carousel':\n return (\n <TextCarousel\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n />\n );\n case 'sections.link-cards-grid':\n return (\n <LinkCardsGrid\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n />\n );\n case 'sections.small-hero':\n return (\n <SmallHero\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n theme=\"dark\"\n />\n );\n case 'sections.small-hero-light':\n return (\n <SmallHero\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n theme=\"light\"\n />\n );\n case 'sections.project-facts':\n return (\n <ProjectFacts\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n project={projects.find((p) => p.id === slice.projectId)}\n />\n );\n case 'sections.projects-grid':\n return (\n <ProjectsGrid\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n projects={projects}\n />\n );\n case 'sections.projects-map':\n return (\n <ProjectsMap\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n projects={projects}\n />\n );\n case 'sections.video':\n return (\n <Video key={`${slice.__component}-${slice.id}`} slice={slice} />\n );\n case 'sections.full-width-highlight-quote':\n return (\n <FullWidthHighlightQuote\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n />\n );\n case 'sections.full-width-image-slider':\n return (\n <FullWidthImageSlider\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n />\n );\n case 'sections.side-by-side-images':\n return (\n <SideBySideImages\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n />\n );\n case 'sections.cta-only':\n return (\n <CtaOnly key={`${slice.__component}-${slice.id}`} slice={slice} />\n );\n case 'sections.cta':\n return <Cta key={`${slice.__component}-${slice.id}`} slice={slice} />;\n case 'sections.shop-checkout':\n return (\n <ShopCheckout\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n />\n );\n case 'sections.facts':\n return (\n <Facts key={`${slice.__component}-${slice.id}`} slice={slice} />\n );\n case 'sections.blog-cards':\n return (\n <BlogCards\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n blogPosts={blogPosts}\n />\n );\n case 'sections.blog':\n return (\n <Blog\n key={`${slice.__component}-${slice.id}`}\n slice={{\n ...slice,\n blog_posts: slice.blog_posts.data,\n }}\n blogPosts={blogPosts}\n />\n );\n case 'sections.glossary':\n return (\n <Glossary\n key={`${slice.__component}-${slice.id}`}\n slice={{\n ...slice,\n glossary_items: slice.glossary_items.data,\n }}\n />\n );\n case 'sections.customer-stories':\n return (\n <CustomerStories\n key={`${slice.__component}-${slice.id}`}\n slice={{\n ...slice,\n customer_stories: slice.customer_stories.data,\n }}\n customerStories={customerStories}\n />\n );\n case 'sections.comparison':\n return (\n <Comparison\n key={`${slice.__component}-${slice.id}`}\n slice={slice}\n />\n );\n case 'sections.timeline':\n return (\n <Timeline key={`${slice.__component}-${slice.id}`} slice={slice} />\n );\n default:\n if (CustomSlice) {\n return (\n <CustomSlice\n key={`${slice.__component}-${slice.id}`}\n id={slice.__component}\n slice={slice}\n />\n );\n }\n\n return (\n <div key={`${slice.__component}-${slice.id}`}>\n Slice component not supported\n </div>\n );\n }\n })}\n </ContextProvider>\n);\n"],"names":["STRAPI_URI","process","env","NEXT_PUBLIC_STRAPI_URI","STRAPI_DEFAULT_PAGE_SIZE","NEXT_PUBLIC_API_URI","FPM_API_URI","NEXT_PUBLIC_FPM_API_URI","CDN_URI","fpmClient","setupCache","axios","create","baseURL","paramsSerializer","p","qs","stringify","encodeValuesOnly","timeout","strapiClient","getPortfolioProjects","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","locale","_yield$Promise$all","fpmProjects","strapiProjects","wrap","_callee$","_context","prev","next","Promise","all","get","params","populate","sent","data","abrupt","map","fpmProject","_strapiProject$attrib","strapiProject","find","sp","attributes","fpmProjectId","id","toReturn","slug","creditsAvailable","thumbnail","footerSubTitle","portfolio","host","portfolioHost","stop","_x","apply","arguments","getStaticPathsFromStrapi","path","_temp","_ref2","_ref2$filters","filters","_x2","getStaticPropsFromStrapi","_ref$locale","_ref$preview","preview","publicationState","strapiMediaUrl","media","preferredSize","url","ext","_media$data$attribute","formats","indexOf","includes","STORYBOOK","DEFAULT_SHARE_IMAGE","DEFAULT_SHARE_ALT","EXTENDABLE_HEADER_SECTIONS","DARK_THEME_HEADER_SECTIONS","SLICES_WITH_BLOG_POSTS","SLICES_WITH_CUSTOMER_STORIES","SLICES_WITH_PROJECTS","mergeGlobalAndStrapiBlogPostData","context","global","post","blog","projects","_post$attributes$meta","_post$attributes$meta2","_post$attributes$meta3","_global$attributes$me","_post$attributes","_post$attributes$meta4","_post$attributes$meta5","_post$attributes$meta6","_post$attributes$meta7","_post$attributes$meta8","_post$attributes$meta9","_global$attributes$me2","metaShareImageUrl","metadata","shareImage","returnBlog","slices","some","slice","__component","returnProjects","_extends","headerType","extendable","theme","headerNavMenus","navbar","navMenus","headerButtons","buttons","footerLinks","footer","links","title","description","alt","metaTitleSuffix","favicon","blogPosts","banner","topBanner","customerStories","mergeGlobalAndStrapiCustomerStoryData","customerStory","_customerStory$attrib","_customerStory$attrib2","_customerStory$attrib3","_customerStory$attrib4","_customerStory$attrib5","_customerStory$attrib6","_customerStory$attrib7","_customerStory$attrib8","_customerStory$attrib9","_customerStory$attrib10","returnCustomerStories","mergeGlobalAndStrapiPageData","page","_page$attributes$meta","_page$attributes$meta2","_page$attributes$meta3","_page$attributes$meta4","_page$attributes","_page$attributes$slic","_page$attributes$slic2","_page$attributes$meta5","_page$attributes$meta6","_page$attributes$meta7","_page$attributes$meta8","_page$attributes$meta9","_page$attributes$meta10","returnBlogPosts","mergeGlobalAndStrapiProject","project","_project$attributes$m","_project$attributes$m2","_project$attributes$m3","_project$attributes","_project$attributes$s","_project$attributes$s2","_project$attributes$m4","_project$attributes$m5","_project$attributes$m6","_project$attributes$m7","_project$attributes$m8","_project$attributes$m9","strapiLinkUrl","strapiLink","_strapiLink","_strapiLink2","undefined","SEOTags","_shareImage$url","_shareImage$alt","_ref$metaTitleSuffix","_ref$favicon","_ref$domain","domain","shareImageUrl","shareImageAlt","React","Head","createElement","name","content","rel","href","property","ZoomableImage","image","_ref$zoom","zoom","_useState","useState","isZoomed","setIsZoomed","_useState2","backgroundPos","setBackgroundPos","imageSrc","img","zoomInPosition","e","zoomer","currentTarget","getBoundingClientRect","x","clientX","width","y","clientY","height","toggleZoomImage","handleClick","handleMove","Fragment","as","Box","position","display","overflow","flexShrink","scrollSnapAlign","scrollSnapStop","draggable","cursor","backgroundImage","backgroundSize","backgroundPosition","onClick","onMouseMove","Image","src","fill","style","visibility","objectFit","FullScreenImage","images","isOpen","onClose","_ref$currentIndex","currentIndex","setCurrentIndex","containerRef","useRef","useLockBodyScroll","canMoveRight","useMemo","length","canMoveLeft","onRight","useCallback","c","onLeft","useKey","useEffect","setTimeout","_containerRef$current","current","scrollTo","left","clientWidth","behavior","BoemlyModal","trigger","size","Flex","insetY","insetX","alignItems","justifyContent","ref","flexGrow","flexBasis","gap","marginX","scrollSnapType","key","inset","pointerEvents","IconButton","icon","CaretLeft","variant","mr","CaretRight","ml","BREAKPOINT_MD","BREAKPOINT_LG","BREAKPOINT_MD_QUERY","BREAKPOINT_LG_QUERY","FullWidthImage","setIsOpen","_useMediaQuery","useMediaQuery","isMobile","DefaultSectionContainer","Wrapper","DefaultSectionHeader","isHero","tagline","text","taglineProps","textAlign","mt","titleProps","maxW","textProps","borderRadius","openHubSpotChat","w","window","HubSpotConversations","widget","open","hsConversationsOnReady","StrapiLinkButton","link","buttonProps","_objectWithoutPropertiesLoose","_excluded","adBlockDetected","useDetectAdBlock","intercomLauncher","Button","Link","Hero","minHeight","backgroundColor","overflowX","Gradient","shape","bottom","borderTopRightRadius","right","top","transform","subTitle","color","mx","button","additionalButtons","IconGrid","columns","iconsWithTextAndButton","flexDirection","Spacer","h","SimpleGrid","rowGap","iconWithTextAndButton","margin","Heading","mb","Text","LinkedInIcon","viewBox","xmlns","clipPath","d","StrapiLinkButtonWithIcon","props","getLinkIcon","destination","Globe","rightIcon","ImageGrid","_useToken","useToken","primary50","minChildWidth","flexDir","flexWrap","ImageTextSequence","oneColumnGrid","_useToken2","gray700","background","imageTextRows","index","imageBox","LeftTextRightCard","_useRouter","useRouter","push","Grid","templateColumns","templateRows","GridItem","colSpan","rowSpan","pr","checkMarkLabels","BoemlyList","listItems","colorScheme","ArrowRight","card","PortfolioCard","_slice$card","facts","portfolioNumber","LogoGridWithText","RichText","logos","logo","MapHeroContainer","styled","_templateObject","_taggedTemplateLiteralLoose","MapHeroTextContainer","_templateObject2","ShapeContainer","_templateObject3","MapContainer","_templateObject4","MapGradient","_templateObject5","MapHero","belowBreakpoint","maxWidth","mobileMap","convertToKebabCase","str","matches","match","toLowerCase","join","VARIANTS","gray","tagLineColor","textColor","accordionVariant","otherQuestionsBackground","green","white","QAndA","_slice$variant","pb","hero","paddingY","maxHeight","paddingTop","paddingRight","overflowY","BoemlyAccordion","rows","questionsAndAnswers","defaultIndex","padding","otherQuestions","HeroCard","_slice$hero","QuoteCards","paddingBottom","shapes","Shape","radius","cards","QuoteCard","avatar","marginTop","RichTextSection","Steps","_slice$card$shapes","gray900","Array","steps","stepRefs","setStepRefs","stepProgress","setStepProgress","_useWindowScroll","useWindowScroll","offsetY","_useWindowSize","useWindowSize","windowHeight","createRef","containerOffsetTop","offsetTop","_ref$current","currentItemOffsetTop","step","Center","options","forceBlock","marginBottom","borderLeft","opacity","borderRight","transition","ShapesCard","ShapePosition","shapePositions","topLeft","bottomRight","topRight","bottomLeft","oppositesOfCorners","_oppositesOfCorners","unset","variants","positionIcon","TextCardGrid","primary800","justifyItems","zIndex","boxShadow","borderBottomRightRadius","borderBottomLeftRadius","borderTopLeftRadius","css","listProps","textSize","buttonIndex","weight","CarouselContainer","CarouselInnerContainer","motion","div","numberOfItems","CardContainer","messagesDe","unitMessagesDe","rootMessagesDe","creditsAvailableBadgeMessagesDe","portfolioDocumentsDownloadListMessagesDe","portfolioProjectCardMessagesDe","portfolioProjectInfoMessagesDe","portfolioSmallCheckoutMessagesDe","comparisonMessagesDe","ctaMessagesDe","customerCardMessagesDe","customerQuoteCardMessagesDe","glossaryMessagesDe","projectFactsMessagesDe","projectsMapMessagesDe","shopCheckoutMessagesDe","textCarouselMessagesDe","timelineMessagesDe","messagesEn","unitMessagesEn","rootMessagesEn","creditsAvailableBadgeMessagesEn","portfolioDocumentsDownloadListMessagesEn","portfolioProjectCardMessagesEn","portfolioProjectInfoMessagesEn","portfolioSmallCheckoutMessagesEn","comparisonMessagesEn","ctaMessagesEn","customerCardMessagesEn","customerQuoteCardMessagesEn","glossaryMessagesEn","projectFactsMessagesEn","projectsMapMessagesEn","shopCheckoutMessagesEn","textCarouselMessagesEn","timelineMessagesEn","GLOBAL_STYLE","cache","createIntlCache","intlFactory","createIntl","messages","de","en","IntlContext","createContext","ContextProvider","children","Global","styles","Provider","value","ITEM_GAP","MAX_OFFSET_RIGHT","TextCarousel","_useMeasure","useMeasure","itemRef","itemWidth","_useContext","useContext","formatMessage","windowWidth","sliderIndex","setSliderIndex","slides","sliderItemsWidth","offsetLeft","allowScroll","offsetRight","animate","duration","ease","TextCardWithIcon","displayAs","py","px","AnimatePresence","initial","exit","ArrowLeft","TextWithTextCards","contact","ContactArea","_slice$contact","_slice$contact2","CreditsAvailableState","FORMAT_AS_HECTARE_CONFIG","unit","unitDisplay","maximumFractionDigits","FORMAT_AS_PERCENT_CONFIG","PortfolioProjectCard","_creditsAvailableMess","_project$creditsAvail","_project$thumbnail","_project$thumbnail2","_project$thumbnail3","formatNumber","creditsAvailableMessages","YES","SOME","NO","NOT_YET","ProjectCard","area","location","footerTitle","TextWithCard","portfolioProject","_slice$project","cardPosition","columnGap","MEDIUM_TRANSITION_DURATION","LinkCardsGrid","borderStyle","borderWidth","borderColor","transitionDuration","_hover","minWidth","colors","dark","light","SmallHero","gradient","tags","direction","justify","Tag","BlogItemContainer","ImageContainer","Blog","formatDate","sortedBlogPosts","blog_posts","sort","a","b","Date","createdAt","getTime","spacingX","spacingY","blogPost","bp","category","teaser","DatePersonPair","date","person","author","ConditionalWrapper","condition","wrapper","ProjectsGrid","filteredProjects","filter","passHref","legacyBehavior","MAPBOX_TOKEN","MapBoxStyle","NEXT_PUBLIC_MAPBOX_TILES_URL","MAPBOX_MAX_ZOOM","MAPBOX_INITIAL_ZOOM","mergeBoundingBoxes","boundingBoxes","minLeft","minBottom","maxRight","maxTop","forEach","FONT_CUSTOMIZATIONS","body","heading","mono","MinimalProviders","IntlProvider","BoemlyThemeProvider","fonts","CreditsAvailableBadge","_variants","status","Badge","NextLink","MapMarker","projectDeveloper","_ref$portfolioHost","_ref$isPublic","isPublic","_useDisclosure","useDisclosure","onOpen","blue600","onMouseEnter","onMouseLeave","MapPin","Container","shadow","whiteSpace","mapboxStyle","mapboxgl","accessToken","ProjectsMap","geom","center","defaultCenterCoordinates","longitude","latitude","bounds","concat","coordinates","mapContainer","Map","container","CaliTerrain","defaultZoomLevel","maxZoom","_project$projectDevel","document","createRoot","render","marker","Marker","offset","setLngLat","addTo","remove","Video","youTubeID","frameBorder","allow","allowFullScreen","FullWidthHighlightQuote","quote","AvatarWithName","avatarWithName","orientation","SliderContainer","SliderInnerContainer","ItemContainer","aspectRatio","ALLOWED_RATIOS","getClosestRatio","ratio","minDiff","Math","abs","posMinDiff","allowedRatio","FullWidthImageSlider","imageRef","imageWidth","imageCount","caption","SideBySideImages","CtaCardType","STATES","paddingTagline","paddingTitle","buttonJustifyContent","textMarginLeft","textMarginRight","centerWithoutImage","centerWithImage","taglineColor","titleColor","subTitleColor","getTypeOfCard","ctaCard","CenterWithImage","CenterWithoutImage","Left","Right","Cta","ctaCards","ctaCardType","elevation","backgroundShape","marginLeft","marginRight","paddingX","fontFamily","fontSize","fontWeight","lineHeight","CtaOnly","Glossary","_useCopyToClipboard","useCopyToClipboard","copyToClipboard","grouped","copiedItem","setCopiedItem","glossary_items","localeCompare","curr","_curr$attributes$titl","at","toUpperCase","handleAnchorClick","_window","currentUrl","split","Object","entries","_ref3","letter","items","placeSelf","spacing","item","scrollMarginTop","Check","LinkIcon","_onClick","_callee2","_callee2$","_context2","keys","Divider","MINIMUM_CONTRIBUTION_VALUE_IN_MONEY","MAXIMUM_CONTRIBUTION_VALUE_IN_MONEY","ShopCheckout","validateForm","values","errors","contributionValue","currency","onSubmit","checkoutURL","URL","currentURL","searchParams","append","batchId","floor","pricePerKg","toString","pathname","couponId","badge","textTransform","checkoutText","LabelNumberPair","label","number","Formik","initialValues","initialContributionValue","validate","touched","handleSubmit","Form","Field","_ref4","field","BoemlyFormControl","inputProps","type","rightAddonsOrElements","InputRightAddon","isInvalid","errorMessage","minimumFractionDigits","factKeyColor","factValueColor","Facts","fact","sortByCreatedAt","BlogCards","mobile","blogPostsToDisplay","_slice$blogPostCatego","blogPostCategory","_blogPost$attributes$","_slice$blogPostCatego2","_blogPost$attributes$2","SmallCheckout","subtitle","contributionValueCurrency","contributionValueKgs","setValues","_ref5","onChange","target","valueAsNumber","_ref6","my","convertAreaM2ToHa","areaInM2","parseInt","convertCo2AmountKgToTons","amount","getTimeSpanInYears","start","end","monthsDifference","getMonth","yearsDifference","getFullYear","ProjectInfo","subtitles","LabelTextPair","areaSubtitle","locationSubtitle","year","month","startSubtitle","years","timeSpanSubtitle","projectType","verificationStandard","projectTypeSubtitle","projectDeveloperSubtitle","defaultMessage","verificationStandardSubtitle","defaultIssuer","logoUrl","forecastedAmountYearly","riskBuffer","forecastedAmountSubtitle","riskBufferSubtitle","DocumentsDownloadList","documentUrls","documentUrl","FilePdf","DownloadSimple","Contact","border","ProjectFacts","customTitle","customSubtitle","customButton","contactTitle","contactText","contactButton","contactAvatar","CustomerCard","borderTopRadius","cardImage","pt","customerCardCustomerIndustry","CustomerQuoteCard","customerName","quoteCardCustomerTitle","quoteCardQuote","LogoCard","marginY","CustomerStories","customer_stories","cs","BULLET_POINT_VARIANTS","bulletPointColor","Icon","X","factColor","dividerColor","Comparison","comparisonCards","comparisonCard","factTitle","factSubtitle","lists","list","Timeline","visibleItems","setVisibleItems","showMoreItems","prevVisibleItems","timelineItems","alignContent","gridTemplateColumns","backgroundShapes","m","FormattedMessage","SliceRenderer","CustomSlice","projectId"],"mappings":"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"}