{"version":3,"sources":["webpack:///./node_modules/react-scroll/modules/mixins/smooth.js","webpack:///./src/components/WistiaEmbed.js","webpack:///./src/components/updategrid.js","webpack:///./src/components/wlgrid.js","webpack:///./src/components/projectsgrid.js","webpack:///./src/components/podgrid.js","webpack:///./src/components/eventgrid.js","webpack:///./src/components/servicesgrid.js","webpack:///./src/components/contactgrid.js","webpack:///./src/components/videogrid.js","webpack:///./src/components/sitegrid.js","webpack:///./src/components/cardgrid.js","webpack:///./src/images/aecom_logo_black.svg","webpack:///./node_modules/body-scroll-lock/lib/bodyScrollLock.esm.js","webpack:///./node_modules/react-scroll/modules/mixins/Helpers.js","webpack:///./node_modules/react-scroll/modules/components/Button.js","webpack:///./node_modules/react-scroll/modules/mixins/cancel-events.js","webpack:///./src/actions/index.js","webpack:///./node_modules/react-sticky/lib/Container.js","webpack:///./src/images/video-01.svg","webpack:///./node_modules/react-scroll/modules/mixins/scroll-hash.js","webpack:///./src/components/articlegrid.js","webpack:///./node_modules/react-sticky/lib/Sticky.js","webpack:///./node_modules/react-scroll/modules/mixins/animate-scroll.js","webpack:///./node_modules/react-scroll/modules/components/Link.js","webpack:///./src/images/home-01.svg","webpack:///./node_modules/react-scroll/modules/mixins/passive-event-listeners.js","webpack:///./node_modules/react-scroll/modules/mixins/scroll-events.js","webpack:///./src/components/nav.js","webpack:///./src/actions/jsonpAdapter.js","webpack:///./node_modules/react-scroll/modules/components/Element.js","webpack:///./node_modules/react-sticky/lib/index.js","webpack:///./node_modules/performance-now/lib/performance-now.js","webpack:///./src/images/aecom_logo_white.svg","webpack:///./node_modules/lodash.throttle/index.js","webpack:///./src/components/linkedInEventPixel.js","webpack:///./src/components/contact_article.js","webpack:///./src/components/FormErrors.js","webpack:///./node_modules/react-scroll/modules/index.js","webpack:///./src/images/linkedin.svg","webpack:///./node_modules/react-scroll/modules/mixins/scroll-link.js","webpack:///./node_modules/react-scroll/modules/mixins/scroll-element.js","webpack:///./node_modules/react-scroll/modules/mixins/scroll-spy.js","webpack:///./node_modules/raf/index.js","webpack:///./node_modules/react-scroll/modules/mixins/utils.js","webpack:///./node_modules/react-scroll/modules/mixins/scroller.js"],"names":["Object","defineProperty","exports","value","defaultEasing","x","Math","pow","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","WistiaEmbed","props","hashedId","embedOptions","window","_wq","push","id","options","render","this","className","style","padding","position","height","left","top","width","componentDidMount","document","getElementById","wistiaScript","createElement","type","src","async","body","appendChild","onEmbedded","video","handle","componentWillUnmount","remove","Component","UpdateGrid","returnImage","bind","layoutContents","React","createRef","image","reverse","class","backgroundColor","MainColour","borderColor","color","textColor","to","data","slug","title","EventGrid","transitionCover","childImageSharp","fluid","undefined","Tag","TileTextColor","href","author","background","backgroundSize","WebkitBackgroundSize","MozBackgroundSize","OBackgroundSize","backgroundPosition","backgroundRepeat","ProjectGrid","PodGrid","TileBackgroundColor","TileBordercolor","connect","state","pods","sub_message","target","LinkedIn","CardGrid","secondColor","module","_toConsumableArray","arr","Array","isArray","i","arr2","length","from","hasPassiveEvents","passiveTestOptions","addEventListener","removeEventListener","isIosDevice","navigator","platform","test","maxTouchPoints","locks","documentListenerAdded","initialClientY","previousBodyOverflowSetting","previousBodyPaddingRight","allowTouchMove","el","some","lock","preventDefault","rawEvent","e","event","touches","restoreOverflowSetting","setTimeout","paddingRight","overflow","disableBodyScroll","targetElement","console","error","concat","ontouchstart","targetTouches","clientY","ontouchmove","scrollTop","scrollHeight","clientHeight","isTargetElementTotallyScrolled","stopPropagation","handleScroll","passive","_reserveScrollBarGap","reserveScrollBarGap","scrollBarGap","innerWidth","documentElement","clientWidth","setOverflowHidden","_lock","enableBodyScroll","filter","_extends","assign","arguments","source","key","prototype","hasOwnProperty","call","_createClass","defineProperties","descriptor","enumerable","configurable","writable","Constructor","protoProps","staticProps","_classCallCheck","instance","TypeError","_possibleConstructorReturn","self","ReferenceError","_inherits","subClass","superClass","create","constructor","setPrototypeOf","__proto__","scrollSpy","defaultScroller","PropTypes","scrollHash","protoTypes","string","isRequired","containerId","container","object","activeClass","spy","bool","smooth","oneOfType","offset","number","delay","isDynamic","onClick","func","duration","absolute","onSetActive","onSetInactive","ignoreCancelEvents","hashSpy","Helpers","Scroll","customScroller","warn","scroller","_React$Component","_this","getPrototypeOf","_initialiseProps","active","nodeType","scrollSpyContainer","getScrollSpyContainer","isMounted","mount","mapContainer","addStateHandler","stateHandler","addSpyHandler","spyHandler","setState","unmount","trim","prop","handleClick","_this2","scrollTo","getActiveLink","y","isInitialized","element","elemTopBound","elemBottomBound","containerTop","getBoundingClientRect","get","cords","offsetY","isInside","floor","isOutside","activeLink","setActiveLink","getHash","changeHash","updateStates","propTypes","defaultProps","Element","_React$Component2","_this3","childBindings","domNode","registerElems","name","prevProps","unregister","register","parentBindings","_react2","_interopRequireDefault","_scrollLink2","obj","__esModule","ButtonElement","apply","children","_passiveEventListeners","events","subscribe","cancelEvent","forEach","addPassiveEventListener","WLEndPoint","getArticle","dispatch","axios","then","response","payload","catch","getPodcasts","url","getWL","IDQuery","ID","setSections","sections","site","subsite","_react","_propTypes2","_raf2","Container","_PureComponent","_ref","_temp","_len","args","_key","subscribers","rafHandle","handler","unsubscribe","current","notifySubscribers","evt","framePending","currentTarget","_this$node$getBoundin","node","bottom","distanceFromTop","distanceFromBottom","eventSource","getParent","cancel","_this4","ref","onScroll","onTouchStart","onTouchMove","onTouchEnd","PureComponent","childContextTypes","_utils","_utils2","mountFlag","initialized","containers","handleHashChange","initStateFromHash","hash","isInit","pushHash","ArticleGrid","_reactDom2","Sticky","_Component","isSticky","wasSticky","handleContainerEvent","_ref2","parent","context","preventingStickyStateChanges","relative","offsetTop","placeholder","placeholderClientRect","calculatedHeight","content","bottomDifference","bottomOffset","topOffset","offsetParent","disableHardwareAcceleration","transform","paddingBottom","disableCompensation","cloneElement","findDOMNode","contextTypes","_smooth2","_cancelEvents2","_scrollEvents2","getAnimationType","requestAnimationFrameHelper","requestAnimationFrame","webkitRequestAnimationFrame","currentWindowProperties","callback","Date","getTime","currentPositionX","containerElement","scrollLeft","supportPageOffset","pageXOffset","isCSS1Compat","compatMode","currentPositionY","pageYOffset","animateScroll","easing","timestamp","delta","round","targetPosition","startPosition","start","progress","percent","currentPosition","ceil","horizontal","easedAnimate","registered","setContainer","animateTopScroll","scrollOffset","delayTimeout","clearTimeout","isNaN","parseFloat","proceedOptions","scrollToTop","scrollToBottom","scrollWidth","offsetWidth","html","max","scrollContainerWidth","offsetHeight","scrollContainerHeight","toPosition","scrollMore","LinkElement","eventName","listener","supportsPassiveOption","opts","removePassiveEventListener","Events","scrollEvent","evtName","Nav","menuClick","globalToggle","menuOpen","globalOpen","subsections","location","pathname","withPrefix","subSite","version","viewBox","textColour","d","site_name","map","index","hide_from_menu","handleShow","Title","HomeImage","withLocation","buildParams","params","result","encodeURIComponent","join","config","Promise","resolve","reject","script","indexOf","jsonp","old","isAbort","responseData","status","additionalParams","_","callbackParamName","onload","onreadystatechange","readyState","parentNode","removeChild","cancelToken","promise","head","_scrollElement2","ElementWrapper","newProps","StickyContainer","_Sticky2","_Container2","getNanoSeconds","hrtime","loadTime","moduleLoadTime","nodeLoadTime","upTime","performance","now","process","hr","uptime","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","global","freeSelf","root","Function","objectToString","toString","nativeMax","nativeMin","min","debounce","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","thisArg","leadingEdge","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","remainingWait","debounced","isInvoking","toNumber","isObject","flush","isObjectLike","isSymbol","other","valueOf","replace","isBinary","slice","LinkedInEventPixel","makeString","pId","conversionId","converted","alt","Contact","_isMounted","handleUserInput","Fieldname","checked","validateField","thanks","email","firstName","secondName","JobTitle","softoptin","company","formErrors","Download","DownloadImage","DownloadMessage","FirstPartyDownload","emailValid","firstNameValid","secondNameValid","companyValid","formValid","processing","downloaded","stopfixed","contactPage","sideScroll","handleChange","handleDownload","handleSubmit","MobileContact","ContactEl","validateForm","JobTitleValid","errorClass","Converted","AltDownload","download","publicURL","download_preview","download_targeted","JSON","parse","localStorage","getItem","AltImage","altTitle","altMessage","BypassForm","QueryString","search","utm_term","scroll","handleFrameTasks","h","b","st","sh","fieldName","fieldValidationErrors","match","Encoded","keys","k","postForm","Source","open","gtag","pardot_form","method","adapter","jsonpAdapter","jsonpCallback","setItem","stringify","autoComplete","htmlFor","required","onChange","onBlur","FormErrors","field","secondTextColour","disabled","StrapiImage","imageInfo","Linkedin_pixel_id","Linkedin_conversion_id","ScrollElement","ScrollLink","Button","Link","_Link2","_Button2","_Element2","_scroller2","_scrollSpy2","_animateScroll2","_Helpers2","_scrollHash2","_React$PureComponent","elemLeftBound","elemRightBound","containerLeft","offsetX","_cords","_lodash","_lodash2","spyCallbacks","spySetState","scrollSpyContainers","eventHandler","eventThrottler","scrollHandler","c","s","splice","update","vendors","suffix","raf","caf","last","queue","_now","next","cp","cancelled","fn","polyfill","cancelAnimationFrame","history","pushState","loc","filterElementInContainer","contains","compareDocumentPosition","t","scrollX","getComputedStyle","offsetLeft","scrollY","__mapped","__activeLink","getElementsByName","getElementsByClassName","link"],"mappings":"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","file":"359b61b7ea510eee018c58bd757b3b0acbc749e6-7009b451f228c5fa0119.js","sourcesContent":["\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = {\n /*\r\n * https://github.com/oblador/angular-scroll (duScrollDefaultEasing)\r\n */\n defaultEasing: function defaultEasing(x) {\n if (x < 0.5) {\n return Math.pow(x * 2, 2) / 2;\n }\n\n return 1 - Math.pow((1 - x) * 2, 2) / 2;\n },\n\n /*\r\n * https://gist.github.com/gre/1650294\r\n */\n // no easing, no acceleration\n linear: function linear(x) {\n return x;\n },\n // accelerating from zero velocity\n easeInQuad: function easeInQuad(x) {\n return x * x;\n },\n // decelerating to zero velocity\n easeOutQuad: function easeOutQuad(x) {\n return x * (2 - x);\n },\n // acceleration until halfway, then deceleration\n easeInOutQuad: function easeInOutQuad(x) {\n return x < .5 ? 2 * x * x : -1 + (4 - 2 * x) * x;\n },\n // accelerating from zero velocity \n easeInCubic: function easeInCubic(x) {\n return x * x * x;\n },\n // decelerating to zero velocity π\n easeOutCubic: function easeOutCubic(x) {\n return --x * x * x + 1;\n },\n // acceleration until halfway, then deceleration \n easeInOutCubic: function easeInOutCubic(x) {\n return x < .5 ? 4 * x * x * x : (x - 1) * (2 * x - 2) * (2 * x - 2) + 1;\n },\n // accelerating from zero velocity \n easeInQuart: function easeInQuart(x) {\n return x * x * x * x;\n },\n // decelerating to zero velocity \n easeOutQuart: function easeOutQuart(x) {\n return 1 - --x * x * x * x;\n },\n // acceleration until halfway, then deceleration\n easeInOutQuart: function easeInOutQuart(x) {\n return x < .5 ? 8 * x * x * x * x : 1 - 8 * --x * x * x * x;\n },\n // accelerating from zero velocity\n easeInQuint: function easeInQuint(x) {\n return x * x * x * x * x;\n },\n // decelerating to zero velocity\n easeOutQuint: function easeOutQuint(x) {\n return 1 + --x * x * x * x * x;\n },\n // acceleration until halfway, then deceleration \n easeInOutQuint: function easeInOutQuint(x) {\n return x < .5 ? 16 * x * x * x * x * x : 1 + 16 * --x * x * x * x * x;\n }\n};","import React, { Component } from 'react';\n\nclass WistiaEmbed extends Component {\n constructor(props) {\n super(props);\n const { hashedId, ...embedOptions } = { ...this.props }\n if (typeof window !== 'undefined') {\n window._wq = window._wq || [];\n window._wq.push({\n id: hashedId,\n options: embedOptions\n });\n }\n }\n\n render() {\nif(this.props.hashedId === \"\"){\n return (\n
\n
\n )\n}else{\n\n\n\n return (\n
\n
\n
 
\n
\n
\n )\n }\n}\n\n componentDidMount() {\n if (typeof window !== 'undefined') {\n if (!document.getElementById(\"wistia_script\")) {\n var wistiaScript = document.createElement(\"script\");\n wistiaScript.id = \"wistia_script\"\n wistiaScript.type = \"text/javascript\"\n wistiaScript.src = \"https://fast.wistia.com/assets/external/E-v1.js\"\n wistiaScript.async = true\n document.body.appendChild(wistiaScript);\n }\n\n window._wq = window._wq || [];\n window._wq.push({\n id: this.props.hashedId,\n onEmbedded: (video) => {\n this.handle = video;\n }\n });\n }\n }\n\n componentWillUnmount() {\n this.handle && this.handle.remove();\n }\n}\n\nexport default WistiaEmbed\n","import React, { Component } from 'react'\n\nimport ReactMarkdown from \"react-markdown\"\n\nimport {Link} from 'gatsby'\nimport BackgroundImage from 'gatsby-background-image'\n\n\n\nclass UpdateGrid extends Component {\n constructor(props) {\n super(props)\n\n\n this.returnImage = this.returnImage.bind(this)\n\n this.layoutContents = React.createRef()\n\n }\n\n\n returnImage(image){\n\n return ([\nimage,\n`linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.8))`\n].reverse()\n)\n\n }\n\n render() {\n\n\n\n\n return (\n\n
  • \n\n
    \n
    \n
    \n\n
    \n
    \n
    \n

    \n {this.props.data.title}\n \n\n

    \n
    \n
    \n {this.props.data.title}\n
    \n
    \n \n
    \n
    \n\n
  • \n\n\n\n\n\n )\n\n\n}\n}\n\nexport default UpdateGrid;\n","import React, { Component } from 'react'\nimport ReactMarkdown from \"react-markdown\"\n\nimport {Link} from 'gatsby'\nimport BackgroundImage from 'gatsby-background-image'\n\n\nclass EventGrid extends Component {\n constructor(props) {\n super(props)\n\n\n\n this.layoutContents = React.createRef()\n this.transitionCover = React.createRef()\n }\n\n\n returnImage(image){\n\nif(image === null || image === undefined ){\nreturn ([\n`backgroundColor:white;`\n].reverse()\n)\n}else{\nreturn ([\nimage.childImageSharp.fluid,\n `linear-gradient(60deg, rgba(0,0,0,0.7) 31%, rgba(0,0,0,0.3169642857142857) 77%)`\n].reverse()\n)\n}\n}\n\n\n\n render() {\n\n\n return (\n\n
  • \n\n
    \n {this.props.data.image !== undefined ? (\n \n
    \n\n
    \n
    \n
    \n

    \n \n {this.props.data.title}\n \n

    \n
    \n
    \n {this.props.data.author}\n
    \n
    \n \n\n
    \n ):(\n
    \n
    \n\n
    \n
    \n
    \n

    \n \n {this.props.data.title}\n \n

    \n
    \n
    \n {this.props.data.author}\n
    \n
    \n \n\n
    \n\n )}\n\n\n
    \n\n
  • \n )\n\n\n}\n}\n\nexport default EventGrid;\n","import React, { Component } from 'react'\n\nimport ReactMarkdown from \"react-markdown\"\n\n\nimport {Link} from 'gatsby'\nimport BackgroundImage from 'gatsby-background-image'\n\n\n\nclass ProjectGrid extends Component {\n constructor(props) {\n super(props)\n\n\n\n this.layoutContents = React.createRef()\n\n }\n\n\n\n returnImage(image){\n\nif(image === null || image === undefined ){\nreturn ([\n`backgroundColor:white;`\n].reverse()\n)\n}else{\nreturn ([\nimage.childImageSharp.fluid,\n `linear-gradient(60deg, rgba(0,0,0,0.7) 31%, rgba(0,0,0,0.3169642857142857) 77%)`\n].reverse()\n)\n}\n}\n\n render() {\n\n\n\n\n\n return (\n\n
  • \n\n
    \n \n\n
    \n\n
    \n
    \n
    \n

    \n \n {this.props.data.title}\n \n

    \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n\n
  • \n\n\n )\n\n\n}\n}\n\nexport default ProjectGrid;\n","import React, { Component } from 'react'\nimport ReactMarkdown from \"react-markdown\"\nimport { connect } from 'react-redux';\nimport {Link} from 'gatsby'\n\n\nclass PodGrid extends Component {\n constructor(props) {\n super(props)\n\n\n this.layoutContents = React.createRef()\n }\n\n render() {\n\n\n\n\nreturn(\n\n\n
  • \n\n\n\n
    \n
    \n
    \n\n
    \n
    \n
    \n

    \n {this.props.data.title}\n

    \n
    \n
    \n
    Listen
    \n
    \n
    \n\n\n \n
    \n
    \n\n
  • \n\n )\n\n\n}\n}\n\n\nfunction mapStateToProps(state) {\n return {\n pods: state.pods\n };\n}\n\nexport default connect(mapStateToProps)(PodGrid);\n","import React, { Component } from 'react'\n\nimport ReactMarkdown from \"react-markdown\"\n\nimport {Link} from 'gatsby'\n\n\nclass EventGrid extends Component {\n constructor(props) {\n super(props)\n\n\n\n this.layoutContents = React.createRef()\n this.transitionCover = React.createRef()\n }\n\n\n render() {\n return (\n\n
  • \n\n
    \n
    \n
    \n\n
    \n
    \n
    \n

    \n {this.props.data.title}\n \n\n

    \n
    \n
    \n {this.props.data.author}\n {this.props.data.sub_message}\n\n
    \n
    \n \n
    \n
    \n\n
  • \n\n\n )\n\n\n}\n}\n\nexport default EventGrid;\n","import React, { Component } from 'react'\nimport ReactMarkdown from \"react-markdown\"\nimport {Link} from 'gatsby'\n\n\nclass EventGrid extends Component {\n constructor(props) {\n super(props)\n\n\n\n this.layoutContents = React.createRef()\n this.transitionCover = React.createRef()\n }\n\n render() {\n\n return (\n
  • \n\n
    \n
    \n
    \n\n
    \n
    \n
    \n

    \n\n {this.props.data.title}\n\n

    \n
    \n
    \n {this.props.data.title}\n
    \n
    \n \n
    \n
    \n\n
  • \n\n\n\n )\n\n\n}\n}\n\nexport default EventGrid;\n","import React, { Component } from 'react'\nimport ReactMarkdown from \"react-markdown\"\n\n\nimport {Link} from 'gatsby'\nimport BackgroundImage from 'gatsby-background-image'\nimport LinkedIn from \"../images/linkedin.svg\"\n\n\n\nclass ProjectGrid extends Component {\n constructor(props) {\n super(props)\n\n this.returnImage = this.returnImage.bind(this)\n\n this.layoutContents = React.createRef()\n }\n\n returnImage(image){\nif(image !== null){\n return ([\nimage.childImageSharp.fluid,\n`linear-gradient(${this.props.data.TileBackgroundColor}, ${this.props.data.TileBordercolor})`\n].reverse()\n)\n}else{\n return ([\n`linear-gradient(${this.props.data.TileBackgroundColor}, ${this.props.data.TileBordercolor})`\n].reverse()\n)\n}\n }\n\n render() {\n\n\n\n\n\n return (\n\n
  • \n\n
    \n \n\n
    \n\n
    \n
    \n
    \n

    \n \n {this.props.data.title}\n \n

    \n
    \n
    \n {this.props.data.author}\n
    \n\n
    \n \n \n\n \n
    \n
    \n\n
  • \n\n\n )\n\n\n}\n}\n\nexport default ProjectGrid;\n","import React, { Component } from 'react'\n\nimport ReactMarkdown from \"react-markdown\"\n\n\nimport {Link} from 'gatsby'\nimport BackgroundImage from 'gatsby-background-image'\nimport Video from \"./WistiaEmbed.js\"\nimport VideoIcon from \"../images/video-01.svg\"\nimport { disableBodyScroll, enableBodyScroll, clearAllBodyScrollLocks } from 'body-scroll-lock';\n\n\n\nclass ProjectGrid extends Component {\n constructor(props) {\n super(props)\n\n this.state = {\n Modal:false\n };\n\n this.targetRef = React.createRef();\n this.targetElement = null;\n\n\n this.returnImage = this.returnImage.bind(this)\n\n this.layoutContents = React.createRef()\n\n }\n\n\n ModalShow = (event) => {\n\n if(this.state.Modal){\n this.setState({ Modal: false });\n enableBodyScroll(this.targetElement);\n\n}else{\n this.setState({ Modal: true });\n disableBodyScroll(this.targetElement);\n}\n};\n\n\n returnImage(image){\n\n return ([\nimage,\n`linear-gradient(${this.props.data.TileBackgroundColor}, ${this.props.data.TileBordercolor})`\n].reverse()\n)\n\n }\n\n render() {\n\n\n\n\n\n return (\n<>\n
  • \n\n
    \n \n\n
    \n\n
    \n
    \n
    \n

    \n \n {this.props.data.title}\n \n

    \n
    \n
    \n\n
    \n
    \n
    \n\n
    \n
    \n\n
  • \n {this.state.Modal ?\n <>\n
    \n
    \n
    \n :<>\n }\n \n\n\n )\n\n\n}\n}\n\nexport default ProjectGrid;\n","import React, { Component } from 'react'\nimport ReactMarkdown from \"react-markdown\"\n\nimport {Link} from 'gatsby'\nimport BackgroundImage from 'gatsby-background-image'\n\n\nclass EventGrid extends Component {\n constructor(props) {\n super(props)\n\n\n\n this.layoutContents = React.createRef()\n this.transitionCover = React.createRef()\n }\n\n\n returnImage(image){\n return ([\nimage.childImageSharp.fluid,\n`linear-gradient(${this.props.data.TileBackgroundColor}, ${this.props.data.TileBackgroundColor})`\n].reverse()\n)\n\n }\n\n render() {\n\n\n\n return (\n\n
  • \n\n
    \n {this.props.data.image !== null ? (\n \n
    \n\n
    \n
    \n
    \n

    \n \n {this.props.data.title}\n \n

    \n
    \n
    \n {this.props.data.author}\n
    \n
    \n \n\n
    \n ):(\n
    \n
    \n\n
    \n
    \n
    \n

    \n \n {this.props.data.title}\n \n

    \n
    \n
    \n {this.props.data.author}\n
    \n
    \n \n\n
    \n\n )}\n\n\n
    \n\n
  • \n )\n\n\n}\n}\n\nexport default EventGrid;\n","import React from 'react';\nimport ArticleGrid from \"./articlegrid.js\"\n\nimport UpdateGrid from \"./updategrid.js\"\nimport WLGrid from \"./wlgrid.js\"\nimport ProjectsGrid from \"./projectsgrid.js\"\nimport PodGrid from \"./podgrid.js\"\nimport EventGrid from \"./eventgrid.js\"\nimport ServiceGrid from \"./servicesgrid.js\"\nimport ContactGrid from \"./contactgrid.js\"\nimport VideoGrid from \"./videogrid.js\"\nimport SiteGrid from \"./sitegrid.js\"\n\nconst CardGrid = props => {\n if(props.data.type === \"WL\" || props.data.type === \"article\"){\n return()\n }else if(props.data.type === \"Project\"){\n return()\n }else if(props.data.type === \"report\"){\n return()\n }else if(props.data.type === \"update\"){\n return()\n }else if(props.data.type === \"Podcast\"){\n return()\n }else if(props.data.type === \"Event\"){\n return()\n }else if(props.data.type === \"Service\"){\n return()\n }else if(props.data.type === \"Contacts\"){\n return()\n }else if(props.data.type === \"microsite\"){\n return()\n }\n else{\n return(<>)\n }\n // if(props.data.projects !== null){\n // return()\n // }\n // if(props.data.services !== null){\n // return()\n // }\n\n\n\n}\n\nexport default CardGrid;\n","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxMzUgMjguNyIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTM1IDI4Ljc7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPGc+Cgk8cGF0aCBkPSJNMTIzLjEsMjguMWwwLjEtMTYuMmwtOC4xLDE2LjJoLTMuNUwxMDguNywxMkwxMDQsMjguMWgtNi45bDguNi0yNy42aDYuMmwzLjIsMTUuNmw4LTE1LjZoNi4ybDAuNSwyNy42SDEyMy4xeiBNOTIuNywxNS4zCgkJYzEtNC43LTAuNy04LjMtNC4zLTljLTMuOS0wLjgtNy40LDIuMi04LjUsNy4xYy0xLDQuNywwLjcsOC4zLDQuMyw5Qzg4LjEsMjMuMiw5MS42LDIwLjIsOTIuNywxNS4zIE04OC4xLDAuMQoJCWM3LjQsMC41LDEyLDYuNSwxMS4xLDE0LjZjLTAuOSw4LjMtNy41LDE0LjQtMTUuMSwxMy45Qzc2LjgsMjgsNzIuMiwyMiw3MywxNEM3My45LDUuNyw4MC42LTAuNSw4OC4xLDAuMSBNNzAuNiwyNy43CgkJYy0xLjgsMC45LTQuOCwxLTYuMSwxYy03LjgsMC0xMy01LjctMTIuOC0xMy43QzUyLDYuNiw1OC41LDAsNjYuNSwwYzIuOSwwLDUuMiwwLjcsNy45LDIuM2wtMS4zLDYuNmMtMS44LTEuNS0zLjgtMi4zLTYuMS0yLjMKCQljLTQuOCwwLTguMywzLjQtOC41LDhDNTguNCwxOSw2MS4yLDIyLDY1LjYsMjJjMS40LDAsNC4xLTAuMSw2LTFMNzAuNiwyNy43eiBNNDguNSwxNy42SDMxLjRsMS02LjRoMTcuMUw0OC41LDE3LjZ6IE01Mi40LDdIMzMKCQlsMS02LjRoMTkuNEw1Mi40LDd6IE01MC4yLDIxLjdIMzAuOGwtMSw2LjRoMTkuNEw1MC4yLDIxLjd6IE0xNC43LDE2LjdsNC05LjZoMC4xbDIsOS42SDE0Ljd6IE0yMy4zLDI4LjFoNi42TDIzLjUsMC41SDE2TDMsMjguMQoJCWg2LjlsMi4zLTUuNGg5LjlMMjMuMywyOC4xeiIvPgo8L2c+Cjwvc3ZnPgo=\"","import \"core-js/modules/es6.array.filter\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.array.some\";\nimport \"core-js/modules/es6.string.iterator\";\nimport \"core-js/modules/es6.array.from\";\nimport \"core-js/modules/es6.array.is-array\";\n\nfunction _toConsumableArray(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n} // Older browsers don't support event options, feature detect it.\n// Adopted and modified solution from Bohdan Didukh (2017)\n// https://stackoverflow.com/questions/41594997/ios-10-safari-prevent-scrolling-behind-a-fixed-overlay-and-maintain-scroll-posi\n\n\nvar hasPassiveEvents = false;\n\nif (typeof window !== 'undefined') {\n var passiveTestOptions = {\n get passive() {\n hasPassiveEvents = true;\n return undefined;\n }\n\n };\n window.addEventListener('testPassive', null, passiveTestOptions);\n window.removeEventListener('testPassive', null, passiveTestOptions);\n}\n\nvar isIosDevice = typeof window !== 'undefined' && window.navigator && window.navigator.platform && (/iP(ad|hone|od)/.test(window.navigator.platform) || window.navigator.platform === 'MacIntel' && window.navigator.maxTouchPoints > 1);\nvar locks = [];\nvar documentListenerAdded = false;\nvar initialClientY = -1;\nvar previousBodyOverflowSetting = void 0;\nvar previousBodyPaddingRight = void 0; // returns true if `el` should be allowed to receive touchmove events.\n\nvar allowTouchMove = function allowTouchMove(el) {\n return locks.some(function (lock) {\n if (lock.options.allowTouchMove && lock.options.allowTouchMove(el)) {\n return true;\n }\n\n return false;\n });\n};\n\nvar preventDefault = function preventDefault(rawEvent) {\n var e = rawEvent || window.event; // For the case whereby consumers adds a touchmove event listener to document.\n // Recall that we do document.addEventListener('touchmove', preventDefault, { passive: false })\n // in disableBodyScroll - so if we provide this opportunity to allowTouchMove, then\n // the touchmove event on document will break.\n\n if (allowTouchMove(e.target)) {\n return true;\n } // Do not prevent if the event has more than one touch (usually meaning this is a multi touch gesture like pinch to zoom).\n\n\n if (e.touches.length > 1) return true;\n if (e.preventDefault) e.preventDefault();\n return false;\n};\n\nvar setOverflowHidden = function setOverflowHidden(options) {\n // Setting overflow on body/documentElement synchronously in Desktop Safari slows down\n // the responsiveness for some reason. Setting within a setTimeout fixes this.\n setTimeout(function () {\n // If previousBodyPaddingRight is already set, don't set it again.\n if (previousBodyPaddingRight === undefined) {\n var _reserveScrollBarGap = !!options && options.reserveScrollBarGap === true;\n\n var scrollBarGap = window.innerWidth - document.documentElement.clientWidth;\n\n if (_reserveScrollBarGap && scrollBarGap > 0) {\n previousBodyPaddingRight = document.body.style.paddingRight;\n document.body.style.paddingRight = scrollBarGap + 'px';\n }\n } // If previousBodyOverflowSetting is already set, don't set it again.\n\n\n if (previousBodyOverflowSetting === undefined) {\n previousBodyOverflowSetting = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n }\n });\n};\n\nvar restoreOverflowSetting = function restoreOverflowSetting() {\n // Setting overflow on body/documentElement synchronously in Desktop Safari slows down\n // the responsiveness for some reason. Setting within a setTimeout fixes this.\n setTimeout(function () {\n if (previousBodyPaddingRight !== undefined) {\n document.body.style.paddingRight = previousBodyPaddingRight; // Restore previousBodyPaddingRight to undefined so setOverflowHidden knows it\n // can be set again.\n\n previousBodyPaddingRight = undefined;\n }\n\n if (previousBodyOverflowSetting !== undefined) {\n document.body.style.overflow = previousBodyOverflowSetting; // Restore previousBodyOverflowSetting to undefined\n // so setOverflowHidden knows it can be set again.\n\n previousBodyOverflowSetting = undefined;\n }\n });\n}; // https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight#Problems_and_solutions\n\n\nvar isTargetElementTotallyScrolled = function isTargetElementTotallyScrolled(targetElement) {\n return targetElement ? targetElement.scrollHeight - targetElement.scrollTop <= targetElement.clientHeight : false;\n};\n\nvar handleScroll = function handleScroll(event, targetElement) {\n var clientY = event.targetTouches[0].clientY - initialClientY;\n\n if (allowTouchMove(event.target)) {\n return false;\n }\n\n if (targetElement && targetElement.scrollTop === 0 && clientY > 0) {\n // element is at the top of its scroll.\n return preventDefault(event);\n }\n\n if (isTargetElementTotallyScrolled(targetElement) && clientY < 0) {\n // element is at the bottom of its scroll.\n return preventDefault(event);\n }\n\n event.stopPropagation();\n return true;\n};\n\nexport var disableBodyScroll = function disableBodyScroll(targetElement, options) {\n if (isIosDevice) {\n // targetElement must be provided, and disableBodyScroll must not have been\n // called on this targetElement before.\n if (!targetElement) {\n // eslint-disable-next-line no-console\n console.error('disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.');\n return;\n }\n\n if (targetElement && !locks.some(function (lock) {\n return lock.targetElement === targetElement;\n })) {\n var lock = {\n targetElement: targetElement,\n options: options || {}\n };\n locks = [].concat(_toConsumableArray(locks), [lock]);\n\n targetElement.ontouchstart = function (event) {\n if (event.targetTouches.length === 1) {\n // detect single touch.\n initialClientY = event.targetTouches[0].clientY;\n }\n };\n\n targetElement.ontouchmove = function (event) {\n if (event.targetTouches.length === 1) {\n // detect single touch.\n handleScroll(event, targetElement);\n }\n };\n\n if (!documentListenerAdded) {\n document.addEventListener('touchmove', preventDefault, hasPassiveEvents ? {\n passive: false\n } : undefined);\n documentListenerAdded = true;\n }\n }\n } else {\n setOverflowHidden(options);\n var _lock = {\n targetElement: targetElement,\n options: options || {}\n };\n locks = [].concat(_toConsumableArray(locks), [_lock]);\n }\n};\nexport var clearAllBodyScrollLocks = function clearAllBodyScrollLocks() {\n if (isIosDevice) {\n // Clear all locks ontouchstart/ontouchmove handlers, and the references.\n locks.forEach(function (lock) {\n lock.targetElement.ontouchstart = null;\n lock.targetElement.ontouchmove = null;\n });\n\n if (documentListenerAdded) {\n document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? {\n passive: false\n } : undefined);\n documentListenerAdded = false;\n }\n\n locks = []; // Reset initial clientY.\n\n initialClientY = -1;\n } else {\n restoreOverflowSetting();\n locks = [];\n }\n};\nexport var enableBodyScroll = function enableBodyScroll(targetElement) {\n if (isIosDevice) {\n if (!targetElement) {\n // eslint-disable-next-line no-console\n console.error('enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.');\n return;\n }\n\n targetElement.ontouchstart = null;\n targetElement.ontouchmove = null;\n locks = locks.filter(function (lock) {\n return lock.targetElement !== targetElement;\n });\n\n if (documentListenerAdded && locks.length === 0) {\n document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? {\n passive: false\n } : undefined);\n documentListenerAdded = false;\n }\n } else {\n locks = locks.filter(function (lock) {\n return lock.targetElement !== targetElement;\n });\n\n if (!locks.length) {\n restoreOverflowSetting();\n }\n }\n};","\"use strict\";\n/* DEPRECATED */\n\nrequire(\"core-js/modules/es6.function.name\");\n\nrequire(\"core-js/modules/es6.string.trim\");\n\nrequire(\"core-js/modules/es6.object.set-prototype-of\");\n\nrequire(\"core-js/modules/es6.object.create\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nrequire(\"core-js/modules/es6.object.assign\");\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar React = require('react');\n\nvar ReactDOM = require('react-dom');\n\nvar utils = require('./utils');\n\nvar scrollSpy = require('./scroll-spy');\n\nvar defaultScroller = require('./scroller');\n\nvar PropTypes = require('prop-types');\n\nvar scrollHash = require('./scroll-hash');\n\nvar protoTypes = {\n to: PropTypes.string.isRequired,\n containerId: PropTypes.string,\n container: PropTypes.object,\n activeClass: PropTypes.string,\n spy: PropTypes.bool,\n smooth: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n offset: PropTypes.number,\n delay: PropTypes.number,\n isDynamic: PropTypes.bool,\n onClick: PropTypes.func,\n duration: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\n absolute: PropTypes.bool,\n onSetActive: PropTypes.func,\n onSetInactive: PropTypes.func,\n ignoreCancelEvents: PropTypes.bool,\n hashSpy: PropTypes.bool\n};\nvar Helpers = {\n Scroll: function Scroll(Component, customScroller) {\n console.warn(\"Helpers.Scroll is deprecated since v1.7.0\");\n var scroller = customScroller || defaultScroller;\n\n var Scroll = function (_React$Component) {\n _inherits(Scroll, _React$Component);\n\n function Scroll(props) {\n _classCallCheck(this, Scroll);\n\n var _this = _possibleConstructorReturn(this, (Scroll.__proto__ || Object.getPrototypeOf(Scroll)).call(this, props));\n\n _initialiseProps.call(_this);\n\n _this.state = {\n active: false\n };\n return _this;\n }\n\n _createClass(Scroll, [{\n key: 'getScrollSpyContainer',\n value: function getScrollSpyContainer() {\n var containerId = this.props.containerId;\n var container = this.props.container;\n\n if (containerId) {\n return document.getElementById(containerId);\n }\n\n if (container && container.nodeType) {\n return container;\n }\n\n return document;\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (this.props.spy || this.props.hashSpy) {\n var scrollSpyContainer = this.getScrollSpyContainer();\n\n if (!scrollSpy.isMounted(scrollSpyContainer)) {\n scrollSpy.mount(scrollSpyContainer);\n }\n\n if (this.props.hashSpy) {\n if (!scrollHash.isMounted()) {\n scrollHash.mount(scroller);\n }\n\n scrollHash.mapContainer(this.props.to, scrollSpyContainer);\n }\n\n if (this.props.spy) {\n scrollSpy.addStateHandler(this.stateHandler);\n }\n\n scrollSpy.addSpyHandler(this.spyHandler, scrollSpyContainer);\n this.setState({\n container: scrollSpyContainer\n });\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n scrollSpy.unmount(this.stateHandler, this.spyHandler);\n }\n }, {\n key: 'render',\n value: function render() {\n var className = \"\";\n\n if (this.state && this.state.active) {\n className = ((this.props.className || \"\") + \" \" + (this.props.activeClass || \"active\")).trim();\n } else {\n className = this.props.className;\n }\n\n var props = _extends({}, this.props);\n\n for (var prop in protoTypes) {\n if (props.hasOwnProperty(prop)) {\n delete props[prop];\n }\n }\n\n props.className = className;\n props.onClick = this.handleClick;\n return React.createElement(Component, props);\n }\n }]);\n\n return Scroll;\n }(React.Component);\n\n var _initialiseProps = function _initialiseProps() {\n var _this2 = this;\n\n this.scrollTo = function (to, props) {\n scroller.scrollTo(to, _extends({}, _this2.state, props));\n };\n\n this.handleClick = function (event) {\n /*\r\n * give the posibility to override onClick\r\n */\n if (_this2.props.onClick) {\n _this2.props.onClick(event);\n }\n /*\r\n * dont bubble the navigation\r\n */\n\n\n if (event.stopPropagation) event.stopPropagation();\n if (event.preventDefault) event.preventDefault();\n /*\r\n * do the magic!\r\n */\n\n _this2.scrollTo(_this2.props.to, _this2.props);\n };\n\n this.stateHandler = function () {\n if (scroller.getActiveLink() !== _this2.props.to) {\n if (_this2.state !== null && _this2.state.active && _this2.props.onSetInactive) {\n _this2.props.onSetInactive();\n }\n\n _this2.setState({\n active: false\n });\n }\n };\n\n this.spyHandler = function (y) {\n var scrollSpyContainer = _this2.getScrollSpyContainer();\n\n if (scrollHash.isMounted() && !scrollHash.isInitialized()) {\n return;\n }\n\n var to = _this2.props.to;\n var element = null;\n var elemTopBound = 0;\n var elemBottomBound = 0;\n var containerTop = 0;\n\n if (scrollSpyContainer.getBoundingClientRect) {\n var containerCords = scrollSpyContainer.getBoundingClientRect();\n containerTop = containerCords.top;\n }\n\n if (!element || _this2.props.isDynamic) {\n element = scroller.get(to);\n\n if (!element) {\n return;\n }\n\n var cords = element.getBoundingClientRect();\n elemTopBound = cords.top - containerTop + y;\n elemBottomBound = elemTopBound + cords.height;\n }\n\n var offsetY = y - _this2.props.offset;\n var isInside = offsetY >= Math.floor(elemTopBound) && offsetY < Math.floor(elemBottomBound);\n var isOutside = offsetY < Math.floor(elemTopBound) || offsetY >= Math.floor(elemBottomBound);\n var activeLink = scroller.getActiveLink();\n\n if (isOutside) {\n if (to === activeLink) {\n scroller.setActiveLink(void 0);\n }\n\n if (_this2.props.hashSpy && scrollHash.getHash() === to) {\n scrollHash.changeHash();\n }\n\n if (_this2.props.spy && _this2.state.active) {\n _this2.setState({\n active: false\n });\n\n _this2.props.onSetInactive && _this2.props.onSetInactive();\n }\n\n return scrollSpy.updateStates();\n }\n\n if (isInside && activeLink !== to) {\n scroller.setActiveLink(to);\n _this2.props.hashSpy && scrollHash.changeHash(to);\n\n if (_this2.props.spy) {\n _this2.setState({\n active: true\n });\n\n _this2.props.onSetActive && _this2.props.onSetActive(to);\n }\n\n return scrollSpy.updateStates();\n }\n };\n };\n\n ;\n Scroll.propTypes = protoTypes;\n Scroll.defaultProps = {\n offset: 0\n };\n return Scroll;\n },\n Element: function Element(Component) {\n console.warn(\"Helpers.Element is deprecated since v1.7.0\");\n\n var Element = function (_React$Component2) {\n _inherits(Element, _React$Component2);\n\n function Element(props) {\n _classCallCheck(this, Element);\n\n var _this3 = _possibleConstructorReturn(this, (Element.__proto__ || Object.getPrototypeOf(Element)).call(this, props));\n\n _this3.childBindings = {\n domNode: null\n };\n return _this3;\n }\n\n _createClass(Element, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (typeof window === 'undefined') {\n return false;\n }\n\n this.registerElems(this.props.name);\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps) {\n if (this.props.name !== prevProps.name) {\n this.registerElems(this.props.name);\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (typeof window === 'undefined') {\n return false;\n }\n\n defaultScroller.unregister(this.props.name);\n }\n }, {\n key: 'registerElems',\n value: function registerElems(name) {\n defaultScroller.register(name, this.childBindings.domNode);\n }\n }, {\n key: 'render',\n value: function render() {\n return React.createElement(Component, _extends({}, this.props, {\n parentBindings: this.childBindings\n }));\n }\n }]);\n\n return Element;\n }(React.Component);\n\n ;\n Element.propTypes = {\n name: PropTypes.string,\n id: PropTypes.string\n };\n return Element;\n }\n};\nmodule.exports = Helpers;","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.set-prototype-of\");\n\nrequire(\"core-js/modules/es6.object.create\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _scrollLink = require('../mixins/scroll-link');\n\nvar _scrollLink2 = _interopRequireDefault(_scrollLink);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar ButtonElement = function (_React$Component) {\n _inherits(ButtonElement, _React$Component);\n\n function ButtonElement() {\n _classCallCheck(this, ButtonElement);\n\n return _possibleConstructorReturn(this, (ButtonElement.__proto__ || Object.getPrototypeOf(ButtonElement)).apply(this, arguments));\n }\n\n _createClass(ButtonElement, [{\n key: 'render',\n value: function render() {\n return _react2[\"default\"].createElement('input', this.props, this.props.children);\n }\n }]);\n\n return ButtonElement;\n}(_react2[\"default\"].Component);\n\n;\nexports[\"default\"] = (0, _scrollLink2[\"default\"])(ButtonElement);","'use strict';\n\nrequire(\"core-js/modules/es6.array.for-each\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _passiveEventListeners = require('./passive-event-listeners');\n\nvar events = ['mousedown', 'mousewheel', 'touchmove', 'keydown'];\nexports[\"default\"] = {\n subscribe: function subscribe(cancelEvent) {\n return typeof document !== 'undefined' && events.forEach(function (event) {\n return (0, _passiveEventListeners.addPassiveEventListener)(document, event, cancelEvent);\n });\n }\n};","// src/js/actions/index.js\nimport { GET_WL,ARTICLE_LOADING,ARTICLE_LOADED,ARTICLE_ERROR, POD_ERROR,POD_LOADING,POD_LOADED,WL_ERROR,WL_LOADING,WL_LOADED, SUB_SITE_SECTIONS,PARENT_SITE, SUB_SITE } from \"../constants/action-types\";\n\nimport axios from 'axios'\n\n// https://www.aecom.com/without-limits/wp-json/wp/v2/article?include[]=5693&_embed\n//\n// include[]=496&include[]=503\n\nconst WLEndPoint = 'https://www.aecom.com/without-limits/wp-json/wp/v2/article?'\n// const podUrl = 'https://api.whooshkaa.com/episodes?_sort=-published_at&podcast_id=5732&limit=10'\n\n\n\n// axios(`${WLEndPoint}/?id=${ID}&_embed`)\nexport function getArticle() {\n return function(dispatch) {\n dispatch({ type: \"ARTICLE_LOADING\" });\n return axios.get(`${WLEndPoint}`)\n .then((response) => {\n dispatch({ type: \"ARTICLE_LOADED\", payload: response.data });\n }).catch((error) => {\n\n dispatch({ type: \"ARTICLE_ERROR\", payload: error });\n\n });\n };\n}\n\nexport function getPodcasts(id, url) {\n return function(dispatch) {\n dispatch({ type: \"POD_LOADING\" });\n // return axios.get(`${WLEndPoint}`)\n return axios.get(`${url}&id=${id}`)\n .then((response) => {\n\n dispatch({ type: \"POD_LOADED\", payload: response.data });\n }).catch((error) => {\n\n dispatch({ type: \"POD_ERROR\", payload: error });\n\n });\n };\n}\n\nexport function getWL(id) {\nlet IDQuery = \"\"\nif(Array.isArray(id)){\n\nfor(let ID of id){\n IDQuery += `include[]=${ID}&`\n}\n}else{\n IDQuery = `include[]=${id}&`\n}\n return function(dispatch) {\n dispatch({ type: \"WL_LOADING\" });\n // return axios.get(`${WLEndPoint}`)\n return axios.get(`${WLEndPoint}${IDQuery}_embed`)\n .then((response) => {\n dispatch({ type: \"WL_LOADED\", payload: response.data });\n }).catch((error) => {\n\n dispatch({ type: \"WL_ERROR\", payload: error });\n\n });\n };\n}\n\n\n\nexport function setSections(sections,site,subsite) {\n return function(dispatch) {\n dispatch({ type: \"SUB_SITE_SECTIONS\", payload: sections });\n dispatch({ type: \"PARENT_SITE\", payload: site });\n dispatch({ type: \"SUB_SITE\", payload: subsite });\n\n }\n\n }\n","\"use strict\";\n\nrequire(\"core-js/modules/es6.array.for-each\");\n\nrequire(\"core-js/modules/es6.array.filter\");\n\nrequire(\"core-js/modules/es6.object.set-prototype-of\");\n\nrequire(\"core-js/modules/es6.object.create\");\n\nrequire(\"core-js/modules/es6.object.assign\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _raf = require(\"raf\");\n\nvar _raf2 = _interopRequireDefault(_raf);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar Container = function (_PureComponent) {\n _inherits(Container, _PureComponent);\n\n function Container() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Container);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Container.__proto__ || Object.getPrototypeOf(Container)).call.apply(_ref, [this].concat(args))), _this), _this.events = [\"resize\", \"scroll\", \"touchstart\", \"touchmove\", \"touchend\", \"pageshow\", \"load\"], _this.subscribers = [], _this.rafHandle = null, _this.subscribe = function (handler) {\n _this.subscribers = _this.subscribers.concat(handler);\n }, _this.unsubscribe = function (handler) {\n _this.subscribers = _this.subscribers.filter(function (current) {\n return current !== handler;\n });\n }, _this.notifySubscribers = function (evt) {\n if (!_this.framePending) {\n var currentTarget = evt.currentTarget;\n _this.rafHandle = (0, _raf2[\"default\"])(function () {\n _this.framePending = false;\n\n var _this$node$getBoundin = _this.node.getBoundingClientRect(),\n top = _this$node$getBoundin.top,\n bottom = _this$node$getBoundin.bottom;\n\n _this.subscribers.forEach(function (handler) {\n return handler({\n distanceFromTop: top,\n distanceFromBottom: bottom,\n eventSource: currentTarget === window ? document.body : _this.node\n });\n });\n });\n _this.framePending = true;\n }\n }, _this.getParent = function () {\n return _this.node;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Container, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n return {\n subscribe: this.subscribe,\n unsubscribe: this.unsubscribe,\n getParent: this.getParent\n };\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n\n this.events.forEach(function (event) {\n return window.addEventListener(event, _this2.notifySubscribers);\n });\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n var _this3 = this;\n\n if (this.rafHandle) {\n _raf2[\"default\"].cancel(this.rafHandle);\n\n this.rafHandle = null;\n }\n\n this.events.forEach(function (event) {\n return window.removeEventListener(event, _this3.notifySubscribers);\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this4 = this;\n\n return _react2[\"default\"].createElement(\"div\", _extends({}, this.props, {\n ref: function ref(node) {\n return _this4.node = node;\n },\n onScroll: this.notifySubscribers,\n onTouchStart: this.notifySubscribers,\n onTouchMove: this.notifySubscribers,\n onTouchEnd: this.notifySubscribers\n }));\n }\n }]);\n\n return Container;\n}(_react.PureComponent);\n\nContainer.childContextTypes = {\n subscribe: _propTypes2[\"default\"].func,\n unsubscribe: _propTypes2[\"default\"].func,\n getParent: _propTypes2[\"default\"].func\n};\nexports[\"default\"] = Container;","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI0LjIuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA0NDggNTEyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA0NDggNTEyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsLTk1Mi4zNjIxOCkiPgoJPHBhdGggZD0iTTc5LjUsOTY4Yy0zNy40LDAtNjcuNiwzMC4xLTY3LjYsNjcuNnYyNjMuOGMwLDM3LjQsMzAuMSw2Ny42LDY3LjYsNjcuNmgyOTIuOWMzNy40LDAsNjcuNi0zMC4xLDY3LjYtNjcuNnYtMjYzLjgKCQljMC0zNy40LTMwLjEtNjcuNi02Ny42LTY3LjZINzkuNXogTTE1NiwxMDY5LjFsMTcyLDkzLjFsLTE3Miw5My4xVjEwNjkuMXoiLz4KPC9nPgo8L3N2Zz4K\"","'use strict';\n\nrequire(\"core-js/modules/es6.function.bind\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _passiveEventListeners = require('./passive-event-listeners');\n\nvar _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nvar scrollHash = {\n mountFlag: false,\n initialized: false,\n scroller: null,\n containers: {},\n mount: function mount(scroller) {\n this.scroller = scroller;\n this.handleHashChange = this.handleHashChange.bind(this);\n window.addEventListener('hashchange', this.handleHashChange);\n this.initStateFromHash();\n this.mountFlag = true;\n },\n mapContainer: function mapContainer(to, container) {\n this.containers[to] = container;\n },\n isMounted: function isMounted() {\n return this.mountFlag;\n },\n isInitialized: function isInitialized() {\n return this.initialized;\n },\n initStateFromHash: function initStateFromHash() {\n var _this = this;\n\n var hash = this.getHash();\n\n if (hash) {\n window.setTimeout(function () {\n _this.scrollTo(hash, true);\n\n _this.initialized = true;\n }, 10);\n } else {\n this.initialized = true;\n }\n },\n scrollTo: function scrollTo(to, isInit) {\n var scroller = this.scroller;\n var element = scroller.get(to);\n\n if (element && (isInit || to !== scroller.getActiveLink())) {\n var container = this.containers[to] || document;\n scroller.scrollTo(to, {\n container: container\n });\n }\n },\n getHash: function getHash() {\n return _utils2[\"default\"].getHash();\n },\n changeHash: function changeHash(to) {\n if (this.isInitialized() && _utils2[\"default\"].getHash() !== to) {\n _utils2[\"default\"].pushHash(to);\n }\n },\n handleHashChange: function handleHashChange() {\n this.scrollTo(this.getHash());\n },\n unmount: function unmount() {\n this.scroller = null;\n this.containers = null;\n window.removeEventListener('hashchange', this.handleHashChange);\n }\n};\nexports[\"default\"] = scrollHash;","import React, { Component } from 'react'\nimport {Link} from 'gatsby'\n\n\n\n\nclass ArticleGrid extends Component {\n constructor(props) {\n super(props)\n\n this.returnImage = this.returnImage.bind(this)\n this.layoutContents = React.createRef()\n this.transitionCover = React.createRef()\n }\n\n\n\n returnImage(image){\n\n return ([\nimage.childImageSharp.fluid,\n`linear-gradient(${this.props.data.TileBackgroundColor}, ${this.props.data.TileBordercolor})`\n].reverse()\n)\n\n }\n\n render() {\n\n\n\n\n\n return (\n\n
  • \n\n
    \n
    \n
    \n\n
    \n
    \n
    \n

    \n\n {this.props.data.title}\n\n\n\n

    \n
    \n
    \n {this.props.data.author}\n
    \n
    \n \n
    \n
    \n\n
  • \n\n\n\n\n\n\n\n )\n\n\n}\n}\n\nexport default ArticleGrid;\n","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.set-prototype-of\");\n\nrequire(\"core-js/modules/es6.object.create\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require(\"react-dom\");\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar Sticky = function (_Component) {\n _inherits(Sticky, _Component);\n\n function Sticky() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Sticky);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Sticky.__proto__ || Object.getPrototypeOf(Sticky)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n isSticky: false,\n wasSticky: false,\n style: {}\n }, _this.handleContainerEvent = function (_ref2) {\n var distanceFromTop = _ref2.distanceFromTop,\n distanceFromBottom = _ref2.distanceFromBottom,\n eventSource = _ref2.eventSource;\n\n var parent = _this.context.getParent();\n\n var preventingStickyStateChanges = false;\n\n if (_this.props.relative) {\n preventingStickyStateChanges = eventSource !== parent;\n distanceFromTop = -(eventSource.scrollTop + eventSource.offsetTop) + _this.placeholder.offsetTop;\n }\n\n var placeholderClientRect = _this.placeholder.getBoundingClientRect();\n\n var contentClientRect = _this.content.getBoundingClientRect();\n\n var calculatedHeight = contentClientRect.height;\n var bottomDifference = distanceFromBottom - _this.props.bottomOffset - calculatedHeight;\n var wasSticky = !!_this.state.isSticky;\n var isSticky = preventingStickyStateChanges ? wasSticky : distanceFromTop <= -_this.props.topOffset && distanceFromBottom > -_this.props.bottomOffset;\n distanceFromBottom = (_this.props.relative ? parent.scrollHeight - parent.scrollTop : distanceFromBottom) - calculatedHeight;\n var style = !isSticky ? {} : {\n position: \"fixed\",\n top: bottomDifference > 0 ? _this.props.relative ? parent.offsetTop - parent.offsetParent.scrollTop : 0 : bottomDifference,\n left: placeholderClientRect.left,\n width: placeholderClientRect.width\n };\n\n if (!_this.props.disableHardwareAcceleration) {\n style.transform = \"translateZ(0)\";\n }\n\n _this.setState({\n isSticky: isSticky,\n wasSticky: wasSticky,\n distanceFromTop: distanceFromTop,\n distanceFromBottom: distanceFromBottom,\n calculatedHeight: calculatedHeight,\n style: style\n });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Sticky, [{\n key: \"componentWillMount\",\n value: function componentWillMount() {\n if (!this.context.subscribe) throw new TypeError(\"Expected Sticky to be mounted within StickyContainer\");\n this.context.subscribe(this.handleContainerEvent);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.context.unsubscribe(this.handleContainerEvent);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.placeholder.style.paddingBottom = this.props.disableCompensation ? 0 : (this.state.isSticky ? this.state.calculatedHeight : 0) + \"px\";\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var element = _react2[\"default\"].cloneElement(this.props.children({\n isSticky: this.state.isSticky,\n wasSticky: this.state.wasSticky,\n distanceFromTop: this.state.distanceFromTop,\n distanceFromBottom: this.state.distanceFromBottom,\n calculatedHeight: this.state.calculatedHeight,\n style: this.state.style\n }), {\n ref: function ref(content) {\n _this2.content = _reactDom2[\"default\"].findDOMNode(content);\n }\n });\n\n return _react2[\"default\"].createElement(\"div\", null, _react2[\"default\"].createElement(\"div\", {\n ref: function ref(placeholder) {\n return _this2.placeholder = placeholder;\n }\n }), element);\n }\n }]);\n\n return Sticky;\n}(_react.Component);\n\nSticky.propTypes = {\n topOffset: _propTypes2[\"default\"].number,\n bottomOffset: _propTypes2[\"default\"].number,\n relative: _propTypes2[\"default\"].bool,\n children: _propTypes2[\"default\"].func.isRequired\n};\nSticky.defaultProps = {\n relative: false,\n topOffset: 0,\n bottomOffset: 0,\n disableCompensation: false,\n disableHardwareAcceleration: false\n};\nSticky.contextTypes = {\n subscribe: _propTypes2[\"default\"].func,\n unsubscribe: _propTypes2[\"default\"].func,\n getParent: _propTypes2[\"default\"].func\n};\nexports[\"default\"] = Sticky;","'use strict';\n\nrequire(\"core-js/modules/es6.function.bind\");\n\nrequire(\"core-js/modules/es6.object.assign\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nvar _smooth = require('./smooth');\n\nvar _smooth2 = _interopRequireDefault(_smooth);\n\nvar _cancelEvents = require('./cancel-events');\n\nvar _cancelEvents2 = _interopRequireDefault(_cancelEvents);\n\nvar _scrollEvents = require('./scroll-events');\n\nvar _scrollEvents2 = _interopRequireDefault(_scrollEvents);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n/*\r\n * Gets the easing type from the smooth prop within options.\r\n */\n\n\nvar getAnimationType = function getAnimationType(options) {\n return _smooth2[\"default\"][options.smooth] || _smooth2[\"default\"].defaultEasing;\n};\n/*\r\n * Function helper\r\n */\n\n\nvar functionWrapper = function functionWrapper(value) {\n return typeof value === 'function' ? value : function () {\n return value;\n };\n};\n/*\r\n * Wraps window properties to allow server side rendering\r\n */\n\n\nvar currentWindowProperties = function currentWindowProperties() {\n if (typeof window !== 'undefined') {\n return window.requestAnimationFrame || window.webkitRequestAnimationFrame;\n }\n};\n/*\r\n * Helper function to never extend 60fps on the webpage.\r\n */\n\n\nvar requestAnimationFrameHelper = function () {\n return currentWindowProperties() || function (callback, element, delay) {\n window.setTimeout(callback, delay || 1000 / 60, new Date().getTime());\n };\n}();\n\nvar makeData = function makeData() {\n return {\n currentPosition: 0,\n startPosition: 0,\n targetPosition: 0,\n progress: 0,\n duration: 0,\n cancel: false,\n target: null,\n containerElement: null,\n to: null,\n start: null,\n delta: null,\n percent: null,\n delayTimeout: null\n };\n};\n\nvar currentPositionX = function currentPositionX(options) {\n var containerElement = options.data.containerElement;\n\n if (containerElement && containerElement !== document && containerElement !== document.body) {\n return containerElement.scrollLeft;\n } else {\n var supportPageOffset = window.pageXOffset !== undefined;\n var isCSS1Compat = (document.compatMode || \"\") === \"CSS1Compat\";\n return supportPageOffset ? window.pageXOffset : isCSS1Compat ? document.documentElement.scrollLeft : document.body.scrollLeft;\n }\n};\n\nvar currentPositionY = function currentPositionY(options) {\n var containerElement = options.data.containerElement;\n\n if (containerElement && containerElement !== document && containerElement !== document.body) {\n return containerElement.scrollTop;\n } else {\n var supportPageOffset = window.pageXOffset !== undefined;\n var isCSS1Compat = (document.compatMode || \"\") === \"CSS1Compat\";\n return supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;\n }\n};\n\nvar scrollContainerWidth = function scrollContainerWidth(options) {\n var containerElement = options.data.containerElement;\n\n if (containerElement && containerElement !== document && containerElement !== document.body) {\n return containerElement.scrollWidth - containerElement.offsetWidth;\n } else {\n var body = document.body;\n var html = document.documentElement;\n return Math.max(body.scrollWidth, body.offsetWidth, html.clientWidth, html.scrollWidth, html.offsetWidth);\n }\n};\n\nvar scrollContainerHeight = function scrollContainerHeight(options) {\n var containerElement = options.data.containerElement;\n\n if (containerElement && containerElement !== document && containerElement !== document.body) {\n return containerElement.scrollHeight - containerElement.offsetHeight;\n } else {\n var body = document.body;\n var html = document.documentElement;\n return Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);\n }\n};\n\nvar animateScroll = function animateScroll(easing, options, timestamp) {\n var data = options.data; // Cancel on specific events\n\n if (!options.ignoreCancelEvents && data.cancel) {\n if (_scrollEvents2[\"default\"].registered['end']) {\n _scrollEvents2[\"default\"].registered['end'](data.to, data.target, data.currentPositionY);\n }\n\n return;\n }\n\n ;\n data.delta = Math.round(data.targetPosition - data.startPosition);\n\n if (data.start === null) {\n data.start = timestamp;\n }\n\n data.progress = timestamp - data.start;\n data.percent = data.progress >= data.duration ? 1 : easing(data.progress / data.duration);\n data.currentPosition = data.startPosition + Math.ceil(data.delta * data.percent);\n\n if (data.containerElement && data.containerElement !== document && data.containerElement !== document.body) {\n if (options.horizontal) {\n data.containerElement.scrollLeft = data.currentPosition;\n } else {\n data.containerElement.scrollTop = data.currentPosition;\n }\n } else {\n if (options.horizontal) {\n window.scrollTo(data.currentPosition, 0);\n } else {\n window.scrollTo(0, data.currentPosition);\n }\n }\n\n if (data.percent < 1) {\n var easedAnimate = animateScroll.bind(null, easing, options);\n requestAnimationFrameHelper.call(window, easedAnimate);\n return;\n }\n\n if (_scrollEvents2[\"default\"].registered['end']) {\n _scrollEvents2[\"default\"].registered['end'](data.to, data.target, data.currentPosition);\n }\n};\n\nvar setContainer = function setContainer(options) {\n options.data.containerElement = !options ? null : options.containerId ? document.getElementById(options.containerId) : options.container && options.container.nodeType ? options.container : document;\n};\n\nvar animateTopScroll = function animateTopScroll(scrollOffset, options, to, target) {\n options.data = options.data || makeData();\n window.clearTimeout(options.data.delayTimeout);\n\n _cancelEvents2[\"default\"].subscribe(function () {\n options.data.cancel = true;\n });\n\n setContainer(options);\n options.data.start = null;\n options.data.cancel = false;\n options.data.startPosition = options.horizontal ? currentPositionX(options) : currentPositionY(options);\n options.data.targetPosition = options.absolute ? scrollOffset : scrollOffset + options.data.startPosition;\n\n if (options.data.startPosition === options.data.targetPosition) {\n if (_scrollEvents2[\"default\"].registered['end']) {\n _scrollEvents2[\"default\"].registered['end'](options.data.to, options.data.target, options.data.currentPosition);\n }\n\n return;\n }\n\n options.data.delta = Math.round(options.data.targetPosition - options.data.startPosition);\n options.data.duration = functionWrapper(options.duration)(options.data.delta);\n options.data.duration = isNaN(parseFloat(options.data.duration)) ? 1000 : parseFloat(options.data.duration);\n options.data.to = to;\n options.data.target = target;\n var easing = getAnimationType(options);\n var easedAnimate = animateScroll.bind(null, easing, options);\n\n if (options && options.delay > 0) {\n options.data.delayTimeout = window.setTimeout(function () {\n if (_scrollEvents2[\"default\"].registered['begin']) {\n _scrollEvents2[\"default\"].registered['begin'](options.data.to, options.data.target);\n }\n\n requestAnimationFrameHelper.call(window, easedAnimate);\n }, options.delay);\n return;\n }\n\n if (_scrollEvents2[\"default\"].registered['begin']) {\n _scrollEvents2[\"default\"].registered['begin'](options.data.to, options.data.target);\n }\n\n requestAnimationFrameHelper.call(window, easedAnimate);\n};\n\nvar proceedOptions = function proceedOptions(options) {\n options = _extends({}, options);\n options.data = options.data || makeData();\n options.absolute = true;\n return options;\n};\n\nvar scrollToTop = function scrollToTop(options) {\n animateTopScroll(0, proceedOptions(options));\n};\n\nvar scrollTo = function scrollTo(toPosition, options) {\n animateTopScroll(toPosition, proceedOptions(options));\n};\n\nvar scrollToBottom = function scrollToBottom(options) {\n options = proceedOptions(options);\n setContainer(options);\n animateTopScroll(options.horizontal ? scrollContainerWidth(options) : scrollContainerHeight(options), options);\n};\n\nvar scrollMore = function scrollMore(toPosition, options) {\n options = proceedOptions(options);\n setContainer(options);\n var currentPosition = options.horizontal ? currentPositionX(options) : currentPositionY(options);\n animateTopScroll(toPosition + currentPosition, options);\n};\n\nexports[\"default\"] = {\n animateTopScroll: animateTopScroll,\n getAnimationType: getAnimationType,\n scrollToTop: scrollToTop,\n scrollToBottom: scrollToBottom,\n scrollTo: scrollTo,\n scrollMore: scrollMore\n};","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.set-prototype-of\");\n\nrequire(\"core-js/modules/es6.object.create\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _scrollLink = require('../mixins/scroll-link');\n\nvar _scrollLink2 = _interopRequireDefault(_scrollLink);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar LinkElement = function (_React$Component) {\n _inherits(LinkElement, _React$Component);\n\n function LinkElement() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, LinkElement);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = LinkElement.__proto__ || Object.getPrototypeOf(LinkElement)).call.apply(_ref, [this].concat(args))), _this), _this.render = function () {\n return _react2[\"default\"].createElement('a', _this.props, _this.props.children);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n return LinkElement;\n}(_react2[\"default\"].Component);\n\n;\nexports[\"default\"] = (0, _scrollLink2[\"default\"])(LinkElement);","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgODkiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDojZmZmO308L3N0eWxlPjwvZGVmcz48dGl0bGU+aG9tZTwvdGl0bGU+PGcgaWQ9IkxheWVyXzEiIGRhdGEtbmFtZT0iTGF5ZXIgMSI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNOTUuOCwzNS4zLDc4LjMsMjIuN1Y5LjlhNCw0LDAsMCwwLTgsMHY2LjlMNTIuNCw0YTQuMDYsNC4wNiwwLDAsMC00LjcsMEw0LjIsMzUuM0E0LjEyLDQuMTIsMCwwLDAsMy4zLDQxYTQsNCwwLDAsMCw1LjYuOWw1LjMtMy44Vjc2LjhhNCw0LDAsMCwwLDQsNEg4MS43YTQsNCwwLDAsMCw0LTRWMzhMOTEsNDEuOGE0LDQsMCwwLDAsNS43LS45QTQsNCwwLDAsMCw5NS44LDM1LjNabS00MCwzNy40SDQ0LjJWNTAuNEg1NS43VjcyLjdabTIxLjksMEg2My44VjQ2LjNhNCw0LDAsMCwwLTQtNEg0MC4yYTQsNCwwLDAsMC00LDRWNzIuN0gyMi4zVjMyLjJMNTAsMTIuMmwyNy43LDIwWiIvPjwvZz48L3N2Zz4=\"","'use strict';\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/*\r\n * Tell the browser that the event listener won't prevent a scroll.\r\n * Allowing the browser to continue scrolling without having to\r\n * to wait for the listener to return.\r\n */\n\nvar addPassiveEventListener = exports.addPassiveEventListener = function addPassiveEventListener(target, eventName, listener) {\n var supportsPassiveOption = function () {\n var supportsPassiveOption = false;\n\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n supportsPassiveOption = true;\n }\n });\n window.addEventListener('test', null, opts);\n } catch (e) {}\n\n return supportsPassiveOption;\n }();\n\n target.addEventListener(eventName, listener, supportsPassiveOption ? {\n passive: true\n } : false);\n};\n\nvar removePassiveEventListener = exports.removePassiveEventListener = function removePassiveEventListener(target, eventName, listener) {\n target.removeEventListener(eventName, listener);\n};","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar Events = {\n registered: {},\n scrollEvent: {\n register: function register(evtName, callback) {\n Events.registered[evtName] = callback;\n },\n remove: function remove(evtName) {\n Events.registered[evtName] = null;\n }\n }\n};\nexports[\"default\"] = Events;","import React, {Component} from 'react';\nimport withLocation from \"./withLocation\"\nimport { Link, graphql, withPrefix } from 'gatsby'\n\nimport LogoWhite from '../images/aecom_logo_white.svg';\nimport LogoBlack from '../images/aecom_logo_black.svg';\nimport { connect } from 'react-redux';\nimport HomeImage from \"../images/home-01.svg\"\n\n\n\nclass Nav extends Component {\n constructor(props) {\n super(props)\n\n\n this.menuClick = this.menuClick.bind(this);\n this.globalToggle = this.globalToggle.bind(this);\n\n this.state = {\n menuOpen: false,\n globalOpen: false,\n sections:[],\n }\n }\n\n\n\n\n\n globalToggle() {\n\n if(this.state.globalOpen){\n this.setState({globalOpen:false});\n }else{\n this.setState({globalOpen:true});\n }\n }\n\n menuClick() {\n\n if(this.state.menuOpen){\n this.setState({menuOpen:false});\n }else{\n this.setState({menuOpen:true});\n }\n }\n\n\n componentDidMount(){\n\n if(this.props.subsections.length > 0){\n this.setState({sections:this.props.subsections});\n\n }else{\n this.setState({sections:this.props.sections});\n\n }\n\n }\n\n\n\n render() {\n\n if((this.props.location.pathname === withPrefix(\"/\")) || (this.props.subSite)){\n return (\n
    \n\n\n \n
    \n
    \n
      \n {this.props.parent.site_name !== undefined ?\n
    • \n {this.props.parent.site_name}  > \n
    • \n :<>}\n\n {this.props.sections.map((document, index) => (\n document.hide_from_menu === \"true\" || document.hide_from_menu === null ? (<>):(\n
    • {this.props.handleShow(document.Title)}} >{document.Title}
    • \n)\n\n))}\n\n\n\n
    \n
    \n\n
    \n
    \n
    \n
    \n )\n }else{\n\n return (\n
    \n \n
    \n
    \n\n\n
      \n\n\n\n {this.props.parent.site_name !== undefined ?
    • {this.props.parent.site_name}  >
    • :<>}\n{this.props.subsite.slug !== undefined ?
    • {this.props.subsite.title}  >
    • :
    • Home
    • }\n\n\n\n {this.state.sections.map((document, index) => (\n (document.hide_from_menu === \"true\") || (document.hide_from_menu === null) ? (<>):(\n
    • {document.Title}
    • \n )\n ))}\n
    \n\n\n
    \n\n
    \n
    \n\n
    \n
    \n \n
    \n
    \n )\n\n\n }\n\n }\n\n}\nfunction mapStateToProps(state) {\n return {\n subsite:state.subsite,\n parent:state.parent,\n subsections:state.sections\n };\n}\n\nexport default withLocation(connect(mapStateToProps)(Nav));\n","var cid = 1;\r\n\r\nfunction buildParams(params) {\r\n var result = [];\r\n\r\n for (var i in params) {\r\n result.push(encodeURIComponent(i) + '=' + encodeURIComponent(params[i]));\r\n }\r\n\r\n return result.join('&');\r\n}\r\n\r\nmodule.exports = function jsonpAdapter(config) {\r\n return new Promise(function(resolve, reject) {\r\n var script = document.createElement('script');\r\n var src = config.url;\r\n\r\n if (config.params) {\r\n var params = buildParams(config.params);\r\n\r\n if (params) {\r\n src += (src.indexOf('?') >= 0 ? '&' : '?') + params;\r\n }\r\n }\r\n\r\n script.async = true;\r\n\r\n var jsonp = 'axiosJsonpCallback1'\r\n var old = window[jsonp];\r\n var isAbort = false;\r\n\r\n window[jsonp] = function(responseData) {\r\n window[jsonp] = old;\r\n\r\n if (isAbort) {\r\n return;\r\n }\r\n\r\n var response = {\r\n data: responseData,\r\n status: 200\r\n }\r\n\r\n resolve(response);\r\n };\r\n\r\n var additionalParams = {\r\n _: (new Date().getTime())\r\n };\r\n\r\n additionalParams[config.callbackParamName || 'callback'] = jsonp;\r\n\r\n src += (src.indexOf('?') >= 0 ? '&' : '?') + buildParams(additionalParams);\r\n\r\n script.onload = script.onreadystatechange = function() {\r\n\r\n if (!script.readyState || /loaded|complete/.test(script.readyState)) {\r\n\r\n script.onload = script.onreadystatechange = null;\r\n\r\n if ( script.parentNode ) {\r\n script.parentNode.removeChild(script);\r\n }\r\n\r\n script = null;\r\n }\r\n };\r\n\r\n if (config.cancelToken) {\r\n config.cancelToken.promise.then(function(cancel) {\r\n if (!script) {\r\n return;\r\n }\r\n\r\n isAbort = true;\r\n reject(cancel);\r\n });\r\n }\r\n\r\n script.src = src;\r\n\r\n document.head.appendChild(script);\r\n });\r\n};\r\n","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.set-prototype-of\");\n\nrequire(\"core-js/modules/es6.object.create\");\n\nrequire(\"core-js/modules/es6.object.assign\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _scrollElement = require('../mixins/scroll-element');\n\nvar _scrollElement2 = _interopRequireDefault(_scrollElement);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar ElementWrapper = function (_React$Component) {\n _inherits(ElementWrapper, _React$Component);\n\n function ElementWrapper() {\n _classCallCheck(this, ElementWrapper);\n\n return _possibleConstructorReturn(this, (ElementWrapper.__proto__ || Object.getPrototypeOf(ElementWrapper)).apply(this, arguments));\n }\n\n _createClass(ElementWrapper, [{\n key: 'render',\n value: function render() {\n var _this2 = this; // Remove `parentBindings` from props\n\n\n var newProps = _extends({}, this.props);\n\n if (newProps.parentBindings) {\n delete newProps.parentBindings;\n }\n\n return _react2[\"default\"].createElement('div', _extends({}, newProps, {\n ref: function ref(el) {\n _this2.props.parentBindings.domNode = el;\n }\n }), this.props.children);\n }\n }]);\n\n return ElementWrapper;\n}(_react2[\"default\"].Component);\n\n;\nElementWrapper.propTypes = {\n name: _propTypes2[\"default\"].string,\n id: _propTypes2[\"default\"].string\n};\nexports[\"default\"] = (0, _scrollElement2[\"default\"])(ElementWrapper);","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.StickyContainer = exports.Sticky = undefined;\n\nvar _Sticky = require(\"./Sticky\");\n\nvar _Sticky2 = _interopRequireDefault(_Sticky);\n\nvar _Container = require(\"./Container\");\n\nvar _Container2 = _interopRequireDefault(_Container);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nexports.Sticky = _Sticky2[\"default\"];\nexports.StickyContainer = _Container2[\"default\"];\nexports[\"default\"] = _Sticky2[\"default\"];","require(\"core-js/modules/es6.date.now\");\n\n// Generated by CoffeeScript 1.12.2\n(function () {\n var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;\n\n if (typeof performance !== \"undefined\" && performance !== null && performance.now) {\n module.exports = function () {\n return performance.now();\n };\n } else if (typeof process !== \"undefined\" && process !== null && process.hrtime) {\n module.exports = function () {\n return (getNanoSeconds() - nodeLoadTime) / 1e6;\n };\n\n hrtime = process.hrtime;\n\n getNanoSeconds = function getNanoSeconds() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n\n moduleLoadTime = getNanoSeconds();\n upTime = process.uptime() * 1e9;\n nodeLoadTime = moduleLoadTime - upTime;\n } else if (Date.now) {\n module.exports = function () {\n return Date.now() - loadTime;\n };\n\n loadTime = Date.now();\n } else {\n module.exports = function () {\n return new Date().getTime() - loadTime;\n };\n\n loadTime = new Date().getTime();\n }\n}).call(this);","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI0LjEuMiwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxMzUgMjguNyIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTM1IDI4Ljc7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojRkZGRkZGO30KPC9zdHlsZT4KPGc+Cgk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTIzLjEsMjguMWwwLjEtMTYuMmwtOC4xLDE2LjJoLTMuNUwxMDguNywxMkwxMDQsMjguMWgtNi45bDguNi0yNy42aDYuMmwzLjIsMTUuNmw4LTE1LjZoNi4ybDAuNSwyNy42SDEyMy4xCgkJeiBNOTIuNywxNS4zYzEtNC43LTAuNy04LjMtNC4zLTljLTMuOS0wLjgtNy40LDIuMi04LjUsNy4xYy0xLDQuNywwLjcsOC4zLDQuMyw5Qzg4LjEsMjMuMiw5MS42LDIwLjIsOTIuNywxNS4zIE04OC4xLDAuMQoJCWM3LjQsMC41LDEyLDYuNSwxMS4xLDE0LjZjLTAuOSw4LjMtNy41LDE0LjQtMTUuMSwxMy45Qzc2LjgsMjgsNzIuMiwyMiw3MywxNEM3My45LDUuNyw4MC42LTAuNSw4OC4xLDAuMSBNNzAuNiwyNy43CgkJYy0xLjgsMC45LTQuOCwxLTYuMSwxYy03LjgsMC0xMy01LjctMTIuOC0xMy43QzUyLDYuNiw1OC41LDAsNjYuNSwwYzIuOSwwLDUuMiwwLjcsNy45LDIuM2wtMS4zLDYuNmMtMS44LTEuNS0zLjgtMi4zLTYuMS0yLjMKCQljLTQuOCwwLTguMywzLjQtOC41LDhDNTguNCwxOSw2MS4yLDIyLDY1LjYsMjJjMS40LDAsNC4xLTAuMSw2LTFMNzAuNiwyNy43eiBNNDguNSwxNy42SDMxLjRsMS02LjRoMTcuMUw0OC41LDE3LjZ6IE01Mi40LDdIMzMKCQlsMS02LjRoMTkuNEw1Mi40LDd6IE01MC4yLDIxLjdIMzAuOGwtMSw2LjRoMTkuNEw1MC4yLDIxLjd6IE0xNC43LDE2LjdsNC05LjZoMC4xbDIsOS42SDE0Ljd6IE0yMy4zLDI4LjFoNi42TDIzLjUsMC41SDE2TDMsMjguMQoJCWg2LjlsMi4zLTUuNGg5LjlMMjMuMywyOC4xeiIvPgo8L2c+Cjwvc3ZnPgo=\"","require(\"core-js/modules/es6.regexp.replace\");\n\nrequire(\"core-js/modules/es6.regexp.to-string\");\n\nrequire(\"core-js/modules/es6.date.to-string\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\n/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n/** Used as references for various `Number` constants. */\n\nvar NAN = 0 / 0;\n/** `Object#toString` result references. */\n\nvar symbolTag = '[object Symbol]';\n/** Used to match leading and trailing whitespace. */\n\nvar reTrim = /^\\s+|\\s+$/g;\n/** Used to detect bad signed hexadecimal string values. */\n\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n/** Used to detect binary string values. */\n\nvar reIsBinary = /^0b[01]+$/i;\n/** Used to detect octal string values. */\n\nvar reIsOctal = /^0o[0-7]+$/i;\n/** Built-in method references without a dependency on `root`. */\n\nvar freeParseInt = parseInt;\n/** Detect free variable `global` from Node.js. */\n\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n/** Detect free variable `self`. */\n\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n/** Used as a reference to the global object. */\n\nvar root = freeGlobal || freeSelf || Function('return this')();\n/** Used for built-in method references. */\n\nvar objectProto = Object.prototype;\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n\nvar objectToString = objectProto.toString;\n/* Built-in method references for those with the same name as other `lodash` methods. */\n\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\n\nvar now = function now() {\n return root.Date.now();\n};\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\n\n\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n\n wait = toNumber(wait) || 0;\n\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time; // Start the timer for the trailing edge.\n\n timerId = setTimeout(timerExpired, wait); // Invoke the leading edge.\n\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime; // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n\n return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;\n }\n\n function timerExpired() {\n var time = now();\n\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n } // Restart the timer.\n\n\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined; // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n\n return result;\n }\n\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\n\n\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\n\n\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\n\n\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\n\n\nfunction isSymbol(value) {\n return typeof value == 'symbol' || isObjectLike(value) && objectToString.call(value) == symbolTag;\n}\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\n\n\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n\n if (isSymbol(value)) {\n return NAN;\n }\n\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? other + '' : other;\n }\n\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;\n}\n\nmodule.exports = throttle;","import React, {Component} from 'react';\n\nclass LinkedInEventPixel extends Component {\n\n constructor(props) {\n super(props)\n\n }\n\n makeString(){\n var Src = \"https://px.ads.linkedin.com/collect/?pid=\"+this.props.pId+\"&conversionId=\"+this.props.conversionId+\"&fmt=gif\"\nreturn(Src)\n }\n\n\n render() {\n\n if (this.props.converted == \"true\") {\n return (\n
    \n \"\"}\n
    \n )\n }else{\n return (\n
    \n
    \n )\n }\n }\n}\n\n\nexport default LinkedInEventPixel;\n","import React, {Component } from 'react';\n// import '../css/input.css';\nimport '../css/forms.css';\n\n\nimport { FormErrors } from './FormErrors';\nimport axios from 'axios';\nimport jsonpAdapter from '../actions/jsonpAdapter.js';\nimport LinkedInEventPixel from './linkedInEventPixel.js'\nimport {\n animateScroll as scroll,\n} from 'react-scroll'\nimport { useStaticQuery,withPrefix } from \"gatsby\"\nimport Image from 'gatsby-image'\nimport StrapiImage from \"./StrapiImage.js\"\nimport QueryString from 'query-string'\nimport withLocation from \"./withLocation\"\nimport { disableBodyScroll, enableBodyScroll } from 'body-scroll-lock';\nconst { NODE_ENV } = process.env\n\n\n\nclass Contact extends Component {\n_isMounted = false;\n constructor(props) {\n super(props)\n\n\n\n this.state = {\n converted: false,\n value: '',\n content: false,\n thanks: false,\n email: '',\n firstName: '',\n secondName: '',\n JobTitle: '',\n softoptin:'false',\n company:'',\n formErrors: {\n email: '',\n firstName: '',\n secondName: '',\n company:'',\n JobTitle: ''\n },\n Download:'',\n DownloadImage:'',\n DownloadMessage:'',\n FirstPartyDownload:'',\n Title:'',\n emailValid: false,\n firstNameValid: false,\n secondNameValid: false,\n companyValid: false,\n formValid: false,\n processing:false,\n source:\"\",\n downloaded:false,\n stopfixed:false,\n contactPage:false,\n }\n\n\n\n\n this.sideScroll = this.sideScroll.bind(this); //bind function once\n this.handleChange = this.handleChange.bind(this);\n\n this.handleDownload = this.handleDownload.bind(this);\n this.handleSubmit = this.handleSubmit.bind(this);\n this.MobileContact = this.MobileContact.bind(this);\n this.ContactEl = React.createRef();\n\n\n\n }\n\n\n\n\n validateForm() {\n this.setState({\n formValid: this.state.emailValid && this.state.firstNameValid && this.state.secondNameValid && this.state.JobTitleValid && this.state.companyValid\n });\n}\n\nerrorClass(error) {\n return (\n error.length === 0\n ? ''\n : 'has-error');\n}\n\n\n\n\n componentDidMount() {\n this._isMounted = true;\n// console.log(\"MainColor\", this.props.data.MainColor)\nlet Converted\n\n if(this.props.AltDownload === null||this.props.AltDownload === undefined){\n\n if(this.props.data.download !== null){\n\n this.setState({Download:this.props.data.download.publicURL})\n this.setState({DownloadImage: this.props.data.download_preview})\n if(this.props.data.download_targeted !== null){\n this.setState({FirstPartyDownload: this.props.data.download_targeted.publicURL})\n }else{\n this.setState({FirstPartyDownload: this.props.data.download.publicURL})\n }\n\n this.setState({Title: this.props.data.site_name})\n this.setState({DownloadMessage:this.props.data.sub_message})\n\n Converted = JSON.parse(localStorage.getItem('AECOM_EMEA_'+ this.props.data.site_name.replace(/\\s/g, \"-\")))\n }\n\n }else{\n // console.log(\"Page download\")\n this.setState({Download:this.props.AltDownload.publicURL})\n this.setState({DownloadImage: this.props.AltImage})\n this.setState({FirstPartyDownload:this.props.AltDownload.publicURL})\n this.setState({Title:this.props.altTitle})\n this.setState({DownloadMessage:this.props.altMessage})\n\n Converted = JSON.parse(localStorage.getItem('AECOM_EMEA_'+ this.props.altTitle.replace(/\\s/g, \"-\")))\n }\n\n\n const BypassForm = QueryString.parse(this.props.location.search);\n\n\n\n\n\n if(Converted !== null){\n this.setState({converted:true})\n }\n if(BypassForm.utm_term === \"firstparty\"){\n this.setState({converted:true, source:\"firstparty\"})\n }\n\n typeof window !== \"undefined\" && window.addEventListener('scroll', this.sideScroll, false);\n\n\n scroll.scrollToTop();\n typeof window !== \"undefined\" && window.addEventListener(\"message\", this.handleFrameTasks);\n }\n componentWillUnmount() {\n\n typeof window !== \"undefined\" && window.addEventListener('scroll', this.sideScroll, false);\n typeof window !== \"undefined\" && window.removeEventListener(\"message\", this.handleFrameTasks);\n this._isMounted = false;\n }\n\n\n sideScroll(){\n let Location = this.props.location.pathname\nif(Location === withPrefix(\"/\") || this.props.subSite){\n var h = document.documentElement,\n b = document.body,\n st = 'scrollTop',\n sh = 'scrollHeight';\n\n var percent = parseInt ( (h[st]||b[st]) / ((h[sh]||b[sh]) - h.clientHeight) * 100);\n\n // if (percent > 90){\n // this.setState({stopfixed:true})\n //\n // }\n // if (percent < 90){\n // this.setState({stopfixed:false})\n //\n // }\n if (percent > 5){\n\n this.setState({stopfixed:true})\n\n }else{\n this.setState({stopfixed:false})\n }\n // this.props.setContactState(this.state.stopfixed )\n }\n\n }\n\n handleChange(event) {\n const target = event.target;\n const value = target.type === 'checkbox' ? target.checked : target.value;\n const name = target.name;\n\n this.setState({\n [name]: value\n });\n if(event.target.value > 0){\n\n }\n\n }\n\n handleUserInput = (event) => {\n\n const target = event.target;\n const Fieldvalue = target.type === 'checkbox'\n ? target.checked\n : target.value;\n const Fieldname = target.name;\n\n this.setState({[Fieldname]: value});\n\n if (event.target.value.length > 0) {\n this.setState({content: true});\n } else {\n this.setState({content: false});\n }\n\n const name = event.target.name;\n const value = event.target.value;\n this.setState({\n [name]: value\n }, () => {\n this.validateField(name, value)\n });\n }\n\n validateField(fieldName, value) {\n let fieldValidationErrors = this.state.formErrors;\n let emailValid = this.state.emailValid;\n let firstNameValid = this.state.firstName;\n let secondNameValid = this.state.secondNameValid;\n let JobTitleValid = this.state.JobTitleValid;\n let companyValid= this.state.companyValid\n\n switch (fieldName) {\n case 'email':\n emailValid = value.match(/^([\\w.%+-]+)@([\\w-]+\\.)+([\\w]{2,})$/i);\n fieldValidationErrors.email = emailValid ? '' : 'Email is invalid';\n break;\n case 'firstName':\n if(value.length !== 0){\n firstNameValid = true\n fieldValidationErrors.firstName = ''\n }else{\n firstNameValid = false\n fieldValidationErrors.firstName = 'Please enter your first name'\n }\n break;\n case 'secondName':\n\n if(value.length !==0){\n secondNameValid = true\n fieldValidationErrors.secondName = ''\n }else{\n secondNameValid = false\n fieldValidationErrors.secondName = 'Please enter your surname'\n }\n break;\n case 'JobTitle':\n\n if(value.length !==0){\n JobTitleValid = true\n fieldValidationErrors.JobTitle = ''\n }else{\n JobTitleValid = false\n fieldValidationErrors.JobTitle = 'Please enter your job title'\n }\n break;\n case 'company':\n\n if(value.length !==0){\n companyValid = true\n fieldValidationErrors.company = ''\n }else{\n companyValid = false\n fieldValidationErrors.company = 'Please enter your company name'\n }\n break;\n\n default:\n break;\n }\n this.setState({\n formErrors: fieldValidationErrors,\n emailValid: emailValid,\n secondNameValid:secondNameValid,\n firstNameValid:firstNameValid,\n JobTitleValid:JobTitleValid,\n companyValid:companyValid\n\n }, this.validateForm);\n\n\n }\n\n handleSubmit(event) {\n this.setState({processing:true})\n let data={'email': this.state.email, \"firstName\":this.state.firstName,\"secondName\":this.state.secondName,\"JobTitle\":this.state.JobTitle,\"company\":this.state.company,\"softoptin\":this.state.softoptin};\n let Encoded = Object.keys(data).map(k => `${encodeURIComponent(k)}=${encodeURIComponent(data[k])}`).join('&');\n this.postForm(Encoded)\n event.preventDefault(\"success\");\n}\n\nhandleDownload(event) {\n this.setState({downloaded:true})\n let Source = \"\"\nif(this.state.source === \"firstparty\"){\n\n if(this.props.data.download_targeted !== undefined){\n typeof window !== \"undefined\" && window.open(this.state.FirstPartyDownload)\n }else{\n\n typeof window !== \"undefined\" && window.open(this.state.Download)\n }\n Source = \"first_party\"\n}else{\n\n typeof window !== \"undefined\" && window.open(this.state.Download)\n Source = \"Form_filled\"\n}\nif(NODE_ENV === 'production'){\ntypeof window !== \"undefined\" && window.gtag(\"event\", \"Conversion_Download\" , {\"event_label\":this.props.location.pathname, \"event_category\":Source})\n}\n\n event.preventDefault(\"success\");\n\n}\n\n\npostForm(data, index){\n axios({\n url: this.props.data.pardot_form +'?'+ data ,\n method:'post',\n adapter: jsonpAdapter,\n jsonpCallback: \"jsonpCallback1\",\n callbackParamName: 'callback' // optional, 'callback' by default\n }).then((response) => {\n if(response.data.result === 'done'){\n this.setState({processing:false})\n this.setState({thanks: true});\n this.setState({converted:true})\n\n localStorage.setItem('AECOM_EMEA_'+ this.state.Title.replace(/\\s/g, \"-\") , JSON.stringify({\"firstName\":this.state.firstName,\"secondName\":this.state.secondName}));\n if(NODE_ENV === 'production'){\n typeof window !== \"undefined\" && window.gtag(\"event\", \"Conversion_Form\" , {\"event_label\":this.props.location.pathname})\n }\n this.setState({converted: true});\n let self = this\n setTimeout(function(){\n\n self.setState({thanks: false, email: '', firstName: '', secondName: '', JobTitle: '', company:'', softoptin:'false'});\n }, 6000);\n}\n\n }).catch(error => {\n\n });\n\n }\n\n\n\n\n\n // handleFrameTasks = (e) => {\n //\n // console.log(this.state)\n // if(e.data === \"formsubmit\"){\n\n //\n // }\n //\n //\n // }\n MobileContact(event) {\n if(this.state.contactPage){\n this.setState({contactPage:false})\n enableBodyScroll(this.ContactEl);\n }else{\n this.setState({contactPage:true})\n disableBodyScroll(this.ContactEl);\n }\n\n event.preventDefault();\n }\n\n\n\n render() {\n\n// console.log(this.state.DownloadImage)\nif(this.state.DownloadImage !== undefined){\n\n// console.log(\"LOCATIONNNN\" , this.props.location, withPrefix(\"/\"))\n\nif((this.props.location.pathname === withPrefix(\"/\") || this.props.subSite) && !this.state.contactPage){\nreturn(\n\n
    \n\n{this.state.stopfixed ?(
    \n
    \n {this.state.DownloadMessage}\n
    \n
    \n Download\n
    \n
    ):(<>\n
    \n
    \n\n\n\n
    \n
    \n
    \n
    \n

    {this.state.DownloadMessage}

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

    Thank you

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

    Submitting your information

    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n\n
    \n
    \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n
    \n\n \n\n
    \n
    \n
    \n\n
    \n\n
    \n
    \n
    \n \n
    \n
    \n\n \n\n\n\n
    \n
    \n
    \n
    \n
    \n\n \n\n
    \n
    \n
    \n\n\n\n\n
    \n\n \n)}\n\n
    \n
    \n
    \n

    {this.state.DownloadMessage}

    \n
    \n
    \n
    \n\n Download\n\n
    \n
    \n
    \n
    \n\n\n\n\n
    \n )\n}\n\n\nif(this.state.contactPage){\n\n\n return(\n\n\n
    \n
    X
    \n
    \n
    \n
    \n

    {this.state.DownloadMessage}

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

    Thank you

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

    Submitting your information

    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n\n
    \n
    \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n
    \n\n \n\n
    \n
    \n
    \n\n
    \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n\n \n\n\n\n
    \n
    \n
    \n
    \n
    \n\n \n\n
    \n
    \n\n\n\n );\n\n\n}else{\n\n\n\n\n\n return(\n\n<>\n
    \n
    \n\n\n\n
    \n
    \n
    \n
    \n

    {this.state.DownloadMessage}

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

    Thank you

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

    Submitting your information

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

    {this.state.DownloadMessage}

    \n
    \n
    \n
    \n\n Download\n\n
    \n
    \n
    \n
    \n\n\n\n \n\n\n );\n }\n }else{\n return(<>)\n }\n\n\n }\n}\n\n\n\nexport default withLocation(Contact)\n","import React from 'react';\n\nexport const FormErrors = ({formErrors, field}) =>\n
    \n\n {\n Object.keys(formErrors).map((fieldName, i) => {\n\n if(field === fieldName && formErrors[fieldName].length > 0){\n return (\n {formErrors[fieldName]}\n )\n } else {\n return '';\n }\n })}\n
    \n","'use strict';\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Helpers = exports.ScrollElement = exports.ScrollLink = exports.animateScroll = exports.scrollSpy = exports.Events = exports.scroller = exports.Element = exports.Button = exports.Link = undefined;\n\nvar _Link = require('./components/Link.js');\n\nvar _Link2 = _interopRequireDefault(_Link);\n\nvar _Button = require('./components/Button.js');\n\nvar _Button2 = _interopRequireDefault(_Button);\n\nvar _Element = require('./components/Element.js');\n\nvar _Element2 = _interopRequireDefault(_Element);\n\nvar _scroller = require('./mixins/scroller.js');\n\nvar _scroller2 = _interopRequireDefault(_scroller);\n\nvar _scrollEvents = require('./mixins/scroll-events.js');\n\nvar _scrollEvents2 = _interopRequireDefault(_scrollEvents);\n\nvar _scrollSpy = require('./mixins/scroll-spy.js');\n\nvar _scrollSpy2 = _interopRequireDefault(_scrollSpy);\n\nvar _animateScroll = require('./mixins/animate-scroll.js');\n\nvar _animateScroll2 = _interopRequireDefault(_animateScroll);\n\nvar _scrollLink = require('./mixins/scroll-link.js');\n\nvar _scrollLink2 = _interopRequireDefault(_scrollLink);\n\nvar _scrollElement = require('./mixins/scroll-element.js');\n\nvar _scrollElement2 = _interopRequireDefault(_scrollElement);\n\nvar _Helpers = require('./mixins/Helpers.js');\n\nvar _Helpers2 = _interopRequireDefault(_Helpers);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nexports.Link = _Link2[\"default\"];\nexports.Button = _Button2[\"default\"];\nexports.Element = _Element2[\"default\"];\nexports.scroller = _scroller2[\"default\"];\nexports.Events = _scrollEvents2[\"default\"];\nexports.scrollSpy = _scrollSpy2[\"default\"];\nexports.animateScroll = _animateScroll2[\"default\"];\nexports.ScrollLink = _scrollLink2[\"default\"];\nexports.ScrollElement = _scrollElement2[\"default\"];\nexports.Helpers = _Helpers2[\"default\"];\nexports[\"default\"] = {\n Link: _Link2[\"default\"],\n Button: _Button2[\"default\"],\n Element: _Element2[\"default\"],\n scroller: _scroller2[\"default\"],\n Events: _scrollEvents2[\"default\"],\n scrollSpy: _scrollSpy2[\"default\"],\n animateScroll: _animateScroll2[\"default\"],\n ScrollLink: _scrollLink2[\"default\"],\n ScrollElement: _scrollElement2[\"default\"],\n Helpers: _Helpers2[\"default\"]\n};","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI0LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA0NDggNTEyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA0NDggNTEyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6I0ZGRkZGRjt9Cjwvc3R5bGU+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00MTYsMzJIMzEuOUMxNC4zLDMyLDAsNDYuNSwwLDY0LjN2MzgzLjRDMCw0NjUuNSwxNC4zLDQ4MCwzMS45LDQ4MEg0MTZjMTcuNiwwLDMyLTE0LjUsMzItMzIuM1Y2NC4zCglDNDQ4LDQ2LjUsNDMzLjYsMzIsNDE2LDMyeiBNMTM1LjQsNDE2SDY5VjIwMi4yaDY2LjVWNDE2SDEzNS40eiBNMTAyLjIsMTczYy0yMS4zLDAtMzguNS0xNy4zLTM4LjUtMzguNVM4MC45LDk2LDEwMi4yLDk2CgljMjEuMiwwLDM4LjUsMTcuMywzOC41LDM4LjVDMTQwLjcsMTU1LjgsMTIzLjUsMTczLDEwMi4yLDE3M3ogTTM4NC4zLDQxNmgtNjYuNFYzMTJjMC0yNC44LTAuNS01Ni43LTM0LjUtNTYuNwoJYy0zNC42LDAtMzkuOSwyNy0zOS45LDU0LjlWNDE2aC02Ni40VjIwMi4yaDYzLjd2MjkuMmgwLjljOC45LTE2LjgsMzAuNi0zNC41LDYyLjktMzQuNWM2Ny4yLDAsNzkuNyw0NC4zLDc5LjcsMTAxLjlWNDE2eiIvPgo8L3N2Zz4K\"","'use strict';\n\nrequire(\"core-js/modules/es6.string.trim\");\n\nrequire(\"core-js/modules/es6.object.set-prototype-of\");\n\nrequire(\"core-js/modules/es6.object.create\");\n\nrequire(\"core-js/modules/es6.object.assign\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _scrollSpy = require('./scroll-spy');\n\nvar _scrollSpy2 = _interopRequireDefault(_scrollSpy);\n\nvar _scroller = require('./scroller');\n\nvar _scroller2 = _interopRequireDefault(_scroller);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _scrollHash = require('./scroll-hash');\n\nvar _scrollHash2 = _interopRequireDefault(_scrollHash);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar protoTypes = {\n to: _propTypes2[\"default\"].string.isRequired,\n containerId: _propTypes2[\"default\"].string,\n container: _propTypes2[\"default\"].object,\n activeClass: _propTypes2[\"default\"].string,\n spy: _propTypes2[\"default\"].bool,\n horizontal: _propTypes2[\"default\"].bool,\n smooth: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].bool, _propTypes2[\"default\"].string]),\n offset: _propTypes2[\"default\"].number,\n delay: _propTypes2[\"default\"].number,\n isDynamic: _propTypes2[\"default\"].bool,\n onClick: _propTypes2[\"default\"].func,\n duration: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].number, _propTypes2[\"default\"].func]),\n absolute: _propTypes2[\"default\"].bool,\n onSetActive: _propTypes2[\"default\"].func,\n onSetInactive: _propTypes2[\"default\"].func,\n ignoreCancelEvents: _propTypes2[\"default\"].bool,\n hashSpy: _propTypes2[\"default\"].bool\n};\n\nexports[\"default\"] = function (Component, customScroller) {\n var scroller = customScroller || _scroller2[\"default\"];\n\n var Link = function (_React$PureComponent) {\n _inherits(Link, _React$PureComponent);\n\n function Link(props) {\n _classCallCheck(this, Link);\n\n var _this = _possibleConstructorReturn(this, (Link.__proto__ || Object.getPrototypeOf(Link)).call(this, props));\n\n _initialiseProps.call(_this);\n\n _this.state = {\n active: false\n };\n return _this;\n }\n\n _createClass(Link, [{\n key: 'getScrollSpyContainer',\n value: function getScrollSpyContainer() {\n var containerId = this.props.containerId;\n var container = this.props.container;\n\n if (containerId && !container) {\n return document.getElementById(containerId);\n }\n\n if (container && container.nodeType) {\n return container;\n }\n\n return document;\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (this.props.spy || this.props.hashSpy) {\n var scrollSpyContainer = this.getScrollSpyContainer();\n\n if (!_scrollSpy2[\"default\"].isMounted(scrollSpyContainer)) {\n _scrollSpy2[\"default\"].mount(scrollSpyContainer);\n }\n\n if (this.props.hashSpy) {\n if (!_scrollHash2[\"default\"].isMounted()) {\n _scrollHash2[\"default\"].mount(scroller);\n }\n\n _scrollHash2[\"default\"].mapContainer(this.props.to, scrollSpyContainer);\n }\n\n _scrollSpy2[\"default\"].addSpyHandler(this.spyHandler, scrollSpyContainer);\n\n this.setState({\n container: scrollSpyContainer\n });\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n _scrollSpy2[\"default\"].unmount(this.stateHandler, this.spyHandler);\n }\n }, {\n key: 'render',\n value: function render() {\n var className = \"\";\n\n if (this.state && this.state.active) {\n className = ((this.props.className || \"\") + \" \" + (this.props.activeClass || \"active\")).trim();\n } else {\n className = this.props.className;\n }\n\n var props = _extends({}, this.props);\n\n for (var prop in protoTypes) {\n if (props.hasOwnProperty(prop)) {\n delete props[prop];\n }\n }\n\n props.className = className;\n props.onClick = this.handleClick;\n return _react2[\"default\"].createElement(Component, props);\n }\n }]);\n\n return Link;\n }(_react2[\"default\"].PureComponent);\n\n var _initialiseProps = function _initialiseProps() {\n var _this2 = this;\n\n this.scrollTo = function (to, props) {\n scroller.scrollTo(to, _extends({}, _this2.state, props));\n };\n\n this.handleClick = function (event) {\n /*\r\n * give the posibility to override onClick\r\n */\n if (_this2.props.onClick) {\n _this2.props.onClick(event);\n }\n /*\r\n * dont bubble the navigation\r\n */\n\n\n if (event.stopPropagation) event.stopPropagation();\n if (event.preventDefault) event.preventDefault();\n /*\r\n * do the magic!\r\n */\n\n _this2.scrollTo(_this2.props.to, _this2.props);\n };\n\n this.spyHandler = function (x, y) {\n var scrollSpyContainer = _this2.getScrollSpyContainer();\n\n if (_scrollHash2[\"default\"].isMounted() && !_scrollHash2[\"default\"].isInitialized()) {\n return;\n }\n\n var horizontal = _this2.props.horizontal;\n var to = _this2.props.to;\n var element = null;\n var isInside = void 0;\n var isOutside = void 0;\n\n if (horizontal) {\n var elemLeftBound = 0;\n var elemRightBound = 0;\n var containerLeft = 0;\n\n if (scrollSpyContainer.getBoundingClientRect) {\n var containerCords = scrollSpyContainer.getBoundingClientRect();\n containerLeft = containerCords.left;\n }\n\n if (!element || _this2.props.isDynamic) {\n element = scroller.get(to);\n\n if (!element) {\n return;\n }\n\n var cords = element.getBoundingClientRect();\n elemLeftBound = cords.left - containerLeft + x;\n elemRightBound = elemLeftBound + cords.width;\n }\n\n var offsetX = x - _this2.props.offset;\n isInside = offsetX >= Math.floor(elemLeftBound) && offsetX < Math.floor(elemRightBound);\n isOutside = offsetX < Math.floor(elemLeftBound) || offsetX >= Math.floor(elemRightBound);\n } else {\n var elemTopBound = 0;\n var elemBottomBound = 0;\n var containerTop = 0;\n\n if (scrollSpyContainer.getBoundingClientRect) {\n var _containerCords = scrollSpyContainer.getBoundingClientRect();\n\n containerTop = _containerCords.top;\n }\n\n if (!element || _this2.props.isDynamic) {\n element = scroller.get(to);\n\n if (!element) {\n return;\n }\n\n var _cords = element.getBoundingClientRect();\n\n elemTopBound = _cords.top - containerTop + y;\n elemBottomBound = elemTopBound + _cords.height;\n }\n\n var offsetY = y - _this2.props.offset;\n isInside = offsetY >= Math.floor(elemTopBound) && offsetY < Math.floor(elemBottomBound);\n isOutside = offsetY < Math.floor(elemTopBound) || offsetY >= Math.floor(elemBottomBound);\n }\n\n var activeLink = scroller.getActiveLink();\n\n if (isOutside) {\n if (to === activeLink) {\n scroller.setActiveLink(void 0);\n }\n\n if (_this2.props.hashSpy && _scrollHash2[\"default\"].getHash() === to) {\n _scrollHash2[\"default\"].changeHash();\n }\n\n if (_this2.props.spy && _this2.state.active) {\n _this2.setState({\n active: false\n });\n\n _this2.props.onSetInactive && _this2.props.onSetInactive(to, element);\n }\n }\n\n if (isInside && (activeLink !== to || _this2.state.active === false)) {\n scroller.setActiveLink(to);\n _this2.props.hashSpy && _scrollHash2[\"default\"].changeHash(to);\n\n if (_this2.props.spy) {\n _this2.setState({\n active: true\n });\n\n _this2.props.onSetActive && _this2.props.onSetActive(to, element);\n }\n }\n };\n };\n\n ;\n Link.propTypes = protoTypes;\n Link.defaultProps = {\n offset: 0\n };\n return Link;\n};","'use strict';\n\nrequire(\"core-js/modules/es6.function.name\");\n\nrequire(\"core-js/modules/es6.object.set-prototype-of\");\n\nrequire(\"core-js/modules/es6.object.create\");\n\nrequire(\"core-js/modules/es6.object.assign\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _scroller = require('./scroller');\n\nvar _scroller2 = _interopRequireDefault(_scroller);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nexports[\"default\"] = function (Component) {\n var Element = function (_React$Component) {\n _inherits(Element, _React$Component);\n\n function Element(props) {\n _classCallCheck(this, Element);\n\n var _this = _possibleConstructorReturn(this, (Element.__proto__ || Object.getPrototypeOf(Element)).call(this, props));\n\n _this.childBindings = {\n domNode: null\n };\n return _this;\n }\n\n _createClass(Element, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (typeof window === 'undefined') {\n return false;\n }\n\n this.registerElems(this.props.name);\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps) {\n if (this.props.name !== prevProps.name) {\n this.registerElems(this.props.name);\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (typeof window === 'undefined') {\n return false;\n }\n\n _scroller2[\"default\"].unregister(this.props.name);\n }\n }, {\n key: 'registerElems',\n value: function registerElems(name) {\n _scroller2[\"default\"].register(name, this.childBindings.domNode);\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2[\"default\"].createElement(Component, _extends({}, this.props, {\n parentBindings: this.childBindings\n }));\n }\n }]);\n\n return Element;\n }(_react2[\"default\"].Component);\n\n ;\n Element.propTypes = {\n name: _propTypes2[\"default\"].string,\n id: _propTypes2[\"default\"].string\n };\n return Element;\n};","'use strict';\n\nrequire(\"core-js/modules/es6.array.for-each\");\n\nrequire(\"core-js/modules/es6.array.index-of\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _lodash = require('lodash.throttle');\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _passiveEventListeners = require('./passive-event-listeners');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n} // The eventHandler will execute at a rate of 15fps\n\n\nvar eventThrottler = function eventThrottler(eventHandler) {\n return (0, _lodash2[\"default\"])(eventHandler, 66);\n};\n\nvar scrollSpy = {\n spyCallbacks: [],\n spySetState: [],\n scrollSpyContainers: [],\n mount: function mount(scrollSpyContainer) {\n if (scrollSpyContainer) {\n var eventHandler = eventThrottler(function (event) {\n scrollSpy.scrollHandler(scrollSpyContainer);\n });\n scrollSpy.scrollSpyContainers.push(scrollSpyContainer);\n (0, _passiveEventListeners.addPassiveEventListener)(scrollSpyContainer, 'scroll', eventHandler);\n }\n },\n isMounted: function isMounted(scrollSpyContainer) {\n return scrollSpy.scrollSpyContainers.indexOf(scrollSpyContainer) !== -1;\n },\n currentPositionX: function currentPositionX(scrollSpyContainer) {\n if (scrollSpyContainer === document) {\n var supportPageOffset = window.pageYOffset !== undefined;\n var isCSS1Compat = (document.compatMode || \"\") === \"CSS1Compat\";\n return supportPageOffset ? window.pageXOffset : isCSS1Compat ? document.documentElement.scrollLeft : document.body.scrollLeft;\n } else {\n return scrollSpyContainer.scrollLeft;\n }\n },\n currentPositionY: function currentPositionY(scrollSpyContainer) {\n if (scrollSpyContainer === document) {\n var supportPageOffset = window.pageXOffset !== undefined;\n var isCSS1Compat = (document.compatMode || \"\") === \"CSS1Compat\";\n return supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;\n } else {\n return scrollSpyContainer.scrollTop;\n }\n },\n scrollHandler: function scrollHandler(scrollSpyContainer) {\n var callbacks = scrollSpy.scrollSpyContainers[scrollSpy.scrollSpyContainers.indexOf(scrollSpyContainer)].spyCallbacks || [];\n callbacks.forEach(function (c) {\n return c(scrollSpy.currentPositionX(scrollSpyContainer), scrollSpy.currentPositionY(scrollSpyContainer));\n });\n },\n addStateHandler: function addStateHandler(handler) {\n scrollSpy.spySetState.push(handler);\n },\n addSpyHandler: function addSpyHandler(handler, scrollSpyContainer) {\n var container = scrollSpy.scrollSpyContainers[scrollSpy.scrollSpyContainers.indexOf(scrollSpyContainer)];\n\n if (!container.spyCallbacks) {\n container.spyCallbacks = [];\n }\n\n container.spyCallbacks.push(handler);\n handler(scrollSpy.currentPositionX(scrollSpyContainer), scrollSpy.currentPositionY(scrollSpyContainer));\n },\n updateStates: function updateStates() {\n scrollSpy.spySetState.forEach(function (s) {\n return s();\n });\n },\n unmount: function unmount(stateHandler, spyHandler) {\n scrollSpy.scrollSpyContainers.forEach(function (c) {\n return c.spyCallbacks && c.spyCallbacks.length && c.spyCallbacks.splice(c.spyCallbacks.indexOf(spyHandler), 1);\n });\n\n if (scrollSpy.spySetState && scrollSpy.spySetState.length) {\n scrollSpy.spySetState.splice(scrollSpy.spySetState.indexOf(stateHandler), 1);\n }\n\n document.removeEventListener('scroll', scrollSpy.scrollHandler);\n },\n update: function update() {\n return scrollSpy.scrollSpyContainers.forEach(function (c) {\n return scrollSpy.scrollHandler(c);\n });\n }\n};\nexports[\"default\"] = scrollSpy;","var now = require('performance-now'),\n root = typeof window === 'undefined' ? global : window,\n vendors = ['moz', 'webkit'],\n suffix = 'AnimationFrame',\n raf = root['request' + suffix],\n caf = root['cancel' + suffix] || root['cancelRequest' + suffix];\n\nfor (var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix];\n caf = root[vendors[i] + 'Cancel' + suffix] || root[vendors[i] + 'CancelRequest' + suffix];\n} // Some versions of FF have rAF but not cAF\n\n\nif (!raf || !caf) {\n var last = 0,\n id = 0,\n queue = [],\n frameDuration = 1000 / 60;\n\n raf = function raf(callback) {\n if (queue.length === 0) {\n var _now = now(),\n next = Math.max(0, frameDuration - (_now - last));\n\n last = next + _now;\n setTimeout(function () {\n var cp = queue.slice(0); // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n\n queue.length = 0;\n\n for (var i = 0; i < cp.length; i++) {\n if (!cp[i].cancelled) {\n try {\n cp[i].callback(last);\n } catch (e) {\n setTimeout(function () {\n throw e;\n }, 0);\n }\n }\n }\n }, Math.round(next));\n }\n\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n });\n return id;\n };\n\n caf = function caf(handle) {\n for (var i = 0; i < queue.length; i++) {\n if (queue[i].handle === handle) {\n queue[i].cancelled = true;\n }\n }\n };\n}\n\nmodule.exports = function (fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn);\n};\n\nmodule.exports.cancel = function () {\n caf.apply(root, arguments);\n};\n\nmodule.exports.polyfill = function (object) {\n if (!object) {\n object = root;\n }\n\n object.requestAnimationFrame = raf;\n object.cancelAnimationFrame = caf;\n};","\"use strict\";\n\nrequire(\"core-js/modules/es6.regexp.replace\");\n\nrequire(\"core-js/modules/es6.regexp.search\");\n\nrequire(\"core-js/modules/es6.array.index-of\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar pushHash = function pushHash(hash) {\n hash = hash ? hash.indexOf(\"#\") === 0 ? hash : \"#\" + hash : \"\";\n\n if (history.pushState) {\n var loc = window.location;\n history.pushState(null, null, hash ? loc.pathname + loc.search + hash : // remove hash\n loc.pathname + loc.search);\n } else {\n location.hash = hash;\n }\n};\n\nvar getHash = function getHash() {\n return window.location.hash.replace(/^#/, \"\");\n};\n\nvar filterElementInContainer = function filterElementInContainer(container) {\n return function (element) {\n return container.contains ? container != element && container.contains(element) : !!(container.compareDocumentPosition(element) & 16);\n };\n};\n\nvar scrollOffset = function scrollOffset(c, t, horizontal) {\n if (horizontal) {\n return c === document ? t.getBoundingClientRect().left + (window.scrollX || window.pageXOffset) : getComputedStyle(c).position !== \"static\" ? t.offsetLeft : t.offsetLeft - c.offsetLeft;\n } else {\n return c === document ? t.getBoundingClientRect().top + (window.scrollY || window.pageYOffset) : getComputedStyle(c).position !== \"static\" ? t.offsetTop : t.offsetTop - c.offsetTop;\n }\n};\n\nexports[\"default\"] = {\n pushHash: pushHash,\n getHash: getHash,\n filterElementInContainer: filterElementInContainer,\n scrollOffset: scrollOffset\n};","'use strict';\n\nrequire(\"core-js/modules/es6.object.assign\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nvar _animateScroll = require('./animate-scroll');\n\nvar _animateScroll2 = _interopRequireDefault(_animateScroll);\n\nvar _scrollEvents = require('./scroll-events');\n\nvar _scrollEvents2 = _interopRequireDefault(_scrollEvents);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nvar __mapped = {};\n\nvar __activeLink = void 0;\n\nexports[\"default\"] = {\n unmount: function unmount() {\n __mapped = {};\n },\n register: function register(name, element) {\n __mapped[name] = element;\n },\n unregister: function unregister(name) {\n delete __mapped[name];\n },\n get: function get(name) {\n return __mapped[name] || document.getElementById(name) || document.getElementsByName(name)[0] || document.getElementsByClassName(name)[0];\n },\n setActiveLink: function setActiveLink(link) {\n return __activeLink = link;\n },\n getActiveLink: function getActiveLink() {\n return __activeLink;\n },\n scrollTo: function scrollTo(to, props) {\n var target = this.get(to);\n\n if (!target) {\n console.warn(\"target Element not found\");\n return;\n }\n\n props = _extends({}, props, {\n absolute: false\n });\n var containerId = props.containerId;\n var container = props.container;\n var containerElement = void 0;\n\n if (containerId) {\n containerElement = document.getElementById(containerId);\n } else if (container && container.nodeType) {\n containerElement = container;\n } else {\n containerElement = document;\n }\n\n props.absolute = true;\n var horizontal = props.horizontal;\n var scrollOffset = _utils2[\"default\"].scrollOffset(containerElement, target, horizontal) + (props.offset || 0);\n /*\r\n * if animate is not provided just scroll into the view\r\n */\n\n if (!props.smooth) {\n if (_scrollEvents2[\"default\"].registered['begin']) {\n _scrollEvents2[\"default\"].registered['begin'](to, target);\n }\n\n if (containerElement === document) {\n if (props.horizontal) {\n window.scrollTo(scrollOffset, 0);\n } else {\n window.scrollTo(0, scrollOffset);\n }\n } else {\n containerElement.scrollTop = scrollOffset;\n }\n\n if (_scrollEvents2[\"default\"].registered['end']) {\n _scrollEvents2[\"default\"].registered['end'](to, target);\n }\n\n return;\n }\n /*\r\n * Animate scrolling\r\n */\n\n\n _animateScroll2[\"default\"].animateTopScroll(scrollOffset, props, to, target);\n }\n};"],"sourceRoot":""}