{"version":3,"file":"component---src-templates-content-elements-client-js-0adf810db6d8d3bd317f.js","mappings":"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","sources":["webpack://acu-gatsby/./src/components/callToAction/callToAction.js","webpack://acu-gatsby/./src/components/callToActionFeature/callToActionFeature.js","webpack://acu-gatsby/./src/components/headline/headline.js","webpack://acu-gatsby/./src/components/projectImage/projectImage.js","webpack://acu-gatsby/./src/components/quote/quote.js","webpack://acu-gatsby/./src/components/pullQuote/pullQuote.js","webpack://acu-gatsby/./src/components/reasonBenefitsFeature/reasonBenefitsFeature.js","webpack://acu-gatsby/./src/components/relatedProjects/relatedProjects.js","webpack://acu-gatsby/./src/components/serviceFocus/serviceFocus.js","webpack://acu-gatsby/./src/components/serviceFocusFeature/serviceFocusFeature.js","webpack://acu-gatsby/./src/components/splashImage/splashImage.js","webpack://acu-gatsby/./src/components/supportingImages/supportingImages.js","webpack://acu-gatsby/./src/components/valueProposition/valueProposition.js","webpack://acu-gatsby/./src/components/companyProfile/companyProfile.js","webpack://acu-gatsby/./src/templates/ContentElementsClient.js"],"sourcesContent":["import React, { Fragment, useEffect, useState } from 'react'\nimport { Link } from 'gatsby'\nimport PropTypes from 'prop-types'\nimport './callToAction.scss'\n\nconst CallToAction = ({ data=[], headline='', className='', color = 'yellow' }) => {\n  let classList = ['call-to-action', color]\n  if (className) {\n    classList.push(className)\n  }\n\n  let [state, setState] = useState('loading')\n  let [strippedText, setStrippedText] = useState('')\n  if (data) {\n    if (Array.isArray(data) && data.length === 1) {\n      data = data[0]\n    } else if (Array.isArray(data) && data.length === 0) {\n      data = null\n    }\n  }\n  useEffect(() => {\n    if (data != null) {\n      let t = document.createElement('div')\n      t.innerHTML = data ? data.shortText : ''\n      setStrippedText(t.innerText)\n      setState('idle')\n    }\n  }, [data])\n\n  if (state === 'idle') {\n    if (data) {\n      const renderLink = (data, content) => {\n        let url = '#'\n        if (data.externalUrl) {\n          url = data.externalUrl\n          return <a href={url}>{content}</a>\n        } else if (data.internalPage && data.internalPage.length > 0) {\n          url = `/${data.internalPage[0].url}`\n          return <Link to={url}>{content}</Link>\n        }\n        return content\n      }\n\n      return (\n        <section className={classList.join(' ')}>\n          {renderLink(\n            data,\n            <button className={color} aria-label={strippedText}>\n              <div className=\"text\">\n                <div>{headline}</div>\n                <span className=\"thick-underline\">{strippedText}</span>\n              </div>\n            </button>\n          )}\n        </section>\n      )\n    }\n  }\n  return <Fragment></Fragment>\n}\n\n// CallToAction.defaultProps = {\n//   data: [],\n//   headline: '',\n//   className: '',\n//   color: 'black'\n// }\n// TODO: data is sometimes an object and other times an array - both work but an error is thrown\nCallToAction.propTypes = {\n  data: PropTypes.array,\n  headline: PropTypes.string,\n  className: PropTypes.string,\n  color: PropTypes.string\n}\n\nexport default CallToAction\n","import React, { Fragment } from 'react'\nimport PropTypes from 'prop-types'\nimport CallToAction from '../callToAction'\n\nimport './callToActionFeature.scss'\n\nconst CallToActionFeature = ({ data=[] }) => {\n  if (Array.isArray(data) && data.length === 1) {\n    data = data[0]\n  }\n  if (data && data.callsToAction && data.callsToAction.length > 0) {\n    return (\n      <section className=\"call-to-action-feature\">\n        <CallToAction\n          data={data.callsToAction}\n          headline={data.headline}\n          color=\"yellow\"\n        />\n      </section>\n    )\n  }\n  return <Fragment></Fragment>\n}\n\n// CallToActionFeature.defaultProps = {\n//   data: []\n// }\n\nCallToActionFeature.propTypes = {\n  data: PropTypes.array\n}\n\nexport default CallToActionFeature\n","import React, { Fragment } from 'react'\nimport PropTypes from 'prop-types'\nimport './headline.scss'\n\nconst Headline = ({ headline='', description='', subgrid = false }) => {\n  if (headline !== '' || description !== '') {\n    return (\n      <Fragment>\n        <h2\n          className={`subheading mb-dy-lg ${subgrid ? 'sub' : ''} ${\n            description ? 'half' : ''\n          }`}\n        >\n          &mdash; {headline}\n        </h2>\n        {description ? (\n          <div\n            className=\"description mb-dy-lg\"\n            dangerouslySetInnerHTML={{ __html: description }}\n          ></div>\n        ) : (\n          <Fragment />\n        )}\n      </Fragment>\n    )\n  }\n  return <Fragment></Fragment>\n}\n\nHeadline.propTypes = {\n  headline: PropTypes.string,\n  description: PropTypes.string\n}\n\nexport default Headline\n","import React, { Fragment } from 'react'\nimport { Link } from 'gatsby'\nimport PropTypes from 'prop-types'\n\nimport { FluidImage } from '../../services/images'\nimport Button from '../button'\n\nimport './projectImage.scss'\n\nconst RenderLink = ({ data, children, className }) => {\n  if (data && data.length > 0) {\n    return <Link to={`/${data[0].url}`} className={className}>{children}</Link>\n  }\n  return <Fragment></Fragment>\n}\n\nconst ProjectImage = ({\n  image=[],\n  name='',\n  description='',\n  page=[],\n  relatedProject = false,\n  clickableContainer = false\n}) => {\n  let options = {}\n  if (relatedProject) {\n    options = {\n      size: {\n        width: 900,\n        height: 900\n      }\n    }\n  }\n  return (\n    <Fragment>\n      <FluidImage src={image} alt={name} options={options} />\n      <div className=\"text\">\n        {clickableContainer ? (<RenderLink data={page}><div className=\"clickable-layer\"></div></RenderLink>) : ('')}\n        <h2 className=\"fit thick-underline\">\n          <RenderLink data={page}>{name}</RenderLink>\n        </h2>\n        <div\n          className=\"description mb-sm\"\n          dangerouslySetInnerHTML={{ __html: description }}\n          key={Math.random() + '-' + name}\n        ></div>\n        <RenderLink data={page} className=\"link\">\n          <Button\n            title=\"Learn More\"\n            types={['right-arrow', 'dark', 'rotate', 'pseudo-button']}\n          />\n        </RenderLink>\n      </div>\n    </Fragment>\n  )\n}\n\nProjectImage.propTypes = {\n  image: PropTypes.array,\n  name: PropTypes.string,\n  description: PropTypes.string,\n  page: PropTypes.array\n}\n\nexport default ProjectImage\n","import React from 'react'\nimport './quotes.scss'\n\nexport const TopQuote = ({ fill = '#fff' }) => {\n  return (\n    <svg viewBox=\"0 0 71.02 64.2\" className=\"quote top\">\n      <path\n        d=\"M205.2,898.6v30.61a33.17,33.17,0,0,1-1.9,12.39,32.42,32.42,0,0,1-26.5,21.2V949.6q7.6-2.6,10.4-7.7a25.61,25.61,0,0,0,2.8-12.5H176.8V898.6Zm42.6,0v30.61a33.17,33.17,0,0,1-1.9,12.39,32.42,32.42,0,0,1-26.5,21.2V949.6q7.6-2.6,10.4-7.7a25.61,25.61,0,0,0,2.8-12.5H219.4V898.6Z\"\n        transform=\"translate(-176.8 -905)\"\n        style={{ fill: fill }}\n      />\n    </svg>\n  )\n}\n\nexport const BottomQuote = ({ fill = '#fff' }) => {\n  return (\n    <svg viewBox=\"0 0 71.02 64.2\" className=\"quote bottom\">\n      <path\n        d=\"M 42.62,67.8 V 37.2 a 33,33 0 0 1 1.9,-12.4 32.24,32.24 0 0 1 5.9,-10.2 32.73,32.73 0 0 1 20.6,-11 v 13.2 q -7.6,2.61 -10.4,7.7 A 25.66,25.66 0 0 0 57.82,37 h 13.2 v 30.8 z m -42.6,0 V 37.2 a 33,33 0 0 1 1.9,-12.4 32.24,32.24 0 0 1 5.9,-10.2 32.73,32.73 0 0 1 20.6,-11 v 13.2 q -7.6,2.61 -10.4,7.7 A 25.66,25.66 0 0 0 15.2,37 h 13.2 v 30.8 z\"\n        style={{ fill: fill }}\n      />\n    </svg>\n  )\n}\n","import React, { useEffect, useState } from 'react'\nimport PropTypes from 'prop-types'\nimport { TopQuote, BottomQuote } from '../quote'\n\nimport './pullQuote.scss'\n\nconst getOrganizationName = data => {\n  if (data.companyOrganization && data.companyOrganization.length > 0) {\n    if (data.companyOrganization[0] && data.companyOrganization[0].name) {\n      return `, ${data.companyOrganization[0].name}`\n    }\n  }\n}\n\nconst getColor = elem => {\n  let color = window\n  .getComputedStyle(elem, null)\n  .getPropertyValue('background-color')\n  if (color === 'rgba(0, 0, 0, 0)') {\n    return '#fff'\n  }\n  return color\n}\n\nconst PullQuote = ({ data=[] }) => {\n  let [topQuoteColor, setTopQuoteColor] = useState('#fff')\n  let [bottomQuoteColor, setBottomQuoteColor] = useState('#fff')\n\n  useEffect(() => {\n    let quote = document.querySelector('.pull-quote')\n    if (quote) {\n      let topColor = getColor(quote.previousElementSibling)\n      let bottomColor = getColor(quote.nextElementSibling)\n      setTopQuoteColor(topColor)\n      setBottomQuoteColor(bottomColor)\n    }\n  }, [])\n  return data.map((data, idx) => {\n      return (\n        <section className=\"pull-quote mb-dy-lg\" key={`pull-quote-${idx}`}>\n          <TopQuote fill={topQuoteColor} />\n          <div className=\"divider\"></div>\n          <div\n            className=\"quote-text\"\n            dangerouslySetInnerHTML={{ __html: data.quote }}\n          ></div>\n          <div className=\"divider\"></div>\n          <div className=\"attribute\">\n            {(data.attributedTo || []).map((name, idx) => {\n              return (\n                <span key={`pq-${idx}`}>\n                  {name.firstName} {name.lastName} {getOrganizationName(name)}\n                </span>\n              )\n            })}\n          </div>\n          <BottomQuote fill={bottomQuoteColor} />\n        </section>\n      )\n  })\n}\n\nPullQuote.propTypes = {\n  data: PropTypes.array\n}\n\nexport default PullQuote\n","import React, { Fragment } from 'react'\nimport PropTypes from 'prop-types'\nimport BallList from '../ballList'\n\nimport './reasonBenefitsFeature.scss'\n\nconst ReasonBenefitsFeature = ({ data=[], color='', last=false }) => {\n  let classList = [\n    'reason-benefits-feature',\n    'interior',\n    'grid',\n    !last ? 'mb-dy-lg' : 'mb-dy-none',\n    'pt-lg'\n  ]\n  if (color) {\n    classList.push(color)\n  }\n  return data.map((data, idx) => {\n    if (data.reasonsBenefits && data.reasonsBenefits.length > 0) {\n      return (\n        <section className={classList.join(' ')} key={`rb-${idx}`}>\n          <h2 className=\"subheading sm-mb-md\">&mdash; {data.headline}</h2>\n          <BallList data={data.reasonsBenefits} />\n        </section>\n      )\n    }\n    return <Fragment key={idx}></Fragment>\n  })\n}\n\n// ReasonBenefitsFeature.defaultProps = {\n//   data: [],\n//   color: ''\n// }\n\nReasonBenefitsFeature.propTypes = {\n  data: PropTypes.array,\n  color: PropTypes.string\n}\n\nexport default ReasonBenefitsFeature\n","import React, { useRef, useEffect, useState } from 'react'\nimport { useStaticQuery, graphql } from 'gatsby'\nimport Utils from '../../services/utils'\nimport Headline from '../headline'\nimport ProjectImage from '../projectImage'\n\nimport './relatedProjects.scss'\n\nconst RelatedProjects = ({ company }) => {\n  let current = useRef()\n  let scroller = useRef()\n  let { acu } = useStaticQuery(graphql`\n    query {\n      acu {\n        queryCompanyContents(top: 100) {\n          flatData {\n            name\n            shortDescription\n            clientType\n            portfolioImage {\n              fileName\n            }\n            companyImage {\n              fileName\n            }\n            clientIndustry\n            projectType\n            page {\n              flatData {\n                url\n              }\n            }\n          }\n        }\n      }\n    }\n  `)\n\n  const getRelatedCompanies = () => {\n    let sourceRelatedCompanies = acu.queryCompanyContents\n    .filter(c => {\n      c = c.flatData\n      return (\n        c.name !== company[0]?.name &&\n        c.companyImage?.length > 0 &&\n        c.clientType?.length > 0 &&\n        c.clientType?.includes('Client')\n      )\n    })\n    .sort((a, b) => {\n      return 0.5 - Math.random()\n    })\n    .slice(0, 6)\n    return sourceRelatedCompanies\n  }\n\n  const [relatedCompanies, setRelatedCompanies] = useState(getRelatedCompanies())\n\n  useEffect(() => {\n    current.current.innerText = 1\n    scroller.current.addEventListener('scroll', () => {\n      let index = Math.round(\n        (scroller.current.scrollLeft / scroller.current.scrollWidth) *\n          relatedCompanies.length\n      )\n      current.current.innerText = index + 1\n    })\n  }, [relatedCompanies])\n  return (\n    <section className=\"related-projects grid full-bleed mb-dy-lg\">\n      <Headline headline=\"More Projects\" />\n      <div className=\"display-none sm-display-block talign-center pb-sm grid-element arrows\">\n        <span className=\"fa fa-arrow-left mr-sm\">\n          <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            viewBox=\"0 0 97.2 91.2\"\n            width=\"20\"\n          >\n            <polygon points=\"0 52.7 69.9 52.7 41.5 81.1 51.5 91.2 87.1 55.7 87.1 55.7 97.2 45.6 97.1 45.6 97.2 45.6 87.1 35.5 87.1 35.5 51.5 0 41.5 10.1 69.8 38.4 0 38.4 0 52.7\" />\n          </svg>\n        </span>{' '}\n        <span id=\"outof\" ref={current}></span> / {relatedCompanies.length}\n        <span className=\"fa fa-arrow-right ml-sm\">\n          <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            viewBox=\"0 0 97.2 91.2\"\n            width=\"20\"\n          >\n            <polygon points=\"0 52.7 69.9 52.7 41.5 81.1 51.5 91.2 87.1 55.7 87.1 55.7 97.2 45.6 97.1 45.6 97.2 45.6 87.1 35.5 87.1 35.5 51.5 0 41.5 10.1 69.8 38.4 0 38.4 0 52.7\" />\n          </svg>\n        </span>\n      </div>\n      <section className=\"related-projects-list grid-element\" ref={scroller}>\n        {relatedCompanies && Array.isArray(relatedCompanies) && (\n          <>\n          {relatedCompanies.map((company, idx) => {\n            company = Utils.removeFlatData(company.flatData)\n            return (\n              <div\n                className=\"related-project featured-project\"\n                key={`related-project-${company.name}`}\n                >\n                <ProjectImage\n                  image={company.companyImage}\n                  name={company.name}\n                  description={company.shortDescription}\n                  page={company.page}\n                  relatedProject={true}\n                />\n              </div>\n            )\n          })}\n          </>\n        )}\n\n      </section>\n    </section>\n  )\n}\n\nexport default RelatedProjects\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport CallToActionFeature from '../callToActionFeature/callToActionFeature'\nimport { FluidImage } from '../../services/images'\n\nimport './serviceFocus.scss'\n\nconst ServiceFocus = ({ data={} }) => {\n  let image\n  if (data.supportImage) {\n    image = (\n      <FluidImage\n        src={data.supportImage}\n        alt={data.supportImage.slug}\n        options={{\n          objectFit: 'contain',\n          size: {\n            width: 800,\n            height: 500\n          }\n        }}\n      />\n    )\n  } else if (data.featuredImage) {\n    image = (\n      <FluidImage\n        src={data.featuredImage}\n        alt={data.featuredImage.slug}\n        options={{\n          objectFit: 'contain',\n          size: {\n            width: 800,\n            height: 500\n          }\n        }}\n      />\n    )\n  }\n  return (\n    <section className=\"service-focus grid mb-dy-lg\">\n      <div className=\"block image-block\">{image}</div>\n\n      <div className=\"block text-block\">\n        <h4 className=\"my-n\">{data.subhead}</h4>\n        <h3 className=\"mt-n\">{data.headline}</h3>\n        <div\n          className=\"detail\"\n          dangerouslySetInnerHTML={{\n            __html: data.leadInText || data.leadInContent\n          }}\n        ></div>\n        {data?.callToActionFeature &&\n          <div className=\"cta-feature mt-md\">\n            <CallToActionFeature data={data.callToActionFeature} />\n          </div>\n        }\n      </div>\n    </section>\n  )\n}\n// ServiceFocus.defaultProps = {\n//   data: {}\n// }\n\nServiceFocus.propTypes = {\n  data: PropTypes.object\n}\n\nexport default ServiceFocus\n","import React, { Fragment } from 'react'\nimport PropTypes from 'prop-types'\nimport ServiceFocus from '../serviceFocus'\nimport Headline from '../headline'\n\nimport './serviceFocusFeature.scss'\n\nconst render = (data,idx) => {\n  let children = data.serviceFoci ? data.serviceFoci : data.projects\n  if (children && children.length > 0) {\n    return (\n      <section className=\"service-focus-feature grid interior mb-dy-lg\" key={idx}>\n        <Headline headline={data.headline} />\n\n        <section className=\"services grid\">\n          {children.map((project, idx) => {\n            return <ServiceFocus data={project} key={`sf-${idx}`} />\n          })}\n        </section>\n      </section>\n    )\n  }\n  return <Fragment></Fragment>\n}\n\nconst ServiceFocusFeature = ({ data=[] }) => {\n  if (Array.isArray(data)) {\n    return data.map((data, idx) => render(data, idx))\n  }\n  return render(data)\n}\n\nServiceFocusFeature.propTypes = {\n  data: PropTypes.array\n}\n\nexport default ServiceFocusFeature\n","import React, { Fragment } from 'react'\nimport PropTypes from 'prop-types'\nimport utils from '../../services/utils'\nimport { FluidImage } from '../../services/images'\nimport './splashImage.scss'\n\nconst SplashImage = ({ data=[] }) => {\n  return data.map((data, idx) => {\n    if (data) {\n      let url = utils.getURL(data, 'fileName')\n      let isVideo = false\n      if (url.includes('.mp4')) {\n        isVideo = true\n      }\n      return (\n        <section\n          className={`splash-image mb-dy-lg ${isVideo ? 'auto-height' : ''}`}\n          key={`splash-${idx}`}\n        >\n          <FluidImage src={data} alt={data.metaDescription} />\n        </section>\n      )\n    }\n    return <Fragment key={idx}></Fragment>\n  })\n}\n\nSplashImage.propTypes = {\n  data: PropTypes.array\n}\n\nexport default SplashImage\n","import React, { Fragment } from 'react'\nimport PropTypes from 'prop-types'\nimport { FluidImage } from '../../services/images'\nimport './supportingImages.scss'\n\nconst SupportingImages = ({ data=[], full }) => {\n  if (data.length > 0) {\n    return (\n      <section className={`supporting-images mb-dy-lg ${full && 'full-width'}`}>\n        {data.map((img, idx) => {\n          return (\n            <div className=\"image-holder\" key={idx}>\n              <FluidImage src={img} alt=\"\" />\n            </div>\n          )\n        })}\n      </section>\n    )\n  }\n  return <Fragment />\n}\n\nSupportingImages.propTypes = {\n  data: PropTypes.array\n}\n\nexport default SupportingImages\n","import React, { Fragment } from 'react'\nimport { Link } from 'gatsby'\nimport PropTypes from 'prop-types'\nimport Button from '../button'\nimport './valueProposition.scss'\n\nconst ValueProposition = ({ data=[], headline='', subhead='', showCTA=false }) => {\n  if (Array.isArray(data) && data.length === 1) {\n    data = data[0]\n  }\n  return (\n    <Fragment>\n      <div className=\"banner-subheading  mb-dy-lg\">\n        <h1 className=\"type\">\n          {headline}\n          <span>&mdash; {subhead}</span>\n        </h1>\n      </div>\n      <section className=\"value-proposition mb-dy-lg\">\n        <div dangerouslySetInnerHTML={{ __html: data.valueProp }}></div>\n        {showCTA && (\n          <div className=\"mx-auto mt-md display-table\">\n            <Link to=\"/contact-us\">\n              <Button title=\"Contact Us Today\" types={['cta', 'pseudo-button']} />\n            </Link>\n          </div>\n        )}\n      </section>\n    </Fragment>\n  )\n}\n\n// ValueProposition.defaultProps = {\n//   data: [],\n//   headline: '',\n//   subhead: '',\n//   showCTA: false\n// }\n\nValueProposition.propTypes = {\n  data: PropTypes.array,\n  headline: PropTypes.string,\n  subhead: PropTypes.string,\n  showCTA: PropTypes.bool\n}\n\nexport default ValueProposition\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport Headline from '../headline'\n\nimport './companyProfile.scss'\n\nconst CompanyProfile = ({ data=[] }) => {\n  return data.map((data, idx) => {\n    return (\n      <section className=\"company-profile grid mb-dy-lg\" key={`company-${idx}`}>\n        <Headline headline={data.name} description={data.backgroundHistory} />\n      </section>\n    )\n  })\n}\n\nCompanyProfile.propTypes = {\n  data: PropTypes.array\n}\n\nexport default CompanyProfile\n","import React, { Fragment } from 'react'\nimport { graphql } from 'gatsby'\nimport Utils from '../services/utils'\n\nimport Layout from '../components/layout'\nimport ValueProposition from '../components/valueProposition'\nimport SupportingImages from '../components/supportingImages'\nimport SplashImage from '../components/splashImage'\nimport PullQuote from '../components/pullQuote'\nimport CallToActionFeature from '../components/callToActionFeature'\nimport ReasonBenefitsFeature from '../components/reasonBenefitsFeature'\nimport ServiceFocusFeature from '../components/serviceFocusFeature'\nimport CompanyProfile from '../components/companyProfile'\nimport RelatedProjects from '../components/relatedProjects'\n\nconst ContentElementsClient = ({ data, pageContext }) => {\n  if (data && data.acu) {\n    let content = Utils.removeFlatData(\n      data.acu.findContentElementsClientContent.flatData || {}\n    )\n    return (\n      <Layout meta={pageContext.metaData}>\n        <section className=\"content-elements-client grid body\">\n          <ValueProposition\n            data={content.valueProposition || []}\n            headline={content.headline}\n            subhead={content.subhead}\n          />\n\n          <SplashImage data={content.splashImage} />\n\n          <CompanyProfile data={content.company || []} />\n          \n          <PullQuote data={content.pullQuote || []} />\n\n          <ServiceFocusFeature data={content.projectListing || []} />\n\n          <ReasonBenefitsFeature data={content.reasonBenefitFeature || []} />\n\n          {content.supportingImages && (\n          <SupportingImages data={content.supportingImages || []} full={true} />\n          )}\n\n          <RelatedProjects company={content.company || []} />\n\n          <CallToActionFeature data={content.ctaFeature || []} />\n        </section>\n      </Layout>\n    )\n  }\n  return <Fragment></Fragment>\n}\n\nexport const ContentElementsClientQuery = graphql`\n  query ClientQuery($id: String!) {\n    acu {\n      findContentElementsClientContent(id: $id) {\n        flatData {\n          company {\n            ...Company\n          }\n          contentItemName\n          ctaFeature {\n            ...CtaFeature\n          }\n          headline\n          projectListing {\n            ...ProjectListing\n          }\n          pullQuote {\n            ...PullQuote\n          }\n          reasonBenefitFeature {\n            ...ReasonBenefitFeature\n          }\n          splashImage {\n            ...Asset\n          }\n          subhead\n          supportingImages {\n            ...Asset\n          }\n          valueProposition {\n            ...ValueProposition\n          }\n        }\n      }\n    }\n  }\n`\n\nexport default ContentElementsClient\n"],"names":["_ref","data","headline","className","color","classList","push","state","setState","useState","strippedText","setStrippedText","Array","isArray","length","useEffect","t","document","createElement","innerHTML","shortText","innerText","renderLink","content","url","externalUrl","React","href","internalPage","Link","to","join","Fragment","callsToAction","CallToAction","description","subgrid","dangerouslySetInnerHTML","__html","RenderLink","children","_ref2","image","name","page","relatedProject","clickableContainer","options","size","width","height","FluidImage","src","alt","key","Math","random","Button","title","types","TopQuote","fill","viewBox","d","transform","style","BottomQuote","getColor","elem","window","getComputedStyle","getPropertyValue","topQuoteColor","setTopQuoteColor","bottomQuoteColor","setBottomQuoteColor","quote","querySelector","topColor","previousElementSibling","bottomColor","nextElementSibling","map","idx","attributedTo","firstName","lastName","companyOrganization","getOrganizationName","last","reasonsBenefits","BallList","company","current","useRef","scroller","acu","useStaticQuery","relatedCompanies","setRelatedCompanies","queryCompanyContents","filter","c","_company$","_c$companyImage","_c$clientType","_c$clientType2","flatData","companyImage","clientType","includes","sort","a","b","slice","addEventListener","index","round","scrollLeft","scrollWidth","Headline","xmlns","points","id","ref","Utils","removeFlatData","ProjectImage","shortDescription","supportImage","slug","objectFit","featuredImage","subhead","leadInText","leadInContent","callToActionFeature","CallToActionFeature","render","serviceFoci","projects","project","ServiceFocus","isVideo","utils","getURL","metaDescription","full","img","showCTA","valueProp","backgroundHistory","pageContext","findContentElementsClientContent","Layout","meta","metaData","ValueProposition","valueProposition","SplashImage","splashImage","CompanyProfile","PullQuote","pullQuote","ServiceFocusFeature","projectListing","ReasonBenefitsFeature","reasonBenefitFeature","supportingImages","SupportingImages","RelatedProjects","ctaFeature"],"sourceRoot":""}