{"version":3,"file":"component---src-pages-about-us-tsx-4b298720de1e63352884.js","mappings":"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","sources":["webpack://gravitywell-website-2019/./src/components/hero-video/hero-video.tsx","webpack://gravitywell-website-2019/./src/components/page-top/page-top.tsx","webpack://gravitywell-website-2019/./src/components/stay-in-the-loop/stay-in-the-loop.tsx","webpack://gravitywell-website-2019/./src/components/wysiwyg/wysiwyg.tsx","webpack://gravitywell-website-2019/./src/pages/about-us.tsx","webpack://gravitywell-website-2019/./src/assets/images/video-grid-overlay.png"],"sourcesContent":["import React from \"react\";\nimport ReactPlayer, { ReactPlayerProps } from \"react-player\";\n\nimport checkeredOverlayImg from \"../../assets/images/video-grid-overlay.png\";\nimport styled from \"../../theme/styled\";\n\ninterface IHeroVideoWrapper {\n className: string;\n fallbackImage: string;\n}\n\ninterface HeroVideoProps {\n /** Fallback image url */\n fallbackImage: string;\n /** A 16:9 aspect ratio video */\n src: string | ReactPlayerProps[\"url\"];\n /** Whether to increase the contrast over the video */\n contrastGradient?: boolean;\n /** ReactPlayer props (overwrites our defaults set inside this file) */\n playerProps?: ReactPlayerProps;\n className?: string;\n}\n\nexport const HeroVideo: React.FC = props => {\n const {\n src, fallbackImage, contrastGradient, playerProps = {}, className\n } = props;\n\n // Determine if the video is the space video which we want to align to the bottom right, the rest need to be centered\n const isSpecialVideo = src === \"https://cdn.gravitywell.co.uk/videos/home-v2/braided_space.m3u8\";\n\n return (\n \n
\n\n {contrastGradient &&
}\n\n \n \n );\n};\n\nexport default HeroVideo;\n\nconst HeroVideoWrapper = styled(\"div\")`\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-image: url(${props => props.fallbackImage});\n background-size: cover;\n background-position: center;\n overflow: hidden;\n\n &.homepage {\n background-position: 100% 100%;\n }\n \n &.homepage video {\n object-fit: cover;\n object-position: center;\n filter: brightness(0.8);\n }\n\n &.hero-video-container.special-video video {\n object-position: 100% 100%;\n }\n\n .overlay-img {\n position: absolute;\n z-index: 3;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: url(${checkeredOverlayImg});\n background-repeat: repeat;\n opacity: 0.1;\n pointer-events: none;\n }\n\n .contrast-overlay {\n transition: 0.2s ease-in-out;\n display: none;\n position: absolute;\n z-index: 2;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: linear-gradient(\n to right,\n rgba(0, 0, 0, 1) 0%,\n rgba(0, 0, 0, 0) 50%\n );\n opacity: 0.5;\n pointer-events: none;\n }\n\n .hero-video-player {\n overflow: hidden;\n pointer-events: none;\n \n /* For 16:9 aspect ratios, this simulates \"background cover and center\" for the video */\n video {\n height: 100%;\n width: 177.77777778vh !important; /* 100 * 16 / 9 */\n min-width: 100%;\n min-height: 56.25vw; /* 100 * 9 / 16 */\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%); \n }\n }\n\n @media (min-width: 768px) {\n .contrast-overlay {\n display: block;\n }\n }\n\n @media (min-width: 1920px) {\n .contrast-overlay {\n background: linear-gradient(\n to right,\n rgba(0, 0, 0, 1) 0%,\n rgba(0, 0, 0, 0) 75%\n );\n }\n }\n`;\n","import React, { CSSProperties } from \"react\";\n\nimport styled from \"../../theme/styled\";\nimport { generator } from \"../gradients\";\nimport { IGradients } from \"../gradients/gradient-list\";\n\ninterface IPageTop {\n id?: string;\n className?: string;\n gradient?: keyof IGradients;\n backgroundImage?: string;\n overlayColor?: string;\n borderTop?: string;\n backgroundColor?: string;\n parallax?: boolean;\n maxWidth?: number;\n maxHeight?: number;\n height?: \"auto\" | \"tiny\" | \"small\" | \"medium\" | \"large\";\n minHeight?: number;\n children: React.ReactNode;\n style?: CSSProperties;\n widthType?:\n | \"FullWidthWrapper\"\n | \"FullWidthColumnWrapper\"\n | \"ColumnWidthWrapper\"\n | \"HalfColumnWidthWrapper\";\n}\n\ninterface IPageTopContainer {\n gradient?: keyof IGradients;\n maxHeight?: string;\n aspectRatios: IAspectRatios;\n backgroundColor?: string;\n borderTop?: string;\n backgroundImage?: string;\n}\n\ninterface IAspectRatios {\n 320: string;\n 375: string;\n 480: string;\n 568: string;\n 600: string;\n 768: string;\n 960: string;\n 1024: string;\n 1280: string;\n 1440: string;\n 1920: string;\n}\n\ninterface IColorOverlay {\n overlayColor?: string;\n}\n\nconst PageTopContainer = styled(\"div\")`\n transition: 0.2s ease-in-out;\n position: relative;\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n min-height: ${props => props.aspectRatios[ 320 ]};\n /* padding-top: ${props => (!props.backgroundImage && \"10rem;\") || \"66%\"}; */\n /* padding-bottom: ${props =>\n (!props.backgroundImage && \"4.8rem;\") || \"0\"}; */\n width: 100%;\n border-top: ${props =>\n props.borderTop ? `0.2rem solid ${props.borderTop}` : \"\"};\n background-color: ${props => props.backgroundColor};\n background: ${props =>\n props.backgroundImage && `url(${props.backgroundImage})`};\n background-size: ${props => props.backgroundImage && \"cover\"};\n background-position: ${props => props.backgroundImage && \"center center\"};\n background: ${props =>\n props.gradient && generator({\n gradient: props.gradient,\n angle: -38\n })};\n\n .top-content-wrapper {\n transition: 0.2s ease-in-out;\n display: flex;\n overflow: hidden;\n flex-direction: column;\n justify-content: center;\n height: 100%;\n width: 100%;\n padding-top: 6.4rem;\n }\n\n @media (min-width: 600px) {\n min-height: ${props => props.aspectRatios[ 600 ]};\n }\n\n @media (min-width: 768px) {\n .top-content-wrapper {\n padding-top: 7.2rem;\n }\n }\n\n @media (min-width: 960px) {\n min-height: ${props => props.aspectRatios[ 960 ]};\n }\n\n @media (min-width: 1280px) {\n min-height: auto;\n max-height: ${props => props.maxHeight};\n height: ${props => props.aspectRatios[ 1280 ]};\n }\n\n @media (min-width: 1440px) {\n height: ${props => props.aspectRatios[ 1440 ]};\n }\n`;\n\nconst ColorOverlayWrapper = styled(\"div\")`\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n z-index: 0;\n opacity: 0.5;\n background: ${props => props.overlayColor};\n`;\n\nconst ColorOverlay = (props: IColorOverlay) => {\n if (!props.overlayColor) {\n return null;\n }\n\n return ;\n};\n\nconst PageTop = (props: IPageTop) => {\n const { height } = props;\n\n const aspectRatios: IAspectRatios = {\n 320: \"66.6vw\",\n 375: \"66.6vw\",\n 480: \"66.6vw\",\n 568: \"66.6vw\",\n 600: \"66.6vw\",\n 768: \"66.6vw\",\n 960: \"66.6vw\",\n 1024: \"66.6vw\",\n 1280: \"66.6vw\",\n 1440: \"66.6vw\",\n 1920: \"66.6vw\"\n };\n\n let maxHeight = \"58rem\";\n\n switch (height) {\n case \"large\":\n maxHeight = \"88rem\";\n aspectRatios[ 600 ] = \"72vw\";\n aspectRatios[ 960 ] = \"61vw\";\n aspectRatios[ 1280 ] = \"50vw\";\n aspectRatios[ 1440 ] = \"45.8vw\";\n aspectRatios[ 1920 ] = \"45.8vw\";\n break;\n\n case \"medium\":\n maxHeight = \"70rem\";\n aspectRatios[ 600 ] = \"64vw\";\n aspectRatios[ 960 ] = \"54vw\";\n aspectRatios[ 1280 ] = \"44vw\";\n aspectRatios[ 1440 ] = \"36.4vw\";\n aspectRatios[ 1920 ] = \"36.4vw\";\n break;\n\n case \"small\":\n maxHeight = \"58rem\";\n aspectRatios[ 600 ] = \"54vw\";\n aspectRatios[ 960 ] = \"46vw\";\n aspectRatios[ 1280 ] = \"38vw\";\n aspectRatios[ 1440 ] = \"34.8vw\";\n aspectRatios[ 1920 ] = \"30.2vw\";\n break;\n\n default:\n case \"tiny\":\n maxHeight = \"43.4rem\";\n aspectRatios[ 600 ] = \"50vw\";\n aspectRatios[ 960 ] = \"38vw\";\n aspectRatios[ 1280 ] = \"31vw\";\n aspectRatios[ 1440 ] = \"30.2vw\";\n aspectRatios[ 1920 ] = \"30.2vw\";\n break;\n\n case \"auto\":\n maxHeight = \"none\";\n aspectRatios[ 600 ] = \"auto\";\n aspectRatios[ 960 ] = \"auto\";\n aspectRatios[ 1280 ] = \"auto\";\n aspectRatios[ 1440 ] = \"auto\";\n aspectRatios[ 1920 ] = \"auto\";\n break;\n }\n\n return (\n \n \n\n
\n {props.children}\n
\n \n );\n};\n\nexport default PageTop;\n","import * as React from \"react\";\n\nimport styled from \"../../theme/styled\";\nimport {\n colourHelper,\n fontLineHeightHelper,\n fontSizeHelper,\n fontWeightHelper\n} from \"../../theme/theme-helper\";\nimport { ColumnWidthWrapper } from \"../confines-wrappers\";\nimport Icon from \"../icon\";\nimport Link from \"../link\";\n\nconst StayInTheLoopWrapper = styled.div`\n .stay-in-the-loop-wrapper {\n background-color: ${({ theme }) =>\n colourHelper({\n theme,\n variant: \"soliel\"\n })};\n\n .stay-in-the-loop {\n position: relative;\n margin: 0 auto;\n max-width: 48rem;\n\n h2,\n h3 {\n margin: 0;\n line-height: ${({ theme }) =>\n fontLineHeightHelper({\n theme,\n variant: \"small\"\n })};\n }\n\n h2 {\n margin: 0;\n font-size: ${({ theme }) =>\n fontSizeHelper({\n theme,\n variant: \"subhead_3\"\n })};\n font-weight: ${({ theme }) =>\n fontWeightHelper({\n theme,\n variant: \"heavy\"\n })};\n }\n\n h3,\n .copy {\n font-size: ${({ theme }) =>\n fontSizeHelper({\n theme,\n variant: \"body_2\"\n })};\n font-weight: ${({ theme }) =>\n fontWeightHelper({\n theme,\n variant: \"regular\"\n })};\n }\n\n h3 {\n position: absolute;\n left: -99999rem;\n text-indent: -99999rem;\n }\n\n .copy {\n margin: 0;\n padding-top: 0.8em;\n font-weight: ${({ theme }) =>\n fontWeightHelper({\n theme,\n variant: \"bold\"\n })};\n line-height: ${({ theme }) =>\n fontLineHeightHelper({\n theme,\n variant: \"default\"\n })};\n }\n\n .newsletter-signup-form {\n padding-top: 2.4rem;\n\n .field-row {\n padding-top: 2rem;\n\n &:first-child {\n padding-top: 0;\n }\n }\n\n input[type=\"email\"] {\n padding: 1.6rem 1.8rem;\n width: 100%;\n font-size: ${({ theme }) =>\n fontSizeHelper({\n theme,\n variant: \"small_3\"\n })};\n line-height: ${({ theme }) =>\n fontLineHeightHelper({\n theme,\n variant: \"small\"\n })};\n background: ${({ theme }) =>\n colourHelper({\n theme,\n variant: \"white\"\n })};\n border: none;\n outline: none;\n\n &::-webkit-input-placeholder {\n color: ${({ theme }) =>\n colourHelper({\n theme,\n variant: \"midGrey\"\n })};\n }\n\n &::-moz-placeholder {\n color: ${({ theme }) =>\n colourHelper({\n theme,\n variant: \"midGrey\"\n })};\n }\n\n &:-ms-input-placeholder {\n color: ${({ theme }) =>\n colourHelper({\n theme,\n variant: \"midGrey\"\n })};\n }\n\n &:-moz-placeholder {\n color: ${({ theme }) =>\n colourHelper({\n theme,\n variant: \"midGrey\"\n })};\n }\n\n &::placeholder {\n color: ${({ theme }) =>\n colourHelper({\n theme,\n variant: \"midGrey\"\n })};\n }\n }\n\n button {\n display: inline-block;\n padding: 0.4rem 0 0.4rem;\n color: ${({ theme }) =>\n colourHelper({\n theme,\n variant: \"brandColor\"\n })};\n font-size: ${({ theme }) =>\n fontSizeHelper({\n theme,\n variant: \"body_1\"\n })};\n font-weight: ${({ theme }) =>\n fontWeightHelper({\n theme,\n variant: \"bold\"\n })};\n line-height: ${({ theme }) =>\n fontLineHeightHelper({\n theme,\n variant: \"small\"\n })};\n background: transparent;\n outline: none;\n border: transparent;\n border-bottom: 0.2rem solid\n ${({ theme }) =>\n colourHelper({\n theme,\n variant: \"brandColorLight\"\n })};\n cursor: pointer;\n\n &:hover {\n border-bottom-color: ${({ theme }) =>\n colourHelper({\n theme,\n variant: \"brandColor\"\n })};\n }\n }\n }\n\n .privacy-policy-text {\n margin: 0;\n padding-top: 3.2rem;\n font-size: ${({ theme }) =>\n fontSizeHelper({\n theme,\n variant: \"small_3\"\n })};\n font-weight: ${({ theme }) =>\n fontWeightHelper({\n theme,\n variant: \"bold\"\n })};\n line-height: ${({ theme }) =>\n fontLineHeightHelper({\n theme,\n variant: \"small\"\n })};\n }\n\n .icon {\n display: none !important;\n position: absolute;\n bottom: 0;\n right: 4.2rem;\n }\n }\n }\n\n @media (min-width: 600px) {\n .stay-in-the-loop-wrapper {\n .stay-in-the-loop {\n h2 {\n font-size: ${({ theme }) =>\n fontSizeHelper({\n theme,\n variant: \"title\"\n })};\n }\n\n .icon {\n display: inline-block !important;\n }\n }\n }\n }\n\n @media (min-width: 960px) {\n .stay-in-the-loop-wrapper {\n .stay-in-the-loop {\n max-width: none;\n overflow: hidden;\n\n .column-left,\n .column-right {\n width: 50%;\n }\n\n .column-left {\n float: left;\n clear: left;\n padding-right: 2%;\n }\n\n .column-right {\n float: right;\n clear: right;\n padding-left: 2%;\n }\n\n h2 {\n font-size: ${({ theme }) =>\n fontSizeHelper({\n theme,\n variant: \"display_2\"\n })};\n }\n\n h3,\n .copy {\n font-size: ${({ theme }) =>\n fontSizeHelper({\n theme,\n variant: \"subhead_1\"\n })};\n }\n\n h3 {\n position: static;\n padding-top: 2rem;\n text-indent: 0;\n }\n\n .newsletter-signup-form {\n padding-top: 3rem;\n\n .field-row {\n padding-top: 2.8rem;\n }\n\n input[type=\"email\"] {\n padding-top: 2rem;\n padding-bottom: 2rem;\n }\n }\n\n .icon {\n position: static;\n box-sizing: content-box;\n padding-top: 4.2rem;\n }\n }\n }\n }\n\n @media (min-width: 1280px) {\n .stay-in-the-loop-wrapper {\n .stay-in-the-loop {\n h2 {\n font-size: ${({ theme }) =>\n fontSizeHelper({\n theme,\n variant: \"display_3\"\n })};\n }\n\n h3,\n .copy {\n font-size: ${({ theme }) =>\n fontSizeHelper({\n theme,\n variant: \"subhead_2\"\n })};\n }\n\n .newsletter-signup-form {\n input[type=\"email\"] {\n font-size: ${({ theme }) =>\n fontSizeHelper({\n theme,\n variant: \"body_1\"\n })};\n }\n\n button {\n font-size: ${({ theme }) =>\n fontSizeHelper({\n theme,\n variant: \"body_2\"\n })};\n }\n }\n }\n }\n }\n`;\n\n/**\n * Stay in the loop class component\n */\nconst StayInTheLoop = () => {\n return (\n \n
\n \n
\n
\n

\n Stay in the loop\n

\n\n

\n Advice and insights for innovators and change-makers\n

\n
\n\n
\n

\n Newsletter sign up\n

\n\n \n
\n \n
\n\n
\n \n\n \n\n \n Subscribe\n \n
\n \n
\n\n
\n

\n \n Click here to\n {\" \"}\n \n View our\n\n {\" \"}\n\n \n privacy policy\n \n .\n

\n\n \n
\n
\n
\n
\n
\n );\n};\n\nexport default StayInTheLoop;\n","import Parser, {\n domToReact,\n DOMNode\n} from \"html-react-parser\";\nimport * as React from \"react\";\nimport {\n Text,\n Element\n} from \"domhandler\";\n\nimport Icon from \"../icon\";\nimport Link from \"../link\";\n\ninterface IProps {\n className?: string;\n type: \"plain\" | \"formatted\";\n content: string;\n}\n\nconst isTextNode = (domNode: DOMNode): domNode is Text => domNode.nodeType === 2;\nconst isElementNode = (domNode: DOMNode): domNode is Element => domNode.nodeType === 1;\n\nconst Wysiwyg = ({\n className, type, content\n}: IProps) => {\n return (\n <>\n {Parser(content, {\n replace: domNode => {\n const newlineRegex = /(?:\\r\\n)|(?:\\r)|(?:\\n)/gi;\n\n // Create a JSX.Element for plain text\n if (\n type === \"plain\" &&\n isTextNode(domNode) &&\n domNode.data &&\n domNode.type === \"text\" &&\n newlineRegex.test(domNode.data)\n ) {\n domNode.data = domNode.data.replace(\n /(?:\\r\\n)|(?:\\r)|(?:\\n)/gi,\n \"
\"\n );\n\n return (\n \n );\n }\n\n // Replace tags with our own JSX.Element\n if (\n isElementNode(domNode) &&\n domNode.children &&\n domNode.name === \"a\"\n ) {\n // Return the domNode if there is no data inside the child\n if (!(domNode.children[ 0 ] as Text).data) {\n return domNode;\n }\n\n return (\n \n {(domNode.children[ 0 ] as Text).data}\n \n );\n }\n\n if (isElementNode(domNode) && domNode.name === \"blockquote\") {\n return (\n
\n \n \n \n\n {domToReact(domNode.children)}\n
\n );\n }\n\n return domNode;\n }\n })}\n \n );\n};\n\nexport default Wysiwyg;\n","import { graphql } from \"gatsby\";\nimport React from \"react\";\nimport styled from \"styled-components\";\n\nimport {\n IFixed,\n IFluid,\n ILocalFile\n} from \"src/types/local-files\";\n\nimport { FullWidthColumnWrapper } from \"../components/confines-wrappers\";\nimport FieldTechnicalArticle from \"../components/field-technical-article\";\nimport { IFieldTechnicalArticle } from \"../components/field-technical-article/field-technical-article\";\nimport Footer from \"../components/footer\";\nimport Header from \"../components/header\";\nimport HelmetWrapper from \"../components/helmet-wrapper\";\nimport HeroVideo from \"../components/hero-video\";\nimport {\n breadCrumbSchema,\n localBusinessSchema,\n organizationSchema\n} from \"../components/html-schema-snippets\";\nimport Layout from \"../components/layout\";\nimport PageTop from \"../components/page-top\";\nimport StayInTheLoop from \"../components/stay-in-the-loop\";\nimport TeamMembers from \"../components/team-members\";\nimport { DynamicImageSrcString } from \"../templates/utils/dynamicImage\";\nimport {\n colourHelper,\n fontLineHeightHelper,\n fontSizeHelper,\n fontWeightHelper\n} from \"../theme/theme-helper\";\n\nexport interface IProfileData {\n id: string;\n relationships: {\n profile__team_profile: IProfileFields[];\n };\n}\n\nexport interface IProfileFields {\n changed: string;\n path: {\n alias: string;\n };\n hidden?: boolean;\n field_full_name: string;\n field_job_title: string;\n field_twitter_username?: string;\n field_instagram_username?: string;\n field_team_micro_snippet?: string;\n field_team_summary?: {\n processed: string;\n };\n relationships?: {\n field_mugshot?: ILocalFile;\n field_team_about?: IFieldTechnicalArticle[] | null;\n };\n}\n\nexport interface IFieldProperties {\n __typename: string;\n field_copy?: {\n processed: string;\n };\n relationships?: {\n field_images?: Array>;\n field_image?: ILocalFile;\n };\n}\n\nexport interface INodeData {\n node: IProfileData;\n}\n\ninterface INodePageData {\n nodeAboutUsOverview: {\n title: string;\n changed: string;\n field_meta_description: string;\n field_hero_heading: string;\n field_hero_video_url: string;\n relationships: {\n field_technical_article: IFieldTechnicalArticle[];\n field_mobile_hero_image: ILocalFile;\n field_hero_image: ILocalFile;\n field_ordered_team_members: IProfileData[];\n };\n };\n}\n\nconst PageTopCustom = styled.div`\n .top-content-container {\n .top-content-wrapper {\n position: absolute;\n left: 0;\n top: 0;\n\n .top-content {\n z-index: 3;\n\n .heading {\n transition: 0.2s ease-in-out;\n display: block;\n margin-bottom: 0;\n padding-bottom: 10%;\n width: 28rem;\n color: ${({ theme }) => colourHelper({\n theme,\n variant: \"white\"\n })};\n font-size: ${({ theme }) =>\n fontSizeHelper({\n theme,\n variant: \"subhead_1\"\n })};\n font-weight: ${({ theme }) =>\n fontWeightHelper({\n theme,\n variant: \"heavy\"\n })};\n line-height: ${({ theme }) =>\n fontLineHeightHelper({\n theme,\n variant: \"small\"\n })};\n }\n }\n }\n }\n\n @media (min-width: 375px) {\n .top-content-container {\n .top-content-wrapper {\n .top-content {\n .heading {\n width: 31rem;\n font-size: ${({ theme }) =>\n fontSizeHelper({\n theme,\n variant: \"subhead_2\"\n })};\n }\n }\n }\n }\n }\n\n @media (min-width: 480px) {\n .top-content-container {\n .top-content-wrapper {\n .top-content {\n .heading {\n width: 39rem;\n font-size: ${({ theme }) =>\n fontSizeHelper({\n theme,\n variant: \"title\"\n })};\n }\n }\n }\n }\n }\n\n @media (min-width: 568px) {\n .top-content-container {\n .top-content-wrapper {\n .top-content {\n .heading {\n width: 53rem;\n font-size: ${({ theme }) =>\n fontSizeHelper({\n theme,\n variant: \"display_2\"\n })};\n }\n }\n }\n }\n }\n\n @media (min-width: 768px) {\n .top-content-container {\n .top-content-wrapper {\n .top-content {\n .heading {\n padding-bottom: 8%;\n width: 69rem;\n font-size: ${({ theme }) =>\n fontSizeHelper({\n theme,\n variant: \"display_4\"\n })};\n }\n }\n }\n }\n }\n\n @media (min-width: 960px) {\n .top-content-container {\n .top-content-wrapper {\n .top-content {\n .heading {\n width: 76rem;\n font-size: ${({ theme }) =>\n fontSizeHelper({\n theme,\n variant: \"display_5\"\n })};\n }\n }\n }\n }\n }\n\n @media (min-width: 1920px) {\n .top-content-container {\n .top-content-wrapper {\n .top-content {\n .heading {\n padding-bottom: 11.2rem;\n }\n }\n }\n }\n }\n`;\n\nconst ArticleWrapper = styled.div`\n .paragraph-full-width-image {\n padding-top: 0;\n }\n`;\n\nconst AboutUs = ({ data }: { data: INodePageData }) => {\n const breadcrumbsSchemaData = breadCrumbSchema([\n {\n name: \"About us\",\n path: \"/about-us\"\n }\n ]);\n\n const schemaJson = [\n localBusinessSchema,\n organizationSchema,\n breadcrumbsSchemaData\n ];\n\n return (\n \n <>\n \n \n \n\n
\n \n\n \n \n \n\n \n

\n {data.nodeAboutUsOverview.field_hero_heading}\n

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

\n {data.nodeAboutUsOverview.title}\n

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