{"version":3,"file":"static/js/OfficePage.22141445.js","mappings":"0JAKA,MAAMA,GAAaC,EAAAA,EAAAA,SAAS,CAADC,SAAA,GAAAC,SAAAA,GAAA,oBAAAC,OAAAA,CAAAC,GAAA,MAAAC,EAAA,KAAAC,QAAAF,GAAA,gBAAAH,SAAAI,MAAAE,EAAAA,EAAAF,EAAA,EAAAG,YACvBA,IACI,+BAA2DC,YAAAA,CAAAL,GAAA,MAAAC,EAAA,KAAAC,QAAAF,GAAA,YAAAH,SAAAI,IAAA,OAAAG,YAAAJ,GAAAM,MAAAT,IAAA,KAAAA,SAAAI,IAAA,EAAAJ,IAAA,EAAAU,WAAAA,CAAAP,GAAA,MAAAQ,EAAA,KAAAN,QAAAF,GAAA,OAAAS,EAAAD,EAAA,EAAAN,OAAAA,GAAA,gBAE7DQ,EAAoBV,IACtBW,EAAAA,EAAAA,KAAChB,EAAU,IAAKK,IAEpB,K,oICPA,MAAMY,GAAOhB,EAAAA,EAAAA,SAAS,CAADC,SAAA,GAAAC,SAAAA,GAAA,cAAAC,OAAAA,CAAAC,GAAA,MAAAC,EAAA,KAAAC,QAAAF,GAAA,gBAAAH,SAAAI,MAAAE,EAAAA,EAAAF,EAAA,EAAAG,YACjBA,IACI,yDAA+CC,YAAAA,CAAAL,GAAA,MAAAC,EAAA,KAAAC,QAAAF,GAAA,YAAAH,SAAAI,IAAA,OAAAG,YAAAJ,GAAAM,MAAAT,IAAA,KAAAA,SAAAI,IAAA,EAAAJ,IAAA,EAAAU,WAAAA,CAAAP,GAAA,MAAAQ,EAAA,KAAAN,QAAAF,GAAA,OAAAS,EAAAD,EAAA,EAAAN,OAAAA,GAAA,gBAEjDW,EAAcb,IAAmCW,EAAAA,EAAAA,KAACC,EAAI,IAAKZ,IACjE,K,qKCJA,MAAMc,EAAcA,EAChBC,cAAc,GACdC,WACAC,WAAW,cACXC,YACAC,wBAGIC,EAAAA,EAAAA,MAAAC,EAAAA,SAAA,CAAAL,SAAA,CACKA,GACDL,EAAAA,EAAAA,KAACW,EAAAA,EAAW,CACRJ,UAAWA,EACXK,MAAOR,EACPI,kBAAmBA,EACnBF,SAAUA,OAM1B,MAAeO,EAAAA,KAAWV,E,6DCrB1B,MAAMW,GAAU7B,EAAAA,EAAAA,SAAS,CAADC,SAAA,GAAAC,SAAAA,GAAA,iBAAAC,OAAAA,CAAAC,GAAA,MAAAC,EAAA,KAAAC,QAAAF,GAAA,gBAAAH,SAAAI,MAAAE,EAAAA,EAAAF,EAAA,EAAAG,YACpBA,IACI,gCAAqDC,YAAAA,CAAAL,GAAA,MAAAC,EAAA,KAAAC,QAAAF,GAAA,YAAAH,SAAAI,IAAA,OAAAG,YAAAJ,GAAAM,MAAAT,IAAA,KAAAA,SAAAI,IAAA,EAAAJ,IAAA,EAAAU,WAAAA,CAAAP,GAAA,MAAAQ,EAAA,KAAAN,QAAAF,GAAA,OAAAS,EAAAD,EAAA,EAAAN,OAAAA,GAAA,gBAEvDwB,EAAiB1B,IACnBW,EAAAA,EAAAA,KAACc,EAAO,IAAKzB,IAEjB,K,oPCNO,MAAM2B,EAAYC,EAAAA,OAAOC,IAAGC,WAAA,CAAAC,YAAA,gBAAVH,CAAU,yQAC7BI,EAAAA,GAOAC,EAAAA,GAAGC,OAOHD,EAAAA,GAAGE,QAOIC,EAAUR,EAAAA,OAAOC,IAAGC,WAAA,CAAAC,YAAA,gBAAVH,CAAU,8LAC3BI,EAAAA,GAKAC,EAAAA,GAAGC,OAKHD,EAAAA,GAAGI,SAKIC,EAAUV,EAAAA,OAAOW,GAAET,WAAA,CAAAC,YAAA,gBAATH,CAAS,kBAC1BY,EAAAA,IAIOC,EAASb,EAAAA,OAAOc,GAAEZ,WAAA,CAAAC,YAAA,gBAATH,CAAS,kBACzBe,EAAAA,I,eCrCN,MAAMC,EAAoBA,EACtBC,UACAC,oBACAC,QAAQ,YACRC,iBAGIrC,EAAAA,EAAAA,KAACsC,EAAAA,EAAO,CAACC,WAAW,SAASH,MAAOA,EAAOvC,GAAIwC,EAAWhC,UACtDI,EAAAA,EAAAA,MAAC+B,EAAAA,GAAS,CAAAnC,SAAA,EACNL,EAAAA,EAAAA,KAAC2B,EAAO,CAAAtB,SAAE6B,IACQ,OAAjBC,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmBM,KAAI,CAACC,EAAQC,KAAK,IAAAC,EAAA,OAClCnC,EAAAA,EAAAA,MAACgB,EAAO,CAAApB,SAAA,CACHqC,EAAOR,UAAWlC,EAAAA,EAAAA,KAAC8B,EAAM,CAAAzB,SAAEqC,EAAOR,WACnClC,EAAAA,EAAAA,KAACgB,EAAS,CAAAX,SACO,QADPuC,EACLF,EAAO9B,aAAK,IAAAgC,OAAA,EAAZA,EAAcH,KAAI,CAACI,EAAUF,KACtBE,EAASC,oBACFD,EAASC,aAEhB9C,EAAAA,EAAAA,KAACc,EAAAA,EAAO,IAEA+B,GADE,WAAUF,YARrB,oBAAmBA,IAcxB,SAO9B,MAAe9B,EAAAA,KAAWoB,G,kKC5B1B,MAAMc,EAAQX,IAAM,QAAS,CACzBY,MAAO,kBACPC,UAAW,4BACXC,KAAM,yBACNC,KAAM,2BAGGC,GAAoBnC,EAAAA,EAAAA,QAAOuB,EAAAA,IAAUrB,WAAA,CAAAC,YAAA,gBAAjBH,CAAiB,waAChCI,EAAAA,GAWZC,EAAAA,GAAGC,OAMHD,EAAAA,GAAGE,OAMHF,EAAAA,GAAGI,SAMIC,EAAUV,EAAAA,OAAOoC,GAAElC,WAAA,CAAAC,YAAA,gBAATH,CAAS,uMAC1BY,EAAAA,GACWkB,EAKXzB,EAAAA,GAAGC,OAIHD,EAAAA,GAAGE,OAIHF,EAAAA,GAAGI,SAKI4B,EAAerC,EAAAA,OAAOsC,EAACpC,WAAA,CAAAC,YAAA,gBAARH,CAAQ,mNAC9BuC,EAAAA,GACWT,EAMXzB,EAAAA,GAAGC,OAKHD,EAAAA,GAAGE,QAKIiC,GAAqBxC,EAAAA,EAAAA,QAAOyC,EAAAA,GAAQvC,WAAA,CAAAC,YAAA,gBAAfH,CAAe,yVAWvCK,EAAAA,GAAGC,OAKHD,EAAAA,GAAGE,OAKHF,EAAAA,GAAGI,SAMAiC,EAAqB1C,EAAAA,OAAOC,IAAGC,WAAA,CAAAC,YAAA,gBAAVH,CAAU,2HACtC2C,EAAAA,GAMAtC,EAAAA,GAAGC,OAIHD,EAAAA,GAAGE,QAKIqC,EAAiB5C,EAAAA,OAAOC,IAAGC,WAAA,CAAAC,YAAA,gBAAVH,CAAU,2EAO3B6C,EAAwB7C,EAAAA,OAAOC,IAAGC,WAAA,CAAAC,YAAA,gBAAVH,CAAU,0EASlC8C,GAAgB9C,EAAAA,EAAAA,QAAO+C,EAAAA,IAAS7C,WAAA,CAAAC,YAAA,gBAAhBH,CAAgB,6BAIhCgD,GAAahD,EAAAA,EAAAA,QAAOiD,EAAAA,GAAK/C,WAAA,CAAAC,YAAA,gBAAZH,CAAY,SAC/B5B,GACCA,EAAM8E,eACNC,EAAAA,EAAAA,KAAG,4BAKEC,GAAQpD,EAAAA,EAAAA,QAAOiD,EAAAA,GAAK/C,WAAA,CAAAC,YAAA,gBAAZH,CAAY,2DAMpBqD,GAAWrD,EAAAA,EAAAA,QAAOsD,EAAAA,GAAKpD,WAAA,CAAAC,YAAA,iBAAZH,CAAY,4BAIvBuD,GAAkBvD,EAAAA,EAAAA,QAAOsD,EAAAA,GAAKpD,WAAA,CAAAC,YAAA,iBAAZH,CAAY,oDAO9BwD,EAAUxD,EAAAA,OAAOyD,KAAIvD,WAAA,CAAAC,YAAA,iBAAXH,CAAW,QAC5B0D,EAAAA,ICnJAC,EAAaA,EACfC,aACAC,SACA5C,UACA6C,eACA3C,QAAQ,OACR4C,eAAe,OACfC,cAAc,OACdC,sBAAsB,GACtBC,WACAC,gBACAC,cACAC,QACAnD,oBACAoD,sBACAC,WAEA,MAAMC,GAAgBC,EAAAA,EAAAA,OACfC,EAAUC,IAAeC,EAAAA,EAAAA,UAAiB,OAARV,QAAQ,IAARA,OAAQ,EAARA,EAAUQ,WAC5CG,EAAWC,IAAgBF,EAAAA,EAAAA,UAAiB,OAARV,QAAQ,IAARA,OAAQ,EAARA,EAAUW,WAC/CE,GAAeC,EAAAA,EAAAA,MAErBC,EAAAA,EAAAA,YAAU,KACeC,WACjB,IACKR,IACAG,GACO,OAARX,QAAQ,IAARA,GAAAA,EAAUiB,aACF,OAARjB,QAAQ,IAARA,GAAAA,EAAUkB,MACF,OAARlB,QAAQ,IAARA,GAAAA,EAAUmB,WACZ,CACE,MAAM,IAAEC,EAAG,IAAEC,SAAcC,EAAAA,EAAAA,GACvBtB,EAASiB,YACTjB,EAASkB,KACTlB,EAASmB,WACTb,GAGJG,EAAYW,GACZR,EAAaS,EACjB,CAKA,EAGJE,EAAc,GACf,CAACvB,EAAUM,EAAeE,EAAUG,IAEvC,MAAMa,GACM,OAARxB,QAAQ,IAARA,OAAQ,EAARA,EAAUiB,eAAuB,OAARjB,QAAQ,IAARA,OAAQ,EAARA,EAAUmB,cAAsB,OAARnB,QAAQ,IAARA,OAAQ,EAARA,EAAUkB,MAEzDO,GAAYC,EAAAA,EAAAA,GACd,GACQ,OAAR1B,QAAQ,IAARA,OAAQ,EAARA,EAAUQ,SACF,OAARR,QAAQ,IAARA,OAAQ,EAARA,EAAUW,UACF,OAARX,QAAQ,IAARA,OAAQ,EAARA,EAAUmB,WACF,OAARnB,QAAQ,IAARA,OAAQ,EAARA,EAAUkB,KACF,OAARlB,QAAQ,IAARA,OAAQ,EAARA,EAAUiB,aAERU,EAAiBF,IAAiB,OAAJpB,QAAI,IAAJA,OAAI,EAAJA,EAAMuB,QAEpCtE,EACFkD,GAAYA,EACN,CACIqB,KAAM,GACNrB,SAAUA,EACVG,UAAWA,EACXmB,MAAO/E,QAEXgF,EACV,OACIzG,EAAAA,EAAAA,MAACgB,EAAAA,GAAO,CAAC5B,GAAG,cAAaQ,SAAA,EACrBL,EAAAA,EAAAA,KAACC,EAAAA,EAAI,CAEDmC,MAAOA,EACP4C,aAAcA,EACdC,YAAaA,EACbxC,IAAKA,GAJC,SAMC,OAAVoC,QAAU,IAAVA,OAAU,EAAVA,EAAYjE,SACTZ,EAAAA,EAAAA,KAAChB,EAAAA,EAAU,CAAC4B,MAAOiE,EAAWjE,MAAOwB,MAAOA,KAEhDpC,EAAAA,EAAAA,KAACsC,EAAAA,EAAO,CAACF,MAAOA,EAAOG,WAAW,SAAQlC,UACtCI,EAAAA,EAAAA,MAAC2C,EAAiB,CAAA/C,SAAA,EACZ2F,GAAgB9D,KACdlC,EAAAA,EAAAA,KAAC2B,EAAO,KACAwF,EAAAA,EAAAA,IACC,GAAEjC,YACN7E,SAEA6B,KAGP8D,GAAgBjB,KACd/E,EAAAA,EAAAA,KAACsD,EAAY,KACL6D,EAAAA,EAAAA,IACC,GAAEjC,iBACN7E,SAEA0E,KAGT/E,EAAAA,EAAAA,KAACyD,EAAkB,CAACrB,MAAOA,EAAM/B,UAC3B2F,GACEW,GACAG,GACAzB,KACA5E,EAAAA,EAAAA,MAACkD,EAAkB,CAAAtD,SAAA,EACb2F,GACEW,GACAG,KACArG,EAAAA,EAAAA,MAACoD,EAAc,CAAAxD,SAAA,EACN,OAAJmF,QAAI,IAAJA,OAAI,EAAJA,EAAM4B,mBACHpH,EAAAA,EAAAA,KAAC+D,EAAa,CAAA1D,SACL,OAAJmF,QAAI,IAAJA,OAAI,EAAJA,EAAM4B,mBAGbpB,IACU,OAARb,QAAQ,IAARA,OAAQ,EAARA,EAAUiB,gBACVpG,EAAAA,EAAAA,KAAA,WACQmH,EAAAA,EAAAA,IACC,GAAEjC,wBACN7E,SAEQ,OAAR8E,QAAQ,IAARA,OAAQ,EAARA,EAAUiB,eAGjBJ,IACU,OAARb,QAAQ,IAARA,OAAQ,EAARA,EAAUkC,gBACVrH,EAAAA,EAAAA,KAAA,WACQmH,EAAAA,EAAAA,IACC,GAAEjC,wBACN7E,SAEQ,OAAR8E,QAAQ,IAARA,OAAQ,EAARA,EAAUkC,eAGnB5G,EAAAA,EAAAA,MAAA,OAAAJ,SAAA,EACM2F,IACU,OAARb,QAAQ,IAARA,OAAQ,EAARA,EAAUmB,eACV7F,EAAAA,EAAAA,MAAA,YACQ0G,EAAAA,EAAAA,IACC,GAAEjC,8BACN7E,SAAA,CAEQ,OAAR8E,QAAQ,IAARA,OAAQ,EAARA,EAAUmB,WAAY,QAG7BN,IACU,OAARb,QAAQ,IAARA,OAAQ,EAARA,EAAUkB,SACVrG,EAAAA,EAAAA,KAAA,YACQmH,EAAAA,EAAAA,IACC,GAAEjC,wBACN7E,SAEQ,OAAR8E,QAAQ,IAARA,OAAQ,EAARA,EAAUkB,UAItBS,IACGrG,EAAAA,EAAAA,MAACwD,EAAU,CACPqD,GAAIV,EACJW,OAAO,SACPpD,eAAgBwC,EAAYtG,SAAA,CAE3BmF,EAAKuB,QACN/G,EAAAA,EAAAA,KAACsE,EAAQ,CAACkD,KAAK,sBAM7BxB,GAAgBX,GAAeC,KAC7B7E,EAAAA,EAAAA,MAACoD,EAAc,CAAAxD,SAAA,EACTgF,GAAeW,KACbvF,EAAAA,EAAAA,MAACqD,EAAqB,CAAAzD,SAAA,EACb,OAAJmF,QAAI,IAAJA,OAAI,EAAJA,EAAMiC,aACHzH,EAAAA,EAAAA,KAAC+D,EAAa,CAAA1D,SACL,OAAJmF,QAAI,IAAJA,OAAI,EAAJA,EAAMiC,aAGfhH,EAAAA,EAAAA,MAAAC,EAAAA,SAAA,CAAAL,SAAA,EACIL,EAAAA,EAAAA,KAACwE,EAAe,CACZgD,KAAO,UACP,cAAY,SAEfxB,GACGhG,EAAAA,EAAAA,KAACyE,EAAO,KACA0C,EAAAA,EAAAA,IACC,GAAEjC,2BACN7E,SAEAgF,KAGLrF,EAAAA,EAAAA,KAACkE,EAAAA,EAAI,CACDoD,GAAK,OAAiB,OAAXjC,QAAW,IAAXA,OAAW,EAAXA,EAAaqC,QACpB,OACA,MACArH,SAEHgF,WAMnBC,GAASU,KACPvF,EAAAA,EAAAA,MAACqD,EAAqB,CAAAzD,SAAA,EACb,OAAJmF,QAAI,IAAJA,OAAI,EAAJA,EAAMF,SACHtF,EAAAA,EAAAA,KAAC+D,EAAa,CAAA1D,SACL,OAAJmF,QAAI,IAAJA,OAAI,EAAJA,EAAMF,SAGftF,EAAAA,EAAAA,KAAAU,EAAAA,SAAA,CAAAL,SACK2F,GACGhG,EAAAA,EAAAA,KAACyE,EAAO,KACA0C,EAAAA,EAAAA,IACC,GAAEjC,2BACN7E,SAEAiF,KAGLtF,EAAAA,EAAAA,KAACqE,EAAK,CACFiD,GAAK,UAAc,OAALhC,QAAK,IAALA,OAAK,EAALA,EAAOoC,QACjB,OACA,MACArH,SAEHiF,uBAajDtF,EAAAA,EAAAA,KAACG,EAAAA,EAAW,CAERG,SAAS,SACTF,YAAa0E,EACbtE,kBAAmBmH,EAAAA,GAHb,UAKTxF,IACGnC,EAAAA,EAAAA,KAACiC,EAAiB,CACdE,kBAAmBA,EACnBD,SAAa,OAAJsD,QAAI,IAAJA,OAAI,EAAJA,EAAMoC,YAAa,aAC5BxF,MAAM,YACNC,WAAYkD,GAAuB,gBAG7B,OAAbH,QAAa,IAAbA,OAAa,EAAbA,EAAexE,QAASwE,EAAcxE,MAAMiH,OAAS,IAClD7H,EAAAA,EAAAA,KAAC8H,EAAAA,EAAuB,CACpB1F,MAAM,OACN4C,aAAa,OACb+C,cAAc,QACdC,WAAY5C,EAAc4C,WAC1B9F,QAASkD,EAAclD,QACvB+F,KAAM7C,EAAc6C,KACpBrH,MAAOwE,EAAcxE,MACrByB,WAAY+C,EAAc/C,YAAc,qBAG1C,EAIlB,MAAexB,EAAAA,KAAW+D,E,wBCtTnBuB,eAAeM,EAClByB,EACA7B,EACAC,EACAb,GAEA,MAAM0C,EAAe,GAAED,MAAY5B,MAAeD,IAC5C+B,QAAiBC,MAClB,6DAA4DC,mBACzDH,UACK1C,KAEP8C,QAAaH,EAASI,OAE5B,GAAoB,OAAhBD,EAAKE,QAAmBF,EAAKG,QAAQb,OAAS,EAAG,CACjD,MAAM1C,EAAWoD,EAAKG,QAAQ,GAAGC,SAASxD,SAC1C,MAAO,CACHoB,IAAKpB,EAASoB,IACdC,IAAKrB,EAASqB,IAEtB,CACI,MAAM,IAAIoC,MAAM,8CAExB,C,uFCvBO,MAAM/B,EAAqBA,CAC9BG,EACArB,EACAG,EACAQ,EACAD,EACAD,KAEA,MAAMyC,EACFzC,GAAeE,GAAcD,EACvBiC,mBAAoB,GAAElC,MAAgBE,MAAeD,UACrDa,EACV,OAAOvB,GAAYG,GAAa,GAAKkB,GAAQA,GAAQ,GAC9C,8BAA6BrB,KAAYG,QAAgBH,KAAYG,OAAekB,IACrF6B,GAAkB,GAAK7B,GAAQA,GAAQ,GACpC,8BAA6B6B,OAAoB7B,SAClDE,CAAS,C","sources":["components/Breadcrumb/BreadcrumbLoader.tsx","components/Hero/HeroLoader.tsx","components/PageContent/PageContent.tsx","components/Profile/ProfileLoader.tsx","components/EmployeesByLetter/EmployeesByLetter.styled.ts","components/EmployeesByLetter/EmployeesByLetter.tsx","pages/OfficePage/OfficePage.styled.ts","pages/OfficePage/OfficePage.tsx","utils/getMapsCoordinates.ts","utils/getMapsLocationUrl.ts"],"sourcesContent":["import loadable, { DefaultComponent } from \"@loadable/component\";\nimport React, { ReactElement } from \"react\";\n\nimport BreadcrumbProps from \"./BreadcrumbProps\";\n\nconst Breadcrumb = loadable(\n (): Promise<DefaultComponent<BreadcrumbProps>> =>\n import(/* webpackChunkName: \"Breadcrumb\" */ \"./Breadcrumb\"),\n);\nconst BreadcrumbLoader = (props: BreadcrumbProps): ReactElement => (\n <Breadcrumb {...props} />\n);\nexport default BreadcrumbLoader;\n","import loadable, { DefaultComponent } from \"@loadable/component\";\nimport React, { ReactElement } from \"react\";\n\nimport HeroProps from \"./HeroProps\";\n\nconst Hero = loadable(\n (): Promise<DefaultComponent<HeroProps>> =>\n import(/* webpackChunkName: \"Hero\" */ \"./Hero\"),\n);\nconst HeroLoader = (props: HeroProps): ReactElement => <Hero {...props} />;\nexport default HeroLoader;\n","import React, { ReactElement } from \"react\";\n\nimport ContentArea from \"components/ContentArea\";\n\nimport { PageContentProps } from \"./PageContentProps\";\n\nconst PageContent = ({\n mainContent = [],\n children,\n areaName = \"MainContent\",\n className,\n componentSelector,\n}: PageContentProps): ReactElement => {\n return (\n <>\n {children}\n <ContentArea\n className={className}\n items={mainContent}\n componentSelector={componentSelector}\n areaName={areaName}\n />\n </>\n );\n};\n\nexport default React.memo(PageContent);\n","import loadable, { DefaultComponent } from \"@loadable/component\";\nimport React, { ReactElement } from \"react\";\n\nimport ProfileProps from \"./ProfileProps\";\n\nconst Profile = loadable(\n (): Promise<DefaultComponent<ProfileProps>> =>\n import(/* webpackChunkName: \"Profile\" */ \"./Profile\"),\n);\nconst ProfileLoader = (props: ProfileProps): ReactElement => (\n <Profile {...props} />\n);\nexport default ProfileLoader;\n","import { styled } from \"styled-components\";\n\nimport { styleHeadingL, styleHeadingXL } from \"style/components/Typography\";\nimport { columnGap } from \"style/grid\";\nimport { MQ } from \"style/mediaQueries\";\n\nexport const Employees = styled.div`\n ${columnGap};\n display: grid;\n grid-column: 1 / span 4;\n grid-template-columns: 1fr;\n margin-top: 2.1875rem;\n row-gap: 3.5rem;\n\n ${MQ.FROM_M} {\n margin-top: 0;\n grid-template-columns: 1fr;\n row-gap: 3.5rem;\n grid-column: 4 / span 9;\n }\n\n ${MQ.FROM_L} {\n grid-column: 3 / span 10;\n grid-template-columns: 1fr 1fr;\n row-gap: 4.375rem;\n }\n`;\n\nexport const Wrapper = styled.div`\n ${columnGap};\n display: grid;\n grid-template-columns: repeat(4, [col-start] 1fr);\n margin-top: 2.625rem;\n\n ${MQ.FROM_M} {\n grid-template-columns: repeat(12, [col-start] 1fr);\n margin-top: 4.375rem;\n }\n\n ${MQ.FROM_XL} {\n margin-top: 6.5625rem;\n }\n`;\n\nexport const Heading = styled.h2`\n ${styleHeadingXL}\n margin:0;\n`;\n\nexport const Letter = styled.h3`\n ${styleHeadingL}\n margin:0;\n`;\n","import React, { ReactElement } from \"react\";\n\nimport Profile from \"components/Profile\";\nimport Section from \"components/Section\";\nimport { Container } from \"style/components/Page\";\n\nimport {\n Wrapper,\n Employees,\n Letter,\n Heading,\n} from \"./EmployeesByLetter.styled\";\nimport EmployeesByLetterProps from \"./EmployeesByLetterProps\";\nconst EmployeesByLetter = ({\n heading,\n employeesByLetter,\n theme = \"lightgray\",\n anchorName,\n}: EmployeesByLetterProps): ReactElement => {\n return (\n <Section alignItems=\"center\" theme={theme} id={anchorName}>\n <Container>\n <Heading>{heading}</Heading>\n {employeesByLetter?.map((letter, index) => (\n <Wrapper key={`EmployeesByLetter${index}`}>\n {letter.heading && <Letter>{letter.heading}</Letter>}\n <Employees>\n {letter.items?.map((employee, index) => {\n if (employee.description)\n delete employee.description;\n return (\n <Profile\n key={`Employee${index}`}\n {...employee}\n />\n );\n })}\n </Employees>\n </Wrapper>\n ))}\n </Container>\n </Section>\n );\n};\n\nexport default React.memo(EmployeesByLetter);\n","import { styled, css } from \"styled-components\";\nimport theme from \"styled-theming\";\n\nimport FactBox from \"components/FactBox\";\nimport Icon from \"components/Icon\";\nimport Link from \"components/Link\";\nimport { styledLink } from \"components/Link/Link.styled\";\nimport { Container } from \"style/components/Page\";\nimport {\n HeadingS,\n styleBodyLAlt,\n styleBodyM,\n styleHeadingXL,\n} from \"style/components/Typography\";\nimport { columnGap } from \"style/grid\";\nimport { MQ } from \"style/mediaQueries\";\n\nconst color = theme(\"theme\", {\n black: \"--text-inverted\",\n lightgray: \"--text-on-neutral-primary\",\n blue: \"--text-on-blue-primary\",\n cyan: \"--text-on-cyan-primary\",\n});\n\nexport const OfficeInformation = styled(Container)`\n column-gap: ${columnGap};\n display: grid;\n grid-template-areas:\n \"heading\"\n \"introduction\"\n \"contactInfo\";\n grid-template-columns: repeat(4, [col-start] 1fr);\n padding-bottom: 2.625rem;\n padding-top: 3.5rem;\n position: relative;\n\n ${MQ.FROM_M} {\n grid-template-columns: repeat(12, [col-start] 1fr);\n padding-bottom: 3.5rem;\n padding-top: 4.375rem;\n }\n\n ${MQ.FROM_L} {\n grid-template-areas:\n \"heading contactInfo\"\n \"introduction contactInfo\";\n }\n\n ${MQ.FROM_XL} {\n padding-bottom: 4.8125rem;\n padding-top: 6.5625rem;\n }\n`;\n\nexport const Heading = styled.h1`\n ${styleHeadingXL}\n color: var(${color});\n grid-area: heading;\n grid-column: col-start 1 / span 4;\n margin: 0;\n\n ${MQ.FROM_M} {\n grid-column: col-start 1 / span 12;\n }\n\n ${MQ.FROM_L} {\n grid-column: col-start 1 / span 8;\n }\n\n ${MQ.FROM_XL} {\n grid-column: col-start 1 / span 9;\n }\n`;\n\nexport const Introduction = styled.p`\n ${styleBodyLAlt}\n color: var(${color});\n grid-area: introduction;\n grid-column: col-start 1 / span 4;\n margin-bottom: 0;\n margin-top: 2.625rem;\n\n ${MQ.FROM_M} {\n grid-column: col-start 2 / span 11;\n margin-top: 3.5rem;\n }\n\n ${MQ.FROM_L} {\n grid-column: col-start 2 / span 7;\n }\n`;\n\nexport const ContactInformation = styled(FactBox)`\n && {\n align-self: flex-start;\n grid-area: contactInfo;\n grid-column: col-start 1 / span 4;\n justify-content: flex-start;\n margin-bottom: 0;\n margin-top: 3.0625rem;\n padding-bottom: 2.1875rem;\n row-gap: 3.125rem;\n\n ${MQ.FROM_M} {\n grid-column: col-start 1 / span 12;\n padding-bottom: 2.625rem;\n }\n\n ${MQ.FROM_L} {\n grid-column: col-start 9 / span 4;\n margin-top: 0;\n }\n\n ${MQ.FROM_XL} {\n grid-column: col-start 10 / span 3;\n }\n }\n`;\n\nexport const ContactInfoDetails = styled.div`\n ${styleBodyM}\n display: flex;\n flex-direction: column;\n row-gap: 2.625rem;\n width: 100%;\n\n ${MQ.FROM_M} {\n flex-direction: row;\n }\n\n ${MQ.FROM_L} {\n flex-direction: column;\n }\n`;\n\nexport const ContactInfoCol = styled.div`\n align-items: flex-start;\n display: flex;\n flex-direction: column;\n width: 100%;\n`;\n\nexport const ContactInfoDetailItem = styled.div`\n margin-bottom: 2.625rem;\n max-width: 100%;\n\n &:last-child {\n margin-bottom: 0;\n }\n`;\n\nexport const DetailHeading = styled(HeadingS)`\n margin-bottom: 0.875rem;\n`;\n\nexport const FindUsLink = styled(Link)<FindUsLinkProps>`\n ${(props) =>\n props.setTopMargin &&\n css`\n margin-top: 0.875rem;\n `}\n`;\n\nexport const Email = styled(Link)`\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nexport const External = styled(Icon)`\n margin-left: 0.4375rem;\n`;\n\nexport const StyledPhoneIcon = styled(Icon)`\n && {\n margin-right: 0.4375rem;\n vertical-align: top;\n }\n`;\n\nexport const OpeLink = styled.span`\n ${styledLink}\n`;\n\ninterface FindUsLinkProps {\n readonly setTopMargin: boolean;\n}\n","import React, { ReactElement, useState, useEffect } from \"react\";\n\nimport Breadcrumb from \"components/Breadcrumb\";\nimport EmployeesByLetter from \"components/EmployeesByLetter/EmployeesByLetter\";\nimport Hero from \"components/Hero\";\nimport Link from \"components/Link\";\nimport OpenPositionListSection from \"components/OpenPositionListSection\";\nimport PageContent from \"components/PageContent\";\nimport Section from \"components/Section\";\nimport { useGoogleMapsKey } from \"hooks\";\nimport useIsInEditMode from \"hooks/useIsInEditMode\";\nimport { Wrapper } from \"style/components/Page\";\nimport { addEditAttributes } from \"utils/episerver\";\nimport getComponentTypeForContent from \"utils/getComponentTypeForContent\";\nimport { getMapCoordinates } from \"utils/getMapsCoordinates\";\nimport { getMapsLocationUrl } from \"utils/getMapsLocationUrl\";\n\nimport {\n ContactInfoDetails,\n ContactInformation,\n DetailHeading,\n FindUsLink,\n Heading,\n Introduction,\n OfficeInformation,\n OpeLink,\n StyledPhoneIcon,\n External,\n ContactInfoDetailItem,\n ContactInfoCol,\n Email,\n} from \"./OfficePage.styled\";\nimport OfficePageProps from \"./OfficePageProps\";\n\nconst OfficePage = ({\n breadcrumb,\n blocks,\n heading,\n introduction,\n theme = \"blue\",\n contentTheme = \"cyan\",\n actionTheme = \"cyan\",\n editAttributePrefix = \"\",\n location,\n openPositions,\n phoneNumber,\n email,\n employeesByLetter,\n employeesAnchorName,\n l18n,\n}: OfficePageProps): ReactElement => {\n const googleMapsKey = useGoogleMapsKey();\n const [latitude, setLatitude] = useState(location?.latitude);\n const [longitude, setLongitude] = useState(location?.longitude);\n const isInEditMode = useIsInEditMode();\n\n useEffect(() => {\n const fetchOptions = async () => {\n if (\n !latitude &&\n !longitude &&\n location?.addressRow1 &&\n location?.city &&\n location?.postalCode\n ) {\n const { lat, lng } = await getMapCoordinates(\n location.addressRow1,\n location.city,\n location.postalCode,\n googleMapsKey,\n );\n\n setLatitude(lat);\n setLongitude(lng);\n } else {\n process.env.NODE_ENV === \"development\" &&\n console.error(\n \"No latitude or longitude or address details provided\",\n );\n }\n };\n\n fetchOptions();\n }, [location, googleMapsKey, latitude, longitude]);\n\n const hasLocation =\n location?.addressRow1 || location?.postalCode || location?.city;\n\n const findUsUrl = getMapsLocationUrl(\n 15,\n location?.latitude,\n location?.longitude,\n location?.postalCode,\n location?.city,\n location?.addressRow1,\n );\n const showFindUsLink = findUsUrl && l18n?.findUs;\n\n const map =\n latitude && latitude\n ? {\n zoom: 15,\n latitude: latitude,\n longitude: longitude,\n title: heading,\n }\n : undefined;\n return (\n <Wrapper id=\"maincontent\">\n <Hero\n key={`Hero`}\n theme={theme}\n contentTheme={contentTheme}\n actionTheme={actionTheme}\n map={map}\n />\n {breadcrumb?.items && (\n <Breadcrumb items={breadcrumb.items} theme={theme} />\n )}\n <Section theme={theme} alignItems=\"center\">\n <OfficeInformation>\n {(isInEditMode || heading) && (\n <Heading\n {...addEditAttributes(\n `${editAttributePrefix}Heading`,\n )}\n >\n {heading}\n </Heading>\n )}\n {(isInEditMode || introduction) && (\n <Introduction\n {...addEditAttributes(\n `${editAttributePrefix}Introduction`,\n )}\n >\n {introduction}\n </Introduction>\n )}\n <ContactInformation theme={theme}>\n {(isInEditMode ||\n hasLocation ||\n showFindUsLink ||\n phoneNumber) && (\n <ContactInfoDetails>\n {(isInEditMode ||\n hasLocation ||\n showFindUsLink) && (\n <ContactInfoCol>\n {l18n?.visitingAddress && (\n <DetailHeading>\n {l18n?.visitingAddress}\n </DetailHeading>\n )}\n {(isInEditMode ||\n location?.addressRow1) && (\n <div\n {...addEditAttributes(\n `${editAttributePrefix}VisitingAddressRow1`,\n )}\n >\n {location?.addressRow1}\n </div>\n )}\n {(isInEditMode ||\n location?.addressRow2) && (\n <div\n {...addEditAttributes(\n `${editAttributePrefix}VisitingAddressRow2`,\n )}\n >\n {location?.addressRow2}\n </div>\n )}\n <div>\n {(isInEditMode ||\n location?.postalCode) && (\n <span\n {...addEditAttributes(\n `${editAttributePrefix}VisitingAddressPostalCode`,\n )}\n >\n {location?.postalCode}{\" \"}\n </span>\n )}\n {(isInEditMode ||\n location?.city) && (\n <span\n {...addEditAttributes(\n `${editAttributePrefix}VisitingAddressCity`,\n )}\n >\n {location?.city}\n </span>\n )}\n </div>\n {showFindUsLink && (\n <FindUsLink\n to={findUsUrl}\n target=\"_blank\"\n setTopMargin={!!hasLocation}\n >\n {l18n.findUs}\n <External icon=\"external28\" />\n </FindUsLink>\n )}\n </ContactInfoCol>\n )}\n\n {(isInEditMode || phoneNumber || email) && (\n <ContactInfoCol>\n {(phoneNumber || isInEditMode) && (\n <ContactInfoDetailItem>\n {l18n?.telephone && (\n <DetailHeading>\n {l18n?.telephone}\n </DetailHeading>\n )}\n <>\n <StyledPhoneIcon\n icon={`phone28`}\n aria-hidden=\"true\"\n />\n {isInEditMode ? (\n <OpeLink\n {...addEditAttributes(\n `${editAttributePrefix}FrontOfficePhoneNumber`,\n )}\n >\n {phoneNumber}\n </OpeLink>\n ) : (\n <Link\n to={`tel:${phoneNumber?.replace(\n /\\s+/g,\n \"\",\n )}`}\n >\n {phoneNumber}\n </Link>\n )}\n </>\n </ContactInfoDetailItem>\n )}\n {(email || isInEditMode) && (\n <ContactInfoDetailItem>\n {l18n?.email && (\n <DetailHeading>\n {l18n?.email}\n </DetailHeading>\n )}\n <>\n {isInEditMode ? (\n <OpeLink\n {...addEditAttributes(\n `${editAttributePrefix}FrontOfficeEmailAdress`,\n )}\n >\n {email}\n </OpeLink>\n ) : (\n <Email\n to={`mailto:${email?.replace(\n /\\s+/g,\n \"\",\n )}`}\n >\n {email}\n </Email>\n )}\n </>\n </ContactInfoDetailItem>\n )}\n </ContactInfoCol>\n )}\n </ContactInfoDetails>\n )}\n </ContactInformation>\n </OfficeInformation>\n </Section>\n <PageContent\n key={`Blocks`}\n areaName=\"Blocks\"\n mainContent={blocks}\n componentSelector={getComponentTypeForContent}\n />\n {employeesByLetter && (\n <EmployeesByLetter\n employeesByLetter={employeesByLetter}\n heading={l18n?.contactUs || \"Contact us\"}\n theme=\"lightgray\"\n anchorName={employeesAnchorName || \"contact-us\"}\n />\n )}\n {openPositions?.items && openPositions.items.length > 0 && (\n <OpenPositionListSection\n theme=\"cyan\"\n contentTheme=\"blue\"\n displayOption=\"Right\"\n identifier={openPositions.identifier}\n heading={openPositions.heading}\n link={openPositions.link}\n items={openPositions.items}\n anchorName={openPositions.anchorName || \"open-positions\"}\n />\n )}\n </Wrapper>\n );\n};\n\nexport default React.memo(OfficePage);\n","export async function getMapCoordinates(\n address: string,\n city: string,\n postalCode: string,\n googleMapsKey: string,\n) {\n const fullAddress = `${address}, ${postalCode}, ${city}`;\n const response = await fetch(\n `https://maps.googleapis.com/maps/api/geocode/json?address=${encodeURIComponent(\n fullAddress,\n )}&key=${googleMapsKey}`,\n );\n const data = await response.json();\n\n if (data.status === \"OK\" && data.results.length > 0) {\n const location = data.results[0].geometry.location;\n return {\n lat: location.lat,\n lng: location.lng,\n };\n } else {\n throw new Error(\"Unable to retrieve coordinates from address\");\n }\n}\n","export const getMapsLocationUrl = (\n zoom: number,\n latitude?: number | undefined,\n longitude?: number | undefined,\n postalCode?: string | undefined,\n city?: string | undefined,\n addressRow1?: string | undefined,\n): string | undefined => {\n const encodedAddress =\n addressRow1 && postalCode && city\n ? encodeURIComponent(`${addressRow1}, ${postalCode}, ${city}`)\n : undefined;\n return latitude && longitude && 1 <= zoom && zoom <= 20\n ? `https://maps.google.com/?q=${latitude},${longitude}&ll=${latitude},${longitude}&z=${zoom}`\n : encodedAddress && 1 <= zoom && zoom <= 20\n ? `https://maps.google.com/?q=${encodedAddress}&z=${zoom}`\n : undefined;\n};\n"],"names":["Breadcrumb","loadable","resolved","chunkName","isReady","props","key","resolve","__webpack_modules__","importAsync","requireAsync","then","requireSync","id","__webpack_require__","BreadcrumbLoader","_jsx","Hero","HeroLoader","PageContent","mainContent","children","areaName","className","componentSelector","_jsxs","_Fragment","ContentArea","items","React","Profile","ProfileLoader","Employees","styled","div","withConfig","componentId","columnGap","MQ","FROM_M","FROM_L","Wrapper","FROM_XL","Heading","h2","styleHeadingXL","Letter","h3","styleHeadingL","EmployeesByLetter","heading","employeesByLetter","theme","anchorName","Section","alignItems","Container","map","letter","index","_letter$items","employee","description","color","black","lightgray","blue","cyan","OfficeInformation","h1","Introduction","p","styleBodyLAlt","ContactInformation","FactBox","ContactInfoDetails","styleBodyM","ContactInfoCol","ContactInfoDetailItem","DetailHeading","HeadingS","FindUsLink","Link","setTopMargin","css","Email","External","Icon","StyledPhoneIcon","OpeLink","span","styledLink","OfficePage","breadcrumb","blocks","introduction","contentTheme","actionTheme","editAttributePrefix","location","openPositions","phoneNumber","email","employeesAnchorName","l18n","googleMapsKey","useGoogleMapsKey","latitude","setLatitude","useState","longitude","setLongitude","isInEditMode","useIsInEditMode","useEffect","async","addressRow1","city","postalCode","lat","lng","getMapCoordinates","fetchOptions","hasLocation","findUsUrl","getMapsLocationUrl","showFindUsLink","findUs","zoom","title","undefined","addEditAttributes","visitingAddress","addressRow2","to","target","icon","telephone","replace","getComponentTypeForContent","contactUs","length","OpenPositionListSection","displayOption","identifier","link","address","fullAddress","response","fetch","encodeURIComponent","data","json","status","results","geometry","Error","encodedAddress"],"sourceRoot":""}