{"version":3,"file":"3924-e44dd66e9cfaff563cf3.js","mappings":"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","sources":["webpack://adler-and-allan/./src/img/icons/close.svg","webpack://adler-and-allan/./src/helpers/aspectRatio.ts","webpack://adler-and-allan/./src/helpers/date.ts","webpack://adler-and-allan/./src/helpers/grid.ts","webpack://adler-and-allan/./src/helpers/image.ts","webpack://adler-and-allan/./src/stories/Components/Global/Buttons/LinkButton/LinkButton.tsx","webpack://adler-and-allan/./src/stories/Components/Global/SectionWrapper/SectionWrapper.styles.ts","webpack://adler-and-allan/./src/hoc/withBaseProps.tsx","webpack://adler-and-allan/./src/stories/Components/Global/SectionWrapper/SectionWrapper.tsx","webpack://adler-and-allan/./src/stories/Widgets/FormModal/FormModal.styles.ts","webpack://adler-and-allan/./src/stories/Widgets/FormModal/FormModal.tsx","webpack://adler-and-allan/./src/stories/Widgets/InnerPageHero/InnerPageHero.styles.ts","webpack://adler-and-allan/./src/stories/Widgets/InnerPageHero/InnerPageHero.tsx"],"sourcesContent":["var _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgClose(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 14.142 14.142\"\n }, props), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n stroke: \"currentColor\",\n strokeLinecap: \"round\",\n strokeWidth: 2\n }, /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 7035\",\n d: \"M12.728 1.414L1.414 12.728\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 6833\",\n d: \"M12.728 12.728L1.414 1.414\"\n }))));\n}\nexport default SvgClose;","import { css } from 'styled-components';\r\nimport { fluidUnit } from './fluid';\r\n/**\r\n * Returns the aspect ratio of the given width and height as a percentage.\r\n */\r\nexport function aspectRatio(width, height) {\r\n return (height / width) * 100;\r\n}\r\n/**\r\n * Re-usable styles for image container where the\r\n * image needs to maintain it's aspect ratio\r\n *\r\n * @param width\r\n * @param height\r\n * @returns\r\n */\r\nexport function imageWrapperPreserveRatio(width, height, \r\n/**\r\n * Additonal values to use if the ratio increases over time\r\n */\r\nmaxWidth, maxHeight) {\r\n if (!width && !height) {\r\n return null;\r\n }\r\n let padding;\r\n if (maxWidth && maxHeight) {\r\n padding = `${fluidUnit(aspectRatio(width, height), aspectRatio(maxWidth, maxHeight), '%')}`;\r\n }\r\n else {\r\n padding = `${aspectRatio(width, height)}%`;\r\n }\r\n return css `\r\n position: relative;\r\n height: 0;\r\n width: 100%;\r\n overflow: hidden;\r\n overflow: clip;\r\n padding-bottom: ${padding};\r\n `;\r\n}\r\n/**\r\n * Re-usable styles for an image placed within\r\n * a container maintaining aspect ratio\r\n */\r\nexport const imageCoverContainer = (relative) => css `\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n object-fit: cover;\r\n object-position: center;\r\n ${!relative && 'position: absolute; top: 0;left: 0;'}\r\n`;\r\n","import format from 'date-fns/format';\r\nexport function formatDateISO(value) {\r\n let date = value;\r\n if (typeof date === 'string') {\r\n date = new Date(date);\r\n }\r\n return date.toISOString();\r\n}\r\nexport function formatDate(value, formatString = 'dd.MM.yyyy') {\r\n let date = value;\r\n if (typeof date === 'string') {\r\n date = new Date(date);\r\n }\r\n return format(date, formatString);\r\n}\r\n","import { css } from 'styled-components';\r\nimport { Device, from } from './media';\r\nexport const SitePadding = 20;\r\nexport const SiteWidth = 1240;\r\nexport const siteWide = css `\r\n margin: 0 auto;\r\n max-width: var(--siteWidth);\r\n padding: 0 var(--sitePadding);\r\n width: 100%;\r\n`;\r\nexport const baseGrid = css `\r\n display: grid;\r\n column-gap: var(--gutterWidth);\r\n grid-template-columns: repeat(4, 1fr);\r\n\r\n @media ${from(Device.Tablet)} {\r\n grid-template-columns: repeat(8, 1fr);\r\n }\r\n\r\n @media ${from(Device.Desktop)} {\r\n grid-template-columns: repeat(12, 1fr);\r\n }\r\n`;\r\n","import queryString from 'query-string';\r\n/**\r\n * Create an image URL for ImageProcessor\r\n * @param image The image model\r\n * @param imageParams The image parameters\r\n * @returns The image URL\r\n */\r\nexport function imageUrl(image, imageParams) {\r\n if (!image || !image.src) {\r\n return '';\r\n }\r\n /**\r\n * Remove any query param string to ensure paramsString is applied correctly and\r\n * there are no double definitions (setting a param twice prevents any tranformations)\r\n */\r\n const imageSource = image.src.split('?')[0];\r\n const params = {\r\n rxy: image.focalPoint ? `${image.focalPoint.left},${image.focalPoint.top}` : undefined,\r\n // Define default quality as 95 to ensure some reduction in size for all but the smallest images\r\n quality: imageParams.width && imageParams.width > 400 ? 95 : undefined,\r\n ...imageParams,\r\n };\r\n const paramsString = queryString.stringify(params);\r\n return `${imageSource}${paramsString ? `?${queryString.stringify(params)}` : ''}`;\r\n}\r\nexport function getSrcs(image, upper, lower, steps, ratio, params) {\r\n const sizes = getRange(upper, lower, steps);\r\n return sizes.map((size) => `${imageUrl(image, {\r\n width: size,\r\n height: ratio ? size * ratio : undefined,\r\n ...params,\r\n })} ${size}w`);\r\n}\r\nfunction getRange(upper, lower, steps) {\r\n const difference = upper - lower;\r\n const increment = difference / (steps - 1);\r\n return [\r\n lower,\r\n ...Array(steps - 2)\r\n .fill('')\r\n .map((_, index) => Math.ceil(lower + increment * (index + 1))),\r\n upper,\r\n ];\r\n}\r\n","import SvgArrow from '@img/icons/chevron-right.svg';\r\nimport { FocusRing } from '@react-aria/focus';\r\nimport * as React from 'react';\r\nimport S from '../Button/Button.styles';\r\nconst LinkButton = ({ buttonType, children, icon, iconOnly, iconPosition = 'right', ...otherProps }) => {\r\n return (React.createElement(FocusRing, { focusRingClass: \"focus-ring\" },\r\n React.createElement(S.Container, { as: \"a\", \"data-icon-only\": iconOnly, \"data-icon-position\": iconPosition, \"data-type\": buttonType, ...otherProps },\r\n React.createElement(S.Text, null, children),\r\n React.createElement(S.IconWrapper, null, icon ?? React.createElement(SvgArrow, null)))));\r\n};\r\nexport default LinkButton;\r\n","import { siteWide } from '@helpers/grid';\r\nimport styled from 'styled-components';\r\nconst Container = styled.section `\r\n scroll-margin: var(--scrollMargin) 0 0;\r\n background-color: var(--bgColor);\r\n\r\n // Spacing styles.\r\n &[data-spacing='padding'] {\r\n padding: var(--sectionSpacing) 0;\r\n }\r\n &[data-spacing='margin'] {\r\n margin: var(--sectionSpacing) 0;\r\n }\r\n\r\n // Overflow styles.\r\n &[data-overflow='hidden'] {\r\n overflow: hidden;\r\n }\r\n &[data-overflow='clip'] {\r\n overflow: clip;\r\n }\r\n`;\r\nconst Inner = styled.div `\r\n ${siteWide}\r\n`;\r\nconst SectionWrapperStyles = {\r\n Container,\r\n Inner,\r\n};\r\nexport default SectionWrapperStyles;\r\n","import * as React from 'react';\r\nconst BasePropsContext = React.createContext({});\r\nexport function withBaseProps(WrappedComponent) {\r\n const displayName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\r\n const ComponentWithBaseProps = (props) => {\r\n return (React.createElement(BasePropsContext.Provider, { value: props },\r\n React.createElement(WrappedComponent, { ...props })));\r\n };\r\n ComponentWithBaseProps.displayName = `withBaseProps(${displayName})`;\r\n return ComponentWithBaseProps;\r\n}\r\nexport const useBaseProps = () => React.useContext(BasePropsContext);\r\n","import { useBaseProps } from '@hoc/withBaseProps';\r\nimport * as React from 'react';\r\nimport S from './SectionWrapper.styles';\r\nconst SectionWrapper = React.forwardRef((props, ref) => {\r\n const { children, layout = 'default', overflow = 'default', spacing = 'margin', ...otherProps } = props;\r\n const baseProps = useBaseProps();\r\n return (React.createElement(S.Container, { ref: ref, id: baseProps.id, \"data-overflow\": overflow, \"data-spacing\": spacing, ...otherProps }, renderLayout()));\r\n function renderLayout() {\r\n if (layout === 'fullWidth') {\r\n return children;\r\n }\r\n return React.createElement(S.Inner, null, children);\r\n }\r\n});\r\nSectionWrapper.displayName = 'SectionWrapper';\r\nexport default SectionWrapper;\r\n","import brand from '@helpers/brand';\r\nimport { fluid } from '@helpers/fluid';\r\nimport fonts from '@helpers/fonts';\r\nimport { Device, from, until } from '@helpers/media';\r\nimport { contentStyles, h2 } from '@helpers/typography';\r\nimport UmbracoFormStyles from '@stories/Components/UmbracoForm/UmbracoForm.styles';\r\nimport { rgba } from 'polished';\r\nimport styled from 'styled-components';\r\nconst Container = styled.div `\r\n color: var(--fgColor);\r\n position: relative;\r\n`;\r\nconst ButtonContainer = styled.div ``;\r\nconst FormModal = styled.div `\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100vh;\r\n background-color: ${rgba(brand.global.black, 0.5)};\r\n padding: ${fluid(70, 70)} ${fluid(10, 70)};\r\n\r\n display: none;\r\n justify-content: center;\r\n z-index: 10;\r\n\r\n &[data-show-modal='true'] {\r\n display: grid;\r\n }\r\n`;\r\nconst FormModalInner = styled.div `\r\n background-color: ${brand.global.white};\r\n max-width: 1272px;\r\n width: 100%;\r\n max-height: 80vh;\r\n border-radius: 6px;\r\n padding: ${fluid(20, 60)} ${fluid(10, 70)} ${fluid(20, 60)} ${fluid(10, 60)};\r\n position: relative;\r\n text-align: left;\r\n margin: auto;\r\n overflow-y: scroll;\r\n`;\r\nconst CloseBtn = styled.button `\r\n position: absolute;\r\n top: 50px;\r\n right: 15px;\r\n background: transparent;\r\n border: none;\r\n padding: 0;\r\n\r\n @media ${from(Device.Desktop)} {\r\n right: 30px;\r\n }\r\n\r\n @media ${until(Device.TabletLarge)} {\r\n top: auto;\r\n bottom: 100%;\r\n right: 10px;\r\n background-color: ${brand.global.white};\r\n border-radius: 6px 6px 0 0;\r\n padding: 8px 8px 0;\r\n }\r\n\r\n svg {\r\n width: 20px;\r\n }\r\n\r\n span {\r\n ${fonts.cabin.bold};\r\n display: block;\r\n text-transform: uppercase;\r\n font-size: 13px;\r\n line-height: 24px;\r\n }\r\n`;\r\nconst ContentContainer = styled.div `\r\n overflow-y: auto;\r\n overflow-x: hidden;\r\n height: 100%;\r\n transform: translate3d(0, 0, 0);\r\n -webkit-overflow-scrolling: touch;\r\n padding-right: 20px;\r\n`;\r\nconst ContentInner = styled.div ``;\r\nconst ContentWrapper = styled.div `\r\n position: relative;\r\n`;\r\nconst Title = styled.h2 `\r\n ${h2}\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n max-width: 80%;\r\n }\r\n`;\r\nconst Content = styled.div `\r\n ${contentStyles};\r\n\r\n margin: 0 0 ${fluid(24, 42)};\r\n`;\r\nconst FormWrapper = styled.div `\r\n margin-top: 30px;\r\n position: relative;\r\n\r\n ${UmbracoFormStyles.Form} {\r\n max-width: 100%;\r\n }\r\n\r\n ${UmbracoFormStyles.Input},\r\n ${UmbracoFormStyles.Textarea},\r\n ${UmbracoFormStyles.Select} {\r\n background-color: ${brand.global.white};\r\n }\r\n`;\r\nconst FormModalStyles = {\r\n ButtonContainer,\r\n CloseBtn,\r\n Container,\r\n Content,\r\n ContentContainer,\r\n ContentInner,\r\n ContentWrapper,\r\n FormModal,\r\n FormModalInner,\r\n FormWrapper,\r\n Title,\r\n};\r\nexport default FormModalStyles;\r\n","import UmbracoForm from '@stories/Components/UmbracoForm/UmbracoForm';\r\nimport * as React from 'react';\r\nimport S from './FormModal.styles';\r\nimport CloseSvg from '@img/icons/close.svg';\r\nimport Button from '@stories/Components/Global/Buttons/Button/Button';\r\nimport { FocusScope } from 'react-aria';\r\nconst FormModal = (props) => {\r\n const [showModal, setShowModal] = React.useState(false);\r\n const refModal = React.useRef(null);\r\n React.useEffect(() => {\r\n function checkIfClickedOutside(e) {\r\n if (showModal && refModal.current && !refModal.current.contains(e.target)) {\r\n setShowModal(false);\r\n }\r\n }\r\n document.addEventListener('click', checkIfClickedOutside);\r\n return () => {\r\n document.removeEventListener('click', checkIfClickedOutside);\r\n };\r\n }, [showModal]);\r\n if (!props.formConfig) {\r\n return null;\r\n }\r\n return (React.createElement(S.Container, null,\r\n React.createElement(S.ButtonContainer, null,\r\n React.createElement(Button, { buttonType: props.theme === 'light' ? 'default' : 'inverted', onClick: () => setShowModal(!showModal) }, props.buttonText ?? 'Contact Us')),\r\n React.createElement(S.FormModal, { \"data-show-modal\": showModal },\r\n React.createElement(S.FormModalInner, { ref: refModal },\r\n React.createElement(S.CloseBtn, { type: \"button\", onClick: () => setShowModal(false) },\r\n React.createElement(CloseSvg, null),\r\n React.createElement(\"span\", null, \"Close\")),\r\n React.createElement(FocusScope, { contain: true, autoFocus: true, restoreFocus: true },\r\n React.createElement(S.ContentContainer, null,\r\n React.createElement(S.ContentInner, null,\r\n React.createElement(S.ContentWrapper, null,\r\n React.createElement(S.Title, null, props.title),\r\n props.content && (React.createElement(S.Content, { dangerouslySetInnerHTML: { __html: props.content } }))),\r\n React.createElement(S.FormWrapper, null,\r\n React.createElement(UmbracoForm, { ...props.formConfig })))))))));\r\n};\r\nexport default FormModal;\r\n","import { imageCoverContainer } from '@helpers/aspectRatio';\r\nimport { fluid } from '@helpers/fluid';\r\nimport fonts from '@helpers/fonts';\r\nimport { siteWide } from '@helpers/grid';\r\nimport { Device, from } from '@helpers/media';\r\nimport { contentStyles, h1 } from '@helpers/typography';\r\nimport SectionWrapper from '@stories/Components/Global/SectionWrapper/SectionWrapper';\r\nimport styled from 'styled-components';\r\nconst Container = styled(SectionWrapper) `\r\n --textColor: var(--fgColor);\r\n --blur: 0px;\r\n --tint: 0.5;\r\n\r\n position: relative;\r\n color: var(--textColor);\r\n overflow: hidden; \r\n\r\n &[data-spacing='margin'] {\r\n margin-top: 0;\r\n margin-bottom: 0;\r\n }\r\n\r\n &[data-contains-image='true'] {\r\n --textColor: var(--bgColor);\r\n }\r\n`;\r\nconst ContentWrapper = styled.div `\r\n display: grid;\r\n margin-bottom: calc(var(--indicatorSize) * -1);\r\n`;\r\nconst Inner = styled.div `\r\n display: flex;\r\n flex-direction: column;\r\n padding: ${fluid(32, 64)} 0;\r\n color: var(--textColor);\r\n position: relative;\r\n\r\n ${Container}[data-contains-image='true'] & {\r\n padding-top: 6.7%;\r\n padding-bottom: 6.7%;\r\n }\r\n\r\n @media ${from(Device.TabletSmall)} {\r\n justify-content: center;\r\n }\r\n`;\r\nconst Tagline = styled.span `\r\n ${fonts.cabin.regular};\r\n font-size: ${fluid(16, 18)};\r\n line-height: ${fluid(20, 22)};\r\n margin-bottom: 5px;\r\n`;\r\nconst Title = styled.h1 `\r\n ${h1};\r\n font-size: ${fluid(28, 42)};\r\n line-height: clamp(1.2rem, 1.6rem + 3vw, 3rem);\r\n margin: 0;\r\n\r\n @media ${from(Device.TabletSmall)} {\r\n max-width: 24ch;\r\n }\r\n`;\r\nconst Content = styled.div `\r\n font-size: ${fluid(18, 22)};\r\n line-height: ${fluid(27, 33)};\r\n \r\n ${contentStyles};\r\n\r\n max-width: 80ch;\r\n padding-top: 24px;\r\n\r\n p {\r\n font-size: ${fluid(18, 22)};\r\n line-height: ${fluid(27, 33)};\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n padding-top: 32px;\r\n max-width: 60%;\r\n }\r\n`;\r\nconst CtaWrapper = styled.div `\r\n margin-top: 30px;\r\n`;\r\nconst ImageWrapper = styled.div `\r\n position: absolute;\r\n top: calc(var(--blur) * -4);\r\n left: calc(var(--blur) * -4);\r\n height: calc(100% + (var(--blur) * 8));\r\n filter: blur(var(--blur)) brightness(calc(1 - var(--tint)));\r\n margin: calc(var(--blur) * -1);\r\n width: calc(100% + (var(--blur) * 8));\r\n`;\r\nconst Image = styled.img `\r\n ${imageCoverContainer()};\r\n`;\r\nconst Overlay = styled.div `\r\n ${siteWide};\r\n\r\n height: 100%;\r\n position: relative;\r\n\r\n &::before {\r\n content: '';\r\n width: 50%;\r\n height: 100%;\r\n display: block;\r\n position: absolute;\r\n background-color: hsla(var(--bgColorString) / 0.2);\r\n transform: translateX(50%) skewX(-26.65deg);\r\n top: 0;\r\n right: 0;\r\n\r\n @media ${from(Device.Tablet)} {\r\n width: 27.5%;\r\n transform: skewX(-26.65deg);\r\n }\r\n }\r\n`;\r\nconst Date = styled.time `\r\n font-weight: 700;\r\n font-size: 14px;\r\n line-height: 24px;\r\n padding-top: 10px;\r\n margin-bottom: 5px;\r\n display: block;\r\n`;\r\nconst TypeList = styled.div `\r\n display: flex;\r\n`;\r\nconst TypeItem = styled.span `\r\n font-weight: 700;\r\n flex: 0 0 auto;\r\n margin-right: 15px;\r\n margin-bottom: 5px;\r\n font-size: 14px;\r\n`;\r\nconst InnerPageHeroStyles = {\r\n Container,\r\n Content,\r\n ContentWrapper,\r\n CtaWrapper,\r\n Date,\r\n Image,\r\n ImageWrapper,\r\n Inner,\r\n Overlay,\r\n Tagline,\r\n Title,\r\n TypeItem,\r\n TypeList,\r\n};\r\nexport default InnerPageHeroStyles;\r\n","import { getSrcs } from '@helpers/image';\r\nimport * as React from 'react';\r\nimport S from './InnerPageHero.styles';\r\nimport { formatDate, formatDateISO } from '@helpers/date';\r\nimport LinkButton from '@stories/Components/Global/Buttons/LinkButton/LinkButton';\r\nimport FormModal from '../FormModal/FormModal';\r\nconst InnerPageHero = (props) => {\r\n if (!props.title) {\r\n return null;\r\n }\r\n const cssVars = {\r\n '--blur': props.imageBlur ? `${props.imageBlur}px` : undefined,\r\n '--tint': props.imageTint ? props.imageTint : undefined,\r\n };\r\n const srcs = props.image ? getSrcs(props.image, 2568, 375, 8) : [];\r\n return (React.createElement(S.Container, { \"data-contains-image\": !!props.image, style: cssVars },\r\n React.createElement(S.ContentWrapper, null,\r\n props.image && (React.createElement(S.ImageWrapper, null,\r\n React.createElement(S.Image, { alt: props.image.altText ?? '', loading: \"eager\", role: props.image.altText ? undefined : 'presentation', src: srcs[0].split(' ')[0], srcSet: srcs.join(',') }),\r\n React.createElement(S.Overlay, null))),\r\n React.createElement(S.Inner, null,\r\n props.tagline && React.createElement(S.Tagline, null, props.tagline),\r\n React.createElement(S.Title, null, props.title),\r\n props.date && (React.createElement(S.Date, { dateTime: formatDateISO(props.date) }, formatDate(props.date))),\r\n React.createElement(S.TypeList, null,\r\n props.resourceType && props.resourceType.length > 0 && (React.createElement(React.Fragment, null, props.resourceType?.map((type) => (React.createElement(S.TypeItem, { key: type }, type))))),\r\n props.sector && props.sector.length > 0 && (React.createElement(React.Fragment, null, props.sector?.map((type) => (React.createElement(S.TypeItem, { key: type }, type))))),\r\n props.serviceCategory && props.serviceCategory.length > 0 && (React.createElement(React.Fragment, null, props.serviceCategory?.map((type) => (React.createElement(S.TypeItem, { key: type }, type)))))),\r\n props.content && React.createElement(S.Content, { dangerouslySetInnerHTML: { __html: props.content } }),\r\n props.cta && (React.createElement(S.CtaWrapper, null,\r\n React.createElement(LinkButton, { buttonType: \"inverted\", href: props.cta.url, target: props.cta.target ?? '_self' }, props.cta.text))),\r\n props.formModal && (React.createElement(S.CtaWrapper, null,\r\n React.createElement(FormModal, { ...props.formModal })))))));\r\n};\r\nexport default InnerPageHero;\r\n"],"names":["_g","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","props","xmlns","viewBox","fill","stroke","strokeLinecap","strokeWidth","d","aspectRatio","width","height","imageWrapperPreserveRatio","maxWidth","maxHeight","padding","fluidUnit","css","imageCoverContainer","relative","formatDateISO","value","date","Date","toISOString","formatDate","formatString","format","SitePadding","SiteWidth","siteWide","baseGrid","from","Device","imageUrl","image","imageParams","src","imageSource","split","params","rxy","focalPoint","left","top","undefined","quality","queryString","getSrcs","upper","lower","steps","ratio","sizes","increment","Array","map","_","index","Math","ceil","getRange","size","buttonType","children","icon","iconOnly","iconPosition","otherProps","React","FocusRing","focusRingClass","S","as","SvgArrow","Container","styled","Inner","BasePropsContext","SectionWrapper","ref","layout","overflow","spacing","baseProps","id","displayName","ButtonContainer","FormModal","rgba","brand","fluid","FormModalInner","CloseBtn","until","fonts","ContentContainer","ContentInner","ContentWrapper","Title","h2","Content","contentStyles","FormWrapper","UmbracoFormStyles","showModal","setShowModal","refModal","checkIfClickedOutside","e","current","contains","document","addEventListener","removeEventListener","formConfig","Button","theme","onClick","buttonText","type","CloseSvg","FocusScope","contain","autoFocus","restoreFocus","title","content","dangerouslySetInnerHTML","__html","UmbracoForm","Tagline","h1","CtaWrapper","ImageWrapper","Image","Overlay","TypeList","TypeItem","cssVars","imageBlur","imageTint","srcs","style","alt","altText","loading","role","srcSet","join","tagline","dateTime","resourceType","sector","serviceCategory","cta","LinkButton","href","url","text","formModal"],"sourceRoot":""}