{"version":3,"sources":["webpack:///./src/images/link-arrow-white.svg","webpack:///./src/components/shared/Navigation.tsx","webpack:///./src/components/shared/Footer/SubscribeBox.tsx","webpack:///./src/components/shared/Footer/SocialMedia.tsx","webpack:///./src/components/shared/Footer/Disclaimer.tsx","webpack:///./src/components/shared/Footer/LogoBanner.tsx","webpack:///./src/components/shared/Footer/Footer.tsx","webpack:///./src/components/PromotionBannerAnimation.tsx","webpack:///./src/components/Layout.tsx"],"names":["module","exports","Navigation","topNav","stickyNavigation","mobileNav","useState","showDropDown","showMobileNav","setShowMobileNav","Container","TopNav","MainGrid","TopNavInner","to","appendUrlPartnerTracking","className","src","logo","alt","style","height","width","TopLinks","StyledLink","href","map","edge","key","children","length","StyledLinkDropdown","url","label","Arrow","arrow","flip","Dropdown","item","DropdownLink","TopLinksMobile","Button","small","BurgerMenu","onClick","Line1","showMobileMenu","Line2","Line3","StickyNav","MobileNav","StickyNavMobile","title","slug","superDropdown","StyledLinkMobile","MobileMenuItem","RightArrow","MenuItem","showSuperDropDown","setShowSuperDropDown","StyledLinkDropdownMobile","SuperDropdownMobile","DropdownLinkMobile","Dash","styled","nav","div","theme","grey","keyline","Link","props","firstLink","brand","blue","activeLink","text","main","img","background","SubscribeBox","heading","subheading","email","setEmail","emailError","toggleEmailError","useEffect","idToScroll","validateEmail","location","useLocation","query","queryString","parse","search","SuccessMessage","name","id","Heading","Subheading","InputContainer","hasError","isValidated","Input","type","value","onChange","str","onBlur","noPaddingTop","borderRadius","noPaddingTopMobile","placeholder","SubmitContiner","ArrowImage","ArrowButton","disabled","p","section","h4","second","support","green","red","inputHover","input","white","getImageSrc","linkedin","twitter","youtube","facebook","SocialMedia","data","SocialMediaLink","target","a","socialMediaData","Disclaimer","Col","Date","getFullYear","FooterLinks","LinkWrapper","Line","LogoBanner","Grid","Mask","order","Img","imgSrc","logoBannerData","img3","img4","img5","Footer","isVisible","CareerTag","useStaticQuery","LinksContainer","LinksSection","SectionHeading","slice","Section","margin","TagLinkContainer","wpPage","home","careerFooterTag","careerFooterTagLabel","footer","nomarginbottom","circlesLeftNumber","border","top","left","circlesRightNumber","right","PromotionBannerAnimation","imagesCollection","mobImg","team","edges","node","childImageSharp","fluid","boy","man","girl","woman","linesRight","linesLeft","Outer","body","ButtonContainer","btnUrl1","btnTitle1","btnUrl2","tertiary","btnTitle2","ColAnimation","AnimationContainer","BigCircle","GirlWrapper","Girl","LineLeft4","CirclesContainerRight","circle","CircleSmall2","delay","BoyWrapper","Boy","LineLeft1","CirclesContainerLeft","CircleSmall1","MobileImageContainer","MobileImage","CirclesContainerRightMob","CirclesContainerLeftMob","TemplateWrapper","Menus","filteredMenus","allWpMenu","menu","i","menuItems","nodes","menuitem","ii","includes","urlToReplace","replace","push","mainNav","footerNav","flatListToHierarchical","idKey","parentKey","childrenKey","tree","childrenOf","forEach","newItem","parentId","concat","dataPromotionBannerAnimation","banner_info","button1Url","button1Text","button2Url","button2Text","Theme","GlobalStyles","partialVisibility"],"mappings":"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","file":"0f8eee2c017e1b537fb878ea72b5c022e26e9167-ec75333b0645b6a84079.js","sourcesContent":["module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI0LjMuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA0OCAxMyIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDggMTM7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDojZmZmZmZmO30KCS5zdDF7ZmlsbDojZmZmZmZmO30KPC9zdHlsZT4KPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CjxyZWN0IGlkPSJSZWN0YW5nbGUiIHk9IjYiIGNsYXNzPSJzdDAiIHdpZHRoPSI0MCIgaGVpZ2h0PSIxIi8+Cjxwb2x5Z29uIGNsYXNzPSJzdDEiIHBvaW50cz0iNDIuMywxMi4xIDQxLjMsMTEuMiA0Ni4xLDYuNSA0MS4zLDEuOCA0Mi4zLDAuOSA0OCw2LjUgIi8+Cjwvc3ZnPgo=\"","import React, { FunctionComponent, useState } from 'react'\nimport styled from 'styled-components'\nimport { Link } from 'gatsby'\nimport logo from '../../images/bobs-business-logo.png'\nimport arrow from '../../images/nav-arrow.svg'\nimport theme from '../styling/theme'\nimport MainGrid from '../styling/MainGrid'\nimport { appendUrlPartnerTracking } from '../../util/url'\nimport Button from './Button/Button'\nimport { LinkProps } from '@material-ui/core'\n\ninterface DropdownItem {\n title: string\n slug: string\n}\ninterface DropdownItem2 {\n label: string\n url: string\n}\n\ninterface Item {\n title: string\n slug: string\n superDropdown?: Array\n}\ninterface Item2 {\n label: string\n url: string\n children?: Array\n}\n\ninterface NavigationProps {\n topNav: Array\n stickyNavigation: Array\n mobileNav: Array\n}\n\nconst Navigation: FunctionComponent = ({\n topNav,\n stickyNavigation,\n mobileNav,\n}) => {\n const [showDropDown, toggleDropDown] = useState(false)\n\n const [showMobileNav, setShowMobileNav] = useState(false)\n return (\n \n \n \n \n \n
\n \n
\n \n \n \n +44 (0) 330 058 3009\n \n {topNav.map((edge, key) =>\n edge.children.length >= 1 ? (\n \n {edge.label}{' '}\n \n \n {edge.children.map((item, key) => {\n return (\n \n {item.label}\n \n )\n })}\n \n \n ) : (\n \n {edge.label}\n \n )\n )}\n\n {/* \n \n \"Github\"\n \n */}\n \n \n \n setShowMobileNav(!showMobileNav)}>\n \n \n \n \n \n
\n
\n
\n \n \n {stickyNavigation.map((edge, key) =>\n edge.children.length >= 1 ? (\n \n {edge.label}{' '}\n \n \n {edge.children.map((item, key) => {\n return (\n \n {item.label}\n \n )\n })}\n \n \n ) : (\n \n {edge.label}\n \n )\n )}\n \n \n \n {mobileNav.map((edge, key) =>\n edge.children.length >= 1 ? (\n \n ) : (\n \n \n {edge.label}\n \n \n \n )\n )}\n \n \n +44 (0) 330 058 3009\n \n \n \n \n \n {/* */}\n \n
\n )\n}\n\nexport default Navigation\n\ninterface MenuItemProps {\n title: string\n slug: string\n superDropdown: Array\n}\nconst MenuItem: FunctionComponent = ({\n title,\n slug,\n superDropdown,\n}) => {\n const [showSuperDropDown, setShowSuperDropDown] = useState(false)\n // console.log(superDropdown)\n return (\n setShowSuperDropDown(!showSuperDropDown)}\n >\n \n {title}\n \n \n {showSuperDropDown && (\n \n {superDropdown.map((item, key) => {\n return (\n \n \n {item.label}\n \n )\n })}\n \n )}\n \n )\n}\n\nconst Container = styled.nav`\n width: 100%;\n display: flex;\n flex-direction: column;\n // padding: 0 20px;\n @media screen and (min-width: 1024px) {\n padding: 0;\n }\n`\nconst TopNav = styled.div`\n border-bottom: 1px solid ${theme.grey.keyline};\n @media (max-width: 1024px) {\n }\n`\nconst TopNavInner = styled.div`\n display: flex;\n justify-content: space-between;\n padding: 3rem 0 1.3rem;\n`\n\nconst TopLinks = styled.div`\n display: flex;\n align-items: center;\n\n & a:not(:last-of-type) {\n margin-right: 2.2rem;\n }\n @media (max-width: 1024px) {\n display: none;\n }\n`\nconst TopLinksMobile = styled.div`\n display: flex;\n align-items: center;\n\n & a:not(:last-of-type) {\n margin-right: 2.2rem;\n }\n @media (min-width: 1024px) {\n display: none;\n }\n`\ninterface LinkProp {\n firstLink?: boolean\n activeLink?: boolean\n}\nconst StyledLink = styled(Link)`\n &,\n &:link,\n &:visited {\n font-family: Montserrat;\n color: #1d253c;\n font-size: 13px;\n line-height: 16px;\n height: 56px;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n position: relative;\n &::after {\n position: absolute;\n content: ' ';\n height: 3px;\n width: 100%;\n bottom: -1px;\n left: ${(props) => (props.firstLink ? '0' : '0%')};\n background: ${theme.brand.blue};\n transition: ease-out 0.3s;\n margin: 0 auto;\n transform: scaleX(0);\n transform: ${(props) => (props.activeLink ? 'scaleX(1)' : 'scaleX(0)')};\n }\n &:hover::after,\n &:active::after,\n &:focus::after {\n transform: scaleX(1);\n }\n }\n &:hover,\n &:focus {\n color: ${theme.brand.blue};\n text-decoration: none !important;\n }\n`\nconst StyledHeader = styled.div`\n /* border: 1px solid red; */\n margin-right: 10px;\n &,\n &:link,\n &:visited {\n font-family: Montserrat;\n color: #1d253c;\n font-size: 13px;\n line-height: 16px;\n height: 56px;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n position: relative;\n &::after {\n position: absolute;\n content: ' ';\n height: 3px;\n width: 100%;\n bottom: -1px;\n left: ${(props) => (props.firstLink ? '0' : '0%')};\n background: ${theme.brand.blue};\n transition: ease-out 0.3s;\n margin: 0 auto;\n transform: scaleX(0);\n transform: ${(props) => (props.activeLink ? 'scaleX(1)' : 'scaleX(0)')};\n }\n &:hover::after,\n &:active::after,\n &:focus::after {\n transform: scaleX(1);\n }\n }\n &:hover,\n &:focus {\n color: ${theme.brand.blue};\n text-decoration: none !important;\n }\n`\n\nconst StickyNav = styled.div`\n display: none;\n & a:not(:last-of-type) {\n margin-right: 4rem;\n }\n @media screen and (min-width: 1024px) {\n display: flex;\n\n /* border: 1px solid red; */\n }\n`\n\nconst MobileNav = styled.div`\n display: ${(props) => (props.showMobileMenu ? 'flex' : 'none')};\n transition-duration: 1s;\n box-shadow: 1px;\n flex-direction: column;\n z-index: 200;\n //border: 1px solid blue;\n`\n\nconst StyledLinkDropdown = styled.div`\n margin-right: 30px;\n &,\n &:link,\n &:visited {\n font-family: Montserrat;\n color: #1d253c;\n font-size: 13px;\n line-height: 16px;\n height: 56px;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n position: relative;\n &::after {\n position: absolute;\n content: ' ';\n height: 3px;\n width: 100%;\n bottom: -1px;\n left: ${(props) => (props.firstLink ? '0' : '0%')};\n background: ${theme.brand.blue};\n transition: ease-out 0.3s;\n margin: 0 auto;\n transform: scaleX(0);\n transform: ${(props) => (props.activeLink ? 'scaleX(1)' : 'scaleX(0)')};\n }\n &:hover::after,\n &:active::after,\n &:focus::after {\n transform: scaleX(1);\n }\n }\n &:hover,\n &:focus {\n color: ${theme.brand.blue};\n text-decoration: none !important;\n }\n`\n\nconst DropdownLink = styled(Link)`\n &,\n &:link,\n &:active {\n width: 100%;\n color: ${theme.text.main} !important;\n font-family: Montserrat;\n font-size: 12px;\n font-weight: 300;\n line-height: 15px;\n padding: 20px;\n }\n &:hover,\n &:active {\n background: ${theme.brand.blue};\n color: white !important;\n text-decoration: none;\n }\n`\n\nconst Dropdown = styled.div`\n flex-direction: column;\n position: absolute;\n top: 56px;\n left: 0;\n z-index: 100;\n display: none;\n width: 100%;\n background: white;\n width: 300px;\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);\n border-radius: 1px;\n border: 1px solid #ececec;\n ${StyledLinkDropdown}:hover > & {\n display: flex;\n }\n`\ninterface ArrowProps {\n flip?: boolean\n}\n\nconst Arrow = styled.img`\n width: 12px;\n margin-left: 1rem;\n transition: all 0.3s ease;\n ${(props) => props.flip && 'transform: rotate(180deg);'}\n ${StyledLinkDropdown}:hover > & {\n transform: rotate(180deg);\n }\n`\nconst RightArrow = styled.img`\n width: 12px;\n margin-left: 1rem;\n transition: all 0.3s ease;\n transform: rotate(-90deg);\n`\n\nconst StyledLinkMobile = styled(Link)`\n font-family: Montserrat;\n\n color: #1d253c;\n font-size: 2.4rem;\n line-height: 16px;\n min-height: 56px;\n width: 100%;\n display: flex;\n flex-direction: column;\n /* align-items: center;\n vertical-align: center;\n justify-content: flex-start; */\n position: relative;\n text-decoration: none;\n border-bottom: 1px solid ${theme.grey.keyline};\n`\n\nconst DropdownLinkMobile = styled(Link)`\n display: flex;\n flex-direction: row;\n align-items: center;\n width: 100%;\n color: ${theme.text.main} !important;\n font-family: Montserrat;\n font-size: 1.8rem;\n font-weight: 300;\n line-height: 15px;\n padding: 20px;\n`\n\nconst StickyNavMobile = styled.div`\n display: flex;\n position: absolute;\n padding: 0;\n top: 80px;\n left: 0;\n flex-direction: column;\n background-color: white;\n width: 100%;\n z-index: 20;\n overflow-y: scroll;\n`\nconst MobileMenuItem = styled.div`\n display: flex;\n flex-direction: row;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n vertical-align: center;\n height: 56px;\n padding: 0 20px;\n z-index: 10;\n background-color: white;\n text-decoration: none;\n font-size: 2.4rem;\n color: black;\n font-weight: ${(props) => (props.flip ? 'bold' : 'normal')};\n`\n\nconst StyledLinkDropdownMobile = styled.div`\n border-bottom: 1px solid ${theme.grey.keyline};\n`\nconst Dash = styled.div`\n background-color: ${theme.text.main};\n width: 15px;\n height: 1px;\n margin-right: 10px;\n`\nconst SuperDropdownMobile = styled.div`\n display: flex;\n flex-direction: column;\n position: relative;\n z-index: 100;\n width: 100%;\n background: ${theme.background.grey};\n // box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);\n border-radius: 1px;\n border: 1px solid #ececec;\n`\n\nconst BurgerMenu = styled.div`\n display: flex;\n flex-direction: column;\n position: relative;\n width: 30px;\n height: 21px;\n justify-content: space-between;\n margin: 0 10px;\n`\ninterface BurgerProps {\n showMobileMenu: boolean\n}\nconst Line1 = styled.div`\n height: 3px;\n width: 100%;\n position: relative;\n background-color: ${theme.brand.blue};\n\n transform: translateY(${(props) => (props.showMobileMenu ? '9px' : '')})\n ${(props) => (props.showMobileMenu ? 'rotate(45deg)' : '')};\n transition-duration: 0.5s;\n`\nconst Line2 = styled.div`\n height: 3px;\n width: 100%;\n top: 10px;\n background-color: ${theme.brand.blue};\n transform: ${(props) => (props.showMobileMenu ? 'scaleX(0)' : 'scaleX(1)')};\n\n transition-duration: 0.5s;\n`\nconst Line3 = styled.div`\n height: 3px;\n width: 100%;\n\n background-color: ${theme.brand.blue};\n\n transform: translateY(${(props) => (props.showMobileMenu ? '-9px' : '')})\n ${(props) => (props.showMobileMenu ? 'rotate(-45deg)' : '')};\n transition-duration: 0.5s;\n`\n","import React, { useState, FunctionComponent, useEffect } from 'react'\nimport styled from 'styled-components'\nimport theme from '../../styling/theme'\nimport Input from '../Input'\nimport { validateEmail } from '../../../util/functions'\nimport arrow from '../../../images/link-arrow-white.svg'\nimport queryString from 'query-string'\nimport { useLocation } from '@reach/router';\ninterface SubscribeProps {\n heading: string\n subheading: string\n}\nconst SubscribeBox: FunctionComponent = ({\n heading,\n subheading,\n}) => {\n const [email, setEmail] = useState('')\n const [emailError, toggleEmailError] = useState(false)\n\nuseEffect(()=>{\n if(email!==\"\"){\n let idToScroll = ''\n if (!validateEmail(email)) {\n toggleEmailError(true)\n if (!idToScroll) {\n idToScroll = 'email'\n }\n } else {\n setEmail(email)\n toggleEmailError(false)\n }\n }\n},[\n email\n])\nconst location = useLocation();\nconst query = queryString.parse(location.search)\n // console.log(query)\n return (\n \n {!query.email ? (\n
\n {heading && {heading}}\n {subheading && {subheading}}\n \n {\n setEmail(str)\n }}\n isValidated={validateEmail(email)}\n hasError={emailError}\n onBlur={() => validateEmail(email)}\n id=\"email\"\n noPaddingTop\n borderRadius=\"4px 0 0 4px\"\n noPaddingTopMobile\n placeholder=\"Your email address\"\n />\n \n \n \n \n \n \n\n \n \n \n
):(\n \n Thanks for subscribing!\n \n )}\n
\n )\n}\n\nexport default SubscribeBox\n\nconst SuccessMessage = styled.p`\n\n color: #00A3C7;\n\n font-size: 15px;\n font-weight: bold;\n letter-spacing: 0;\n line-height: 23px;\n`\n\nconst SubmitContiner = styled.div`\nposition: relative;\n`\n\nconst ArrowImage = styled.img`\nposition: absolute;\nheight: 30px;\nwidth: 40px;\nz-index: 2;\ntop: 15px;\nleft: 10px;\npointer-events: none;\n`\n\nconst Container = styled.section`\n width: 36%;\n margin-right: 13rem;\n & input {\n width: 100%;\n &:focus{\n outline: none !important;\n\n }\n }\n @media (max-width: 1199px) {\n width: 62%;\n margin-right: 11rem;\n }\n @media (max-width: 1023px) {\n width: 100%;\n max-width: 500px;\n margin-right: 0;\n }\n`\nconst Heading = styled.h4`\n font-size: 2rem;\n margin-bottom: 5px;\n font-weight: bold;\n`\n\nconst Subheading = styled.p`\n font-size: 1.5rem;\n font-weight: 300;\n margin-bottom: 18px;\n color: ${theme.text.second};\n opacity: 0.8;\n`\n\ninterface InputContainerProps {\n hasError?: boolean\n isValidated?: boolean\n}\nconst InputContainer = styled.div`\n display: flex;\n align-items: flex-start;\n height: 100%;\n max-height: 60px;\n\n &:hover input {\n border-color: ${(props) =>\n props.isValidated\n ? theme.support.green\n : props.hasError\n ? theme.support.red\n : theme.grey.inputHover};\n }\n\n &:hover > a {\n background: ${(props) =>\n props.isValidated\n ? theme.support.green\n : props.hasError\n ? theme.support.red\n : theme.grey.inputHover};\n }\n`\nconst ArrowButton = styled.input`\n text-decoration: none;\n position: relative;\n content: \"\";\n max-width: 70px !important;\n min-width: 70px !important;\n \n left: -4px;\n border-radius: 0 4px 4px 0 !important;\n background-color: ${(props) =>\n props.isValidated\n ? theme.support.green\n : props.hasError\n ? theme.support.red\n : theme.brand.blue} !important;\n color: ${theme.text.white}!important;\n text-align: center;\n cursor: pointer;\n transition: background-color 200ms ease, color 200ms ease,\n background-color 200ms ease, transform 200ms ease,\n -webkit-transform 200ms ease !important;\n\n height: 60px;\n display: flex;\n align-items: center;\n justify-content: center;\n\n &:visited,\n &:link {\n text-decoration: none;\n }\n\n\n`\n","import React, { FunctionComponent } from 'react'\nimport styled from 'styled-components'\nimport facebook from '../../../images/social-media/facebook.svg'\nimport twitter from '../../../images/social-media/twitter.svg'\nimport linkedin from '../../../images/social-media/linkedin.svg'\nimport youtube from '../../../images/social-media/youtube.svg'\nimport theme from '../../styling/theme'\n\nconst getImageSrc = (title: string) => {\n if (title) {\n let img = ''\n switch (title) {\n case 'linkedin':\n img = linkedin\n break\n case 'twitter':\n img = twitter\n break\n case 'youtube':\n img = youtube\n break\n case 'facebook':\n img = facebook\n break\n default:\n img = facebook\n }\n return img\n }\n}\n\ninterface DataItem {\n title: string\n url: string\n}\ninterface SocialMediaProps {\n data: Array\n}\nconst SocialMedia: FunctionComponent = ({ data }) => {\n return (\n \n {data &&\n data.map((item, key) => {\n return (\n \n \"social\n \n )\n })}\n \n )\n}\n\nexport default SocialMedia\n\nconst Container = styled.div`\n display: flex;\n @media (max-width: 767px) {\n margin-top: 20px;\n }\n`\n\nconst SocialMediaLink = styled.a`\n background: ${theme.brand.blue};\n height: 34px;\n width: 34px;\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: 100%;\n & img {\n width: 15px;\n height: 15px;\n }\n\n &:not(:last-of-type) {\n margin-right: 6px;\n }\n\n &:hover {\n background: ${theme.text.second};\n }\n`\n","import React, { FunctionComponent } from 'react'\nimport styled from 'styled-components'\nimport { Link } from 'gatsby'\nimport SocialMedia from './SocialMedia'\nimport theme from '../../styling/theme'\nimport { appendUrlPartnerTracking } from '../../../util/url'\n\nconst socialMediaData = [\n {\n title: 'linkedin',\n url: 'https://www.linkedin.com/company/bobsbusinessuk/',\n },\n {\n title: 'youtube',\n url: 'https://www.youtube.com/channel/UCQaKyckI8G35cTcRyHben4g',\n },\n {\n title: 'twitter',\n url: 'https://twitter.com/BobsBusiness',\n },\n {\n title: 'facebook',\n url: 'https://www.facebook.com/BobsBusinessUK',\n },\n]\n\ninterface ILink {\n title: string\n url: string\n}\ninterface DisclaimerProps {\n data: Array\n}\n\nconst Disclaimer: FunctionComponent = ({ data }) => {\n return (\n \n \n

\n © {new Date().getFullYear()} Bob's Business®\n

\n

\n Company No. 06341794 | VAT. 917310152\n

\n \n {data &&\n data.map((item, key) => {\n return (\n \n \n {item.title}\n \n {key !== data.length - 1 && }\n \n \n )\n })}\n \n \n\n \n
\n )\n}\n\nexport default Disclaimer\n\nconst Container = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin: 9rem 0 5rem;\n @media (max-width: 767px) {\n flex-direction: column;\n }\n`\n\nconst Col = styled.div`\n display: flex;\n align-items: center;\n & p {\n margin-right: 3rem;\n color: ${theme.text.main};\n font-weight: bold;\n }\n @media (max-width: 767px) {\n flex-direction: column;\n }\n`\nconst LinkWrapper = styled.div`\n display: flex;\n align-items: center;\n`\n\nconst FooterLinks = styled.div`\n display: flex;\n flex-direction: row;\n`\n\nconst StyledLink = styled(Link)`\n &,\n &:link,\n &:visited {\n font-size: 13px;\n line-height: 23px;\n color: ${theme.text.main};\n position: relative;\n margin-right: 1.5rem;\n overflow: hidden;\n }\n &:hover,\n &:active {\n color: ${theme.brand.blue};\n text-decoration: none !important;\n }\n &::before {\n position: absolute;\n content: ' ';\n height: 2px;\n width: 100%;\n bottom: -1px;\n left: 0;\n background: ${theme.brand.blue};\n margin: 0 auto;\n background: linear-gradient(\n 270deg,\n ${theme.brand.blue} 5%,\n rgba(0, 163, 199, 0.8) 10%,\n rgba(0, 163, 199, 0.1) 95%,\n ${theme.brand.blue}\n );\n transform-origin: left;\n transform: translateX(-100%);\n backface-visibility: hidden;\n }\n &:hover::before,\n &:active::before,\n &:focus::before {\n transition: transform 0.6s cubic-bezier(0.67, 0, 0.33, 1);\n transform: translateX(100%);\n }\n`\n\nconst Line = styled.div`\n width: 1px;\n height: 10px;\n background: ${theme.grey.keyline};\n margin-right: 1.5rem;\n`\n","import React, { FunctionComponent } from 'react'\nimport styled from 'styled-components'\nimport theme from '../../styling/theme'\n\ninterface Img {\n imgSrc: string\n alt: string\n}\ninterface LogoBannerProps {\n data: Array\n}\n\nconst LogoBanner: FunctionComponent = ({ data }) => {\n return (\n \n \n {data &&\n data.map((item, key) => {\n return (\n \n {item.alt}\n \n )\n })}\n \n \n )\n}\n\nexport default LogoBanner\n\nconst Container = styled.div`\n border-top: 1px solid ${theme.grey.keyline};\n padding: 0;\n\n margin-top: 26px auto 0 ;\n \n @media screen and (min-width: 768px) {\n padding: 7.7rem 0 5.5rem;\n border-top: none;\n margin-top: 0;\n }\n`\n\nconst Grid = styled.div`\n display: grid;\n align-items: center;\n margin: 0 auto;\n justify-content: space-between;\n grid-template-columns: repeat(3, 1fr);\n grid-column-gap: 1px;\n background: ${theme.grey.keyline};\n @media screen and (min-width: 768px) and (max-width: 1023px) {\n grid-template-columns: repeat(3, 1fr);\n grid-column-gap: 4rem;\n grid-template-rows: 40px;\n background: white;\n }\n @media screen and (min-width: 1024px) {\n grid-template-columns: repeat(3, 1fr);\n grid-column-gap: 9rem;\n grid-template-rows: 40px;\n background: white;\n }\n`\ninterface MaskProps {\n order: number\n}\nconst Mask = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n background: white;\n height: 100%;\n padding: 30px 30px;\n\n @media (max-width: 1023px) {\n display: ${(props) =>\n props.order === 4 || props.order === 5 ? 'none' : 'flex'};\n }\n @media (min-width: 1024px) {\n padding: 0;\n height: 40px;\n }\n`\n\nconst Img = styled.img`\n height: auto;\n max-height: 100px;\n @media (min-width: 1024px) {\n /* max-height: 160px; */\n /* height: 40px; */\n /* background: red; */\n /* height: 100%; */\n /* max-height: auto; */\n }\n`\n","import React, { FunctionComponent } from 'react'\nimport { graphql, Link, useStaticQuery } from 'gatsby'\nimport SubscribeBox from './SubscribeBox'\nimport styled from 'styled-components'\nimport MainGrid from '../../styling/MainGrid'\nimport Disclaimer from './Disclaimer'\nimport theme from '../../styling/theme'\nimport LogoBanner from './LogoBanner'\n//import img from '../../../images/logo-banner/crown-commercial-supplier.png'\n//import img2 from '../../../images/logo-banner/hm-treasury.png'\nimport img3 from '../../../images/logo-banner/NQA_ISO27001_BW.svg'\nimport img4 from '../../../images/logo-banner/NQA_ISO9001_BW.svg'\nimport img5 from '../../../images/logo-banner/global-cyber-alliance.png'\nimport { appendUrlPartnerTracking } from '../../../util/url'\nimport TrustBox from '../../Header/Trustpilot'\n\nconst logoBannerData = [\n {\n imgSrc: img3,\n alt: 'ISO27001',\n },\n {\n imgSrc: img4,\n alt: 'ISO9001',\n },\n {\n imgSrc: img5,\n alt: 'Global Cyber Alliance',\n },\n]\n\ninterface ILink {\n title: string\n url: string\n tag?: boolean\n tagTitle?: string\n}\n\ninterface Column {\n lebel: string\n url?: string\n links: Array\n}\n\ninterface FooterProps {\n isVisible?: boolean\n data: Array\n}\n\nconst Footer: FunctionComponent = ({ isVisible, data }) => {\n const CareerTag = useStaticQuery(graphql`\n {\n wpPage(title: { eq: \"Home\" }) {\n home {\n careerFooterTag\n careerFooterTagLabel\n }\n }\n }\n `)\n return (\n \n \n \n \n \n \n \n Cybersecurity Training\n \n\n {data &&\n data.slice(0, 4).map((item, key) => {\n return (\n
\n \n {item.label}\n \n
\n )\n })}\n
\n \n \n Bob's Business\n \n {data &&\n data.slice(4, data.length).map((item, key) => {\n return (\n
\n {item.label == 'Careers' ? (\n \n \n {item.label}\n \n {CareerTag.wpPage.home.careerFooterTag && (\n \n {CareerTag.wpPage.home.careerFooterTagLabel}\n \n )}\n \n ) : (\n \n {item.label}\n \n )}\n
\n )\n })}\n \n
\n
\n
\n \n
\n )\n}\n\nexport default Footer\n\ninterface ContainerProps {\n isVisible?: boolean\n}\nconst Container = styled.footer`\n display: flex;\n\n flex-direction: column;\n padding-top: 6rem;\n border-top: 1px solid ${theme.grey.keyline};\n position: relative;\n background: white;\n z-index: 2;\n @media (min-width: 1024px) {\n flex-direction: row;\n }\n`\nconst LinksContainer = styled.div`\n display: flex;\n flex-direction: row;\n`\nconst LinksSection = styled.section`\n display: none;\n\n @media screen and (min-width: 768px) {\n display: flex;\n flex-direction: column;\n }\n @media screen and (min-width: 768px) and (max-width: 1023px) {\n width: 100%;\n margin-top: 40px;\n }\n\n @media screen and (min-width: 1024px) {\n flex-direction: column;\n & div:first-child {\n padding-right: 0;\n }\n }\n\n @media screen and (min-width: 1199px) {\n width: 52%;\n flex-direction: column;\n & div:first-child {\n padding-right: 6rem;\n }\n }\n`\ninterface ISection {\n margin?: boolean\n}\n\nconst Section = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n padding-right: ${(props) => (props.margin ? '10rem' : '0')};\n\n @media screen and (min-width: 1024px) and (max-width: 1199px) {\n margin-bottom: ${(props) => (props.margin ? '20px' : '0px')};\n }\n @media screen and (min-width: 1024px) and (max-width: 1199px) {\n padding-right: 0;\n }\n`\n\nconst SectionHeadingLink = styled(Link)`\n font-size: 13px;\n font-weight: bold;\n line-height: 23px;\n color: ${theme.text.main} !important;\n margin-bottom: 2rem;\n`\n\nconst SectionHeading = styled.p`\n font-weight: bold;\n color: ${theme.text.main};\n margin-bottom: 2rem;\n`\ninterface LinkProps {\n nomarginbottom?: boolean\n}\nconst StyledLink = styled(Link)`\n &,\n &:link,\n &:visited {\n font-size: 16px;\n line-height: 26px;\n color: ${theme.text.second};\n font-weight: 300;\n margin-bottom: ${(props) => (props.nomarginbottom ? '0px' : '14px')};\n position: relative;\n opacity: 0.8;\n overflow: hidden;\n }\n &:hover,\n &:active {\n color: ${theme.brand.blue};\n text-decoration: none !important;\n }\n &::before {\n position: absolute;\n content: ' ';\n height: 2px;\n width: 100%;\n bottom: -1px;\n left: 0;\n background: ${theme.brand.blue};\n margin: 0 auto;\n background: linear-gradient(\n 270deg,\n ${theme.brand.blue} 5%,\n rgba(0, 163, 199, 0.8) 10%,\n rgba(0, 163, 199, 0.1) 95%,\n ${theme.brand.blue}\n );\n transform-origin: left;\n transform: translateX(-100%);\n backface-visibility: hidden;\n }\n &:hover::before,\n &:active::before,\n &:focus::before {\n transition: transform 0.6s cubic-bezier(0.67, 0, 0.33, 1);\n transform: translateX(100%);\n }\n`\nconst TagLinkContainer = styled.div`\n display: flex;\n align-items: flex-start;\n\n & span {\n text-transform: uppercase;\n font-family: Montserrat;\n font-size: 9px;\n font-weight: 300;\n letter-spacing: -0.45px;\n line-height: 11px;\n background: ${theme.grey.inputHover};\n color: ${theme.text.white};\n border-radius: 3px;\n padding: 2px 5.5px;\n margin-left: 13px;\n margin-top: 7px;\n }\n`\n","import React, { FunctionComponent } from 'react'\nimport styled from 'styled-components'\nimport MainGrid from './styling/MainGrid'\nimport Button from './shared/Button/Button'\nimport theme from './styling/theme'\n// import boy from '../images/hp-header/man.png'\n// import girl from '../images/hp-header/woman.png'\n// import linesLeft from '../images/hp-header/red-lines-left.png'\n// import linesRight from '../images/hp-header/red-lines-right.png'\n// import mobImg from '../images/hp-header/team.png'\nimport { appendUrlPartnerTracking } from '../util/url'\n\nimport { graphql,useStaticQuery } from 'gatsby'\n\nconst circlesLeftNumber = [\n {\n width: 30,\n border: 5,\n top: 110,\n left: -10,\n },\n {\n width: 20,\n border: 3,\n top: 90,\n left: 6,\n },\n {\n width: 10,\n border: 2,\n top: 105,\n left: 0,\n },\n {\n width: 12,\n border: 3,\n top: 80,\n left: 22,\n },\n {\n width: 22,\n border: 4,\n top: 105,\n left: -10,\n },\n {\n width: 18,\n border: 4,\n top: 70,\n left: 5,\n },\n]\n\nconst circlesRightNumber = [\n {\n width: 28,\n border: 5,\n top: 100,\n right: 0,\n },\n {\n width: 14,\n border: 3,\n top: 90,\n right: 5,\n },\n {\n width: 10,\n border: 2,\n top: 80,\n right: 8,\n },\n {\n width: 12,\n border: 3,\n top: 70,\n right: 12,\n },\n {\n width: 22,\n border: 4,\n top: 90,\n right: 6,\n },\n {\n width: 18,\n border: 4,\n top: 92,\n right: 0,\n },\n]\n\ninterface Content {\n heading: string\n body: string\n btnUrl1: string\n btnTitle1: string\n btnUrl2: string\n btnTitle2: string\n}\ninterface PromotionBannerProps {\n isVisible?: boolean\n data: Content\n}\nconst PromotionBannerAnimation: FunctionComponent = ({\n isVisible,\n data,\n}) => {\n\n const imagesCollection = useStaticQuery(graphql`\n query img6{\n team: allFile(filter: {childrenImageSharp: {elemMatch: {fluid: {originalName: {eq: \"team.png\"}}}}}) {\n edges {\n node {\n id\n childImageSharp {\n fluid(maxWidth: 660,toFormat: WEBP) {\n ...GatsbyImageSharpFluid\n }\n }\n }\n }\n },\n man: allFile(filter: {childrenImageSharp: {elemMatch: {fluid: {originalName: {eq: \"man.png\"}}}}}) {\n edges {\n node {\n id\n childImageSharp {\n fluid(maxWidth: 1080,toFormat: WEBP) {\n ...GatsbyImageSharpFluid\n }\n }\n }\n }\n }, \n woman: allFile(filter: {childrenImageSharp: {elemMatch: {fluid: {originalName: {eq: \"woman.png\"}}}}}) {\n edges {\n node {\n id\n childImageSharp {\n fluid(maxWidth: 1080,toFormat: WEBP) {\n ...GatsbyImageSharpFluid\n }\n }\n }\n }\n }, \n linesLeft: allFile(filter: {childrenImageSharp: {elemMatch: {fluid: {originalName: {eq: \"red-lines-left.png\"}}}}}) {\n edges {\n node {\n id\n childImageSharp {\n fluid(maxWidth: 1080,toFormat: WEBP) {\n ...GatsbyImageSharpFluid\n }\n }\n }\n }\n },\n linesRight: allFile(filter: {childrenImageSharp: {elemMatch: {fluid: {originalName: {eq: \"red-lines-right.png\"}}}}}) {\n edges {\n node {\n id\n childImageSharp {\n fluid(maxWidth: 1080,toFormat: WEBP) {\n ...GatsbyImageSharpFluid\n }\n }\n }\n }\n } \n }\n`)\n\nconst mobImg = imagesCollection.team.edges[0].node.childImageSharp.fluid.src\nconst boy = imagesCollection.man.edges[0].node.childImageSharp.fluid.src\nconst girl = imagesCollection.woman.edges[0].node.childImageSharp.fluid.src\nconst linesRight = imagesCollection.linesRight.edges[0].node.childImageSharp.fluid.src\nconst linesLeft = imagesCollection.linesLeft.edges[0].node.childImageSharp.fluid.src\n\n\n return (\n \n \n \n \n

{data.heading}

\n\n \n

{data.body}

\n \n \n {data.btnUrl2 && (\n \n )}\n \n \n\n \n \n \n \n \n \n \n {circlesRightNumber &&\n circlesRightNumber.map((circle, key) => {\n return (\n \n )\n })}\n \n \n \n \n \n \n {circlesLeftNumber &&\n circlesLeftNumber.map((circle, key) => {\n return (\n \n )\n })}\n \n \n \n \n \n \n \n {circlesRightNumber &&\n circlesRightNumber.map((circle, key) => {\n return (\n \n )\n })}\n \n \n {circlesLeftNumber &&\n circlesLeftNumber.map((circle, key) => {\n return (\n \n )\n })}\n \n \n
\n
\n
\n )\n}\n\nexport default PromotionBannerAnimation\n\nconst Outer = styled.section`\n overflow: hidden;\n padding: 10px 0 26px;\n @media (min-width: 1024px) {\n padding-top: 11rem;\n padding-bottom: 8rem;\n }\n`\n\nconst Container = styled.div`\n display: flex;\n flex-direction: column;\n padding: 40px 20px 0;\n background: ${theme.text.main};\n transition: background 1s ease;\n border-radius: 5px;\n position: relative;\n height: 70%;\n @media (min-width: 768px) {\n padding: 65px 57px 0;\n }\n\n @media screen and (min-width: 1024px) {\n flex-direction: row;\n padding: 4rem 6rem 6rem;\n }\n\n @media (min-width: 1199px) {\n padding: 6.4rem 10rem 7rem;\n }\n`\n\nconst Col = styled.div`\n position: relative;\n\n & h4,\n p {\n color: ${theme.text.white};\n }\n\n & h4 {\n margin-bottom: 22px;\n }\n\n & p {\n font-weight: 300;\n margin-bottom: 34px;\n }\n &:first-of-type {\n margin-right: 0;\n\n @media (min-width: 1024px) {\n margin-right: 7rem;\n width: 40%;\n max-width: 46rem;\n }\n @media (min-width: 1199px) {\n margin-right: 10rem;\n }\n }\n`\n\nconst ColAnimation = styled(Col)`\n width: 100%;\n max-width: 100%;\n margin-top: 25px;\n @media (min-width: 1024px) {\n margin-top: 28px;\n position: absolute;\n right: 0;\n top: -110px;\n left: auto;\n width: 50%;\n max-width: 470px;\n margin-top: 0;\n /* background: red; */\n }\n\n @media (min-width: 1199px) {\n max-width: 555px;\n }\n`\n\nconst Line = styled.div`\n background: ${theme.text.white};\n height: 3px;\n width: 100%;\n margin-bottom: 28px;\n @media (min-width: 768px) {\n display: none;\n }\n`\n\nconst ButtonContainer = styled.div`\n display: flex;\n width: 100%;\n max-width: 420px;\n & a:first-of-type {\n margin-right: 20px;\n }\n @media (max-width: 767px) {\n flex-direction: column;\n & a:first-of-type {\n margin-right: 0;\n margin-bottom: 20px;\n }\n }\n @media (max-width: 1024px) {\n max-width: 100%;\n }\n`\nconst AnimationContainer = styled.div`\n position: relative;\n display: none;\n @media (min-width: 1024px) {\n display: block;\n }\n`\n\nconst BoyWrapper = styled.div`\n width: 100%;\n min-width: 250px;\n height: 100%;\n position: relative;\n left: 20vw;\n top: 40px;\n max-width: 900px;\n z-index: 8;\n @media (min-width: 1024px) {\n top: 10px;\n position: absolute;\n left: 12%;\n height: 520px;\n animation: float 6s ease-in-out infinite 6s;\n }\n`\nconst GirlWrapper = styled(BoyWrapper)`\n margin-top: 20px;\n\n left: -14vw;\n @media screen and (min-width: 1024px) {\n margin-top: 30px;\n animation: floatF 8s ease infinite 3s;\n }\n @media screen and (min-width: 1024px) {\n left: 33%;\n }\n`\ninterface GirlProps {\n isVisible?: boolean\n}\nconst Girl = styled.img`\n margin: 0 auto;\n position: relative;\n\n @media screen and (min-width: 1024px) {\n width: auto;\n max-height: 520px;\n margin-top: 18px;\n transform: scale(0);\n transform-style: preserve-3d;\n transform-origin: center 40%;\n animation: ${(props) =>\n props.isVisible ? 'headerPopInF 1.8s forwards 1s' : 'none'};\n }\n`\n\nconst Boy = styled.img`\n position: relative;\n z-index: 5;\n transform-style: preserve-3d;\n @media screen and (min-width: 1024px) {\n width: auto;\n max-height: 520px;\n transform: scale(0);\n transform-origin: 20% 40%;\n animation: ${(props) =>\n props.isVisible ? 'headerPopInF 1.8s forwards 1.8s' : 'none'};\n }\n`\nconst CirclesContainerRight = styled.div`\n position: absolute;\n width: 20%;\n height: 20%;\n top: 16%;\n left: 56%;\n transform-style: preserve-3d;\n animation: floatF 8s ease infinite 3s;\n @media (min-width: 1024px) {\n width: 20%;\n height: 14%;\n right: 42%;\n left: auto;\n }\n`\n\nconst CirclesContainerLeft = styled(CirclesContainerRight)`\n top: 20%;\n left: 15%;\n z-index: 5;\n @media (min-width: 1024px) {\n top: 20%;\n left: 12%;\n }\n`\ninterface CircleProp {\n width?: number\n border?: number\n top?: number\n isVisible?: boolean\n delay?: number\n left?: number\n right?: number\n}\nconst CircleSmall1 = styled.div`\n width: ${(props) => (props.width ? props.width : 30)}px;\n height: ${(props) => (props.width ? props.width : 30)}px;\n border: ${(props) => (props.border ? props.border : 8)}px solid\n ${theme.brand.blue};\n border-radius: 50%;\n position: absolute;\n transform: scale(0) perspective(200px) translateZ(50px);\n transition: all ease;\n animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n top: ${(props) => (props.top ? props.top : 30)}%;\n left: ${(props) => (props.left ? props.left : 30)}%;\n animation: ${(props) =>\n props.isVisible\n ? ` floatCirclesLeftMob ${\n props.delay && props.delay + 2\n }s cubic-bezier(0, 0.55, 0.45, 1) infinite ${\n props.delay && props.delay + 3\n }s`\n : 'none'};\n z-index: 3;\n @media (min-width: 1024px) {\n animation: ${(props) =>\n props.isVisible\n ? ` floatCirclesLeft ${\n props.delay && props.delay + 4\n }s cubic-bezier(0, 0.55, 0.45, 1) infinite ${\n props.delay && props.delay + 3\n }s`\n : 'none'};\n transition: all cubic-bezier(0, 0.55, 0.45, 1);\n }\n`\n\nconst CircleSmall2 = styled(CircleSmall1)`\n right: ${(props) => (props.right ? props.right : 30)}%;\n animation: ${(props) =>\n props.isVisible\n ? ` floatCirclesRightMob ${\n props.delay && props.delay + 2\n }s ease infinite ${props.delay && props.delay + 1.5}s`\n : 'none'};\n left: auto;\n @media (min-width: 1024px) {\n animation: ${(props) =>\n props.isVisible\n ? ` floatCirclesRight ${\n props.delay && props.delay + 4\n }s cubic-bezier(0, 0.55, 0.45, 1) infinite ${\n props.delay && props.delay + 1.5\n }s`\n : 'none'};\n }\n`\n\nconst LineLeft1 = styled.img`\n position: relative;\n animation: ${(props) =>\n props.isVisible ? 'linesSound1 2.5s ease infinite 3.5s' : 'none'};\n transform-origin: bottom left;\n transition: transform ease 0.2s;\n width: 100%;\n z-index: 5;\n position: absolute;\n left: 0;\n transform: scale(0);\n width: auto;\n max-height: 520px;\n`\n\nconst LineLeft4 = styled(LineLeft1)`\n animation: ${(props) =>\n props.isVisible ? 'linesSound1 2s ease infinite 3s' : 'none'};\n transform-origin: bottom right;\n`\n\nconst BigCircle = styled.div`\n width: 50vw;\n height: 50vw;\n border: 6vw solid ${theme.brand.blue};\n opacity: 0.4;\n border-radius: 50%;\n transform: scale(0);\n position: relative;\n top: 0;\n transform-style: preserve-3d;\n animation: ${(props) => (props.isVisible ? 'scaleInCircle' : 'none')} 1.8s\n cubic-bezier(0.33, 1, 0.68, 1) forwards 0.2s;\n @media screen and (min-width: 1024px) {\n top: 0px;\n max-height: 340px;\n max-width: 340px;\n margin: 0 auto;\n border: 60px solid ${theme.brand.blue};\n }\n`\n\nconst MobileImageContainer = styled.div`\n height: auto;\n min-height: 300px;\n margin: 0 auto;\n @media screen and (min-width: 1024px) {\n display: none;\n }\n`\nconst MobileImage = styled.img`\n display: block;\n margin: 0 auto;\n\n @media screen and (min-width: 1024px) {\n display: none;\n }\n`\nconst CirclesContainerRightMob = styled(CirclesContainerRight)`\n height: 12%;\n width: 12%;\n top: 20vw;\n left: 67%;\n\n @media (min-width: 1024px) {\n display: none;\n }\n`\nconst CirclesContainerLeftMob = styled(CirclesContainerLeft)`\n top: 20vw;\n left: 15%;\n height: 12%;\n width: 12%;\n\n @media (min-width: 1024px) {\n display: none;\n }\n`\n","import React, { FunctionComponent, useState } from 'react'\nimport Helmet from 'react-helmet'\nimport Navigation from './shared/Navigation'\nimport Footer from './shared/Footer/Footer'\nimport './all.sass'\nimport './styling/layout.scss'\nimport Theme from './StyledComponents/Theme'\nimport GlobalStyles from './StyledComponents/GlobalStyles'\nimport CookieConsent, { Cookies } from 'react-cookie-consent'\nimport { appendUrlPartnerTracking } from '../util/url'\nimport { graphql, Link, useStaticQuery } from 'gatsby'\nimport PromotionBanner from './PromotionBanner'\nimport TrackVisibility from 'react-on-screen'\nimport PromotionBannerAnimation from './PromotionBannerAnimation'\n\nconst TemplateWrapper: FunctionComponent = ({ children }) => {\n const Menus = useStaticQuery(graphql`\n {\n allWpMenu {\n edges {\n node {\n name\n menuItems {\n nodes {\n label\n parentId\n id\n url\n }\n }\n }\n }\n }\n wpPage(title: { eq: \"Footer Banner\" }) {\n banner_info {\n body\n button1Text\n button2Text\n button2Url\n heading\n button1Url\n }\n }\n }\n `)\n let filteredMenus = []\n Menus.allWpMenu.edges.map((menu, i) => {\n menu.node.menuItems.nodes.map((menuitem, ii) => {\n if (menuitem.url.includes('/services/')) {\n let urlToReplace = menuitem.url.replace('/services/', '/')\n menuitem.url = urlToReplace\n }\n if (menuitem.url.includes('/standalone/')) {\n let urlToReplace = menuitem.url.replace('/standalone/', '/')\n menuitem.url = urlToReplace\n }\n if (menuitem.url.includes('/product/')) {\n let urlToReplace = menuitem.url.replace('/product/', '/products/')\n menuitem.url = urlToReplace\n }\n })\n filteredMenus.push(menu)\n })\n\n const flatListToHierarchical = (\n data = [],\n { idKey = 'id', parentKey = 'parentId', childrenKey = 'children' } = {}\n ) => {\n const tree = []\n const childrenOf = {}\n data.forEach((item) => {\n const newItem = { ...item }\n const { [idKey]: id, [parentKey]: parentId = 0 } = newItem\n childrenOf[id] = childrenOf[id] || []\n newItem[childrenKey] = childrenOf[id]\n parentId\n ? (childrenOf[parentId] = childrenOf[parentId] || []).push(newItem)\n : tree.push(newItem)\n })\n return tree\n }\n\n let topNav\n let mainNav\n let footerNav\n\n filteredMenus.map((menu, i) => {\n if (menu.node.name == 'Top Menu') {\n topNav = flatListToHierarchical(menu.node.menuItems.nodes)\n }\n if (menu.node.name == 'Main Menu') {\n mainNav = flatListToHierarchical(menu.node.menuItems.nodes)\n }\n if (menu.node.name == 'Footer Links') {\n footerNav = flatListToHierarchical(menu.node.menuItems.nodes)\n }\n })\n\n // if(filteredMenus[0].node.name ==\"Top Menu\"){\n // topNav = flatListToHierarchical(filteredMenus[0].node.menuItems.nodes);\n // mainNav = flatListToHierarchical(filteredMenus[1].node.menuItems.nodes);\n // }\n // else{\n // topNav = flatListToHierarchical(filteredMenus[1].node.menuItems.nodes);\n // mainNav = flatListToHierarchical(filteredMenus[0].node.menuItems.nodes);\n\n // }\n\n const mobileNav = mainNav.concat(topNav)\n\n const dataPromotionBannerAnimation = {\n heading: Menus.wpPage.banner_info.heading,\n body: Menus.wpPage.banner_info.body,\n btnUrl1: Menus.wpPage.banner_info.button1Url,\n btnTitle1: Menus.wpPage.banner_info.button1Text,\n btnUrl2: Menus.wpPage.banner_info.button2Url,\n btnTitle2: Menus.wpPage.banner_info.button2Text,\n }\n\n function eraseCookie(name: string) {\n document.cookie = name + '=; Max-Age=0'\n }\n\n const text = 'This website uses cookies.'\n //console.log(Cookies.get() )\n return (\n
\n \n \n \n
\n \n
\n\n {children}\n \n \n \n
\n )\n}\n\nexport default TemplateWrapper\n"],"sourceRoot":""}