{"version":3,"sources":["webpack:///./node_modules/react-intersection-observer/react-intersection-observer.m.js","webpack:///./src/pages/index.js","webpack:///./node_modules/smoothscroll-polyfill/dist/smoothscroll.js","webpack:///./src/components/marketinglinks.js"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","ObserverMap","Map","RootIds","WeakMap","rootId","optionsToId","options","keys","sort","filter","undefined","map","root","has","set","toString","get","observe","element","callback","_createObserver","id","instance","thresholds","elements","observer","IntersectionObserver","entries","forEach","entry","_elements$get","inView","isIntersecting","some","threshold","intersectionRatio","trackVisibility","isVisible","Array","isArray","createObserver","callbacks","push","splice","indexOf","unobserve","size","disconnect","isPlainChildren","props","children","_React$Component","subClass","superClass","InView","_this","node","_unobserveCb","handleNode","triggerOnce","skip","setState","initialInView","observeNode","handleChange","onChange","state","create","constructor","__proto__","_proto","componentDidUpdate","prevProps","rootMargin","delay","componentWillUnmount","_this$props","render","_this$state","ref","_this$props2","as","tag","excluded","sourceKeys","_objectWithoutPropertiesLoose","displayName","defaultProps","Index","Minimised","isStuck","handleShow","bind","setContactState","layoutContents","React","createRef","stuck","handleScroll","DontChangeScroll","componentDidMount","setSections","window","Smoothscroll","polyfill","data","allStrapiSections","edges","section","podcasts","pods","pod","getPodcasts","podcastid","podcasturl","WLID","withoutlimits","WL","WL_ID","getWL","setTimeout","isIt","behavior","setScrollSection","yCoordinate","refs","getBoundingClientRect","top","pageYOffset","scrollTo","min","Sections","allStrapiMicrosites","Content","OG","OG_image","childImageSharp","fluid","originalImg","theme","metaName","metaDescription","site_description","metaImage","className","n","Tag","returnImage","Header_background","HeaderBackgroundColour","overlayOpacity","logo","download","style","color","HeaderTitleColour","site_name","StrapiImage","imageInfo","site_intro","linkTarget","isSticky","wasSticky","backgroundColor","MainColor","sections","sticky","title","textColour","MenuTextColor","hightlightColor","secondColor","document","index","Title","sectNum","MainColour","textColor","pardot_form","location","Component","connect","articles","micrositeID","getArticle","module","exports","w","d","documentElement","__forceSmoothScrollPolyfill__","userAgent","Element","HTMLElement","original","scroll","scrollBy","elementScroll","scrollElement","scrollIntoView","now","performance","Date","ROUNDING_TOLERANCE","navigator","RegExp","join","test","shouldBailOut","smoothScroll","body","left","scrollX","pageXOffset","scrollY","scrollLeft","scrollTop","SyntaxError","scrollableParent","findScrollableParent","parentRects","clientRects","getComputedStyle","position","x","y","firstArg","TypeError","hasScrollableSpace","el","axis","clientHeight","scrollHeight","clientWidth","scrollWidth","canOverflow","overflowValue","isScrollable","isScrollableY","isScrollableX","parentNode","host","step","context","value","currentX","currentY","k","elapsed","startTime","Math","cos","PI","startX","startY","method","scrollable","requestAnimationFrame"],"mappings":"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","file":"component---src-pages-index-js-0c4938761d0d72ff1313.js","sourcesContent":["import \"core-js/modules/es.array.sort.js\";\nimport { createElement, Component, useRef, useState, useCallback, useEffect } from 'react';\n\nfunction _extends() {\n _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\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar ObserverMap = new Map();\nvar RootIds = new WeakMap();\nvar rootId = 0;\n/**\r\n * Generate a unique ID for the root element\r\n * @param root\r\n */\n\nfunction getRootId(root) {\n if (!root) return '0';\n if (RootIds.has(root)) return RootIds.get(root);\n rootId += 1;\n RootIds.set(root, rootId.toString());\n return RootIds.get(root);\n}\n/**\r\n * Convert the options to a string Id, based on the values.\r\n * Ensures we can reuse the same observer when observing elements with the same options.\r\n * @param options\r\n */\n\n\nfunction optionsToId(options) {\n return Object.keys(options).sort().filter(function (key) {\n return options[key] !== undefined;\n }).map(function (key) {\n return key + \"_\" + (key === 'root' ? getRootId(options.root) : options[key]);\n }).toString();\n}\n\nfunction createObserver(options) {\n // Create a unique ID for this observer instance, based on the root, root margin and threshold.\n var id = optionsToId(options);\n var instance = ObserverMap.get(id);\n\n if (!instance) {\n // Create a map of elements this observer is going to observe. Each element has a list of callbacks that should be triggered, once it comes into view.\n var elements = new Map();\n var thresholds;\n var observer = new IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n var _elements$get; // While it would be nice if you could just look at isIntersecting to determine if the component is inside the viewport, browsers can't agree on how to use it.\n // -Firefox ignores `threshold` when considering `isIntersecting`, so it will never be false again if `threshold` is > 0\n\n\n var inView = entry.isIntersecting && thresholds.some(function (threshold) {\n return entry.intersectionRatio >= threshold;\n }); // @ts-ignore support IntersectionObserver v2\n\n if (options.trackVisibility && typeof entry.isVisible === 'undefined') {\n // The browser doesn't support Intersection Observer v2, falling back to v1 behavior.\n // @ts-ignore\n entry.isVisible = inView;\n }\n\n (_elements$get = elements.get(entry.target)) == null ? void 0 : _elements$get.forEach(function (callback) {\n callback(inView, entry);\n });\n });\n }, options); // Ensure we have a valid thresholds array. If not, use the threshold from the options\n\n thresholds = observer.thresholds || (Array.isArray(options.threshold) ? options.threshold : [options.threshold || 0]);\n instance = {\n id: id,\n observer: observer,\n elements: elements\n };\n ObserverMap.set(id, instance);\n }\n\n return instance;\n}\n/**\r\n * @param element - DOM Element to observe\r\n * @param callback - Callback function to trigger when intersection status changes\r\n * @param options - Intersection Observer options\r\n * @return Function - Cleanup function that should be triggered to unregister the observer\r\n */\n\n\nfunction observe(element, callback, options) {\n if (options === void 0) {\n options = {};\n }\n\n if (!element) return function () {}; // An observer with the same options can be reused, so lets use this fact\n\n var _createObserver = createObserver(options),\n id = _createObserver.id,\n observer = _createObserver.observer,\n elements = _createObserver.elements; // Register the callback listener for this element\n\n\n var callbacks = elements.get(element) || [];\n\n if (!elements.has(element)) {\n elements.set(element, callbacks);\n }\n\n callbacks.push(callback);\n observer.observe(element);\n return function unobserve() {\n // Remove the callback from the callback list\n callbacks.splice(callbacks.indexOf(callback), 1);\n\n if (callbacks.length === 0) {\n // No more callback exists for element, so destroy it\n elements[\"delete\"](element);\n observer.unobserve(element);\n }\n\n if (elements.size === 0) {\n // No more elements are being observer by this instance, so destroy it\n observer.disconnect();\n ObserverMap[\"delete\"](id);\n }\n };\n}\n\nfunction isPlainChildren(props) {\n return typeof props.children !== 'function';\n}\n/**\r\n ## Render props\r\n\n To use the `` component, you pass it a function. It will be called\r\n whenever the state changes, with the new value of `inView`. In addition to the\r\n `inView` prop, children also receive a `ref` that should be set on the\r\n containing DOM element. This is the element that the IntersectionObserver will\r\n monitor.\r\n\n If you need it, you can also access the\r\n [`IntersectionObserverEntry`](https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntry)\r\n on `entry`, giving you access to all the details about the current intersection\r\n state.\r\n\n ```jsx\r\n import { InView } from 'react-intersection-observer';\r\n\n const Component = () => (\r\n \r\n {({ inView, ref, entry }) => (\r\n
\r\n

{`Header inside viewport ${inView}.`}

\r\n
\r\n )}\r\n
\r\n );\r\n\n export default Component;\r\n ```\r\n\n ## Plain children\r\n\n You can pass any element to the ``, and it will handle creating the\r\n wrapping DOM element. Add a handler to the `onChange` method, and control the\r\n state in your own component. Any extra props you add to `` will be\r\n passed to the HTML element, allowing you set the `className`, `style`, etc.\r\n\n ```jsx\r\n import { InView } from 'react-intersection-observer';\r\n\n const Component = () => (\r\n console.log('Inview:', inView)}>\r\n

Plain children are always rendered. Use onChange to monitor state.

\r\n
\r\n );\r\n\n export default Component;\r\n ```\r\n */\n\n\nvar InView = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(InView, _React$Component);\n\n function InView(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.node = null;\n _this._unobserveCb = null;\n\n _this.handleNode = function (node) {\n if (_this.node) {\n // Clear the old observer, before we start observing a new element\n _this.unobserve();\n\n if (!node && !_this.props.triggerOnce && !_this.props.skip) {\n // Reset the state if we get a new node, and we aren't ignoring updates\n _this.setState({\n inView: !!_this.props.initialInView,\n entry: undefined\n });\n }\n }\n\n _this.node = node ? node : null;\n\n _this.observeNode();\n };\n\n _this.handleChange = function (inView, entry) {\n if (inView && _this.props.triggerOnce) {\n // If `triggerOnce` is true, we should stop observing the element.\n _this.unobserve();\n }\n\n if (!isPlainChildren(_this.props)) {\n // Store the current State, so we can pass it to the children in the next render update\n // There's no reason to update the state for plain children, since it's not used in the rendering.\n _this.setState({\n inView: inView,\n entry: entry\n });\n }\n\n if (_this.props.onChange) {\n // If the user is actively listening for onChange, always trigger it\n _this.props.onChange(inView, entry);\n }\n };\n\n _this.state = {\n inView: !!props.initialInView,\n entry: undefined\n };\n return _this;\n }\n\n var _proto = InView.prototype;\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n // If a IntersectionObserver option changed, reinit the observer\n if (prevProps.rootMargin !== this.props.rootMargin || prevProps.root !== this.props.root || prevProps.threshold !== this.props.threshold || prevProps.skip !== this.props.skip || prevProps.trackVisibility !== this.props.trackVisibility || prevProps.delay !== this.props.delay) {\n this.unobserve();\n this.observeNode();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.unobserve();\n this.node = null;\n };\n\n _proto.observeNode = function observeNode() {\n if (!this.node || this.props.skip) return;\n var _this$props = this.props,\n threshold = _this$props.threshold,\n root = _this$props.root,\n rootMargin = _this$props.rootMargin,\n trackVisibility = _this$props.trackVisibility,\n delay = _this$props.delay;\n this._unobserveCb = observe(this.node, this.handleChange, {\n threshold: threshold,\n root: root,\n rootMargin: rootMargin,\n // @ts-ignore\n trackVisibility: trackVisibility,\n // @ts-ignore\n delay: delay\n });\n };\n\n _proto.unobserve = function unobserve() {\n if (this._unobserveCb) {\n this._unobserveCb();\n\n this._unobserveCb = null;\n }\n };\n\n _proto.render = function render() {\n if (!isPlainChildren(this.props)) {\n var _this$state = this.state,\n inView = _this$state.inView,\n entry = _this$state.entry;\n return this.props.children({\n inView: inView,\n entry: entry,\n ref: this.handleNode\n });\n }\n\n var _this$props2 = this.props,\n children = _this$props2.children,\n as = _this$props2.as,\n tag = _this$props2.tag,\n props = _objectWithoutPropertiesLoose(_this$props2, [\"children\", \"as\", \"tag\", \"triggerOnce\", \"threshold\", \"root\", \"rootMargin\", \"onChange\", \"skip\", \"trackVisibility\", \"delay\", \"initialInView\"]);\n\n return /*#__PURE__*/createElement(as || tag || 'div', _extends({\n ref: this.handleNode\n }, props), children);\n };\n\n return InView;\n}(Component);\n\nInView.displayName = 'InView';\nInView.defaultProps = {\n threshold: 0,\n triggerOnce: false,\n initialInView: false\n};\n/**\r\n * React Hooks make it easy to monitor the `inView` state of your components. Call\r\n * the `useInView` hook with the (optional) [options](#options) you need. It will\r\n * return an array containing a `ref`, the `inView` status and the current\r\n * [`entry`](https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntry).\r\n * Assign the `ref` to the DOM element you want to monitor, and the hook will\r\n * report the status.\r\n *\r\n * @example\r\n * ```jsx\r\n * import React from 'react';\r\n * import { useInView } from 'react-intersection-observer';\r\n *\r\n * const Component = () => {\r\n * const { ref, inView, entry } = useInView({\r\n * threshold: 0,\r\n * });\r\n *\r\n * return (\r\n *
\r\n *

{`Header inside viewport ${inView}.`}

\r\n *
\r\n * );\r\n * };\r\n * ```\r\n */\n\nfunction useInView(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n threshold = _ref.threshold,\n delay = _ref.delay,\n trackVisibility = _ref.trackVisibility,\n rootMargin = _ref.rootMargin,\n root = _ref.root,\n triggerOnce = _ref.triggerOnce,\n skip = _ref.skip,\n initialInView = _ref.initialInView;\n\n var unobserve = useRef();\n\n var _React$useState = useState({\n inView: !!initialInView\n }),\n state = _React$useState[0],\n setState = _React$useState[1];\n\n var setRef = useCallback(function (node) {\n if (unobserve.current !== undefined) {\n unobserve.current();\n unobserve.current = undefined;\n } // Skip creating the observer\n\n\n if (skip) return;\n\n if (node) {\n unobserve.current = observe(node, function (inView, entry) {\n setState({\n inView: inView,\n entry: entry\n });\n\n if (entry.isIntersecting && triggerOnce && unobserve.current) {\n // If it should only trigger once, unobserve the element after it's inView\n unobserve.current();\n unobserve.current = undefined;\n }\n }, {\n root: root,\n rootMargin: rootMargin,\n threshold: threshold,\n // @ts-ignore\n trackVisibility: trackVisibility,\n // @ts-ignore\n delay: delay\n });\n }\n }, // We break the rule here, because we aren't including the actual `threshold` variable\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [// If the threshold is an array, convert it to a string so it won't change between renders.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n Array.isArray(threshold) ? threshold.toString() : threshold, root, rootMargin, triggerOnce, skip, trackVisibility, delay]);\n /* eslint-disable-next-line */\n\n useEffect(function () {\n if (!unobserve.current && state.entry && !triggerOnce && !skip) {\n // If we don't have a ref, then reset the state (unless the hook is set to only `triggerOnce` or `skip`)\n // This ensures we correctly reflect the current state - If you aren't observing anything, then nothing is inView\n setState({\n inView: !!initialInView\n });\n }\n });\n var result = [setRef, state.inView, state.entry]; // Support object destructuring, by adding the specific values.\n\n result.ref = result[0];\n result.inView = result[1];\n result.entry = result[2];\n return result;\n}\n\nexport default InView;\nexport { InView, observe, useInView };","import React, { Component } from 'react'\nimport { graphql } from \"gatsby\"\nimport { StickyContainer, Sticky } from 'react-sticky';\nimport Smoothscroll from 'smoothscroll-polyfill';\nimport ReactMarkdown from \"react-markdown\"\nimport { connect } from 'react-redux';\nimport BackgroundImage from 'gatsby-background-image'\nimport {returnImage} from '../actions/utils.js'\nimport { InView } from 'react-intersection-observer'\n\n// import Grid from \"../components/grid\"\nimport MarketingLinks from \"../components/marketinglinks\"\nimport { getArticle, getPodcasts, getWL, setSections, setScrollSection } from '../actions';\nimport StrapiImage from \"../components/StrapiImage.js\"\nimport Layout from '../components/layout'\nimport Nav from '../components/nav'\nimport NewSection from '../components/sectionnew'\nimport Contact from \"../components/contact_article\"\n\n\n\n\n\n\nclass Index extends Component {\n constructor(props) {\n super(props)\n this.state = {\n Minimised: false,\n isStuck:false\n\n }\n // this.verticalAnimation = this.verticalAnimation.bind(this)\n this.handleShow = this.handleShow.bind(this)\n this.setContactState = this.setContactState.bind(this)\n this.layoutContents = React.createRef()\n this.stuck = this.stuck.bind(this)\n this.handleScroll = this.handleScroll.bind(this)\n this.DontChangeScroll = true;\n\n // this.transitionCover = React.createRef()\n }\n\n\n\n componentDidMount() {\n this.props.setSections({}, {}, {})\n\n typeof window !== \"undefined\" && Smoothscroll.polyfill();\n\n if (this.props.data.allStrapiSections !== undefined) {\n for (let section of this.props.data.allStrapiSections.edges) {\n\n ///getPodcasts\n if (section.node.podcasts.length > 0 && this.props.pods.length === 0) {\n if (section.node.podcasts.length !== this.props.pods.length) {\n for (let pod of section.node.podcasts) {\n this.props.getPodcasts(pod.podcastid, pod.podcasturl)\n }\n }\n }\n //gtWL\n let WLID = []\n if (section.node.withoutlimits.length > 0 && this.props.WL.length === 0) {\n if (section.node.withoutlimits.length !== this.props.WL.length) {\n for (let WL of section.node.withoutlimits) {\n WLID.push(WL.WL_ID)\n }\n this.props.getWL(WLID)\n\n }\n }\n }\n }\n\n this.DontChangeScroll = true\n if (typeof window !== 'undefined') {\n if(this.props.section !== \"\"){\n const timer3 = setTimeout(() => {\n this.handleShow(this.props.section, \"auto\")\n this.DontChangeScroll = false\n }, 400);\n\n\n\n\n }\n }\n\n }\n\n\n componentDidUpdate(prevProps) {\n\n }\n\n stuck(isIt) {\n\n this.setState({isStuck:isIt})\n\n }\n\n\n handleShow(i, behavior) {\n if(behavior === undefined){\n behavior = \"smooth\"\n this.props.setScrollSection(i)\n }\n\n if (typeof window !== \"undefined\") {\n const yourElement = this.refs[i]\n\n const yCoordinate = yourElement.getBoundingClientRect().top + window.pageYOffset;\n const yOffset = -30;\n window.scrollTo({\n top: yCoordinate + yOffset,\n behavior: behavior\n });\n }\n }\n\n handleScroll(inView, entry ,section) {\n if(inView ){\n if(!this.DontChangeScroll){\n this.props.setScrollSection(section)\n }\n }\n}\n\n\n\n setContactState(min) {\n this.setState({ Minimised: min })\n }\n\n render() {\n let Sections = []\n for (let section of this.props.data.allStrapiMicrosites.edges[0].node.Content) {\n Sections.push(section)\n }\n\n\n\n let OG = \"\"\n if (this.props.data.allStrapiMicrosites.edges[0].node.OG_image !== null) {\n OG = this.props.data.allStrapiMicrosites.edges[0].node.OG_image.childImageSharp.fluid.originalImg\n }\n return (\n\n \n\n
(this.layoutContents = n)}>\n\n\n\n \n
\n
\n
\n\n\n
\n
\n\n
\n\n
\n\n\n {this.props.data.allStrapiMicrosites.edges[0].node.logo === null &&\n
\n
\n

{this.props.data.allStrapiMicrosites.edges[0].node.site_name}

\n
\n
\n }\n\n\n\n\n {this.props.data.allStrapiMicrosites.edges[0].node.logo !== null &&\n
\n \n
\n }\n\n\n
\n \n
\n
\n
\n\n\n
\n
\n
\n
\n
\n
\n \n \n {({ style,isSticky,wasSticky }) => (\n
\n\n
\n )\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n articles: state.articles,\n pods: state.pods,\n WL: state.WL,\n micrositeID: state.micrositeID,\n section:state.section\n };\n}\nexport default connect(mapStateToProps, { getArticle, getPodcasts, getWL, setSections,setScrollSection })(Index);\nexport const pageQuery = graphql`\nquery IndexxQuery($MicrositeIDFull: String!) {\n allStrapiMicrosites(filter: { id: { eq: $MicrositeIDFull } }) {\n edges {\n node {\n id\n MainColor\n MenuTextColor\n textColor\n secondColor\n secondTextColour\n pardot_form\n site_description\n site_intro\n site_name\n sub_message\n Linkedin_conversion_id\n Linkedin_pixel_id\n overlayOpacity\n HeaderBackgroundColour\n HeaderTitleColour\n Content {\n ShowCall\n ShowDownload\n ShowEnquiry\n ShowMarketing\n hide_from_menu\n BackgroundColour\n TextColour\n Title\n TitleColour\n text\n Text\n DisplayType\n TileBackgroundColour\n TileTextColour\n TileborderColour\n Tile_text_pacement\n overlayOpacity\n Type\n AccordianTextColour\n AccordianTitleColour\n buttontext\n caption\n inline\n size\n position\n Image {\n childImageSharp {\n fluid {\n base64\n tracedSVG\n aspectRatio\n src\n srcSet\n srcWebp\n srcSetWebp\n sizes\n originalImg\n originalName\n presentationWidth\n presentationHeight\n }\n }\n publicURL\n extension\n }\n side_image {\n childImageSharp {\n fluid(maxWidth: 1920, quality: 80) {\n base64\n tracedSVG\n aspectRatio\n src\n srcSet\n srcWebp\n srcSetWebp\n sizes\n originalImg\n originalName\n presentationWidth\n presentationHeight\n }\n }\n }\n background {\n childImageSharp {\n fluid(maxWidth: 1920, quality: 80) {\n base64\n tracedSVG\n srcWebp\n srcSetWebp\n originalImg\n originalName\n }\n }\n }\n link\n items_per_column\n column_item {\n id\n text\n title\n link\n link_text\n image {\n childImageSharp {\n fluid(maxWidth: 400, quality: 80) {\n base64\n tracedSVG\n aspectRatio\n src\n srcSet\n srcWebp\n srcSetWebp\n sizes\n originalImg\n originalName\n presentationWidth\n presentationHeight\n }\n }\n publicURL\n extension\n }\n }\n\n accordian_item {\n Title\n Content\n microsites {\n site_name\n slug\n\n }\n events {\n Event_name\n slug\n }\n contacts {\n name\n email\n showBioPage\n slug\n }\n podcasts {\n title\n id\n }\n projects {\n slug\n Project_name\n }\n services {\n slug\n service_name\n }\n videos {\n title\n Player_colour\n wisita_id\n }\n withoutlimits {\n slug\n title\n }\n articles {\n slug\n type\n title\n }\n links {\n subtitle\n title\n url\n }\n }\n\n links {\n image {\n childImageSharp {\n fluid(maxWidth: 1920, quality: 80){\n base64\n tracedSVG\n aspectRatio\n src\n srcSet\n srcWebp\n srcSetWebp\n sizes\n originalImg\n originalName\n presentationWidth\n presentationHeight\n }\n }\n }\n id\n subtitle\n title\n url\n }\n microsites {\n Header_background {\n childImageSharp {\n fluid(maxWidth: 1920, quality: 100) {\n base64\n tracedSVG\n srcWebp\n srcSetWebp\n originalImg\n originalName\n }\n }\n }\n logo {\n publicURL\n extension\n childImageSharp {\n fluid {\n base64\n tracedSVG\n aspectRatio\n src\n srcSet\n srcWebp\n srcSetWebp\n sizes\n originalImg\n originalName\n presentationWidth\n presentationHeight\n }\n }\n }\n site_name\n site_intro\n createdAt\n slug\n }\n\n podcasts {\n id\n podcastid\n podcasturl\n title\n }\n events {\n Event_name\n date(formatString: \"MMMM D, YYYY\")\n event_image {\n childImageSharp {\n fluid {\n base64\n tracedSVG\n aspectRatio\n src\n srcSet\n srcWebp\n srcSetWebp\n sizes\n originalImg\n originalName\n presentationWidth\n presentationHeight\n }\n }\n }\n slug\n location\n time\n }\n videos {\n cover_image {\n childImageSharp {\n fluid {\n base64\n tracedSVG\n aspectRatio\n src\n srcSet\n srcWebp\n srcSetWebp\n sizes\n originalImg\n originalName\n presentationWidth\n presentationHeight\n }\n }\n }\n Player_colour\n createdAt\n id\n slug\n title\n wisita_id\n }\n contacts {\n email\n name\n position\n showBioPage\n slug\n Social\n image {\n childImageSharp {\n fluid {\n base64\n tracedSVG\n aspectRatio\n src\n srcSet\n srcWebp\n srcSetWebp\n sizes\n originalImg\n originalName\n presentationWidth\n presentationHeight\n }\n }\n }\n }\n\n services {\n service_image {\n childImageSharp {\n fluid {\n base64\n tracedSVG\n aspectRatio\n src\n srcSet\n srcWebp\n srcSetWebp\n sizes\n originalImg\n originalName\n presentationWidth\n presentationHeight\n }\n }\n }\n service_name\n slug\n }\n projects {\n Project_name\n slug\n Project_content\n Project_image {\n childImageSharp {\n fluid {\n base64\n tracedSVG\n aspectRatio\n src\n srcSet\n srcWebp\n srcSetWebp\n sizes\n originalImg\n originalName\n presentationWidth\n presentationHeight\n }\n }\n }\n }\n withoutlimits {\n WL_ID\n authors\n title\n OG_image {\n childImageSharp {\n fluid {\n base64\n tracedSVG\n aspectRatio\n src\n srcSet\n srcWebp\n srcSetWebp\n sizes\n originalImg\n originalName\n presentationWidth\n presentationHeight\n }\n }\n }\n slug\n }\n articles {\n createdAt\n Author\n title\n type\n Sub_message\n Header_image {\n childImageSharp {\n fluid {\n base64\n tracedSVG\n aspectRatio\n src\n srcSet\n srcWebp\n srcSetWebp\n sizes\n originalImg\n originalName\n presentationWidth\n presentationHeight\n }\n }\n }\n slug\n createdAt\n }\n\n\n\n }\n\n download {\n absolutePath\n publicURL\n }\n\n download_preview {\n publicURL\n childImageSharp {\n fluid {\n base64\n tracedSVG\n aspectRatio\n src\n srcSet\n srcWebp\n srcSetWebp\n sizes\n originalImg\n originalName\n presentationWidth\n presentationHeight\n }\n }\n }\n Header_background{\n childImageSharp {\n fluid(maxWidth: 6000, quality: 100){\n base64\n tracedSVG\n aspectRatio\n src\n srcSet\n srcWebp\n srcSetWebp\n sizes\n originalImg\n originalName\n presentationWidth\n presentationHeight\n }\n }\n }\n OG_image {\n publicURL\n\n childImageSharp {\n fluid(maxWidth: 6000, quality: 100){\n base64\n tracedSVG\n aspectRatio\n src\n srcSet\n srcWebp\n srcSetWebp\n sizes\n originalImg\n originalName\n presentationWidth\n presentationHeight\n }\n }\n }\n logo {\n publicURL\n extension\n childImageSharp {\n fluid {\n base64\n tracedSVG\n aspectRatio\n src\n srcSet\n srcWebp\n srcSetWebp\n sizes\n originalImg\n originalName\n presentationWidth\n presentationHeight\n }\n }\n }\n }\n }\n }\n}\n\n`\n","/* smoothscroll v0.4.4 - 2019 - Dustan Kasten, Jeremias Menichelli - MIT License */\n(function () {\n 'use strict'; // polyfill\n\n function polyfill() {\n // aliases\n var w = window;\n var d = document; // return if scroll behavior is supported and polyfill is not forced\n\n if ('scrollBehavior' in d.documentElement.style && w.__forceSmoothScrollPolyfill__ !== true) {\n return;\n } // globals\n\n\n var Element = w.HTMLElement || w.Element;\n var SCROLL_TIME = 468; // object gathering original scroll methods\n\n var original = {\n scroll: w.scroll || w.scrollTo,\n scrollBy: w.scrollBy,\n elementScroll: Element.prototype.scroll || scrollElement,\n scrollIntoView: Element.prototype.scrollIntoView\n }; // define timing method\n\n var now = w.performance && w.performance.now ? w.performance.now.bind(w.performance) : Date.now;\n /**\n * indicates if a the current browser is made by Microsoft\n * @method isMicrosoftBrowser\n * @param {String} userAgent\n * @returns {Boolean}\n */\n\n function isMicrosoftBrowser(userAgent) {\n var userAgentPatterns = ['MSIE ', 'Trident/', 'Edge/'];\n return new RegExp(userAgentPatterns.join('|')).test(userAgent);\n }\n /*\n * IE has rounding bug rounding down clientHeight and clientWidth and\n * rounding up scrollHeight and scrollWidth causing false positives\n * on hasScrollableSpace\n */\n\n\n var ROUNDING_TOLERANCE = isMicrosoftBrowser(w.navigator.userAgent) ? 1 : 0;\n /**\n * changes scroll position inside an element\n * @method scrollElement\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n\n function scrollElement(x, y) {\n this.scrollLeft = x;\n this.scrollTop = y;\n }\n /**\n * returns result of applying ease math function to a number\n * @method ease\n * @param {Number} k\n * @returns {Number}\n */\n\n\n function ease(k) {\n return 0.5 * (1 - Math.cos(Math.PI * k));\n }\n /**\n * indicates if a smooth behavior should be applied\n * @method shouldBailOut\n * @param {Number|Object} firstArg\n * @returns {Boolean}\n */\n\n\n function shouldBailOut(firstArg) {\n if (firstArg === null || typeof firstArg !== 'object' || firstArg.behavior === undefined || firstArg.behavior === 'auto' || firstArg.behavior === 'instant') {\n // first argument is not an object/null\n // or behavior is auto, instant or undefined\n return true;\n }\n\n if (typeof firstArg === 'object' && firstArg.behavior === 'smooth') {\n // first argument is an object and behavior is smooth\n return false;\n } // throw error when behavior is not supported\n\n\n throw new TypeError('behavior member of ScrollOptions ' + firstArg.behavior + ' is not a valid value for enumeration ScrollBehavior.');\n }\n /**\n * indicates if an element has scrollable space in the provided axis\n * @method hasScrollableSpace\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n\n\n function hasScrollableSpace(el, axis) {\n if (axis === 'Y') {\n return el.clientHeight + ROUNDING_TOLERANCE < el.scrollHeight;\n }\n\n if (axis === 'X') {\n return el.clientWidth + ROUNDING_TOLERANCE < el.scrollWidth;\n }\n }\n /**\n * indicates if an element has a scrollable overflow property in the axis\n * @method canOverflow\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n\n\n function canOverflow(el, axis) {\n var overflowValue = w.getComputedStyle(el, null)['overflow' + axis];\n return overflowValue === 'auto' || overflowValue === 'scroll';\n }\n /**\n * indicates if an element can be scrolled in either axis\n * @method isScrollable\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n\n\n function isScrollable(el) {\n var isScrollableY = hasScrollableSpace(el, 'Y') && canOverflow(el, 'Y');\n var isScrollableX = hasScrollableSpace(el, 'X') && canOverflow(el, 'X');\n return isScrollableY || isScrollableX;\n }\n /**\n * finds scrollable parent of an element\n * @method findScrollableParent\n * @param {Node} el\n * @returns {Node} el\n */\n\n\n function findScrollableParent(el) {\n while (el !== d.body && isScrollable(el) === false) {\n el = el.parentNode || el.host;\n }\n\n return el;\n }\n /**\n * self invoked function that, given a context, steps through scrolling\n * @method step\n * @param {Object} context\n * @returns {undefined}\n */\n\n\n function step(context) {\n var time = now();\n var value;\n var currentX;\n var currentY;\n var elapsed = (time - context.startTime) / SCROLL_TIME; // avoid elapsed times higher than one\n\n elapsed = elapsed > 1 ? 1 : elapsed; // apply easing to elapsed time\n\n value = ease(elapsed);\n currentX = context.startX + (context.x - context.startX) * value;\n currentY = context.startY + (context.y - context.startY) * value;\n context.method.call(context.scrollable, currentX, currentY); // scroll more if we have not reached our destination\n\n if (currentX !== context.x || currentY !== context.y) {\n w.requestAnimationFrame(step.bind(w, context));\n }\n }\n /**\n * scrolls window or element with a smooth behavior\n * @method smoothScroll\n * @param {Object|Node} el\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n\n\n function smoothScroll(el, x, y) {\n var scrollable;\n var startX;\n var startY;\n var method;\n var startTime = now(); // define scroll context\n\n if (el === d.body) {\n scrollable = w;\n startX = w.scrollX || w.pageXOffset;\n startY = w.scrollY || w.pageYOffset;\n method = original.scroll;\n } else {\n scrollable = el;\n startX = el.scrollLeft;\n startY = el.scrollTop;\n method = scrollElement;\n } // scroll looping over a frame\n\n\n step({\n scrollable: scrollable,\n method: method,\n startTime: startTime,\n startX: startX,\n startY: startY,\n x: x,\n y: y\n });\n } // ORIGINAL METHODS OVERRIDES\n // w.scroll and w.scrollTo\n\n\n w.scroll = w.scrollTo = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n } // avoid smooth behavior if not required\n\n\n if (shouldBailOut(arguments[0]) === true) {\n original.scroll.call(w, arguments[0].left !== undefined ? arguments[0].left : typeof arguments[0] !== 'object' ? arguments[0] : w.scrollX || w.pageXOffset, // use top prop, second argument if present or fallback to scrollY\n arguments[0].top !== undefined ? arguments[0].top : arguments[1] !== undefined ? arguments[1] : w.scrollY || w.pageYOffset);\n return;\n } // LET THE SMOOTHNESS BEGIN!\n\n\n smoothScroll.call(w, d.body, arguments[0].left !== undefined ? ~~arguments[0].left : w.scrollX || w.pageXOffset, arguments[0].top !== undefined ? ~~arguments[0].top : w.scrollY || w.pageYOffset);\n }; // w.scrollBy\n\n\n w.scrollBy = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n } // avoid smooth behavior if not required\n\n\n if (shouldBailOut(arguments[0])) {\n original.scrollBy.call(w, arguments[0].left !== undefined ? arguments[0].left : typeof arguments[0] !== 'object' ? arguments[0] : 0, arguments[0].top !== undefined ? arguments[0].top : arguments[1] !== undefined ? arguments[1] : 0);\n return;\n } // LET THE SMOOTHNESS BEGIN!\n\n\n smoothScroll.call(w, d.body, ~~arguments[0].left + (w.scrollX || w.pageXOffset), ~~arguments[0].top + (w.scrollY || w.pageYOffset));\n }; // Element.prototype.scroll and Element.prototype.scrollTo\n\n\n Element.prototype.scroll = Element.prototype.scrollTo = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n } // avoid smooth behavior if not required\n\n\n if (shouldBailOut(arguments[0]) === true) {\n // if one number is passed, throw error to match Firefox implementation\n if (typeof arguments[0] === 'number' && arguments[1] === undefined) {\n throw new SyntaxError('Value could not be converted');\n }\n\n original.elementScroll.call(this, // use left prop, first number argument or fallback to scrollLeft\n arguments[0].left !== undefined ? ~~arguments[0].left : typeof arguments[0] !== 'object' ? ~~arguments[0] : this.scrollLeft, // use top prop, second argument or fallback to scrollTop\n arguments[0].top !== undefined ? ~~arguments[0].top : arguments[1] !== undefined ? ~~arguments[1] : this.scrollTop);\n return;\n }\n\n var left = arguments[0].left;\n var top = arguments[0].top; // LET THE SMOOTHNESS BEGIN!\n\n smoothScroll.call(this, this, typeof left === 'undefined' ? this.scrollLeft : ~~left, typeof top === 'undefined' ? this.scrollTop : ~~top);\n }; // Element.prototype.scrollBy\n\n\n Element.prototype.scrollBy = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n } // avoid smooth behavior if not required\n\n\n if (shouldBailOut(arguments[0]) === true) {\n original.elementScroll.call(this, arguments[0].left !== undefined ? ~~arguments[0].left + this.scrollLeft : ~~arguments[0] + this.scrollLeft, arguments[0].top !== undefined ? ~~arguments[0].top + this.scrollTop : ~~arguments[1] + this.scrollTop);\n return;\n }\n\n this.scroll({\n left: ~~arguments[0].left + this.scrollLeft,\n top: ~~arguments[0].top + this.scrollTop,\n behavior: arguments[0].behavior\n });\n }; // Element.prototype.scrollIntoView\n\n\n Element.prototype.scrollIntoView = function () {\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.scrollIntoView.call(this, arguments[0] === undefined ? true : arguments[0]);\n return;\n } // LET THE SMOOTHNESS BEGIN!\n\n\n var scrollableParent = findScrollableParent(this);\n var parentRects = scrollableParent.getBoundingClientRect();\n var clientRects = this.getBoundingClientRect();\n\n if (scrollableParent !== d.body) {\n // reveal element inside parent\n smoothScroll.call(this, scrollableParent, scrollableParent.scrollLeft + clientRects.left - parentRects.left, scrollableParent.scrollTop + clientRects.top - parentRects.top); // reveal parent in viewport unless is fixed\n\n if (w.getComputedStyle(scrollableParent).position !== 'fixed') {\n w.scrollBy({\n left: parentRects.left,\n top: parentRects.top,\n behavior: 'smooth'\n });\n }\n } else {\n // reveal element in viewport\n w.scrollBy({\n left: clientRects.left,\n top: clientRects.top,\n behavior: 'smooth'\n });\n }\n };\n }\n\n if (typeof exports === 'object' && typeof module !== 'undefined') {\n // commonjs\n module.exports = {\n polyfill: polyfill\n };\n } else {\n // global\n polyfill();\n }\n})();","import React from 'react';\nimport CardGrid from \"./cardgrid.js\"\nimport StrapiImage from \"./StrapiImage.js\"\nimport BackgroundImage from 'gatsby-background-image'\n\n\n\nconst MarketingLinks = props => {\n\n\n\n let Size=\"xlarge-50 large-50 medium-50 small-100 tiny-100 push-left mLink\"\n\n if(props.length === 1){\n Size=\"all-100 push-left \"\n}else if(props.length === 2){\n Size=\"xlarge-50 large-50 medium-50 small-100 tiny-100 push-left mLink\"\n}else if(props.length === 3){\n Size=\"xlarge-33 large-33 medium-33 small-100 tiny-100 push-left mLink\"\n}\nelse if(props.length === 4){\n Size=\"xlarge-25 large-25 medium-50 small-100 tiny-100 push-left mLink\"\n}\nelse if(props.length === 5){\n Size=\"xlarge-25 large-25 medium-50 small-100 tiny-100 push-left mLink\"\n}else if(props.length === 6){\n Size=\"xlarge-33 large-33 medium-33 small-100 tiny-100 push-left mLink\"\n}else if(props.length === 6){\n Size=\"xlarge-33 large-33 medium-33 small-100 tiny-100 push-left mLink\"\n}\nelse if(props.length === 8){\n Size=\"xlarge-25 large-25 medium-50 small-100 tiny-100 push-left mLink\"\n}\n\nlet backgroundFluidImageStack = [\n`linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.5))`\n].reverse()\n\nif(props.data.image !== null){\n backgroundFluidImageStack = [\nprops.data.image.childImageSharp.fluid,\n`linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.5))`\n].reverse()\n}\n return(\n\n\n
\n\n \n\n
\n

{props.data.title}

\n

{props.data.subtitle}

\n
\n
\n
\n
\n\n )\n\n\n }\n\n\n\n\n\n\n\nexport default MarketingLinks;\n"],"sourceRoot":""}