{"version":3,"sources":["webpack://gatsby-starter-default/./node_modules/react-device-detect/main.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://gatsby-starter-default/./node_modules/react-ipgeolocation/index.js","webpack://gatsby-starter-default/./node_modules/ua-parser-js/dist/ua-parser.min.js","webpack://gatsby-starter-default/../src/SeoContext.tsx","webpack://gatsby-starter-default/../src/Seo.tsx","webpack://gatsby-starter-default/./src/components/SplitHero.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://gatsby-starter-default/./node_modules/framer-motion/dist/es/value/scroll/utils.js","webpack://gatsby-starter-default/./node_modules/framer-motion/dist/es/value/scroll/use-viewport-scroll.js","webpack://gatsby-starter-default/./node_modules/framer-motion/dist/es/utils/transform.js","webpack://gatsby-starter-default/./node_modules/framer-motion/dist/es/value/use-combine-values.js","webpack://gatsby-starter-default/./node_modules/framer-motion/dist/es/value/use-motion-value.js","webpack://gatsby-starter-default/./node_modules/framer-motion/dist/es/value/use-on-change.js","webpack://gatsby-starter-default/./node_modules/framer-motion/dist/es/value/use-transform.js","webpack://gatsby-starter-default/./src/components/ParallaxBox.js","webpack://gatsby-starter-default/./src/hooks/useMediaQuery.js","webpack://gatsby-starter-default/./src/assets/svgs/google.svg","webpack://gatsby-starter-default/./src/components/homepage/HomepageAbout.js","webpack://gatsby-starter-default/./src/assets/svgs/appstore.svg","webpack://gatsby-starter-default/./src/components/homepage/HomepagePlans.js","webpack://gatsby-starter-default/./src/components/homepage/HomepageBigImage.js","webpack://gatsby-starter-default/./src/components/buttons/Ripple.js","webpack://gatsby-starter-default/./src/components/buttons/Button.js","webpack://gatsby-starter-default/./src/components/theSystem/BenefitsSection.js","webpack://gatsby-starter-default/./src/components/FullbleedCircles.js","webpack://gatsby-starter-default/./src/components/FullbleedBlocks.js","webpack://gatsby-starter-default/./src/components/ParallaxUpDown.js","webpack://gatsby-starter-default/./src/components/theSystem/ClientsSection.js","webpack://gatsby-starter-default/./src/components/CirclesSection.js","webpack://gatsby-starter-default/./src/components/referralSystem/ClientPt.js","webpack://gatsby-starter-default/./src/components/qualifications/slices/ImageAndCopy.jsx","webpack://gatsby-starter-default/./src/components/qualifications/slices/CopyAndImage.jsx","webpack://gatsby-starter-default/./src/components/BasicTitle.js","webpack://gatsby-starter-default/./src/components/homepage/HomepageHero.js","webpack://gatsby-starter-default/./src/components/qualifications/SliceZone.js","webpack://gatsby-starter-default/./src/templates/page.js"],"names":["ex","React","React__default","UA","browser","getBrowser","device","getCPU","getDevice","engine","getEngine","os","getOS","ua","getUA","setDefaults","p","d","arguments","length","undefined","getNavigatorInstance","window","navigator","isIOS13Check","type","nav","platform","indexOf","maxTouchPoints","MSStream","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperties","target","props","i","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_defineProperty","value","_extends","assign","source","hasOwnProperty","call","apply","this","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","_setPrototypeOf","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","_assertThisInitialized","self","ReferenceError","DeviceTypes","BrowserTypes","Chrome","Firefox","Opera","Yandex","Safari","InternetExplorer","Edge","Chromium","Ie","MobileSafari","EdgeChromium","MIUI","SamsungBrowser","OsTypes","IOS","Android","WindowsPhone","Windows","MAC_OS","initialData","isMobile","isTablet","isBrowser","isSmartTV","isConsole","isWearable","mobilePayload","forEach","getOwnPropertyDescriptors","defineProperties","_objectSpread2","vendor","model","name","osVersion","version","checkType","isEdgeChromiumType","isBrowserType","isEdgeType","getIPad13","isMobileSafari","isChromium","isMobileAndTabletType","isMobileOnly","isDesktop","isAndroid","isWinPhone","isIOS","isChrome","isFirefox","isSafari","isOpera","isIE","osName","fullBrowserVersion","browserVersion","major","browserName","mobileVendor","mobileModel","engineName","engineVersion","isEdge","isYandex","deviceType","isIOS13","test","isIPad13","isIPhone13","isIPod13","isElectron","userAgent","toLowerCase","isElectronType","isEdgeChromium","isLegacyEdge","isWindows","isMacOs","isMIUI","isSamsungBrowser","exports","_slicedToArray","arr","Array","isArray","_i","_s","_e","_arr","_n","_d","next","done","err","unsupportedIterableToArray","TypeError","options","_useState","useState","country","_useState2","setCountry","_useState3","_useState4","error","setError","_useState5","_useState6","isLoading","setIsLoading","api","useEffect","isCancelled","_fetchAPI","fetchAPI","_callee","_context","prev","fetch","then","res","ok","Error","statusText","json","catch","finally","stop","FUNC_TYPE","UNDEF_TYPE","OBJ_TYPE","STR_TYPE","MODEL","NAME","TYPE","VENDOR","VERSION","ARCHITECTURE","CONSOLE","MOBILE","TABLET","SMARTTV","WEARABLE","EMBEDDED","util","extend","regexes","extensions","mergedRegexes","concat","has","str1","str2","lowerize","str","replace","split","trim","len","substring","mapper","rgx","arrays","j","k","q","matches","match","regex","exec","_str","map","maps","oldSafari","1.2","1.3","oldEdge","21","31","39","41","42","44","windows","ME","XP","Vista","7","8","8.1","10","RT","cpu","UAParser","getResult","_ua","_rgxmap","_browser","_cpu","architecture","_device","_engine","_os","setUA","BROWSER","MAJOR","CPU","DEVICE","ENGINE","OS","module","$","jQuery","Zepto","parser","get","set","uastring","result","prop","SEOContext","createContext","post","meta","title","postSchema","seo","fullSchema","JSON","global","useContext","inLanguage","schema","webmaster","social","verification","content","baiduVerify","googleVerify","msVerify","yandexVerify","metaTag","time","metaTitle","metaDescription","robotsIndex","robotsFollow","htmlAttributes","lang","property","companyName","opengraphDescription","cardType","username","sourceUrl","altText","m","encodeSpecialCharacters","SplitHeroWrapper","styled","input","className","xmlns","width","height","viewBox","id","data-name","transform","motion","fill","initial","opacity","pathLength","animate","transition","duration","introParagraph","fluid","image","localFile","childImageSharp","alt","setProgress","offset","maxOffset","viewportScrollValues","getViewportScrollOffsets","xOffset","pageXOffset","yOffset","pageYOffset","xMaxOffset","document","body","clientWidth","innerWidth","yMaxOffset","clientHeight","innerHeight","hasListeners","addEventListeners","values","getOffsets","update","updateScrollValues","_a","scrollX","scrollY","scrollXProgress","scrollYProgress","passive","useViewportScroll","getMixer","v","mix","isCustomValueType","useCombineMotionValues","combineValues","MotionConfigContext","isStatic","setLatest_1","onChange","useMotionValue","updateValue","handler","subscriptions","unsubscribe","useMultiOnChange","useTransform","inputRangeOrTransformer","outputRange","transformer","args","useImmediate","argOffset","inputValue","inputRange","interpolator","interpolate","mixer","useListTransform","latest","numValues","children","easing","triggerPoint","fadeOut","rest","ref","useRef","elementTop","setElementTop","elementBottom","setElementBottom","setClientHeight","current","setValues","offsetTop","offsetHeight","addEventListener","removeEventListener","transformFinalValue","y","opacityInitialValue","useMemo","style","useMediaQuery","query","mediaMatch","matchMedia","setMatches","e","addListener","removeListener","AppSection","isSmall","Wrapper","appImage","dangerouslySetInnerHTML","__html","paragraph","href","androidLink","rel","whileHover","scale","src","Google","appleLink","PlanSection","PlanInner","animation","useAnimation","location","useGeoLocation","useInView","threshold","triggerOnce","featured","inView","start","x","delay","sequence","custom","plansThumbnails","index","plans","price","planType","description","button","link","marginTop","text","includes","icon","publicURL","marginRight","ImageSection","BackgroundImageStyles","rotate","backgroundImage","color","repeat","Infinity","ease","rippleKeyframe","keyframes","RippleContainer","rippleArray","setRippleArray","rippleCount","cleanUpFunction","useLayoutEffect","bounce","clearTimeout","setTimeout","useDebouncedRippleCleanUp","onMouseDown","event","rippleContainer","currentTarget","getBoundingClientRect","size","newRipple","clientX","clientY","ripple","top","left","ButtonStyled","Link","to","BenefitsSectionStyles","BackgroundImg","Img","BenefitsFlex","isXSmall","position","thumbnails","c","thumbnail","FullbleedInner","repeatType","copy","overflow","endPoint","ClientsSectionStyles","CirclesSectionStyles","yoyo","CopyImageContainer","Title","HeroContainer","HeroBackground","HeroFlex","pathVariants","hidden","visible","variants","buttons","b","Content","SliceZone","render","allSlices","slice","s","fieldGroupName","HomepageThumbnails","Newsletter","Component","data","Layout","whiteLogo","page","acf_content","contentBlocks"],"mappings":"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","file":"component---src-templates-page-js-7624e4053fbade785a9b.js","sourcesContent":["'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopDefault(ex) {\n return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex;\n}\n\nvar React = require('react');\n\nvar React__default = _interopDefault(React);\n\nvar UAParser = require('ua-parser-js/dist/ua-parser.min');\n\nvar UA = new UAParser();\nvar browser = UA.getBrowser();\nvar cpu = UA.getCPU();\nvar device = UA.getDevice();\nvar engine = UA.getEngine();\nvar os = UA.getOS();\nvar ua = UA.getUA();\n\nvar setDefaults = function setDefaults(p) {\n var d = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'none';\n return p ? p : d;\n};\n\nvar getNavigatorInstance = function getNavigatorInstance() {\n if (typeof window !== 'undefined') {\n if (window.navigator || navigator) {\n return window.navigator || navigator;\n }\n }\n\n return false;\n};\n\nvar isIOS13Check = function isIOS13Check(type) {\n var nav = getNavigatorInstance();\n return nav && nav.platform && (nav.platform.indexOf(type) !== -1 || nav.platform === 'MacIntel' && nav.maxTouchPoints > 1 && !window.MSStream);\n};\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\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 _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\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\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 ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\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\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\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\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nvar DeviceTypes = {\n Mobile: 'mobile',\n Tablet: 'tablet',\n SmartTv: 'smarttv',\n Console: 'console',\n Wearable: 'wearable',\n Browser: undefined\n};\nvar BrowserTypes = {\n Chrome: 'Chrome',\n Firefox: \"Firefox\",\n Opera: \"Opera\",\n Yandex: \"Yandex\",\n Safari: \"Safari\",\n InternetExplorer: \"Internet Explorer\",\n Edge: \"Edge\",\n Chromium: \"Chromium\",\n Ie: 'IE',\n MobileSafari: \"Mobile Safari\",\n EdgeChromium: \"Edge Chromium\",\n MIUI: \"MIUI Browser\",\n SamsungBrowser: 'Samsung Browser'\n};\nvar OsTypes = {\n IOS: 'iOS',\n Android: \"Android\",\n WindowsPhone: \"Windows Phone\",\n Windows: 'Windows',\n MAC_OS: 'Mac OS'\n};\nvar initialData = {\n isMobile: false,\n isTablet: false,\n isBrowser: false,\n isSmartTV: false,\n isConsole: false,\n isWearable: false\n};\n\nvar checkType = function checkType(type) {\n switch (type) {\n case DeviceTypes.Mobile:\n return {\n isMobile: true\n };\n\n case DeviceTypes.Tablet:\n return {\n isTablet: true\n };\n\n case DeviceTypes.SmartTv:\n return {\n isSmartTV: true\n };\n\n case DeviceTypes.Console:\n return {\n isConsole: true\n };\n\n case DeviceTypes.Wearable:\n return {\n isWearable: true\n };\n\n case DeviceTypes.Browser:\n return {\n isBrowser: true\n };\n\n default:\n return initialData;\n }\n};\n\nvar broPayload = function broPayload(isBrowser, browser, engine, os, ua) {\n return {\n isBrowser: isBrowser,\n browserMajorVersion: setDefaults(browser.major),\n browserFullVersion: setDefaults(browser.version),\n browserName: setDefaults(browser.name),\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\n\nvar mobilePayload = function mobilePayload(type, device, os, ua) {\n return _objectSpread2({}, type, {\n vendor: setDefaults(device.vendor),\n model: setDefaults(device.model),\n os: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n ua: setDefaults(ua)\n });\n};\n\nvar stvPayload = function stvPayload(isSmartTV, engine, os, ua) {\n return {\n isSmartTV: isSmartTV,\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\n\nvar consolePayload = function consolePayload(isConsole, engine, os, ua) {\n return {\n isConsole: isConsole,\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\n\nvar wearPayload = function wearPayload(isWearable, engine, os, ua) {\n return {\n isWearable: isWearable,\n engineName: setDefaults(engine.name),\n engineVersion: setDefaults(engine.version),\n osName: setDefaults(os.name),\n osVersion: setDefaults(os.version),\n userAgent: setDefaults(ua)\n };\n};\n\nvar type = checkType(device.type);\n\nfunction deviceDetect() {\n var isBrowser = type.isBrowser,\n isMobile = type.isMobile,\n isTablet = type.isTablet,\n isSmartTV = type.isSmartTV,\n isConsole = type.isConsole,\n isWearable = type.isWearable;\n\n if (isBrowser) {\n return broPayload(isBrowser, browser, engine, os, ua);\n }\n\n if (isSmartTV) {\n return stvPayload(isSmartTV, engine, os, ua);\n }\n\n if (isConsole) {\n return consolePayload(isConsole, engine, os, ua);\n }\n\n if (isMobile) {\n return mobilePayload(type, device, os, ua);\n }\n\n if (isTablet) {\n return mobilePayload(type, device, os, ua);\n }\n\n if (isWearable) {\n return wearPayload(isWearable, engine, os, ua);\n }\n}\n\nvar isMobileType = function isMobileType() {\n return device.type === DeviceTypes.Mobile;\n};\n\nvar isTabletType = function isTabletType() {\n return device.type === DeviceTypes.Tablet;\n};\n\nvar isMobileAndTabletType = function isMobileAndTabletType() {\n switch (device.type) {\n case DeviceTypes.Mobile:\n case DeviceTypes.Tablet:\n return true;\n\n default:\n return false;\n }\n};\n\nvar isEdgeChromiumType = function isEdgeChromiumType() {\n return typeof ua === 'string' && ua.indexOf('Edg/') !== -1;\n};\n\nvar isSmartTVType = function isSmartTVType() {\n return device.type === DeviceTypes.SmartTv;\n};\n\nvar isBrowserType = function isBrowserType() {\n return device.type === DeviceTypes.Browser;\n};\n\nvar isWearableType = function isWearableType() {\n return device.type === DeviceTypes.Wearable;\n};\n\nvar isConsoleType = function isConsoleType() {\n return device.type === DeviceTypes.Console;\n};\n\nvar isAndroidType = function isAndroidType() {\n return os.name === OsTypes.Android;\n};\n\nvar isWindowsType = function isWindowsType() {\n return os.name === OsTypes.Windows;\n};\n\nvar isMacOsType = function isMacOsType() {\n return os.name === OsTypes.MAC_OS;\n};\n\nvar isWinPhoneType = function isWinPhoneType() {\n return os.name === OsTypes.WindowsPhone;\n};\n\nvar isIOSType = function isIOSType() {\n return os.name === OsTypes.IOS;\n};\n\nvar isChromeType = function isChromeType() {\n return browser.name === BrowserTypes.Chrome;\n};\n\nvar isFirefoxType = function isFirefoxType() {\n return browser.name === BrowserTypes.Firefox;\n};\n\nvar isChromiumType = function isChromiumType() {\n return browser.name === BrowserTypes.Chromium;\n};\n\nvar isEdgeType = function isEdgeType() {\n return browser.name === BrowserTypes.Edge;\n};\n\nvar isYandexType = function isYandexType() {\n return browser.name === BrowserTypes.Yandex;\n};\n\nvar isSafariType = function isSafariType() {\n return browser.name === BrowserTypes.Safari || browser.name === BrowserTypes.MobileSafari;\n};\n\nvar isMobileSafariType = function isMobileSafariType() {\n return browser.name === BrowserTypes.MobileSafari;\n};\n\nvar isOperaType = function isOperaType() {\n return browser.name === BrowserTypes.Opera;\n};\n\nvar isIEType = function isIEType() {\n return browser.name === BrowserTypes.InternetExplorer || browser.name === BrowserTypes.Ie;\n};\n\nvar isMIUIType = function isMIUIType() {\n return browser.name === BrowserTypes.MIUI;\n};\n\nvar isSamsungBrowserType = function isSamsungBrowserType() {\n return browser.name === BrowserTypes.SamsungBrowser;\n};\n\nvar isElectronType = function isElectronType() {\n var nav = getNavigatorInstance();\n var ua = nav && nav.userAgent && nav.userAgent.toLowerCase();\n return typeof ua === 'string' ? /electron/.test(ua) : false;\n};\n\nvar getIOS13 = function getIOS13() {\n var nav = getNavigatorInstance();\n return nav && (/iPad|iPhone|iPod/.test(nav.platform) || nav.platform === 'MacIntel' && nav.maxTouchPoints > 1) && !window.MSStream;\n};\n\nvar getIPad13 = function getIPad13() {\n return isIOS13Check('iPad');\n};\n\nvar getIphone13 = function getIphone13() {\n return isIOS13Check('iPhone');\n};\n\nvar getIPod13 = function getIPod13() {\n return isIOS13Check('iPod');\n};\n\nvar getBrowserFullVersion = function getBrowserFullVersion() {\n return setDefaults(browser.version);\n};\n\nvar getBrowserVersion = function getBrowserVersion() {\n return setDefaults(browser.major);\n};\n\nvar getOsVersion = function getOsVersion() {\n return setDefaults(os.version);\n};\n\nvar getOsName = function getOsName() {\n return setDefaults(os.name);\n};\n\nvar getBrowserName = function getBrowserName() {\n return setDefaults(browser.name);\n};\n\nvar getMobileVendor = function getMobileVendor() {\n return setDefaults(device.vendor);\n};\n\nvar getMobileModel = function getMobileModel() {\n return setDefaults(device.model);\n};\n\nvar getEngineName = function getEngineName() {\n return setDefaults(engine.name);\n};\n\nvar getEngineVersion = function getEngineVersion() {\n return setDefaults(engine.version);\n};\n\nvar getUseragent = function getUseragent() {\n return setDefaults(ua);\n};\n\nvar getDeviceType = function getDeviceType() {\n return setDefaults(device.type, 'browser');\n};\n\nvar isSmartTV = isSmartTVType();\nvar isConsole = isConsoleType();\nvar isWearable = isWearableType();\nvar isMobileSafari = isMobileSafariType() || getIPad13();\nvar isChromium = isChromiumType();\nvar isMobile = isMobileAndTabletType() || getIPad13();\nvar isMobileOnly = isMobileType();\nvar isTablet = isTabletType() || getIPad13();\nvar isBrowser = isBrowserType();\nvar isDesktop = isBrowserType();\nvar isAndroid = isAndroidType();\nvar isWinPhone = isWinPhoneType();\nvar isIOS = isIOSType() || getIPad13();\nvar isChrome = isChromeType();\nvar isFirefox = isFirefoxType();\nvar isSafari = isSafariType();\nvar isOpera = isOperaType();\nvar isIE = isIEType();\nvar osVersion = getOsVersion();\nvar osName = getOsName();\nvar fullBrowserVersion = getBrowserFullVersion();\nvar browserVersion = getBrowserVersion();\nvar browserName = getBrowserName();\nvar mobileVendor = getMobileVendor();\nvar mobileModel = getMobileModel();\nvar engineName = getEngineName();\nvar engineVersion = getEngineVersion();\nvar getUA = getUseragent();\nvar isEdge = isEdgeType() || isEdgeChromiumType();\nvar isYandex = isYandexType();\nvar deviceType = getDeviceType();\nvar isIOS13 = getIOS13();\nvar isIPad13 = getIPad13();\nvar isIPhone13 = getIphone13();\nvar isIPod13 = getIPod13();\nvar isElectron = isElectronType();\nvar isEdgeChromium = isEdgeChromiumType();\nvar isLegacyEdge = isEdgeType() && !isEdgeChromiumType();\nvar isWindows = isWindowsType();\nvar isMacOs = isMacOsType();\nvar isMIUI = isMIUIType();\nvar isSamsungBrowser = isSamsungBrowserType();\n\nvar AndroidView = function AndroidView(_ref) {\n var renderWithFragment = _ref.renderWithFragment,\n children = _ref.children,\n viewClassName = _ref.viewClassName,\n style = _ref.style,\n props = _objectWithoutProperties(_ref, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\"]);\n\n return isAndroid ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", _extends({\n className: viewClassName,\n style: style\n }, props), children) : null;\n};\n\nvar BrowserView = function BrowserView(_ref2) {\n var renderWithFragment = _ref2.renderWithFragment,\n children = _ref2.children,\n viewClassName = _ref2.viewClassName,\n style = _ref2.style,\n props = _objectWithoutProperties(_ref2, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\"]);\n\n return isBrowser ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", _extends({\n className: viewClassName,\n style: style\n }, props), children) : null;\n};\n\nvar IEView = function IEView(_ref3) {\n var renderWithFragment = _ref3.renderWithFragment,\n children = _ref3.children,\n viewClassName = _ref3.viewClassName,\n style = _ref3.style,\n props = _objectWithoutProperties(_ref3, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\"]);\n\n return isIE ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", _extends({\n className: viewClassName,\n style: style\n }, props), children) : null;\n};\n\nvar IOSView = function IOSView(_ref4) {\n var renderWithFragment = _ref4.renderWithFragment,\n children = _ref4.children,\n viewClassName = _ref4.viewClassName,\n style = _ref4.style,\n props = _objectWithoutProperties(_ref4, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\"]);\n\n return isIOS ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", _extends({\n className: viewClassName,\n style: style\n }, props), children) : null;\n};\n\nvar MobileView = function MobileView(_ref5) {\n var renderWithFragment = _ref5.renderWithFragment,\n children = _ref5.children,\n viewClassName = _ref5.viewClassName,\n style = _ref5.style,\n props = _objectWithoutProperties(_ref5, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\"]);\n\n return isMobile ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", _extends({\n className: viewClassName,\n style: style\n }, props), children) : null;\n};\n\nvar TabletView = function TabletView(_ref6) {\n var renderWithFragment = _ref6.renderWithFragment,\n children = _ref6.children,\n viewClassName = _ref6.viewClassName,\n style = _ref6.style,\n props = _objectWithoutProperties(_ref6, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\"]);\n\n return isTablet ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", _extends({\n className: viewClassName,\n style: style\n }, props), children) : null;\n};\n\nvar WinPhoneView = function WinPhoneView(_ref7) {\n var renderWithFragment = _ref7.renderWithFragment,\n children = _ref7.children,\n viewClassName = _ref7.viewClassName,\n style = _ref7.style,\n props = _objectWithoutProperties(_ref7, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\"]);\n\n return isWinPhone ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", _extends({\n className: viewClassName,\n style: style\n }, props), children) : null;\n};\n\nvar MobileOnlyView = function MobileOnlyView(_ref8) {\n var renderWithFragment = _ref8.renderWithFragment,\n children = _ref8.children,\n viewClassName = _ref8.viewClassName,\n style = _ref8.style,\n props = _objectWithoutProperties(_ref8, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\"]);\n\n return isMobileOnly ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", _extends({\n className: viewClassName,\n style: style\n }, props), children) : null;\n};\n\nvar SmartTVView = function SmartTVView(_ref9) {\n var renderWithFragment = _ref9.renderWithFragment,\n children = _ref9.children,\n viewClassName = _ref9.viewClassName,\n style = _ref9.style,\n props = _objectWithoutProperties(_ref9, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\"]);\n\n return isSmartTV ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", _extends({\n className: viewClassName,\n style: style\n }, props), children) : null;\n};\n\nvar ConsoleView = function ConsoleView(_ref10) {\n var renderWithFragment = _ref10.renderWithFragment,\n children = _ref10.children,\n viewClassName = _ref10.viewClassName,\n style = _ref10.style,\n props = _objectWithoutProperties(_ref10, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\"]);\n\n return isConsole ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", _extends({\n className: viewClassName,\n style: style\n }, props), children) : null;\n};\n\nvar WearableView = function WearableView(_ref11) {\n var renderWithFragment = _ref11.renderWithFragment,\n children = _ref11.children,\n viewClassName = _ref11.viewClassName,\n style = _ref11.style,\n props = _objectWithoutProperties(_ref11, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\"]);\n\n return isWearable ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", _extends({\n className: viewClassName,\n style: style\n }, props), children) : null;\n};\n\nvar CustomView = function CustomView(_ref12) {\n var renderWithFragment = _ref12.renderWithFragment,\n children = _ref12.children,\n viewClassName = _ref12.viewClassName,\n style = _ref12.style,\n condition = _ref12.condition,\n props = _objectWithoutProperties(_ref12, [\"renderWithFragment\", \"children\", \"viewClassName\", \"style\", \"condition\"]);\n\n return condition ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement(\"div\", _extends({\n className: viewClassName,\n style: style\n }, props), children) : null;\n};\n\nfunction withOrientationChange(WrappedComponent) {\n return /*#__PURE__*/function (_React$Component) {\n _inherits(_class, _React$Component);\n\n function _class(props) {\n var _this;\n\n _classCallCheck(this, _class);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(_class).call(this, props));\n _this.isEventListenerAdded = false;\n _this.handleOrientationChange = _this.handleOrientationChange.bind(_assertThisInitialized(_this));\n _this.onOrientationChange = _this.onOrientationChange.bind(_assertThisInitialized(_this));\n _this.onPageLoad = _this.onPageLoad.bind(_assertThisInitialized(_this));\n _this.state = {\n isLandscape: false,\n isPortrait: false\n };\n return _this;\n }\n\n _createClass(_class, [{\n key: \"handleOrientationChange\",\n value: function handleOrientationChange() {\n if (!this.isEventListenerAdded) {\n this.isEventListenerAdded = true;\n }\n\n var orientation = window.innerWidth > window.innerHeight ? 90 : 0;\n this.setState({\n isPortrait: orientation === 0,\n isLandscape: orientation === 90\n });\n }\n }, {\n key: \"onOrientationChange\",\n value: function onOrientationChange() {\n this.handleOrientationChange();\n }\n }, {\n key: \"onPageLoad\",\n value: function onPageLoad() {\n this.handleOrientationChange();\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== undefined && isMobile) {\n if (!this.isEventListenerAdded) {\n this.handleOrientationChange();\n window.addEventListener(\"load\", this.onPageLoad, false);\n } else {\n window.removeEventListener(\"load\", this.onPageLoad, false);\n }\n\n window.addEventListener(\"resize\", this.onOrientationChange, false);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n window.removeEventListener(\"resize\", this.onOrientationChange, false);\n }\n }, {\n key: \"render\",\n value: function render() {\n return React__default.createElement(WrappedComponent, _extends({}, this.props, {\n isLandscape: this.state.isLandscape,\n isPortrait: this.state.isPortrait\n }));\n }\n }]);\n\n return _class;\n }(React__default.Component);\n}\n\nexports.AndroidView = AndroidView;\nexports.BrowserTypes = BrowserTypes;\nexports.BrowserView = BrowserView;\nexports.ConsoleView = ConsoleView;\nexports.CustomView = CustomView;\nexports.IEView = IEView;\nexports.IOSView = IOSView;\nexports.MobileOnlyView = MobileOnlyView;\nexports.MobileView = MobileView;\nexports.OsTypes = OsTypes;\nexports.SmartTVView = SmartTVView;\nexports.TabletView = TabletView;\nexports.WearableView = WearableView;\nexports.WinPhoneView = WinPhoneView;\nexports.browserName = browserName;\nexports.browserVersion = browserVersion;\nexports.deviceDetect = deviceDetect;\nexports.deviceType = deviceType;\nexports.engineName = engineName;\nexports.engineVersion = engineVersion;\nexports.fullBrowserVersion = fullBrowserVersion;\nexports.getUA = getUA;\nexports.isAndroid = isAndroid;\nexports.isBrowser = isBrowser;\nexports.isChrome = isChrome;\nexports.isChromium = isChromium;\nexports.isConsole = isConsole;\nexports.isDesktop = isDesktop;\nexports.isEdge = isEdge;\nexports.isEdgeChromium = isEdgeChromium;\nexports.isElectron = isElectron;\nexports.isFirefox = isFirefox;\nexports.isIE = isIE;\nexports.isIOS = isIOS;\nexports.isIOS13 = isIOS13;\nexports.isIPad13 = isIPad13;\nexports.isIPhone13 = isIPhone13;\nexports.isIPod13 = isIPod13;\nexports.isLegacyEdge = isLegacyEdge;\nexports.isMIUI = isMIUI;\nexports.isMacOs = isMacOs;\nexports.isMobile = isMobile;\nexports.isMobileOnly = isMobileOnly;\nexports.isMobileSafari = isMobileSafari;\nexports.isOpera = isOpera;\nexports.isSafari = isSafari;\nexports.isSamsungBrowser = isSamsungBrowser;\nexports.isSmartTV = isSmartTV;\nexports.isTablet = isTablet;\nexports.isWearable = isWearable;\nexports.isWinPhone = isWinPhone;\nexports.isWindows = isWindows;\nexports.isYandex = isYandex;\nexports.mobileModel = mobileModel;\nexports.mobileVendor = mobileVendor;\nexports.osName = osName;\nexports.osVersion = osVersion;\nexports.withOrientationChange = withOrientationChange;","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]);\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import _asyncToGenerator from \"/codebuild/output/src1795511218/src/Front-end/node_modules/@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _slicedToArray from \"/codebuild/output/src1795511218/src/Front-end/node_modules/@babel/runtime/helpers/esm/slicedToArray\";\nimport _regeneratorRuntime from \"/codebuild/output/src1795511218/src/Front-end/node_modules/@babel/runtime/regenerator\";\nimport \"core-js/modules/es.promise.finally.js\";\n//react-geolocate\nimport { useState, useEffect } from \"react\";\n\nvar useGeoLocation = function useGeoLocation() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _useState = useState(options.country),\n _useState2 = _slicedToArray(_useState, 2),\n country = _useState2[0],\n setCountry = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n error = _useState4[0],\n setError = _useState4[1];\n\n var _useState5 = useState(true),\n _useState6 = _slicedToArray(_useState5, 2),\n isLoading = _useState6[0],\n setIsLoading = _useState6[1];\n\n var api = options.api || \"https://api.country.is\";\n useEffect(function () {\n var isCancelled = false;\n if (country || country === false) return;\n\n function fetchAPI() {\n return _fetchAPI.apply(this, arguments);\n }\n\n function _fetchAPI() {\n _fetchAPI = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n setIsLoading(true);\n _context.next = 3;\n return fetch(api).then(function (res) {\n if (!res.ok) {\n throw Error(res.statusText);\n return null;\n }\n\n return res.json();\n }).then(function (res) {\n if (res && res.country && !isCancelled) setCountry(res.country);\n }).catch(function (err) {\n return setError(err);\n }).finally(function () {\n return setIsLoading(false);\n });\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _fetchAPI.apply(this, arguments);\n }\n\n fetchAPI();\n return function () {\n isCancelled = true;\n };\n }, []);\n return {\n country: country,\n error: error,\n isLoading: isLoading\n };\n};\n\nexport default useGeoLocation;","/*!@license\n * UAParser.js v0.7.28\n * Lightweight JavaScript-based User-Agent string parser\n * https://github.com/faisalman/ua-parser-js\n *\n * Copyright © 2012-2021 Faisal Salman \n * Licensed under MIT License\n */\n(function (window, undefined) {\n \"use strict\";\n\n var LIBVERSION = \"0.7.28\",\n EMPTY = \"\",\n UNKNOWN = \"?\",\n FUNC_TYPE = \"function\",\n UNDEF_TYPE = \"undefined\",\n OBJ_TYPE = \"object\",\n STR_TYPE = \"string\",\n MAJOR = \"major\",\n MODEL = \"model\",\n NAME = \"name\",\n TYPE = \"type\",\n VENDOR = \"vendor\",\n VERSION = \"version\",\n ARCHITECTURE = \"architecture\",\n CONSOLE = \"console\",\n MOBILE = \"mobile\",\n TABLET = \"tablet\",\n SMARTTV = \"smarttv\",\n WEARABLE = \"wearable\",\n EMBEDDED = \"embedded\",\n UA_MAX_LENGTH = 255;\n var util = {\n extend: function extend(regexes, extensions) {\n var mergedRegexes = {};\n\n for (var i in regexes) {\n if (extensions[i] && extensions[i].length % 2 === 0) {\n mergedRegexes[i] = extensions[i].concat(regexes[i]);\n } else {\n mergedRegexes[i] = regexes[i];\n }\n }\n\n return mergedRegexes;\n },\n has: function has(str1, str2) {\n return typeof str1 === STR_TYPE ? str2.toLowerCase().indexOf(str1.toLowerCase()) !== -1 : false;\n },\n lowerize: function lowerize(str) {\n return str.toLowerCase();\n },\n major: function major(version) {\n return typeof version === STR_TYPE ? version.replace(/[^\\d\\.]/g, \"\").split(\".\")[0] : undefined;\n },\n trim: function trim(str, len) {\n str = str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, \"\");\n return typeof len === UNDEF_TYPE ? str : str.substring(0, UA_MAX_LENGTH);\n }\n };\n var mapper = {\n rgx: function rgx(ua, arrays) {\n var i = 0,\n j,\n k,\n p,\n q,\n matches,\n match;\n\n while (i < arrays.length && !matches) {\n var regex = arrays[i],\n props = arrays[i + 1];\n j = k = 0;\n\n while (j < regex.length && !matches) {\n matches = regex[j++].exec(ua);\n\n if (!!matches) {\n for (p = 0; p < props.length; p++) {\n match = matches[++k];\n q = props[p];\n\n if (typeof q === OBJ_TYPE && q.length > 0) {\n if (q.length == 2) {\n if (typeof q[1] == FUNC_TYPE) {\n this[q[0]] = q[1].call(this, match);\n } else {\n this[q[0]] = q[1];\n }\n } else if (q.length == 3) {\n if (typeof q[1] === FUNC_TYPE && !(q[1].exec && q[1].test)) {\n this[q[0]] = match ? q[1].call(this, match, q[2]) : undefined;\n } else {\n this[q[0]] = match ? match.replace(q[1], q[2]) : undefined;\n }\n } else if (q.length == 4) {\n this[q[0]] = match ? q[3].call(this, match.replace(q[1], q[2])) : undefined;\n }\n } else {\n this[q] = match ? match : undefined;\n }\n }\n }\n }\n\n i += 2;\n }\n },\n str: function str(_str, map) {\n for (var i in map) {\n if (typeof map[i] === OBJ_TYPE && map[i].length > 0) {\n for (var j = 0; j < map[i].length; j++) {\n if (util.has(map[i][j], _str)) {\n return i === UNKNOWN ? undefined : i;\n }\n }\n } else if (util.has(map[i], _str)) {\n return i === UNKNOWN ? undefined : i;\n }\n }\n\n return _str;\n }\n };\n var maps = {\n browser: {\n oldSafari: {\n version: {\n \"1.0\": \"/8\",\n 1.2: \"/1\",\n 1.3: \"/3\",\n \"2.0\": \"/412\",\n \"2.0.2\": \"/416\",\n \"2.0.3\": \"/417\",\n \"2.0.4\": \"/419\",\n \"?\": \"/\"\n }\n },\n oldEdge: {\n version: {\n .1: \"12.\",\n 21: \"13.\",\n 31: \"14.\",\n 39: \"15.\",\n 41: \"16.\",\n 42: \"17.\",\n 44: \"18.\"\n }\n }\n },\n os: {\n windows: {\n version: {\n ME: \"4.90\",\n \"NT 3.11\": \"NT3.51\",\n \"NT 4.0\": \"NT4.0\",\n 2e3: \"NT 5.0\",\n XP: [\"NT 5.1\", \"NT 5.2\"],\n Vista: \"NT 6.0\",\n 7: \"NT 6.1\",\n 8: \"NT 6.2\",\n 8.1: \"NT 6.3\",\n 10: [\"NT 6.4\", \"NT 10.0\"],\n RT: \"ARM\"\n }\n }\n }\n };\n var regexes = {\n browser: [[/\\b(?:crmo|crios)\\/([\\w\\.]+)/i], [VERSION, [NAME, \"Chrome\"]], [/(?:edge|edgios|edga|edg)\\/([\\w\\.]+)/i], [VERSION, [NAME, \"Edge\"]], [/(opera\\smini)\\/([\\w\\.-]+)/i, /(opera\\s[mobiletab]{3,6})\\b.+version\\/([\\w\\.-]+)/i, /(opera)(?:.+version\\/|[\\/\\s]+)([\\w\\.]+)/i], [NAME, VERSION], [/opios[\\/\\s]+([\\w\\.]+)/i], [VERSION, [NAME, \"Opera Mini\"]], [/\\sopr\\/([\\w\\.]+)/i], [VERSION, [NAME, \"Opera\"]], [/(kindle)\\/([\\w\\.]+)/i, /(lunascape|maxthon|netfront|jasmine|blazer)[\\/\\s]?([\\w\\.]*)/i, /(avant\\s|iemobile|slim)(?:browser)?[\\/\\s]?([\\w\\.]*)/i, /(ba?idubrowser)[\\/\\s]?([\\w\\.]+)/i, /(?:ms|\\()(ie)\\s([\\w\\.]+)/i, /(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon)\\/([\\w\\.-]+)/i, /(rekonq|puffin|brave|whale|qqbrowserlite|qq)\\/([\\w\\.]+)/i, /(weibo)__([\\d\\.]+)/i], [NAME, VERSION], [/(?:[\\s\\/]uc?\\s?browser|(?:juc.+)ucweb)[\\/\\s]?([\\w\\.]+)/i], [VERSION, [NAME, \"UCBrowser\"]], [/(?:windowswechat)?\\sqbcore\\/([\\w\\.]+)\\b.*(?:windowswechat)?/i], [VERSION, [NAME, \"WeChat(Win) Desktop\"]], [/micromessenger\\/([\\w\\.]+)/i], [VERSION, [NAME, \"WeChat\"]], [/konqueror\\/([\\w\\.]+)/i], [VERSION, [NAME, \"Konqueror\"]], [/trident.+rv[:\\s]([\\w\\.]{1,9})\\b.+like\\sgecko/i], [VERSION, [NAME, \"IE\"]], [/yabrowser\\/([\\w\\.]+)/i], [VERSION, [NAME, \"Yandex\"]], [/(avast|avg)\\/([\\w\\.]+)/i], [[NAME, /(.+)/, \"$1 Secure Browser\"], VERSION], [/focus\\/([\\w\\.]+)/i], [VERSION, [NAME, \"Firefox Focus\"]], [/opt\\/([\\w\\.]+)/i], [VERSION, [NAME, \"Opera Touch\"]], [/coc_coc_browser\\/([\\w\\.]+)/i], [VERSION, [NAME, \"Coc Coc\"]], [/dolfin\\/([\\w\\.]+)/i], [VERSION, [NAME, \"Dolphin\"]], [/coast\\/([\\w\\.]+)/i], [VERSION, [NAME, \"Opera Coast\"]], [/xiaomi\\/miuibrowser\\/([\\w\\.]+)/i], [VERSION, [NAME, \"MIUI Browser\"]], [/fxios\\/([\\w\\.-]+)/i], [VERSION, [NAME, \"Firefox\"]], [/(qihu|qhbrowser|qihoobrowser|360browser)/i], [[NAME, \"360 Browser\"]], [/(oculus|samsung|sailfish)browser\\/([\\w\\.]+)/i], [[NAME, /(.+)/, \"$1 Browser\"], VERSION], [/(comodo_dragon)\\/([\\w\\.]+)/i], [[NAME, /_/g, \" \"], VERSION], [/\\s(electron)\\/([\\w\\.]+)\\ssafari/i, /(tesla)(?:\\sqtcarbrowser|\\/(20[12]\\d\\.[\\w\\.-]+))/i, /m?(qqbrowser|baiduboxapp|2345Explorer)[\\/\\s]?([\\w\\.]+)/i], [NAME, VERSION], [/(MetaSr)[\\/\\s]?([\\w\\.]+)/i, /(LBBROWSER)/i], [NAME], [/;fbav\\/([\\w\\.]+);/i], [VERSION, [NAME, \"Facebook\"]], [/FBAN\\/FBIOS|FB_IAB\\/FB4A/i], [[NAME, \"Facebook\"]], [/safari\\s(line)\\/([\\w\\.]+)/i, /\\b(line)\\/([\\w\\.]+)\\/iab/i, /(chromium|instagram)[\\/\\s]([\\w\\.-]+)/i], [NAME, VERSION], [/\\bgsa\\/([\\w\\.]+)\\s.*safari\\//i], [VERSION, [NAME, \"GSA\"]], [/headlesschrome(?:\\/([\\w\\.]+)|\\s)/i], [VERSION, [NAME, \"Chrome Headless\"]], [/\\swv\\).+(chrome)\\/([\\w\\.]+)/i], [[NAME, \"Chrome WebView\"], VERSION], [/droid.+\\sversion\\/([\\w\\.]+)\\b.+(?:mobile\\ssafari|safari)/i], [VERSION, [NAME, \"Android Browser\"]], [/(chrome|omniweb|arora|[tizenoka]{5}\\s?browser)\\/v?([\\w\\.]+)/i], [NAME, VERSION], [/version\\/([\\w\\.]+)\\s.*mobile\\/\\w+\\s(safari)/i], [VERSION, [NAME, \"Mobile Safari\"]], [/version\\/([\\w\\.]+)\\s.*(mobile\\s?safari|safari)/i], [VERSION, NAME], [/webkit.+?(mobile\\s?safari|safari)(\\/[\\w\\.]+)/i], [NAME, [VERSION, mapper.str, maps.browser.oldSafari.version]], [/(webkit|khtml)\\/([\\w\\.]+)/i], [NAME, VERSION], [/(navigator|netscape)\\/([\\w\\.-]+)/i], [[NAME, \"Netscape\"], VERSION], [/ile\\svr;\\srv:([\\w\\.]+)\\).+firefox/i], [VERSION, [NAME, \"Firefox Reality\"]], [/ekiohf.+(flow)\\/([\\w\\.]+)/i, /(swiftfox)/i, /(icedragon|iceweasel|camino|chimera|fennec|maemo\\sbrowser|minimo|conkeror)[\\/\\s]?([\\w\\.\\+]+)/i, /(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([\\w\\.-]+)$/i, /(firefox)\\/([\\w\\.]+)\\s[\\w\\s\\-]+\\/[\\w\\.]+$/i, /(mozilla)\\/([\\w\\.]+)\\s.+rv\\:.+gecko\\/\\d+/i, /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir)[\\/\\s]?([\\w\\.]+)/i, /(links)\\s\\(([\\w\\.]+)/i, /(gobrowser)\\/?([\\w\\.]*)/i, /(ice\\s?browser)\\/v?([\\w\\._]+)/i, /(mosaic)[\\/\\s]([\\w\\.]+)/i], [NAME, VERSION]],\n cpu: [[/(?:(amd|x(?:(?:86|64)[_-])?|wow|win)64)[;\\)]/i], [[ARCHITECTURE, \"amd64\"]], [/(ia32(?=;))/i], [[ARCHITECTURE, util.lowerize]], [/((?:i[346]|x)86)[;\\)]/i], [[ARCHITECTURE, \"ia32\"]], [/\\b(aarch64|armv?8e?l?)\\b/i], [[ARCHITECTURE, \"arm64\"]], [/\\b(arm(?:v[67])?ht?n?[fl]p?)\\b/i], [[ARCHITECTURE, \"armhf\"]], [/windows\\s(ce|mobile);\\sppc;/i], [[ARCHITECTURE, \"arm\"]], [/((?:ppc|powerpc)(?:64)?)(?:\\smac|;|\\))/i], [[ARCHITECTURE, /ower/, \"\", util.lowerize]], [/(sun4\\w)[;\\)]/i], [[ARCHITECTURE, \"sparc\"]], [/((?:avr32|ia64(?=;))|68k(?=\\))|\\barm(?:64|(?=v(?:[1-7]|[5-7]1)l?|;|eabi))|(?=atmel\\s)avr|(?:irix|mips|sparc)(?:64)?\\b|pa-risc)/i], [[ARCHITECTURE, util.lowerize]]],\n device: [[/\\b(sch-i[89]0\\d|shw-m380s|sm-[pt]\\w{2,4}|gt-[pn]\\d{2,4}|sgh-t8[56]9|nexus\\s10)/i], [MODEL, [VENDOR, \"Samsung\"], [TYPE, TABLET]], [/\\b((?:s[cgp]h|gt|sm)-\\w+|galaxy\\snexus)/i, /\\ssamsung[\\s-]([\\w-]+)/i, /sec-(sgh\\w+)/i], [MODEL, [VENDOR, \"Samsung\"], [TYPE, MOBILE]], [/\\((ip(?:hone|od)[\\s\\w]*);/i], [MODEL, [VENDOR, \"Apple\"], [TYPE, MOBILE]], [/\\((ipad);[\\w\\s\\),;-]+apple/i, /applecoremedia\\/[\\w\\.]+\\s\\((ipad)/i, /\\b(ipad)\\d\\d?,\\d\\d?[;\\]].+ios/i], [MODEL, [VENDOR, \"Apple\"], [TYPE, TABLET]], [/\\b((?:agr|ags[23]|bah2?|sht?)-a?[lw]\\d{2})/i], [MODEL, [VENDOR, \"Huawei\"], [TYPE, TABLET]], [/d\\/huawei([\\w\\s-]+)[;\\)]/i, /\\b(nexus\\s6p|vog-[at]?l\\d\\d|ane-[at]?l[x\\d]\\d|eml-a?l\\d\\da?|lya-[at]?l\\d[\\dc]|clt-a?l\\d\\di?|ele-l\\d\\d)/i, /\\b(\\w{2,4}-[atu][ln][01259][019])[;\\)\\s]/i], [MODEL, [VENDOR, \"Huawei\"], [TYPE, MOBILE]], [/\\b(poco[\\s\\w]+)(?:\\sbuild|\\))/i, /\\b;\\s(\\w+)\\sbuild\\/hm\\1/i, /\\b(hm[\\s\\-_]?note?[\\s_]?(?:\\d\\w)?)\\sbuild/i, /\\b(redmi[\\s\\-_]?(?:note|k)?[\\w\\s_]+)(?:\\sbuild|\\))/i, /\\b(mi[\\s\\-_]?(?:a\\d|one|one[\\s_]plus|note lte)?[\\s_]?(?:\\d?\\w?)[\\s_]?(?:plus)?)\\sbuild/i], [[MODEL, /_/g, \" \"], [VENDOR, \"Xiaomi\"], [TYPE, MOBILE]], [/\\b(mi[\\s\\-_]?(?:pad)(?:[\\w\\s_]+))(?:\\sbuild|\\))/i], [[MODEL, /_/g, \" \"], [VENDOR, \"Xiaomi\"], [TYPE, TABLET]], [/;\\s(\\w+)\\sbuild.+\\soppo/i, /\\s(cph[12]\\d{3}|p(?:af|c[al]|d\\w|e[ar])[mt]\\d0|x9007)\\b/i], [MODEL, [VENDOR, \"OPPO\"], [TYPE, MOBILE]], [/\\svivo\\s(\\w+)(?:\\sbuild|\\))/i, /\\s(v[12]\\d{3}\\w?[at])(?:\\sbuild|;)/i], [MODEL, [VENDOR, \"Vivo\"], [TYPE, MOBILE]], [/\\s(rmx[12]\\d{3})(?:\\sbuild|;)/i], [MODEL, [VENDOR, \"Realme\"], [TYPE, MOBILE]], [/\\s(milestone|droid(?:[2-4x]|\\s(?:bionic|x2|pro|razr))?:?(\\s4g)?)\\b[\\w\\s]+build\\//i, /\\smot(?:orola)?[\\s-](\\w*)/i, /((?:moto[\\s\\w\\(\\)]+|xt\\d{3,4}|nexus\\s6)(?=\\sbuild|\\)))/i], [MODEL, [VENDOR, \"Motorola\"], [TYPE, MOBILE]], [/\\s(mz60\\d|xoom[\\s2]{0,2})\\sbuild\\//i], [MODEL, [VENDOR, \"Motorola\"], [TYPE, TABLET]], [/((?=lg)?[vl]k\\-?\\d{3})\\sbuild|\\s3\\.[\\s\\w;-]{10}lg?-([06cv9]{3,4})/i], [MODEL, [VENDOR, \"LG\"], [TYPE, TABLET]], [/(lm-?f100[nv]?|nexus\\s[45])/i, /lg[e;\\s\\/-]+((?!browser|netcast)\\w+)/i, /\\blg(\\-?[\\d\\w]+)\\sbuild/i], [MODEL, [VENDOR, \"LG\"], [TYPE, MOBILE]], [/(ideatab[\\w\\-\\s]+)/i, /lenovo\\s?(s(?:5000|6000)(?:[\\w-]+)|tab(?:[\\s\\w]+)|yt[\\d\\w-]{6}|tb[\\d\\w-]{6})/i], [MODEL, [VENDOR, \"Lenovo\"], [TYPE, TABLET]], [/(?:maemo|nokia).*(n900|lumia\\s\\d+)/i, /nokia[\\s_-]?([\\w\\.-]*)/i], [[MODEL, /_/g, \" \"], [VENDOR, \"Nokia\"], [TYPE, MOBILE]], [/droid.+;\\s(pixel\\sc)[\\s)]/i], [MODEL, [VENDOR, \"Google\"], [TYPE, TABLET]], [/droid.+;\\s(pixel[\\s\\daxl]{0,6})(?:\\sbuild|\\))/i], [MODEL, [VENDOR, \"Google\"], [TYPE, MOBILE]], [/droid.+\\s([c-g]\\d{4}|so[-l]\\w+|xq-a\\w[4-7][12])(?=\\sbuild\\/|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i], [MODEL, [VENDOR, \"Sony\"], [TYPE, MOBILE]], [/sony\\stablet\\s[ps]\\sbuild\\//i, /(?:sony)?sgp\\w+(?:\\sbuild\\/|\\))/i], [[MODEL, \"Xperia Tablet\"], [VENDOR, \"Sony\"], [TYPE, TABLET]], [/\\s(kb2005|in20[12]5|be20[12][59])\\b/i, /\\ba000(1)\\sbuild/i, /\\boneplus\\s(a\\d{4})[\\s)]/i], [MODEL, [VENDOR, \"OnePlus\"], [TYPE, MOBILE]], [/(alexa)webm/i, /(kf[a-z]{2}wi)(\\sbuild\\/|\\))/i, /(kf[a-z]+)(\\sbuild\\/|\\)).+silk\\//i], [MODEL, [VENDOR, \"Amazon\"], [TYPE, TABLET]], [/(sd|kf)[0349hijorstuw]+(\\sbuild\\/|\\)).+silk\\//i], [[MODEL, \"Fire Phone\"], [VENDOR, \"Amazon\"], [TYPE, MOBILE]], [/\\((playbook);[\\w\\s\\),;-]+(rim)/i], [MODEL, VENDOR, [TYPE, TABLET]], [/((?:bb[a-f]|st[hv])100-\\d)/i, /\\(bb10;\\s(\\w+)/i], [MODEL, [VENDOR, \"BlackBerry\"], [TYPE, MOBILE]], [/(?:\\b|asus_)(transfo[prime\\s]{4,10}\\s\\w+|eeepc|slider\\s\\w+|nexus\\s7|padfone|p00[cj])/i], [MODEL, [VENDOR, \"ASUS\"], [TYPE, TABLET]], [/\\s(z[es]6[027][01][km][ls]|zenfone\\s\\d\\w?)\\b/i], [MODEL, [VENDOR, \"ASUS\"], [TYPE, MOBILE]], [/(nexus\\s9)/i], [MODEL, [VENDOR, \"HTC\"], [TYPE, TABLET]], [/(htc)[;_\\s-]{1,2}([\\w\\s]+(?=\\)|\\sbuild)|\\w+)/i, /(zte)-(\\w*)/i, /(alcatel|geeksphone|nexian|panasonic|(?=;\\s)sony)[_\\s-]?([\\w-]*)/i], [VENDOR, [MODEL, /_/g, \" \"], [TYPE, MOBILE]], [/droid[x\\d\\.\\s;]+\\s([ab][1-7]\\-?[0178a]\\d\\d?)/i], [MODEL, [VENDOR, \"Acer\"], [TYPE, TABLET]], [/droid.+;\\s(m[1-5]\\snote)\\sbuild/i, /\\bmz-([\\w-]{2,})/i], [MODEL, [VENDOR, \"Meizu\"], [TYPE, MOBILE]], [/(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[\\s_-]?([\\w-]*)/i, /(hp)\\s([\\w\\s]+\\w)/i, /(asus)-?(\\w+)/i, /(microsoft);\\s(lumia[\\s\\w]+)/i, /(lenovo)[_\\s-]?([\\w-]+)/i, /linux;.+(jolla);/i, /droid.+;\\s(oppo)\\s?([\\w\\s]+)\\sbuild/i], [VENDOR, MODEL, [TYPE, MOBILE]], [/(archos)\\s(gamepad2?)/i, /(hp).+(touchpad(?!.+tablet)|tablet)/i, /(kindle)\\/([\\w\\.]+)/i, /\\s(nook)[\\w\\s]+build\\/(\\w+)/i, /(dell)\\s(strea[kpr\\s\\d]*[\\dko])/i, /[;\\/]\\s?(le[\\s\\-]+pan)[\\s\\-]+(\\w{1,9})\\sbuild/i, /[;\\/]\\s?(trinity)[\\-\\s]*(t\\d{3})\\sbuild/i, /\\b(gigaset)[\\s\\-]+(q\\w{1,9})\\sbuild/i, /\\b(vodafone)\\s([\\w\\s]+)(?:\\)|\\sbuild)/i], [VENDOR, MODEL, [TYPE, TABLET]], [/\\s(surface\\sduo)\\s/i], [MODEL, [VENDOR, \"Microsoft\"], [TYPE, TABLET]], [/droid\\s[\\d\\.]+;\\s(fp\\du?)\\sbuild/i], [MODEL, [VENDOR, \"Fairphone\"], [TYPE, MOBILE]], [/\\s(u304aa)\\sbuild/i], [MODEL, [VENDOR, \"AT&T\"], [TYPE, MOBILE]], [/sie-(\\w*)/i], [MODEL, [VENDOR, \"Siemens\"], [TYPE, MOBILE]], [/[;\\/]\\s?(rct\\w+)\\sbuild/i], [MODEL, [VENDOR, \"RCA\"], [TYPE, TABLET]], [/[;\\/\\s](venue[\\d\\s]{2,7})\\sbuild/i], [MODEL, [VENDOR, \"Dell\"], [TYPE, TABLET]], [/[;\\/]\\s?(q(?:mv|ta)\\w+)\\sbuild/i], [MODEL, [VENDOR, \"Verizon\"], [TYPE, TABLET]], [/[;\\/]\\s(?:barnes[&\\s]+noble\\s|bn[rt])([\\w\\s\\+]*)\\sbuild/i], [MODEL, [VENDOR, \"Barnes & Noble\"], [TYPE, TABLET]], [/[;\\/]\\s(tm\\d{3}\\w+)\\sbuild/i], [MODEL, [VENDOR, \"NuVision\"], [TYPE, TABLET]], [/;\\s(k88)\\sbuild/i], [MODEL, [VENDOR, \"ZTE\"], [TYPE, TABLET]], [/;\\s(nx\\d{3}j)\\sbuild/i], [MODEL, [VENDOR, \"ZTE\"], [TYPE, MOBILE]], [/[;\\/]\\s?(gen\\d{3})\\sbuild.*49h/i], [MODEL, [VENDOR, \"Swiss\"], [TYPE, MOBILE]], [/[;\\/]\\s?(zur\\d{3})\\sbuild/i], [MODEL, [VENDOR, \"Swiss\"], [TYPE, TABLET]], [/[;\\/]\\s?((zeki)?tb.*\\b)\\sbuild/i], [MODEL, [VENDOR, \"Zeki\"], [TYPE, TABLET]], [/[;\\/]\\s([yr]\\d{2})\\sbuild/i, /[;\\/]\\s(dragon[\\-\\s]+touch\\s|dt)(\\w{5})\\sbuild/i], [[VENDOR, \"Dragon Touch\"], MODEL, [TYPE, TABLET]], [/[;\\/]\\s?(ns-?\\w{0,9})\\sbuild/i], [MODEL, [VENDOR, \"Insignia\"], [TYPE, TABLET]], [/[;\\/]\\s?((nxa|Next)-?\\w{0,9})\\sbuild/i], [MODEL, [VENDOR, \"NextBook\"], [TYPE, TABLET]], [/[;\\/]\\s?(xtreme\\_)?(v(1[045]|2[015]|[3469]0|7[05]))\\sbuild/i], [[VENDOR, \"Voice\"], MODEL, [TYPE, MOBILE]], [/[;\\/]\\s?(lvtel\\-)?(v1[12])\\sbuild/i], [[VENDOR, \"LvTel\"], MODEL, [TYPE, MOBILE]], [/;\\s(ph-1)\\s/i], [MODEL, [VENDOR, \"Essential\"], [TYPE, MOBILE]], [/[;\\/]\\s?(v(100md|700na|7011|917g).*\\b)\\sbuild/i], [MODEL, [VENDOR, \"Envizen\"], [TYPE, TABLET]], [/[;\\/]\\s?(trio[\\s\\w\\-\\.]+)\\sbuild/i], [MODEL, [VENDOR, \"MachSpeed\"], [TYPE, TABLET]], [/[;\\/]\\s?tu_(1491)\\sbuild/i], [MODEL, [VENDOR, \"Rotor\"], [TYPE, TABLET]], [/(shield[\\w\\s]+)\\sbuild/i], [MODEL, [VENDOR, \"Nvidia\"], [TYPE, TABLET]], [/(sprint)\\s(\\w+)/i], [VENDOR, MODEL, [TYPE, MOBILE]], [/(kin\\.[onetw]{3})/i], [[MODEL, /\\./g, \" \"], [VENDOR, \"Microsoft\"], [TYPE, MOBILE]], [/droid\\s[\\d\\.]+;\\s(cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\\)/i], [MODEL, [VENDOR, \"Zebra\"], [TYPE, TABLET]], [/droid\\s[\\d\\.]+;\\s(ec30|ps20|tc[2-8]\\d[kx])\\)/i], [MODEL, [VENDOR, \"Zebra\"], [TYPE, MOBILE]], [/\\s(ouya)\\s/i, /(nintendo)\\s([wids3utch]+)/i], [VENDOR, MODEL, [TYPE, CONSOLE]], [/droid.+;\\s(shield)\\sbuild/i], [MODEL, [VENDOR, \"Nvidia\"], [TYPE, CONSOLE]], [/(playstation\\s[345portablevi]+)/i], [MODEL, [VENDOR, \"Sony\"], [TYPE, CONSOLE]], [/[\\s\\(;](xbox(?:\\sone)?(?!;\\sxbox))[\\s\\);]/i], [MODEL, [VENDOR, \"Microsoft\"], [TYPE, CONSOLE]], [/smart-tv.+(samsung)/i], [VENDOR, [TYPE, SMARTTV]], [/hbbtv.+maple;(\\d+)/i], [[MODEL, /^/, \"SmartTV\"], [VENDOR, \"Samsung\"], [TYPE, SMARTTV]], [/(?:linux;\\snetcast.+smarttv|lg\\snetcast\\.tv-201\\d)/i], [[VENDOR, \"LG\"], [TYPE, SMARTTV]], [/(apple)\\s?tv/i], [VENDOR, [MODEL, \"Apple TV\"], [TYPE, SMARTTV]], [/crkey/i], [[MODEL, \"Chromecast\"], [VENDOR, \"Google\"], [TYPE, SMARTTV]], [/droid.+aft([\\w])(\\sbuild\\/|\\))/i], [MODEL, [VENDOR, \"Amazon\"], [TYPE, SMARTTV]], [/\\(dtv[\\);].+(aquos)/i], [MODEL, [VENDOR, \"Sharp\"], [TYPE, SMARTTV]], [/hbbtv\\/\\d+\\.\\d+\\.\\d+\\s+\\([\\w\\s]*;\\s*(\\w[^;]*);([^;]*)/i], [[VENDOR, util.trim], [MODEL, util.trim], [TYPE, SMARTTV]], [/[\\s\\/\\(](android\\s|smart[-\\s]?|opera\\s)tv[;\\)\\s]/i], [[TYPE, SMARTTV]], [/((pebble))app\\/[\\d\\.]+\\s/i], [VENDOR, MODEL, [TYPE, WEARABLE]], [/droid.+;\\s(glass)\\s\\d/i], [MODEL, [VENDOR, \"Google\"], [TYPE, WEARABLE]], [/droid\\s[\\d\\.]+;\\s(wt63?0{2,3})\\)/i], [MODEL, [VENDOR, \"Zebra\"], [TYPE, WEARABLE]], [/(tesla)(?:\\sqtcarbrowser|\\/20[12]\\d\\.[\\w\\.-]+)/i], [VENDOR, [TYPE, EMBEDDED]], [/droid .+?; ([^;]+?)(?: build|\\) applewebkit).+? mobile safari/i], [MODEL, [TYPE, MOBILE]], [/droid .+?;\\s([^;]+?)(?: build|\\) applewebkit).+?(?! mobile) safari/i], [MODEL, [TYPE, TABLET]], [/\\s(tablet|tab)[;\\/]/i, /\\s(mobile)(?:[;\\/]|\\ssafari)/i], [[TYPE, util.lowerize]], [/(android[\\w\\.\\s\\-]{0,9});.+build/i], [MODEL, [VENDOR, \"Generic\"]], [/(phone)/i], [[TYPE, MOBILE]]],\n engine: [[/windows.+\\sedge\\/([\\w\\.]+)/i], [VERSION, [NAME, \"EdgeHTML\"]], [/webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i], [VERSION, [NAME, \"Blink\"]], [/(presto)\\/([\\w\\.]+)/i, /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\/([\\w\\.]+)/i, /ekioh(flow)\\/([\\w\\.]+)/i, /(khtml|tasman|links)[\\/\\s]\\(?([\\w\\.]+)/i, /(icab)[\\/\\s]([23]\\.[\\d\\.]+)/i], [NAME, VERSION], [/rv\\:([\\w\\.]{1,9})\\b.+(gecko)/i], [VERSION, NAME]],\n os: [[/microsoft\\s(windows)\\s(vista|xp)/i], [NAME, VERSION], [/(windows)\\snt\\s6\\.2;\\s(arm)/i, /(windows\\sphone(?:\\sos)*)[\\s\\/]?([\\d\\.\\s\\w]*)/i, /(windows\\smobile|windows)[\\s\\/]?([ntce\\d\\.\\s]+\\w)(?!.+xbox)/i], [NAME, [VERSION, mapper.str, maps.os.windows.version]], [/(win(?=3|9|n)|win\\s9x\\s)([nt\\d\\.]+)/i], [[NAME, \"Windows\"], [VERSION, mapper.str, maps.os.windows.version]], [/ip[honead]{2,4}\\b(?:.*os\\s([\\w]+)\\slike\\smac|;\\sopera)/i, /cfnetwork\\/.+darwin/i], [[VERSION, /_/g, \".\"], [NAME, \"iOS\"]], [/(mac\\sos\\sx)\\s?([\\w\\s\\.]*)/i, /(macintosh|mac(?=_powerpc)\\s)(?!.+haiku)/i], [[NAME, \"Mac OS\"], [VERSION, /_/g, \".\"]], [/(android|webos|palm\\sos|qnx|bada|rim\\stablet\\sos|meego|sailfish|contiki)[\\/\\s-]?([\\w\\.]*)/i, /(blackberry)\\w*\\/([\\w\\.]*)/i, /(tizen|kaios)[\\/\\s]([\\w\\.]+)/i, /\\((series40);/i], [NAME, VERSION], [/\\(bb(10);/i], [VERSION, [NAME, \"BlackBerry\"]], [/(?:symbian\\s?os|symbos|s60(?=;)|series60)[\\/\\s-]?([\\w\\.]*)/i], [VERSION, [NAME, \"Symbian\"]], [/mozilla.+\\(mobile;.+gecko.+firefox/i], [[NAME, \"Firefox OS\"]], [/web0s;.+rt(tv)/i, /\\b(?:hp)?wos(?:browser)?\\/([\\w\\.]+)/i], [VERSION, [NAME, \"webOS\"]], [/crkey\\/([\\d\\.]+)/i], [VERSION, [NAME, \"Chromecast\"]], [/(cros)\\s[\\w]+\\s([\\w\\.]+\\w)/i], [[NAME, \"Chromium OS\"], VERSION], [/(nintendo|playstation)\\s([wids345portablevuch]+)/i, /(xbox);\\s+xbox\\s([^\\);]+)/i, /(mint)[\\/\\s\\(\\)]?(\\w*)/i, /(mageia|vectorlinux)[;\\s]/i, /(joli|[kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?=\\slinux)|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk|linpus|raspbian)(?:\\sgnu\\/linux)?(?:\\slinux)?[\\/\\s-]?(?!chrom|package)([\\w\\.-]*)/i, /(hurd|linux)\\s?([\\w\\.]*)/i, /(gnu)\\s?([\\w\\.]*)/i, /\\s([frentopc-]{0,4}bsd|dragonfly)\\s?(?!amd|[ix346]{1,2}86)([\\w\\.]*)/i, /(haiku)\\s(\\w+)/i], [NAME, VERSION], [/(sunos)\\s?([\\w\\.\\d]*)/i], [[NAME, \"Solaris\"], VERSION], [/((?:open)?solaris)[\\/\\s-]?([\\w\\.]*)/i, /(aix)\\s((\\d)(?=\\.|\\)|\\s)[\\w\\.])*/i, /(plan\\s9|minix|beos|os\\/2|amigaos|morphos|risc\\sos|openvms|fuchsia)/i, /(unix)\\s?([\\w\\.]*)/i], [NAME, VERSION]]\n };\n\n var UAParser = function UAParser(ua, extensions) {\n if (typeof ua === \"object\") {\n extensions = ua;\n ua = undefined;\n }\n\n if (!(this instanceof UAParser)) {\n return new UAParser(ua, extensions).getResult();\n }\n\n var _ua = ua || (typeof window !== \"undefined\" && window.navigator && window.navigator.userAgent ? window.navigator.userAgent : EMPTY);\n\n var _rgxmap = extensions ? util.extend(regexes, extensions) : regexes;\n\n this.getBrowser = function () {\n var _browser = {\n name: undefined,\n version: undefined\n };\n mapper.rgx.call(_browser, _ua, _rgxmap.browser);\n _browser.major = util.major(_browser.version);\n return _browser;\n };\n\n this.getCPU = function () {\n var _cpu = {\n architecture: undefined\n };\n mapper.rgx.call(_cpu, _ua, _rgxmap.cpu);\n return _cpu;\n };\n\n this.getDevice = function () {\n var _device = {\n vendor: undefined,\n model: undefined,\n type: undefined\n };\n mapper.rgx.call(_device, _ua, _rgxmap.device);\n return _device;\n };\n\n this.getEngine = function () {\n var _engine = {\n name: undefined,\n version: undefined\n };\n mapper.rgx.call(_engine, _ua, _rgxmap.engine);\n return _engine;\n };\n\n this.getOS = function () {\n var _os = {\n name: undefined,\n version: undefined\n };\n mapper.rgx.call(_os, _ua, _rgxmap.os);\n return _os;\n };\n\n this.getResult = function () {\n return {\n ua: this.getUA(),\n browser: this.getBrowser(),\n engine: this.getEngine(),\n os: this.getOS(),\n device: this.getDevice(),\n cpu: this.getCPU()\n };\n };\n\n this.getUA = function () {\n return _ua;\n };\n\n this.setUA = function (ua) {\n _ua = typeof ua === STR_TYPE && ua.length > UA_MAX_LENGTH ? util.trim(ua, UA_MAX_LENGTH) : ua;\n return this;\n };\n\n this.setUA(_ua);\n return this;\n };\n\n UAParser.VERSION = LIBVERSION;\n UAParser.BROWSER = {\n NAME: NAME,\n MAJOR: MAJOR,\n VERSION: VERSION\n };\n UAParser.CPU = {\n ARCHITECTURE: ARCHITECTURE\n };\n UAParser.DEVICE = {\n MODEL: MODEL,\n VENDOR: VENDOR,\n TYPE: TYPE,\n CONSOLE: CONSOLE,\n MOBILE: MOBILE,\n SMARTTV: SMARTTV,\n TABLET: TABLET,\n WEARABLE: WEARABLE,\n EMBEDDED: EMBEDDED\n };\n UAParser.ENGINE = {\n NAME: NAME,\n VERSION: VERSION\n };\n UAParser.OS = {\n NAME: NAME,\n VERSION: VERSION\n };\n\n if (typeof exports !== UNDEF_TYPE) {\n if (typeof module !== UNDEF_TYPE && module.exports) {\n exports = module.exports = UAParser;\n }\n\n exports.UAParser = UAParser;\n } else {\n if (typeof define === \"function\" && define.amd) {\n define(function () {\n return UAParser;\n });\n } else if (typeof window !== \"undefined\") {\n window.UAParser = UAParser;\n }\n }\n\n var $ = typeof window !== \"undefined\" && (window.jQuery || window.Zepto);\n\n if ($ && !$.ua) {\n var parser = new UAParser();\n $.ua = parser.getResult();\n\n $.ua.get = function () {\n return parser.getUA();\n };\n\n $.ua.set = function (uastring) {\n parser.setUA(uastring);\n var result = parser.getResult();\n\n for (var prop in result) {\n $.ua[prop] = result[prop];\n }\n };\n }\n})(typeof window === \"object\" ? window : this);","import { createContext } from 'react';\n\ninterface IPost {\n title: string;\n schemaType: string;\n metaRobotsNoindex: boolean;\n metaDesc: string;\n}\n\ninterface IContentTypes {\n [x: string]: IPost;\n}\n\ninterface IWebmaster {\n googleVerify: string;\n yandexVerify: string;\n msVerify: string;\n baiduVerify: string;\n}\n\ninterface IFixed {\n src: string;\n width: number;\n height: number;\n}\n\ninterface IChildImageSharp {\n fixed: IFixed;\n}\n\ninterface ILocalFile {\n childImageSharp: IChildImageSharp;\n}\n\ninterface ILogo {\n mediaItemUrl: string;\n altText: string;\n localFile: ILocalFile;\n}\n\ninterface ISchema {\n companyName: string;\n personName: string;\n companyOrPerson: string;\n wordpressSiteName: string;\n siteUrl: string;\n siteName: string;\n inLanguage: string;\n logo: ILogo;\n}\n\ninterface IDefaultImage {\n mediaItemUrl: string;\n altText: string;\n}\n\ninterface IScocialAccount {\n url?: string;\n defaultImage?: IDefaultImage;\n username?: string;\n cardType?: string;\n metaTag?: string;\n}\n\ninterface ISocial {\n facebook: IScocialAccount;\n instagram: IScocialAccount;\n linkedIn: IScocialAccount;\n mySpace: IScocialAccount;\n pinterest: IScocialAccount;\n twitter: IScocialAccount;\n wikipedia: IScocialAccount;\n youTube: IScocialAccount;\n}\n\ninterface IGlobal {\n contentTypes: IContentTypes;\n webmaster: IWebmaster;\n schema: ISchema;\n social: ISocial;\n}\ninterface ContextProps {\n global: IGlobal;\n}\n// Create a ui context\nconst SEOContext = createContext>({});\n\nexport default SEOContext;\n","import React, { FC, useContext } from 'react';\nimport { Helmet } from 'react-helmet';\n\nimport SEOContext from './SeoContext';\n\ninterface SeoProps {\n title?: String;\n meta?: [];\n post?: any;\n postSchema?: IPageSchema;\n}\n\ninterface IPageSchema {\n '@context': string;\n '@graph': IPageSchemaItems[];\n}\ninterface IPageSchemaItems {\n '@type': any;\n '@id': string;\n url: string;\n name: any;\n isPartOf: {\n '@id': string;\n };\n description: any;\n inLanguage: String;\n potentialAction: {\n '@type': string;\n target: string[];\n }[];\n datePublished?: string;\n dateModified?: string;\n}\n\nconst SEO: FC = ({ post = {}, meta = [], title, postSchema }) => {\n const { seo } = post;\n\n // If manually passed or try get from post data\n let fullSchema;\n\n if (postSchema) {\n fullSchema = postSchema;\n } else if (seo && seo?.schema?.raw) {\n fullSchema = JSON.parse(seo.schema.raw);\n }\n\n const { global } = useContext(SEOContext);\n const inLanguage = global?.schema?.inLanguage;\n\n const schema = global?.schema;\n const webmaster = global?.webmaster;\n const social = global?.social;\n\n const verification: any[] = [];\n\n if (webmaster?.baiduVerify) {\n verification.push({\n name: `baidu-site-verification`,\n content: webmaster.baiduVerify,\n });\n }\n if (webmaster?.googleVerify) {\n verification.push({\n name: `google-site-verification`,\n content: webmaster.googleVerify,\n });\n }\n if (webmaster?.msVerify) {\n verification.push({\n name: `msvalidate.01`,\n content: webmaster.msVerify,\n });\n }\n if (webmaster?.yandexVerify) {\n verification.push({\n name: `yandex-verification`,\n content: webmaster.yandexVerify,\n });\n }\n if (social?.pinterest && social.pinterest.metaTag) {\n verification.push({\n name: `p:domain_verify`,\n content: social.pinterest.metaTag,\n });\n }\n\n const metaTitle = title || seo.title;\n const metaDescription = seo?.metaDesc ? seo.metaDesc : '';\n\n const robotsIndex = seo?.metaRobotsNoindex === 'noindex' ? 'noindex' : 'index';\n const robotsFollow = seo?.metaRobotsNofollow === 'nofollow' ? 'nofollow' : 'follow';\n\n const getReadingTime = time => (time === 1 ? '1 minute' : `${time} minutes`);\n\n return (\n !!m.content)\n .concat(meta, verification)}\n encodeSpecialCharacters={false}\n >\n {fullSchema && }\n \n );\n};\n\nexport default SEO;\n","import React from \"react\"\nimport styled from \"styled-components\"\nimport Img from \"gatsby-image\"\nimport { motion } from \"framer-motion\"\n\nconst SplitHeroWrapper = styled.section`\n display: flex;\n min-height: 100vh;\n @media screen and (min-height: 800px) {\n min-height: 80vh;\n }\n @media screen and (max-width: 768px) {\n flex-direction: column;\n }\n .copy {\n flex: 1;\n align-self: center;\n display: flex;\n flex-direction: column;\n padding: 30px;\n @media screen and (max-width: 768px) {\n order: 2;\n margin: 50px 0;\n }\n .copy-inner {\n max-width: 400px;\n align-self: center;\n h1 {\n font-size: 5rem;\n @media screen and (max-width: 768px) {\n font-size: 3rem;\n }\n }\n svg {\n margin-top: -10px;\n }\n p {\n margin-top: 30px;\n }\n }\n }\n .image {\n flex: 1;\n @media screen and (max-width: 768px) {\n height: 400px;\n order: 1;\n }\n .gatsby-image-wrapper {\n height: 100%;\n width: 100%;\n }\n }\n`\n\nconst SplitHero = ({ input, title }) => {\n return (\n \n
\n
\n

{title}

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

{input?.introParagraph}

\n
\n
\n
\n \n
\n
\n )\n}\n\nexport default SplitHero\n","export default function _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}","import { motionValue } from '../index.js';\n\nfunction createScrollMotionValues() {\n return {\n scrollX: motionValue(0),\n scrollY: motionValue(0),\n scrollXProgress: motionValue(0),\n scrollYProgress: motionValue(0)\n };\n}\n\nfunction setProgress(offset, maxOffset, value) {\n value.set(!offset || !maxOffset ? 0 : offset / maxOffset);\n}\n\nfunction createScrollUpdater(values, getOffsets) {\n var update = function update() {\n var _a = getOffsets(),\n xOffset = _a.xOffset,\n yOffset = _a.yOffset,\n xMaxOffset = _a.xMaxOffset,\n yMaxOffset = _a.yMaxOffset; // Set absolute positions\n\n\n values.scrollX.set(xOffset);\n values.scrollY.set(yOffset); // Set 0-1 progress\n\n setProgress(xOffset, xMaxOffset, values.scrollXProgress);\n setProgress(yOffset, yMaxOffset, values.scrollYProgress);\n };\n\n update();\n return update;\n}\n\nexport { createScrollMotionValues, createScrollUpdater };","import { createScrollUpdater, createScrollMotionValues } from './utils.js';\nimport { addDomEvent } from '../../events/use-dom-event.js';\nimport { useIsomorphicLayoutEffect } from '../../utils/use-isomorphic-effect.js';\nvar viewportScrollValues;\n\nfunction getViewportScrollOffsets() {\n return {\n xOffset: window.pageXOffset,\n yOffset: window.pageYOffset,\n xMaxOffset: document.body.clientWidth - window.innerWidth,\n yMaxOffset: document.body.clientHeight - window.innerHeight\n };\n}\n\nvar hasListeners = false;\n\nfunction addEventListeners() {\n hasListeners = true;\n if (typeof window === \"undefined\") return;\n var updateScrollValues = createScrollUpdater(viewportScrollValues, getViewportScrollOffsets);\n addDomEvent(window, \"scroll\", updateScrollValues, {\n passive: true\n });\n addDomEvent(window, \"resize\", updateScrollValues);\n}\n/**\n * Returns MotionValues that update when the viewport scrolls:\n *\n * - `scrollX` — Horizontal scroll distance in pixels.\n * - `scrollY` — Vertical scroll distance in pixels.\n * - `scrollXProgress` — Horizontal scroll progress between `0` and `1`.\n * - `scrollYProgress` — Vertical scroll progress between `0` and `1`.\n *\n * **Warning:** Setting `body` or `html` to `height: 100%` or similar will break the `Progress`\n * values as this breaks the browser's capability to accurately measure the page length.\n *\n * @library\n *\n * ```jsx\n * import * as React from \"react\"\n * import {\n * Frame,\n * useViewportScroll,\n * useTransform\n * } from \"framer\"\n *\n * export function MyComponent() {\n * const { scrollYProgress } = useViewportScroll()\n * return \n * }\n * ```\n *\n * @motion\n *\n * ```jsx\n * export const MyComponent = () => {\n * const { scrollYProgress } = useViewportScroll()\n * return \n * }\n * ```\n *\n * @public\n */\n\n\nfunction useViewportScroll() {\n /**\n * Lazy-initialise the viewport scroll values\n */\n if (!viewportScrollValues) {\n viewportScrollValues = createScrollMotionValues();\n }\n\n useIsomorphicLayoutEffect(function () {\n !hasListeners && addEventListeners();\n }, []);\n return viewportScrollValues;\n}\n\nexport { useViewportScroll };","import { __assign } from 'tslib';\nimport { interpolate } from 'popmotion';\n\nvar isCustomValueType = function isCustomValueType(v) {\n return typeof v === \"object\" && v.mix;\n};\n\nvar getMixer = function getMixer(v) {\n return isCustomValueType(v) ? v.mix : undefined;\n};\n\nfunction transform() {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n var useImmediate = !Array.isArray(args[0]);\n var argOffset = useImmediate ? 0 : -1;\n var inputValue = args[0 + argOffset];\n var inputRange = args[1 + argOffset];\n var outputRange = args[2 + argOffset];\n var options = args[3 + argOffset];\n var interpolator = interpolate(inputRange, outputRange, __assign({\n mixer: getMixer(outputRange[0])\n }, options));\n return useImmediate ? interpolator(inputValue) : interpolator;\n}\n\nexport { transform };","import { useMotionValue } from './use-motion-value.js';\nimport { useMultiOnChange } from './use-on-change.js';\nimport sync from 'framesync';\n\nfunction useCombineMotionValues(values, combineValues) {\n /**\n * Initialise the returned motion value. This remains the same between renders.\n */\n var value = useMotionValue(combineValues());\n /**\n * Create a function that will update the template motion value with the latest values.\n * This is pre-bound so whenever a motion value updates it can schedule its\n * execution in Framesync. If it's already been scheduled it won't be fired twice\n * in a single frame.\n */\n\n var updateValue = function updateValue() {\n return value.set(combineValues());\n };\n /**\n * Synchronously update the motion value with the latest values during the render.\n * This ensures that within a React render, the styles applied to the DOM are up-to-date.\n */\n\n\n updateValue();\n /**\n * Subscribe to all motion values found within the template. Whenever any of them change,\n * schedule an update.\n */\n\n useMultiOnChange(values, function () {\n return sync.update(updateValue, false, true);\n });\n return value;\n}\n\nexport { useCombineMotionValues };","import { __read } from 'tslib';\nimport { useContext, useState, useEffect } from 'react';\nimport { motionValue } from './index.js';\nimport { MotionConfigContext } from '../context/MotionConfigContext.js';\nimport { useConstant } from '../utils/use-constant.js';\n/**\n * Creates a `MotionValue` to track the state and velocity of a value.\n *\n * Usually, these are created automatically. For advanced use-cases, like use with `useTransform`, you can create `MotionValue`s externally and pass them into the animated component via the `style` prop.\n *\n * @library\n *\n * ```jsx\n * export function MyComponent() {\n * const scale = useMotionValue(1)\n *\n * return \n * }\n * ```\n *\n * @motion\n *\n * ```jsx\n * export const MyComponent = () => {\n * const scale = useMotionValue(1)\n *\n * return \n * }\n * ```\n *\n * @param initial - The initial state.\n *\n * @public\n */\n\nfunction useMotionValue(initial) {\n var value = useConstant(function () {\n return motionValue(initial);\n });\n /**\n * If this motion value is being used in static mode, like on\n * the Framer canvas, force components to rerender when the motion\n * value is updated.\n */\n\n var isStatic = useContext(MotionConfigContext).isStatic;\n\n if (isStatic) {\n var _a = __read(useState(initial), 2),\n setLatest_1 = _a[1];\n\n useEffect(function () {\n return value.onChange(setLatest_1);\n }, []);\n }\n\n return value;\n}\n\nexport { useMotionValue };","import { useEffect } from 'react';\nimport { isMotionValue } from './utils/is-motion-value.js';\n\nfunction useOnChange(value, callback) {\n useEffect(function () {\n if (isMotionValue(value)) return value.onChange(callback);\n }, [callback]);\n}\n\nfunction useMultiOnChange(values, handler) {\n useEffect(function () {\n var subscriptions = values.map(function (value) {\n return value.onChange(handler);\n });\n return function () {\n return subscriptions.forEach(function (unsubscribe) {\n return unsubscribe();\n });\n };\n });\n}\n\nexport { useMultiOnChange, useOnChange };","import { __read } from 'tslib';\nimport { transform } from '../utils/transform.js';\nimport { useCombineMotionValues } from './use-combine-values.js';\nimport { useConstant } from '../utils/use-constant.js';\n\nfunction useTransform(input, inputRangeOrTransformer, outputRange, options) {\n var transformer = typeof inputRangeOrTransformer === \"function\" ? inputRangeOrTransformer : transform(inputRangeOrTransformer, outputRange, options);\n return Array.isArray(input) ? useListTransform(input, transformer) : useListTransform([input], function (_a) {\n var _b = __read(_a, 1),\n latest = _b[0];\n\n return transformer(latest);\n });\n}\n\nfunction useListTransform(values, transformer) {\n var latest = useConstant(function () {\n return [];\n });\n return useCombineMotionValues(values, function () {\n latest.length = 0;\n var numValues = values.length;\n\n for (var i = 0; i < numValues; i++) {\n latest[i] = values[i].get();\n }\n\n return transformer(latest);\n });\n}\n\nexport { useTransform };","import React, { useRef, useState, useEffect, useMemo } from \"react\"\nimport { motion, useViewportScroll, useTransform } from \"framer-motion\"\n\nconst ParallaxBox = ({\n children,\n yOffset,\n easing = [0.42, 0, 0.58, 1],\n // easing = \"easeInOut\", // [number, number, number, number] | \"linear\" | \"easeIn\" |\n //\"easeOut\" | \"easeInOut\" | \"circIn\" | \"circOut\" | \"circInOut\" | \"backIn\" | \"backOut\" |\n //\"backInOut\" | \"anticipate\" | EasingFunction;\n triggerPoint, // value between 0 and 1 (top and bottom of the window), point to start animation\n fadeOut = false, // true | false fade an element out on end of the animation\n ...rest\n}) => {\n const { scrollY } = useViewportScroll()\n const ref = useRef()\n const [elementTop, setElementTop] = useState(0)\n const [elementBottom, setElementBottom] = useState(0)\n const [clientHeight, setClientHeight] = useState(0)\n\n useEffect(() => {\n if (!ref.current) return\n\n const setValues = () => {\n setElementTop(ref.current.offsetTop)\n setElementBottom(ref.current.offsetTop + ref.current.offsetHeight)\n setClientHeight(window.innerHeight)\n }\n\n setValues()\n document.addEventListener(\"load\", setValues)\n window.addEventListener(\"resize\", setValues)\n\n return () => {\n document.removeEventListener(\"load\", setValues)\n window.removeEventListener(\"resize\", setValues)\n }\n }, [ref, yOffset])\n\n // const transformInitialValue =\n // elementTop - window.innerHeight <= 0 ? 0 : elementTop - window.innerHeight;\n const transformInitialValue = elementTop - clientHeight * triggerPoint\n const transformFinalValue = elementTop + yOffset\n\n const yRange = [transformInitialValue, transformFinalValue]\n\n const y = useTransform(scrollY, yRange, [0, -yOffset], easing)\n\n const opacityInitialValue = fadeOut ? 0 : 1\n const opacityRange = useMemo(() => [opacityInitialValue, 1], [\n opacityInitialValue,\n ])\n\n // const yOpacityRange = [transformInitialValue, transformFinalValue];\n const yOpacityRange = [elementBottom, transformFinalValue - yOffset]\n const opacity = useTransform(\n scrollY,\n yOpacityRange,\n opacityRange,\n \"anticipate\"\n )\n\n return (\n \n {children}\n \n )\n}\n\nexport default ParallaxBox\n","import { useEffect, useState } from \"react\"\n\nexport const useMediaQuery = query => {\n const mediaMatch = typeof window !== \"undefined\" && window.matchMedia(query)\n const [matches, setMatches] = useState(mediaMatch.matches)\n\n useEffect(() => {\n const handler = e => setMatches(e.matches)\n mediaMatch.addListener(handler)\n return () => mediaMatch.removeListener(handler)\n })\n return matches\n}\n","export default __webpack_public_path__ + \"static/google-92e635d920276a13d89868cf11394728.svg\";","import React from \"react\"\nimport styled from \"styled-components\"\nimport Img from \"gatsby-image\"\nimport Wrapper from \"../Wrapper\"\n// import Button from \"../buttons/Button\"\nimport ParallaxBox from \"../ParallaxBox\"\nimport { motion } from \"framer-motion\"\nimport { useMediaQuery } from \"../../hooks/useMediaQuery\"\n// import ButtonApp from \"../buttons/ButtonApp\"\n\nimport AppStore from \"../../assets/svgs/appstore.svg\"\nimport Google from \"../../assets/svgs/google.svg\"\n\nexport const AppSection = styled.section`\n display: flex;\n justify-content: space-around;\n width: 100%;\n gap: 30px;\n @media screen and (max-width: 600px) {\n flex-direction: column;\n }\n .inner {\n flex: 1;\n padding: 100px 0;\n max-width: 400px;\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n @media screen and (max-width: 600px) {\n max-width: 100%;\n width: 100%;\n }\n .copy {\n max-width: 350px;\n position: relative;\n @media screen and (max-width: 600px) {\n max-width: 100%;\n width: 100%;\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: 3rem;\n }\n div {\n margin: 30px 0;\n }\n .copy-inner {\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: 3rem;\n }\n p {\n margin-top: 30px;\n }\n }\n }\n }\n .app-mockup {\n flex: 1;\n max-width: 500px;\n margin-bottom: -150px;\n z-index: 2;\n .gatsby-image-wrapper {\n width: 100%;\n }\n }\n .button-flex {\n display: flex;\n @media screen and (max-width: 500px) {\n flex-direction: column;\n width: 100%;\n }\n a {\n flex: 1;\n max-width: 150px;\n }\n a:first-child {\n margin-right: 30px;\n @media screen and (max-width: 500px) {\n margin-bottom: 30px;\n margin-right: 0;\n }\n }\n }\n`\n\nconst HomepageAbout = ({ input }) => {\n const isSmall = useMediaQuery(\"(min-width: 768px)\")\n\n return (\n \n \n
\n \n \n \n
\n
\n
\n

{input?.title}

\n \n \n \n \n \n
\n
\n \n \"\"\n \n \n \"\"\n \n
\n
\n
\n \n \n )\n}\n\nexport default HomepageAbout\n","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMjUuMC4xLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiCgkgdmlld0JveD0iMCAwIDUyMS43MSAxNzAuNjUiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDUyMS43MSAxNzAuNjU7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBhdGggZD0iTTUyMS43LDE0Ny41OWMwLDEyLjc0LTEwLjMyLDIzLjA2LTIzLjA2LDIzLjA2SDIzLjA2QzEwLjMyLDE3MC42NSwwLDE2MC4zMiwwLDE0Ny41OVYyMy4wNkMwLDEwLjMzLDEwLjMzLDAsMjMuMDYsMGg0NzUuNTkKCWMxMi43MywwLDIzLjA2LDEwLjMzLDIzLjA2LDIzLjA2djEyNC41M0g1MjEuN3oiLz4KPGc+Cgk8cGF0aCBzdHlsZT0iZmlsbDojRkZGRkZGOyIgZD0iTTEzNi4wNCwxMTIuOGMtMi43Niw2LjEyLTQuMDgsOC44NS03LjY0LDE0LjI2Yy00Ljk2LDcuNTUtMTEuOTYsMTYuOTYtMjAuNjIsMTcuMDQKCQljLTcuNywwLjA3LTkuNjgtNS4wMS0yMC4xMy00Ljk1cy0xMi42Myw1LjA0LTIwLjMzLDQuOTdjLTguNjYtMC4wOC0xNS4yOS04LjU3LTIwLjI1LTE2LjEzYy0xMy44OC0yMS4xMi0xNS4zMi00NS45MS02Ljc3LTU5LjA4CgkJYzYuMDgtOS4zNywxNS42Ny0xNC44NSwyNC42OS0xNC44NWM5LjE4LDAsMTQuOTYsNS4wNCwyMi41NSw1LjA0YzcuMzcsMCwxMS44Ni01LjA0LDIyLjQ3LTUuMDRjOC4wMywwLDE2LjUzLDQuMzcsMjIuNTksMTEuOTMKCQlDMTEyLjc2LDc2Ljg3LDExNS45OCwxMDUuMjIsMTM2LjA0LDExMi44eiIvPgoJPGc+CgkJPHBhdGggc3R5bGU9ImZpbGw6I0ZGRkZGRjsiIGQ9Ik0xMDEuOTcsNDUuNjJjMy44Ni00Ljk1LDYuNzktMTEuOTUsNS43Mi0xOS4wOWMtNi4zLDAuNDMtMTMuNjcsNC40NC0xNy45OCw5LjY3CgkJCWMtMy45MSw0Ljc1LTcuMTMsMTEuNzgtNS44OCwxOC42MkM5MC43Miw1NS4wNCw5Ny44Myw1MC45MywxMDEuOTcsNDUuNjJ6Ii8+Cgk8L2c+CjwvZz4KPGc+Cgk8Zz4KCQk8cGF0aCBzdHlsZT0iZmlsbDojRkZGRkZGOyIgZD0iTTE3OC4zMSw2OC42bC0xOS44OCw1OC41aDkuMWw1LjkzLTE3Ljk2aDE5LjI0bDYuMSwxNy45Nmg5LjM1bC0xOS45Ni01OC41CgkJCUMxODguMTksNjguNiwxNzguMzEsNjguNiwxNzguMzEsNjguNnogTTE4My4wMyw3OC4yMWMwLjY3LDIuNjEsMS40LDUuMzIsMi4zMyw4LjI1bDUuMzUsMTUuNTJoLTE1LjI0bDUuMjgtMTUuNjEKCQkJQzE4MS41NSw4My44NCwxODIuMzIsODEuMSwxODMuMDMsNzguMjF6Ii8+CgkJPHBhdGggc3R5bGU9ImZpbGw6I0ZGRkZGRjsiIGQ9Ik0yMzMuODksODMuNzZjLTYuMDMsMC0xMC44NiwyLjMzLTE0LjA3LDYuNzVsLTAuMzUtNS44MmgtOC4xbDAuMDUsMC43NAoJCQljMC4yNCwzLjYyLDAuMzQsNy42MiwwLjM0LDEzLjM0djQ1LjA5aDguODV2LTIxLjA0YzIuNzUsMy4yOSw3LjEzLDUuMiwxMi4xLDUuMmM1LjE3LDAsOS45NC0yLjAzLDEzLjQxLTUuNwoJCQljMy44OC00LjEsNS45Mi05Ljk5LDUuOTItMTcuMDNjMC02LjIyLTEuNzgtMTEuNi01LjE0LTE1LjU1QzI0My42LDg1Ljg5LDIzOC45OCw4My43NiwyMzMuODksODMuNzZ6IE0yMzEuNjgsOTEuMDkKCQkJYzcuODksMCwxMS40Miw3LjMxLDExLjQyLDE0LjU1YzAsOS4zNC00LjUxLDE1LjE1LTExLjc2LDE1LjE1Yy00Ljk1LDAtOS4yMy0zLjM3LTEwLjQzLTguMjFjLTAuMjEtMC43NS0wLjMxLTEuNzQtMC4zMS0yLjg3CgkJCXYtNy4xMmMwLTAuNjQsMC4xNC0xLjQzLDAuMjgtMi4xOGMwLjA0LTAuMjQsMC4wOS0wLjQ4LDAuMTMtMC43MkMyMjIuMzMsOTQuNjIsMjI2LjcyLDkxLjA5LDIzMS42OCw5MS4wOXoiLz4KCQk8cGF0aCBzdHlsZT0iZmlsbDojRkZGRkZGOyIgZD0iTTI3OS40Nyw4My43NmMtNi4wMywwLTEwLjg2LDIuMzMtMTQuMDcsNi43NWwtMC4zNS01LjgyaC04LjA5bDAuMDQsMC43NAoJCQljMC4yNCwzLjYzLDAuMzQsNy42MiwwLjM0LDEzLjM0djQ1LjA5aDguODV2LTIxLjA0YzIuNzUsMy4yOSw3LjEzLDUuMiwxMi4xLDUuMmM1LjE3LDAsOS45NC0yLjAzLDEzLjQyLTUuNwoJCQljMy44Ny00LjEsNS45Mi05Ljk5LDUuOTItMTcuMDNjMC02LjIyLTEuNzgtMTEuNi01LjE1LTE1LjU1QzI4OS4xOCw4NS44OSwyODQuNTYsODMuNzYsMjc5LjQ3LDgzLjc2eiBNMjc3LjI3LDkxLjA5CgkJCWM3Ljg5LDAsMTEuNDIsNy4zMSwxMS40MiwxNC41NWMwLDkuMzQtNC41MSwxNS4xNS0xMS43NiwxNS4xNWMtNC45NSwwLTkuMjQtMy4zNy0xMC40My04LjIxYy0wLjIxLTAuNzUtMC4zMS0xLjc0LTAuMzEtMi44NwoJCQl2LTcuMTJjMC0wLjY1LDAuMTQtMS40MywwLjI4LTIuMTljMC4wNC0wLjI0LDAuMDktMC40OCwwLjEzLTAuNzFDMjY3LjkxLDk0LjYyLDI3Mi4zLDkxLjA5LDI3Ny4yNyw5MS4wOXoiLz4KCQk8cGF0aCBzdHlsZT0iZmlsbDojRkZGRkZGOyIgZD0iTTMzNi41Nyw5My4zOGMtOC4yNi0zLjItMTAuOTEtNS43MS0xMC45MS0xMC4zNmMwLTMuOTEsMy4xMS03Ljg2LDEwLjA2LTcuODYKCQkJYzUuNzMsMCw5LjQsMS45OSwxMC4zOSwyLjYxbDAuNzUsMC40NmwyLjUtNy4zOWwtMC40OS0wLjI5Yy0xLjQ4LTAuODctNS43MS0yLjg5LTEyLjg5LTIuODljLTExLjI5LDAtMTkuMTcsNi42Ni0xOS4xNywxNi4yCgkJCWMwLDcuNjksNC45NCwxMy4wNywxNS41NCwxNi45MmM3LjUxLDIuODEsMTAuMzEsNS42OCwxMC4zMSwxMC42MWMwLDUuNTgtNC4zMSw5LjA0LTExLjI1LDkuMDRjLTQuNTIsMC05LjE3LTEuMzItMTIuNzYtMy42MgoJCQlsLTAuNzctMC40OWwtMi4zOCw3LjU2bDAuNDQsMC4yOWMzLjM0LDIuMjMsOS42MywzLjg1LDE0Ljk2LDMuODVjMTUuMjEsMCwyMC42MS05LjI4LDIwLjYxLTE3LjIyCgkJCUMzNTEuNSwxMDIuNjIsMzQ3LjE4LDk3LjU3LDMzNi41Nyw5My4zOHoiLz4KCQk8cGF0aCBzdHlsZT0iZmlsbDojRkZGRkZGOyIgZD0iTTM2Ny40NCw3NC42MWwtOC42OCwyLjczdjcuMzVoLTYuMzZ2Ny4wN2g2LjM2djIxLjY3YzAsNS4yNCwxLDguOTEsMy4wNiwxMS4yMwoJCQljMS45OCwyLjE3LDUuMDIsMy4zNiw4LjU2LDMuMzZjMy4zNSwwLDUuNzItMC42Niw2Ljg0LTEuMDZsMC41LTAuMThsLTAuNDItNy4wOWwtMC44NSwwLjI2Yy0xLjEyLDAuMzQtMi4yNywwLjQ4LTQuMTIsMC40OAoJCQljLTMuNDMsMC00Ljg5LTIuMTctNC44OS03LjI2VjkxLjc1aDEwLjY4di03LjA3aC0xMC42OEwzNjcuNDQsNzQuNjFMMzY3LjQ0LDc0LjYxeiIvPgoJCTxwYXRoIHN0eWxlPSJmaWxsOiNGRkZGRkY7IiBkPSJNNDAwLjA1LDgzLjc2Yy0xMi4zOCwwLTIxLjAzLDkuMjQtMjEuMDMsMjIuNDdjMCwxMi44Myw4LjM3LDIxLjgsMjAuMzYsMjEuOGgwLjA4CgkJCWMxMC4xMywwLDIxLjAzLTcuMDYsMjEuMDMtMjIuNTZjMC02LjMtMS45NS0xMS43MS01LjY0LTE1LjY2QzQxMS4xMyw4NS44Niw0MDYuMDEsODMuNzYsNDAwLjA1LDgzLjc2eiBNMzk5Ljc5LDkwLjc1CgkJCWM3Ljk2LDAsMTEuNTksNy43NiwxMS41OSwxNC45OGMwLDguODctNC45NSwxNS4zMS0xMS43NiwxNS4zMWgtMC4wOWMtNi43MSwwLTExLjU5LTYuMzMtMTEuNTktMTUuMDYKCQkJQzM4Ny45NSw5OC40LDM5MS42Miw5MC43NSwzOTkuNzksOTAuNzV6Ii8+CgkJPHBhdGggc3R5bGU9ImZpbGw6I0ZGRkZGRjsiIGQ9Ik00NDcuNiw4NC4xN2wtMC41My0wLjEzYy0wLjc4LTAuMTktMS40Mi0wLjI4LTIuMi0wLjI4Yy00LjYzLDAtOC43OSwyLjczLTExLjEsNy4xM2wtMC4yNi02LjE5CgkJCWgtNy45NGwwLjA1LDAuNzRjMC4yNCwzLjUsMC4zMyw3LjQ0LDAuMzMsMTIuNzVsLTAuMDgsMjguOTJoOC44NXYtMjIuNTZjMC0xLjIzLDAuMDgtMi4zOSwwLjI0LTMuNDNjMS01LjQyLDQuNjUtOC45Miw5LjMxLTguOTIKCQkJYzAuOTEsMCwxLjYyLDAuMDcsMi4zOCwwLjE1bDAuOTUsMC4xTDQ0Ny42LDg0LjE3TDQ0Ny42LDg0LjE3eiIvPgoJCTxwYXRoIHN0eWxlPSJmaWxsOiNGRkZGRkY7IiBkPSJNNDY3LjUsODMuNjhjLTExLjc4LDAtMjAuMDEsOS40MS0yMC4wMSwyMi45YzAsMTIuOTgsOC4xOSwyMS4zNywyMC44NiwyMS4zNwoJCQljNi42NiwwLDExLjMtMS40NiwxNC4wMS0yLjY5bDAuNTMtMC4yNGwtMS43LTYuNmwtMC43NCwwLjNjLTIuNDEsMC45OC01LjYyLDEuOTgtMTEuMDksMS45OGMtMy44NSwwLTEyLjcxLTEuMjctMTMuMjYtMTIuODMKCQkJbDI4LjU3LDAuMDlsMC4xMi0wLjU3YzAuMTgtMC45LDAuMjctMi4xMSwwLjI3LTMuNjlDNDg1LjA2LDk0LjQ2LDQ4MC40Niw4My42OCw0NjcuNSw4My42OHogTTQ2Ni45MSw5MC40MQoJCQljMi43LDAsNC44OCwwLjgzLDYuNSwyLjQ4YzIuNTUsMi41OSwyLjk5LDYuNDEsMy4wNSw4LjI0aC0yMC4xOUM0NTcuMDksOTYuMDIsNDYwLjI5LDkwLjQxLDQ2Ni45MSw5MC40MXoiLz4KCTwvZz4KCTxnPgoJCTxwYXRoIHN0eWxlPSJmaWxsOiNGRkZGRkY7IiBkPSJNMTU4LjQ0LDI4LjYzYzIuNDctMC4zMyw1LjM0LTAuNTcsOC40OS0wLjU3YzUuNzEsMCw5Ljc3LDEuMTUsMTIuNDYsMy40MQoJCQljMi43OCwyLjI2LDQuMzgsNS41LDQuMzgsOS45OGMwLDQuNTItMS42LDguMjEtNC40MywxMC43NmMtMi45MiwyLjU5LTcuNjcsMy45OS0xMy42NSwzLjk5Yy0yLjg4LDAtNS4yLTAuMDgtNy4yNi0wLjMzVjI4LjYzCgkJCUgxNTguNDR6IE0xNjIuNDUsNTMuMTZjMSwwLjE2LDIuNDYsMC4xNiw0LjAyLDAuMTZjOC40OSwwLjA0LDEzLjEtNC4yNywxMy4xLTExLjc1YzAuMDUtNi42MS00LjA2LTEwLjY4LTEyLjQ2LTEwLjY4CgkJCWMtMi4wNSwwLTMuNjEsMC4xNy00LjY2LDAuMzdWNTMuMTZ6Ii8+CgkJPHBhdGggc3R5bGU9ImZpbGw6I0ZGRkZGRjsiIGQ9Ik0xOTguMDEsNTYuNGMtNS45NCwwLTEwLjU5LTMuOTQtMTAuNTktMTAuMjNjMC02LjY2LDQuODgtMTAuNTYsMTAuOTUtMTAuNTYKCQkJYzYuMzUsMCwxMC42NCw0LjE1LDEwLjY0LDEwLjE5YzAsNy4zOS01LjcxLDEwLjYtMTAuOTUsMTAuNkgxOTguMDF6IE0xOTguMTUsNTMuNjljMy44MywwLDYuNzEtMy4yNSw2LjcxLTcuNzYKCQkJYzAtMy4zNy0xLjg3LTcuNi02LjYyLTcuNmMtNC43LDAtNi43NiwzLjk0LTYuNzYsNy43MmMwLDQuMzUsMi43NCw3LjY0LDYuNjIsNy42NEgxOTguMTV6Ii8+CgkJPHBhdGggc3R5bGU9ImZpbGw6I0ZGRkZGRjsiIGQ9Ik0yMTUuMzYsMzYuMDdsMi45NywxMC4wN2MwLjU5LDIuMjIsMS4xOSw0LjMxLDEuNiw2LjM3aDAuMTRjMC41LTIuMDEsMS4yMy00LjE1LDEuOTYtNi4zMwoJCQlsMy42MS0xMC4xMWgzLjM4bDMuNDIsOS45NGMwLjgyLDIuMzQsMS40Niw0LjQ4LDEuOTYsNi40OWgwLjE0YzAuMzctMi4wMSwwLjk2LTQuMTEsMS42OS02LjQ1bDMuMTUtOS45OGgzLjk3bC03LjEyLDE5Ljg4aC0zLjY1CgkJCWwtMy4zOC05LjQ5Yy0wLjc4LTIuMjYtMS40Mi00LjIzLTEuOTYtNi41N2gtMC4wOWMtMC41NSwyLjM4LTEuMjMsNC40OC0yLjAxLDYuNjFsLTMuNTYsOS40NWgtMy42NWwtNi42Ny0xOS44OEwyMTUuMzYsMzYuMDcKCQkJTDIxNS4zNiwzNi4wN3oiLz4KCQk8cGF0aCBzdHlsZT0iZmlsbDojRkZGRkZGOyIgZD0iTTI0Ny4zNyw0MS40NWMwLTIuMS0wLjA1LTMuNzQtMC4xOC01LjM4aDMuNTZsMC4yMywzLjI1aDAuMDljMS4xLTEuODUsMy42NS0zLjcsNy4zLTMuNwoJCQljMy4wNiwwLDcuODEsMS42NCw3LjgxLDguNDZ2MTEuODdoLTQuMDFWNDQuNDljMC0zLjItMS4zMy01LjkxLTUuMTEtNS45MWMtMi42LDAtNC42NiwxLjY4LTUuMzksMy43CgkJCWMtMC4xOCwwLjQ1LTAuMjcsMS4xMS0wLjI3LDEuNjh2MTJoLTQuMDJWNDEuNDVIMjQ3LjM3eiIvPgoJCTxwYXRoIHN0eWxlPSJmaWxsOiNGRkZGRkY7IiBkPSJNMjcyLjcsMjYuNzhoNC4wMnYyOS4xN2gtNC4wMlYyNi43OHoiLz4KCQk8cGF0aCBzdHlsZT0iZmlsbDojRkZGRkZGOyIgZD0iTTI5Mi4zOCw1Ni40Yy01LjkzLDAtMTAuNTktMy45NC0xMC41OS0xMC4yM2MwLTYuNjYsNC44OC0xMC41NiwxMC45Ni0xMC41NgoJCQljNi4zNCwwLDEwLjYzLDQuMTUsMTAuNjMsMTAuMTljMCw3LjM5LTUuNzEsMTAuNi0xMC45NiwxMC42SDI5Mi4zOHogTTI5Mi41MSw1My42OWMzLjgzLDAsNi43MS0zLjI1LDYuNzEtNy43NgoJCQljMC0zLjM3LTEuODctNy42LTYuNjItNy42Yy00LjcsMC02Ljc2LDMuOTQtNi43Niw3LjcyYzAsNC4zNSwyLjc0LDcuNjQsNi42Miw3LjY0SDI5Mi41MXoiLz4KCQk8cGF0aCBzdHlsZT0iZmlsbDojRkZGRkZGOyIgZD0iTTMyNC4wMSw1MS4xOWMwLDEuNzIsMC4wOSwzLjQxLDAuMzIsNC43NmgtMy42MWwtMC4zNy0yLjVoLTAuMTNjLTEuMTksMS41Ni0zLjYxLDIuOTYtNi43NiwyLjk2CgkJCWMtNC40NywwLTYuNzYtMi44My02Ljc2LTUuNzFjMC00LjgxLDQuNzUtNy40NCwxMy4yOC03LjM5VjQyLjljMC0xLjY0LTAuNS00LjY0LTUuMDItNC42Yy0yLjEsMC00LjI1LDAuNTMtNS44LDEuNDhsLTAuOTEtMi40MgoJCQljMS44My0xLjAzLDQuNTItMS43Myw3LjMtMS43M2M2LjgsMCw4LjQ0LDQuMTUsOC40NCw4LjEzdjcuNDNIMzI0LjAxeiBNMzIwLjA5LDQ1LjhjLTQuMzgtMC4wOC05LjM2LDAuNjItOS4zNiw0LjQ4CgkJCWMwLDIuMzgsMS43MywzLjQ1LDMuNzQsMy40NWMyLjkyLDAsNC43OS0xLjY0LDUuNDMtMy4zM2MwLjE0LTAuMzcsMC4xOC0wLjc4LDAuMTgtMS4xNVY0NS44SDMyMC4wOXoiLz4KCQk8cGF0aCBzdHlsZT0iZmlsbDojRkZGRkZGOyIgZD0iTTM0OS41MywyNi43OHYyNC4wM2MwLDEuNzcsMC4wNSwzLjc4LDAuMTgsNS4xNGgtMy42MWwtMC4xOC0zLjQ1aC0wLjA5CgkJCWMtMS4yMywyLjIyLTMuODgsMy45LTcuNDksMy45Yy01LjM0LDAtOS41LTQuMDctOS41LTEwLjExYy0wLjA1LTYuNjYsNC41Ny0xMC42OCw5LjkxLTEwLjY4YzMuNDMsMCw1LjcxLDEuNDQsNi42NywzaDAuMDlWMjYuNzgKCQkJSDM0OS41M3ogTTM0NS41MSw0NC4xNmMwLTAuNDktMC4wNC0xLjA3LTAuMTgtMS41NmMtMC41OS0yLjI2LTIuNzgtNC4xNS01LjgtNC4xNWMtNC4xNSwwLTYuNjIsMy4yOS02LjYyLDcuNjQKCQkJYzAsNC4wNywyLjI0LDcuMzksNi41Myw3LjM5YzIuNjksMCw1LjE2LTEuNjQsNS44OS00LjMxYzAuMTQtMC40OSwwLjE4LTAuOTksMC4xOC0xLjU2TDM0NS41MSw0NC4xNkwzNDUuNTEsNDQuMTZ6Ii8+CgkJPHBhdGggc3R5bGU9ImZpbGw6I0ZGRkZGRjsiIGQ9Ik0zNzQuODYsNTYuNGMtNS45MywwLTEwLjU5LTMuOTQtMTAuNTktMTAuMjNjMC02LjY2LDQuODktMTAuNTYsMTAuOTYtMTAuNTYKCQkJYzYuMzUsMCwxMC42NCw0LjE1LDEwLjY0LDEwLjE5YzAsNy4zOS01LjcxLDEwLjYtMTAuOTUsMTAuNkgzNzQuODZ6IE0zNzUsNTMuNjljMy44MywwLDYuNzEtMy4yNSw2LjcxLTcuNzYKCQkJYzAtMy4zNy0xLjg3LTcuNi02LjYyLTcuNmMtNC43LDAtNi43NiwzLjk0LTYuNzYsNy43MmMwLDQuMzUsMi43NCw3LjY0LDYuNjIsNy42NEgzNzV6Ii8+CgkJPHBhdGggc3R5bGU9ImZpbGw6I0ZGRkZGRjsiIGQ9Ik0zOTAuOTQsNDEuNDVjMC0yLjEtMC4wNS0zLjc0LTAuMTgtNS4zOGgzLjU2bDAuMjMsMy4yNWgwLjA5YzEuMS0xLjg1LDMuNjUtMy43LDcuMy0zLjcKCQkJYzMuMDYsMCw3LjgxLDEuNjQsNy44MSw4LjQ2djExLjg3aC00LjAyVjQ0LjQ5YzAtMy4yLTEuMzItNS45MS01LjExLTUuOTFjLTIuNiwwLTQuNjYsMS42OC01LjM5LDMuNwoJCQljLTAuMTgsMC40NS0wLjI3LDEuMTEtMC4yNywxLjY4djEyaC00LjAyTDM5MC45NCw0MS40NUwzOTAuOTQsNDEuNDV6Ii8+CgkJPHBhdGggc3R5bGU9ImZpbGw6I0ZGRkZGRjsiIGQ9Ik00MzAuNzksMzEuM3Y0Ljc2aDUuNzV2Mi43NWgtNS43NXYxMC43MmMwLDIuNDYsMC43OCwzLjg2LDMuMDEsMy44NmMxLjA5LDAsMS43My0wLjA4LDIuMzMtMC4yNQoJCQlsMC4xOCwyLjc1Yy0wLjc4LDAuMjUtMi4wMSwwLjQ5LTMuNTYsMC40OWMtMS44NywwLTMuMzgtMC41OC00LjM0LTEuNTJjLTEuMS0xLjExLTEuNTUtMi44OC0xLjU1LTUuMjJWMzguODJoLTMuNDJ2LTIuNzVoMy40MgoJCQl2LTMuNjZMNDMwLjc5LDMxLjN6Ii8+CgkJPHBhdGggc3R5bGU9ImZpbGw6I0ZGRkZGRjsiIGQ9Ik00NDEuMDYsMjYuNzhoNC4wMnYxMi40MWgwLjA5YzAuNjQtMS4wMywxLjY0LTEuOTcsMi44OC0yLjU1YzEuMTktMC42NiwyLjYtMS4wMyw0LjExLTEuMDMKCQkJYzIuOTYsMCw3LjcxLDEuNjQsNy43MSw4LjV2MTEuODNoLTQuMDJWNDQuNTNjMC0zLjI1LTEuMzItNS45Mi01LjExLTUuOTJjLTIuNiwwLTQuNjEsMS42NC01LjM5LDMuNjIKCQkJYy0wLjIzLDAuNDktMC4yOCwxLjAzLTAuMjgsMS43M3YxMmgtNC4wMlYyNi43OEg0NDEuMDZ6Ii8+CgkJPHBhdGggc3R5bGU9ImZpbGw6I0ZGRkZGRjsiIGQ9Ik00NjguNjgsNDYuNjJjMC4wOSw0Ljg5LDMuNTIsNi45LDcuNTMsNi45YzIuODgsMCw0LjY2LTAuNDUsNi4xMi0wLjk5bDAuNzMsMi41NQoJCQljLTEuNDIsMC41OC0zLjg4LDEuMjctNy40LDEuMjdjLTYuNzYsMC0xMC44Ny00LjA3LTEwLjg3LTEwLjAyYzAtNi4wNCwzLjk3LTEwLjc2LDEwLjQxLTEwLjc2YzcuMjEsMCw5LjA4LDUuNzEsOS4wOCw5LjM3CgkJCWMwLDAuNzQtMC4wNCwxLjMxLTAuMTMsMS43Mkw0NjguNjgsNDYuNjJ6IE00ODAuNDEsNDQuMDRjMC4wNC0yLjI2LTEuMDUtNS44OC01LjUzLTUuODhjLTQuMTEsMC01Ljg0LDMuMzctNi4xNiw1Ljg4SDQ4MC40MXoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K\"","import React, { useEffect } from \"react\"\nimport styled from \"styled-components\"\nimport Wrapper from \"../Wrapper\"\nimport { useInView } from \"react-intersection-observer\"\nimport { motion, useAnimation } from \"framer-motion\"\nimport useGeoLocation from \"react-ipgeolocation\"\nimport { isAndroid } from \"react-device-detect\"\n\nconst PlanSection = styled.section`\n width: 100%;\n background: var(--green);\n position: relative;\n .banner-svg {\n position: absolute;\n top: -18%;\n left: -10%;\n z-index: 1;\n width: 70%;\n @media screen and (max-width: 768px) {\n top: -3%;\n }\n }\n`\n\nconst PlanInner = styled.div`\n width: 100%;\n padding: 150px 0;\n display: flex;\n justify-content: center;\n position: relative;\n z-index: 2;\n @media screen and (max-width: 768px) {\n flex-direction: column;\n align-items: center;\n padding: 100px 0;\n }\n .thumb:first-child {\n margin-right: 30px;\n @media screen and (max-width: 768px) {\n margin-right: 0;\n margin-bottom: 30px;\n }\n }\n .thumb {\n border: 1px solid var(--white);\n max-width: 350px;\n flex: 1;\n border-radius: 10px;\n padding: 30px;\n background: var(--green);\n .divider {\n display: block;\n height: 1px;\n width: 100%;\n background: var(--white);\n margin: 1rem 0;\n }\n .plan-type {\n background-repeat: no-repeat;\n background-size: auto;\n display: inline-block;\n overflow: visible;\n font-weight: 700;\n font-size: 1.1rem;\n margin-top: 20px;\n position: relative;\n .plan-type-inner {\n position: relative;\n span {\n position: relative;\n z-index: 3;\n font-size: 1.6rem;\n }\n .scribble-one {\n z-index: 1;\n position: absolute;\n left: -1%;\n top: 10%;\n }\n .scribble-two {\n z-index: 1;\n position: absolute;\n left: -20%;\n top: -5%;\n }\n }\n }\n .price {\n font-size: 2rem;\n font-weight: 700;\n }\n .bullets {\n margin-bottom: 30px;\n }\n }\n`\n\nconst HomepagePlans = ({ input }) => {\n const animation = useAnimation()\n const location = useGeoLocation()\n\n const [featured, inView] = useInView({\n threshold: 0.2,\n triggerOnce: true,\n })\n\n useEffect(() => {\n if (inView) {\n const sequence = async () => {\n await animation.start(i => ({\n x: 0,\n opacity: 1,\n transition: {\n duration: 0.6,\n delay: i * 0.2,\n },\n }))\n }\n sequence()\n }\n }, [animation, inView])\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n {input?.plansThumbnails?.map((p, index) => {\n return (\n
\n {p?.plans?.price ? (\n

\n \n {location.country !== \"GB\" ? \"$\" : \"£\"}\n {p?.plans?.price}\n {\" \"}\n / Month\n

\n ) : (\n

Free

\n )}\n
\n \n {p?.plans?.planType}\n {index === 1 ? (\n \n \n \n ) : (\n \n \n \n )}\n \n
\n \n {p?.plans?.button?.link && (\n \n {p?.plans?.button?.icon?.localFile?.publicURL && (\n \n )}\n {p?.plans?.button?.text}\n \n )}\n
\n )\n })}\n
\n
\n
\n )\n}\n\nexport default HomepagePlans\n","import React from \"react\"\nimport styled from \"styled-components\"\nimport { motion, useViewportScroll, useTransform } from \"framer-motion\"\n\nconst ImageSection = styled.section`\n width: 100%;\n background: var(--green);\n height: 100vh;\n min-height: 500px;\n position: relative;\n`\n\nconst BackgroundImageStyles = styled.div`\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n position: absolute;\n background-attachment: fixed;\n background-position: center;\n background-repeat: no-repeat;\n background-size: cover;\n .circle-svg {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 400px;\n height: 400px;\n transform: translate(-50%, -50%);\n @media screen and (max-width: 500px) {\n width: 280px;\n height: 280px;\n }\n .rotate-container {\n position: relative;\n width: 100%;\n height: 100%;\n .svg-container {\n position: relative;\n width: 100%;\n height: 100%;\n svg {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n width: 100%;\n height: 100%;\n }\n }\n }\n }\n`\n\nconst HomepageBigImage = ({ image }) => {\n const { scrollYProgress } = useViewportScroll()\n const rotate = useTransform(scrollYProgress, [0, 1], [0, 2000])\n\n return (\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\nexport default HomepageBigImage\n","import React, { useState, useLayoutEffect } from \"react\"\nimport styled, { keyframes } from \"styled-components\"\n\nconst rippleKeyframe = keyframes`\n to {\n opacity: 0;\n transform: scale(2);\n }\n`\n\nconst RippleContainer = styled.span`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n span {\n transform: scale(0);\n border-radius: 100%;\n position: absolute;\n opacity: 0.75;\n background-color: ${props => props.color};\n animation-name: ${rippleKeyframe};\n animation-duration: ${props => props.duration}ms;\n }\n`\n\nconst useDebouncedRippleCleanUp = (rippleCount, duration, cleanUpFunction) => {\n useLayoutEffect(() => {\n let bounce = null\n if (rippleCount > 0) {\n clearTimeout(bounce)\n\n bounce = setTimeout(() => {\n cleanUpFunction()\n clearTimeout(bounce)\n }, duration * 4)\n }\n\n return () => clearTimeout(bounce)\n }, [rippleCount, duration, cleanUpFunction])\n}\n\nconst Ripple = props => {\n const { duration, color } = props\n const [rippleArray, setRippleArray] = useState([])\n\n useDebouncedRippleCleanUp(rippleArray.length, duration, () => {\n setRippleArray([])\n })\n\n const addRipple = event => {\n const rippleContainer = event.currentTarget.getBoundingClientRect()\n const size =\n rippleContainer.width > rippleContainer.height\n ? rippleContainer.width\n : rippleContainer.height\n const x = event.clientX - rippleContainer.x - size / 2\n const y = event.clientY - rippleContainer.y - size / 2\n const newRipple = {\n x,\n y,\n size,\n }\n\n setRippleArray([...rippleArray, newRipple])\n }\n\n return (\n \n {rippleArray.length > 0 &&\n rippleArray.map((ripple, index) => {\n return (\n \n )\n })}\n \n )\n}\n\nexport default Ripple\n","import React from \"react\"\nimport styled from \"styled-components\"\nimport Ripple from \"./Ripple\"\nimport { Link } from \"gatsby\"\n\nconst ButtonStyled = styled(Link)`\n overflow: hidden;\n outline: none;\n position: relative;\n cursor: pointer;\n display: inline-block;\n background: var(--green);\n padding: 12px 28px;\n color: var(--black);\n border-radius: 23px;\n text-align: center;\n line-height: 1;\n text-decoration: none;\n :hover {\n color: var(--white);\n background: var(--black);\n }\n`\n\nfunction Button({ link, children }) {\n return (\n \n {children} \n \n )\n}\n\nexport default Button\n","import React from \"react\"\nimport styled from \"styled-components\"\nimport Img from \"gatsby-image\"\nimport { useMediaQuery } from \"../../hooks/useMediaQuery\"\n\nexport const BenefitsSectionStyles = styled.section`\n width: 100%;\n min-height: 100vh;\n position: relative;\n display: flex;\n align-items: center;\n overflow: hidden;\n @media screen and (min-height: 800px) {\n min-height: 80vh;\n }\n .overlay {\n position: absolute;\n background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6));\n height: 100%;\n width: 100%;\n top: 0;\n left: 0;\n }\n .circle-1 {\n width: 600px;\n height: 600px;\n position: absolute;\n top: -250px;\n left: -250px;\n z-index: 1;\n @media screen and (max-width: 768px) {\n width: 400px;\n height: 400px;\n top: -175px;\n left: -175px;\n }\n }\n .circle-2 {\n width: 600px;\n height: 600px;\n position: absolute;\n bottom: -250px;\n right: -250px;\n z-index: 3;\n @media screen and (max-width: 768px) {\n width: 400px;\n height: 400px;\n bottom: -175px;\n right: -175px;\n }\n @media screen and (max-width: 500px) {\n width: 400px;\n height: 400px;\n bottom: -225px;\n right: -175px;\n }\n }\n .bars-svg {\n position: absolute;\n bottom: -10%;\n right: -10%;\n z-index: 1;\n width: 70%;\n fill: var(--white);\n @media screen and (max-width: 768px) {\n bottom: -16%;\n }\n @media screen and (max-width: 500px) {\n bottom: -20%;\n }\n }\n`\n\nexport const BackgroundImg = styled(Img)`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n`\n\nconst BenefitsFlex = styled.div`\n color: var(--white);\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n width: 100%;\n padding: 100px 0;\n .benefits-inner {\n width: 100%;\n max-width: 1200px;\n padding: 0 30px;\n margin: auto;\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: 5rem;\n text-align: center;\n position: relative;\n span {\n position: relative;\n z-index: 2;\n }\n svg {\n position: absolute;\n left: 35%;\n width: 30%;\n @media screen and (max-width: 768px) {\n width: 50%;\n left: 25%;\n }\n }\n }\n .benefit-thumbs {\n margin-top: 100px;\n display: flex;\n @media screen and (max-width: 768px) {\n flex-direction: column;\n }\n .thumb {\n position: relative;\n :nth-child(2) {\n margin: 0 30px;\n @media screen and (max-width: 768px) {\n margin: 30px 0;\n }\n }\n svg {\n position: absolute;\n width: 50%;\n @media screen and (max-width: 768px) {\n width: 70%;\n }\n }\n div {\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: 2rem;\n text-align: left;\n }\n p {\n margin-top: 30px;\n }\n }\n }\n }\n }\n`\n\nconst BenefitsSection = ({ input }) => {\n const isSmall = useMediaQuery(\"(min-width: 768px)\")\n const isXSmall = useMediaQuery(\"(min-width: 400px)\")\n return (\n \n \n
\n \n
\n

\n Benefits\n \n \n \n \n \n \n \n \n

\n
\n {input?.thumbnails?.map((c, index) => {\n return (\n
\n {index === 0 ? (\n \n \n \n \n \n ) : index === 1 ? (\n \n \n \n \n \n ) : (\n \n \n \n \n \n )}\n \n
\n )\n })}\n
\n
\n
\n
\n )\n}\n\nexport default BenefitsSection\n","import React, { useEffect } from \"react\"\nimport styled from \"styled-components\"\nimport Button from \"./buttons/Button\"\nimport {\n BackgroundImg,\n BenefitsSectionStyles,\n} from \"./theSystem/BenefitsSection\"\nimport Wrapper from \"./Wrapper\"\nimport { useInView } from \"react-intersection-observer\"\nimport { motion, useAnimation } from \"framer-motion\"\n\nconst FullbleedInner = styled.div`\n position: relative;\n z-index: 2;\n color: var(--white);\n h2 {\n font-size: 5rem;\n @media screen and (max-width: 500px) {\n font-size: 3.5rem;\n }\n }\n p {\n max-width: 450px;\n margin: 30px 0;\n }\n`\n\nconst FullbleedCircles = ({ input }) => {\n const animation = useAnimation()\n\n const [featured, inView] = useInView({\n threshold: 0.1,\n triggerOnce: true,\n })\n\n useEffect(() => {\n if (inView) {\n const sequence = async () => {\n await animation.start(i => ({\n x: 0,\n opacity: 1,\n transition: {\n duration: 0.6,\n delay: i * 0.2,\n },\n }))\n }\n sequence()\n }\n }, [animation, inView])\n\n return (\n \n \n \n \n \n \n\n \n \n \n \n \n\n \n
\n \n \n

{input.title}

\n
\n {input.link && }\n \n \n \n )\n}\n\nexport default FullbleedCircles\n","import React, { useEffect } from \"react\"\nimport styled from \"styled-components\"\nimport Button from \"./buttons/Button\"\nimport {\n BackgroundImg,\n BenefitsSectionStyles,\n} from \"./theSystem/BenefitsSection\"\nimport Wrapper from \"./Wrapper\"\nimport { useInView } from \"react-intersection-observer\"\nimport { motion, useAnimation } from \"framer-motion\"\n\nconst FullbleedInner = styled.div`\n position: relative;\n z-index: 2;\n color: var(--white);\n h2 {\n font-size: 5rem;\n @media screen and (max-width: 500px) {\n font-size: 3.5rem;\n }\n }\n p {\n max-width: 450px;\n margin: 30px 0;\n }\n`\n\nconst FullbleedBlocks = ({ input }) => {\n const animation = useAnimation()\n\n const [featured, inView] = useInView({\n threshold: 0.1,\n triggerOnce: true,\n })\n\n useEffect(() => {\n if (inView) {\n const sequence = async () => {\n await animation.start(i => ({\n x: 0,\n opacity: 1,\n transition: {\n duration: 0.6,\n delay: i * 0.2,\n },\n }))\n }\n sequence()\n }\n }, [animation, inView])\n\n return (\n \n \n \n \n \n \n \n \n \n\n \n
\n \n \n

{input?.title}

\n
\n {input.link && }\n \n \n \n )\n}\n\nexport default FullbleedBlocks\n","import React, { useRef, useState, useEffect, useMemo } from \"react\"\nimport { motion, useViewportScroll, useTransform } from \"framer-motion\"\n\nconst ParallaxUpDown = ({\n children,\n yOffset,\n endPoint,\n easing = [0.42, 0, 0.58, 1],\n // easing = \"easeInOut\", // [number, number, number, number] | \"linear\" | \"easeIn\" |\n //\"easeOut\" | \"easeInOut\" | \"circIn\" | \"circOut\" | \"circInOut\" | \"backIn\" | \"backOut\" |\n //\"backInOut\" | \"anticipate\" | EasingFunction;\n triggerPoint, // value between 0 and 1 (top and bottom of the window), point to start animation\n fadeOut = false, // true | false fade an element out on end of the animation\n ...rest\n}) => {\n const { scrollY } = useViewportScroll()\n const ref = useRef()\n const [elementTop, setElementTop] = useState(0)\n const [elementBottom, setElementBottom] = useState(0)\n const [clientHeight, setClientHeight] = useState(0)\n\n useEffect(() => {\n if (!ref.current) return\n\n const setValues = () => {\n setElementTop(ref.current.offsetTop)\n setElementBottom(ref.current.offsetTop + ref.current.offsetHeight)\n setClientHeight(window.innerHeight)\n }\n\n setValues()\n document.addEventListener(\"load\", setValues)\n window.addEventListener(\"resize\", setValues)\n\n return () => {\n document.removeEventListener(\"load\", setValues)\n window.removeEventListener(\"resize\", setValues)\n }\n }, [ref, yOffset])\n\n // const transformInitialValue =\n // elementTop - window.innerHeight <= 0 ? 0 : elementTop - window.innerHeight;\n const transformInitialValue = elementTop - clientHeight * triggerPoint\n const transformFinalValue = elementTop + yOffset + endPoint\n\n const yRange = [\n transformInitialValue,\n transformFinalValue / 2,\n transformFinalValue,\n ]\n\n // const newY = useTransform(scrollY, scrollY)\n\n const y = useTransform(scrollY, yRange, [-yOffset, 0, -yOffset], easing)\n\n const opacityInitialValue = fadeOut ? 0 : 1\n const opacityRange = useMemo(() => [opacityInitialValue, 1], [\n opacityInitialValue,\n ])\n\n // const yOpacityRange = [transformInitialValue, transformFinalValue];\n const yOpacityRange = [elementBottom, transformFinalValue - yOffset]\n const opacity = useTransform(\n scrollY,\n yOpacityRange,\n opacityRange,\n \"anticipate\"\n )\n\n return (\n \n {children}\n \n )\n}\n\nexport default ParallaxUpDown\n","import React from \"react\"\nimport styled from \"styled-components\"\nimport Img from \"gatsby-image\"\nimport ParallaxUpDown from \"../ParallaxUpDown\"\nimport { useMediaQuery } from \"../../hooks/useMediaQuery\"\n\nconst ClientsSectionStyles = styled.section`\n width: 100%;\n padding: 100px;\n background: var(--green);\n display: flex;\n gap: 30px;\n min-height: 100vh;\n position: relative;\n overflow: hidden;\n @media screen and (min-height: 800px) {\n min-height: 80vh;\n }\n @media screen and (max-width: 1024px) {\n padding: 50px;\n }\n @media screen and (max-width: 768px) {\n flex-direction: column;\n padding: 30px;\n }\n .background-svg {\n position: absolute;\n top: 0;\n height: 100%;\n min-height: 100%;\n width: 100%;\n left: -20%;\n @media screen and (max-width: 768px) {\n display: none;\n }\n }\n .image {\n flex: 1;\n @media screen and (max-width: 768px) {\n height: 400px;\n }\n @media screen and (max-width: 500px) {\n height: 300px;\n }\n .gatsby-image-wrapper {\n min-width: 100%;\n min-height: 100%;\n }\n }\n .copy {\n flex: 1;\n display: flex;\n align-self: center;\n flex-direction: column;\n position: relative;\n .copy-inner {\n align-self: center;\n max-width: 400px;\n position: relative;\n @media screen and (max-width: 768px) {\n margin: 50px 0;\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: 3rem;\n }\n p {\n margin-top: 30px;\n }\n .client-svg {\n position: absolute;\n left: -4%;\n top: -4%;\n }\n }\n }\n`\n\nconst ClientsSection = ({ input }) => {\n const isSmall = useMediaQuery(\"(max-width: 768px)\")\n\n return (\n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n
\n )\n}\n\nexport default ClientsSection\n","import React from \"react\"\nimport styled from \"styled-components\"\nimport Img from \"gatsby-image\"\nimport { motion } from \"framer-motion\"\n\nconst CirclesSectionStyles = styled.section`\n width: 100%;\n padding: 100px;\n background: var(--offwhite);\n display: flex;\n gap: 30px;\n min-height: 100vh;\n position: relative;\n overflow: hidden;\n @media screen and (min-height: 800px) {\n min-height: 80vh;\n }\n .circle-1 {\n width: 600px;\n height: 600px;\n position: absolute;\n top: -250px;\n left: -250px;\n @media screen and (max-width: 768px) {\n width: 400px;\n height: 400px;\n top: -175px;\n left: -175px;\n }\n }\n .circle-2 {\n width: 600px;\n height: 600px;\n position: absolute;\n bottom: -250px;\n right: -250px;\n @media screen and (max-width: 768px) {\n width: 400px;\n height: 400px;\n bottom: -175px;\n right: -175px;\n }\n @media screen and (max-width: 500px) {\n width: 400px;\n height: 400px;\n bottom: -225px;\n right: -175px;\n }\n }\n @media screen and (max-width: 1024px) {\n padding: 50px;\n }\n @media screen and (max-width: 768px) {\n flex-direction: column;\n padding: 30px;\n }\n .image {\n flex: 1;\n @media screen and (max-width: 768px) {\n height: 400px;\n }\n @media screen and (max-width: 500px) {\n height: 300px;\n }\n .gatsby-image-wrapper {\n min-width: 100%;\n min-height: 100%;\n }\n }\n .copy {\n flex: 1;\n display: flex;\n align-self: flex-end;\n flex-direction: column;\n position: relative;\n @media screen and (max-width: 768px) {\n align-self: center;\n @media screen and (max-width: 768px) {\n margin: 100px 0 50px 0;\n }\n }\n .copy-inner {\n align-self: center;\n max-width: 400px;\n position: relative;\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: 3rem;\n }\n p, ul {\n margin-top: 30px;\n }\n .client-svg {\n position: absolute;\n left: -2%;\n top: -4%;\n }\n }\n }\n`\n\nconst CirclesSection = ({ input }) => {\n return (\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\nexport default CirclesSection\n","import React from \"react\"\nimport styled from \"styled-components\"\nimport Wrapper from \"../Wrapper\"\n\nconst PlanSection = styled.section`\n width: 100%;\n background: var(--green);\n min-height: 100vh;\n position: relative;\n @media screen and (min-height: 800px) {\n min-height: 80vh;\n }\n .banner-svg {\n position: absolute;\n top: -18%;\n left: -10%;\n z-index: 1;\n width: 70%;\n @media screen and (max-width: 768px) {\n top: -10%;\n }\n }\n`\n\nconst PlanInner = styled.div`\n width: 100%;\n padding: 150px 0;\n display: flex;\n justify-content: center;\n @media screen and (max-width: 768px) {\n flex-direction: column;\n align-items: center;\n padding: 100px 0;\n }\n .thumb:first-child {\n margin-right: 30px;\n @media screen and (max-width: 768px) {\n margin-right: 0;\n margin-bottom: 30px;\n }\n }\n .thumb {\n border: 1px solid var(--white);\n max-width: 400px;\n flex: 1;\n border-radius: 10px;\n padding: 30px;\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: 2.5rem;\n }\n p,\n ul {\n margin-top: 30px;\n }\n }\n`\n\nconst ClientPt = ({ input }) => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n {input?.thumbnails?.map((p, index) => {\n return (\n \n )\n })}\n \n \n \n )\n}\n\nexport default ClientPt\n","import React from \"react\"\nimport styled from \"styled-components\"\nimport Img from \"gatsby-image\"\n\nconst CopyImageContainer = styled.div`\n display: flex;\n margin: 60px auto;\n /* align-items: center;\n justify-content: center; */\n @media screen and (max-width: 768px) {\n flex-direction: column;\n }\n .copy {\n flex: 1;\n margin: 30px;\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: 3rem;\n }\n p,\n ul {\n margin-top: 30px;\n }\n @media screen and (max-width: 768px) {\n margin: 30px 0;\n }\n }\n .image {\n flex: 1;\n width: 100%;\n }\n`\n\nconst ImageAndCopy = ({ input }) => (\n \n
\n \n
\n
\n \n)\n\nexport default ImageAndCopy\n","import React from \"react\"\nimport styled from \"styled-components\"\nimport Img from \"gatsby-image\"\n\nconst CopyImageContainer = styled.div`\n display: flex;\n margin: 60px auto;\n @media screen and (max-width: 768px) {\n flex-direction: column;\n }\n .copy {\n flex: 1;\n align-self: center;\n max-width: 500px;\n margin: 30px;\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: 3rem;\n }\n p,\n ul {\n margin-top: 30px;\n }\n @media screen and (max-width: 768px) {\n margin: 30px 0;\n }\n }\n .image {\n flex: 1;\n margin-right: -22vw;\n }\n`\n\nconst CopyAndImage = ({ input }) => (\n \n
\n
\n \n
\n \n)\n\nexport default CopyAndImage\n","import React from \"react\"\nimport styled from \"styled-components\"\n\nexport const Title = styled.div`\n padding: 150px 0 0 0;\n h1 {\n position: relative;\n font-size: 5rem;\n z-index: 2;\n @media screen and (max-width: 768px) {\n font-size: 3rem;\n }\n svg {\n position: absolute;\n left: 0;\n top: -30%;\n z-index: -1;\n }\n }\n`\n\nconst BasicTitle = ({ title }) => {\n return (\n \n <h1>\n {title}\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"88.599\"\n height=\"129.447\"\n viewBox=\"0 0 88.599 129.447\"\n >\n <g\n id=\"Group_161\"\n data-name=\"Group 161\"\n transform=\"translate(-811.861 -606.122)\"\n >\n <path\n id=\"Path_126\"\n data-name=\"Path 126\"\n d=\"M900.46,631.936c-.223,2.228-.647,3.881-2.042,5.349-1.618,1.7-2.771,3.838-4.268,5.673-1.763,2.163-3.647,4.233-5.535,6.291q-8.053,8.774-16.166,17.491a1.52,1.52,0,0,0-.162,2.113c1.794,3.113,3.584,6.228,5.277,9.4,1.3,2.425,2.423,4.942,3.661,7.4,2.628,5.216,5.361,10.381,7.9,15.638,2.39,4.952,4.86,9.893,6.793,15.027,1.753,4.659,2.828,9.57,4.2,14.37.051.176.186.452.119.518-1.171,1.169-2.357,2.322-3.572,3.443-.114.1-.631-.108-.653-.055-.786,2.083-1.481.24-2.152-.074-.528-.248-1.112-1.278-1.169.291a.842.842,0,0,1-.358.5c-.323-.131-.837-.3-.875-.531-.344-1.964-2.078-2.72-3.207-4.018-.883-1.016-1.081-2.621-1.618-3.952-.956-2.369-1.978-4.712-2.888-7.1-.5-1.3-.676-2.736-1.245-4-1.907-4.227-3.93-8.4-5.894-12.605a6.1,6.1,0,0,1-.277-1,9.46,9.46,0,0,1,.8.578c.289.254.545.545.817.823a8.228,8.228,0,0,0-.346-1.366,18.025,18.025,0,0,0-.893-1.579c-.412-.731-.4-.725-.889-.021a.576.576,0,0,1-.522-.051c-.956-1.526-1.958-3.031-2.787-4.624a41.285,41.285,0,0,1-1.663-4.042.516.516,0,0,1,.121-.446c.575-.5.6-.5.324-1.022q-3.157-6.089-6.328-12.171a1.54,1.54,0,0,0-.274-.473c-.272-.233-.584-.42-.88-.625.1.3.188.606.315.893a4.773,4.773,0,0,1,.36.631.406.406,0,1,1-.651.408c-1.438-1.358-1.735-1.259-2.947.125-2.656,3.029-5.456,5.933-8.136,8.945-2.558,2.871-5.007,5.839-7.561,8.712-1.614,1.814-3.379,3.494-5,5.3-1.405,1.567-2.587,3.346-4.067,4.833-4.9,4.919-9.811,9.826-14.874,14.569a6.612,6.612,0,0,1-6.424,1.325c-.6-.154-1.411.506-2.132.768a6.537,6.537,0,0,1-.834.192c.051-.266.018-.59.162-.788,1.909-2.636,3.844-5.255,5.775-7.876a9.789,9.789,0,0,1,.985-1.266c.18-.176.541-.166.821-.236.242-.061.649-.049.7-.182.829-2.058,2.775-3.205,4.02-4.943,1.253-1.753,3.078-3.084,4.518-4.716,2.922-3.312,5.751-6.705,8.62-10.063a6.925,6.925,0,0,1,1.094-1.231c1.779-1.249,2.1-3.137,2.4-5.075.2-1.329,2.894-4.1,4.172-4.391.287-.065.792-.192.8-.315.111-1.8,1.765-2.2,2.732-3.225.616-.657.6-1.876,1.141-2.644a38.958,38.958,0,0,1,2.707-2.965c1.63-1.853,3.561-3.557,4.687-5.685.512-.969-.6-2.8-.973-4.235-2.869-.7-3.5-3.455-4.036-5.529-.43-1.675-1.714-2.177-2.339-3.383-.7-1.35-1.509-2.648-2.316-3.94-.711-1.137-1.495-2.226-2.232-3.348-2.664-4.057-5.279-8.148-7.993-12.17-3.137-4.649-6.414-9.2-9.517-13.876-1.053-1.585-2.392-3.143-2.14-5.314a2.026,2.026,0,0,0-.393-1c-.215-.4-.836-.917.323-.711.086.014.262-.449.389-.694.254-.489.508-.977.752-1.472.207-.422.664-.936.559-1.263-.5-1.546.594-2.677.956-3.967.4-1.436,1.188-1.468,2.3-.487a7.444,7.444,0,0,0,1.661.811,3.347,3.347,0,0,1,.885.52,54.342,54.342,0,0,1,8.37,11.27c2.5,4.134,5.382,8.036,8.022,12.089,2.5,3.838,4.89,7.747,7.35,11.611,2.715,4.26,5.5,8.476,8.163,12.769,1.7,2.742,1.667,2.83,3.819.571q5.045-5.294,9.981-10.692c2.648-2.879,5.253-5.8,7.856-8.718a17.089,17.089,0,0,0,1.436-1.9,5.379,5.379,0,0,1,4.214-2.492,11.518,11.518,0,0,0,4.175-1.911c1.313-.78,2.312.361,3.483.375C900.178,631.1,900.405,631.842,900.46,631.936Z\"\n transform=\"translate(0 0)\"\n fill=\"#68db7e\"\n />\n </g>\n </svg>\n </h1>\n \n )\n}\n\nexport default BasicTitle\n","import React from \"react\"\nimport styled from \"styled-components\"\nimport Wrapper from \"../Wrapper\"\nimport Img from \"gatsby-image\"\nimport { motion, useTransform, useViewportScroll } from \"framer-motion\"\nimport { isAndroid } from \"react-device-detect\"\n\nconst HeroContainer = styled.section`\n width: 100%;\n position: relative;\n overflow: hidden;\n`\n\nconst HeroBackground = styled.div`\n width: 100%;\n height: 100%;\n position: absolute;\n background: var(--green);\n z-index: -1;\n .gatsby-image-wrapper {\n position: absolute;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n .banner-container {\n position: absolute;\n height: 100%;\n width: 100%;\n top: 0;\n .banner {\n position: relative;\n height: 100%;\n width: 1200%;\n top: 0;\n left: -50%;\n svg {\n height: 100%;\n }\n }\n }\n`\n\nconst HeroFlex = styled.div`\n width: 100%;\n padding: 200px 0;\n max-width: 600px;\n color: var(--white);\n position: relative;\n h1 {\n font-size: 8rem;\n position: relative;\n @media screen and (max-width: 600px) {\n font-size: 6rem;\n }\n span {\n position: relative;\n span {\n z-index: 2;\n }\n .infront-svg {\n position: absolute;\n top: 38%;\n left: -1%;\n width: 76%;\n z-index: 3;\n @media screen and (max-width: 600px) {\n top: 30%;\n }\n }\n .behind-svg {\n position: absolute;\n top: 20%;\n left: -1%;\n width: 76%;\n z-index: 1;\n @media screen and (max-width: 600px) {\n top: 10%;\n }\n }\n }\n }\n p {\n max-width: 400px;\n margin: 30px 0;\n }\n .button-flex {\n display: flex;\n @media screen and (max-width: 600px) {\n flex-direction: column;\n width: 100%;\n }\n a:first-child {\n margin-right: 30px;\n @media screen and (max-width: 600px) {\n margin-bottom: 30px;\n margin-right: 0;\n }\n }\n }\n`\n\nconst pathVariants = {\n hidden: {\n opacity: 0,\n pathLength: 0,\n },\n visible: {\n opacity: 1,\n pathLength: 1,\n transition: {\n delay: 1,\n duration: 1,\n ease: \"easeInOut\",\n },\n },\n}\n\nconst HomepageHero = ({ input }) => {\n const { scrollYProgress } = useViewportScroll()\n const x = useTransform(scrollYProgress, [0, 1], [0, 4000])\n\n return (\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 Fit starts{\" \"}\n \n here\n \n \n \n \n \n \n \n

\n
\n
\n {input?.buttons.map((b, i) => {\n return (\n \n {b?.button?.icon?.localFile?.publicURL && (\n \n )}\n {b?.button?.text}\n \n )\n })}\n
\n \n \n \n )\n}\n\nexport default HomepageHero\n","import React, { Component } from \"react\"\nimport styled from \"styled-components\"\nimport SplitHero from \"../SplitHero\"\nimport HomepageAbout from \"../homepage/HomepageAbout\"\nimport HomepagePlans from \"../homepage/HomepagePlans\"\nimport HomepageBigImage from \"../homepage/HomepageBigImage\"\nimport HomepageThumbnails from \"../homepage/HomepageThumbnails\"\nimport FullbleedCircles from \"../FullbleedCircles\"\nimport FullbleedBlocks from \"../FullbleedBlocks\"\nimport BenefitsSection from \"../theSystem/BenefitsSection\"\nimport ClientsSection from \"../theSystem/ClientsSection\"\nimport CirclesSection from \"../CirclesSection\"\nimport Newsletter from \"../Newsletter\"\nimport ClientPt from \"../referralSystem/ClientPt\"\nimport ImageAndCopy from \"./slices/ImageAndCopy\"\nimport Wrapper from \"../Wrapper\"\nimport CopyAndImage from \"./slices/CopyAndImage\"\nimport BasicTitle from \"../BasicTitle\"\nimport HomepageHero from \"../homepage/HomepageHero\"\n\nconst Content = styled.div``\n\nexport default class SliceZone extends Component {\n render() {\n const { allSlices, title } = this.props\n const slice = allSlices.map((s, i) => {\n switch (s.fieldGroupName) {\n case \"content_page_AcfContent_ContentBlocks_HomepageHero\":\n return \n case \"content_page_AcfContent_ContentBlocks_SplitImageHero\":\n return \n case \"content_page_AcfContent_ContentBlocks_AppImageAndButtons\":\n return \n case \"content_page_AcfContent_ContentBlocks_PlansThumbnails\":\n return \n case \"content_page_AcfContent_ContentBlocks_BigImage\":\n return (\n \n )\n case \"content_page_AcfContent_ContentBlocks_Thumbnails\":\n return \n case \"content_page_AcfContent_ContentBlocks_FullBleedCirclesSection\":\n return \n case \"content_page_AcfContent_ContentBlocks_FullBleedBlockSection\":\n return \n case \"content_page_AcfContent_ContentBlocks_BenefitsSection\":\n return \n case \"content_page_AcfContent_ContentBlocks_BlockSection\":\n return \n case \"content_page_AcfContent_ContentBlocks_CircleSection\":\n return \n case \"content_page_AcfContent_ContentBlocks_Newsletter\":\n return \n case \"content_page_AcfContent_ContentBlocks_BasicThumbnails\":\n return \n case \"content_page_AcfContent_ContentBlocks_ImageAndCopy\":\n return (\n \n \n \n )\n case \"content_page_AcfContent_ContentBlocks_CopyAndImage\":\n return (\n \n \n \n )\n case \"content_page_AcfContent_ContentBlocks_BasicPageTitle\":\n return (\n \n \n \n )\n default:\n return null\n }\n })\n return {slice}\n }\n}\n","import React from \"react\"\nimport { graphql } from \"gatsby\"\nimport Layout from \"../components/Layout\"\nimport styled from \"styled-components\"\nimport SliceZone from \"../components/qualifications/SliceZone\"\nimport Seo from \"gatsby-plugin-wpgraphql-seo\"\n\nexport const Title = styled.div`\n padding: 150px 0 0 0;\n h1 {\n position: relative;\n font-size: 5rem;\n z-index: 2;\n @media screen and (max-width: 768px) {\n font-size: 3rem;\n }\n svg {\n position: absolute;\n left: 0;\n top: -30%;\n z-index: -1;\n }\n }\n`\n\nconst PageTemplate = ({ data }) => {\n return (\n <>\n \n \n \n \n \n )\n}\n\nexport default PageTemplate\n\nexport const PAGE_QUERY = graphql`\n query PageQuery($slug: String!) {\n page: wpContentPage(slug: { eq: $slug }) {\n seo {\n canonical\n title\n metaDesc\n focuskw\n metaRobotsNoindex\n metaRobotsNofollow\n opengraphAuthor\n opengraphDescription\n opengraphTitle\n opengraphDescription\n opengraphImage {\n altText\n sourceUrl\n srcSet\n }\n opengraphUrl\n opengraphSiteName\n opengraphPublishedTime\n opengraphModifiedTime\n twitterTitle\n twitterDescription\n twitterImage {\n altText\n sourceUrl\n srcSet\n }\n breadcrumbs {\n url\n text\n }\n cornerstone\n schema {\n pageType\n articleType\n raw\n }\n readingTime\n fullHead\n }\n slug\n title\n id\n acf_content {\n contentBlocks {\n ... on WpContent_page_AcfContent_ContentBlocks_HomepageHero {\n copy\n fieldGroupName\n buttons {\n button {\n appleLink\n link\n text\n icon {\n localFile {\n publicURL\n }\n }\n }\n }\n image {\n localFile {\n childImageSharp {\n fluid(maxWidth: 1200, quality: 90) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n }\n }\n ... on WpContent_page_AcfContent_ContentBlocks_BasicPageTitle {\n basicHero\n fieldGroupName\n }\n ... on WpContent_page_AcfContent_ContentBlocks_AppImageAndButtons {\n fieldGroupName\n paragraph\n title\n androidLink\n appleLink\n appImage {\n localFile {\n childImageSharp {\n fluid(maxWidth: 1200, quality: 90) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n }\n }\n ... on WpContent_page_AcfContent_ContentBlocks_PlansThumbnails {\n fieldGroupName\n plansThumbnails {\n plans {\n description\n fieldGroupName\n button {\n appleLink\n link\n text\n icon {\n localFile {\n publicURL\n }\n }\n }\n planType\n price\n }\n }\n }\n ... on WpContent_page_AcfContent_ContentBlocks_BigImage {\n fieldGroupName\n image {\n localFile {\n publicURL\n childImageSharp {\n fluid(maxWidth: 1200, quality: 90) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n }\n }\n ... on WpContent_page_AcfContent_ContentBlocks_Thumbnails {\n fieldGroupName\n thumbnails {\n image {\n localFile {\n childImageSharp {\n fluid(maxWidth: 1200, quality: 90) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n }\n information\n title\n }\n }\n ... on WpContent_page_AcfContent_ContentBlocks_FullBleedCirclesSection {\n copy\n fieldGroupName\n link\n title\n backgroundImage {\n localFile {\n childImageSharp {\n fluid(maxWidth: 1200, quality: 90) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n }\n }\n ... on WpContent_page_AcfContent_ContentBlocks_FullBleedBlockSection {\n copy\n fieldGroupName\n link\n title\n backgroundImage {\n localFile {\n childImageSharp {\n fluid(maxWidth: 1200, quality: 90) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n }\n }\n ... on WpContent_page_AcfContent_ContentBlocks_BenefitsSection {\n fieldGroupName\n title\n backgroundImage {\n localFile {\n childImageSharp {\n fluid(maxWidth: 1200, quality: 90) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n }\n thumbnails {\n thumbnail\n }\n }\n ... on WpContent_page_AcfContent_ContentBlocks_BlockSection {\n copy\n fieldGroupName\n image {\n localFile {\n childImageSharp {\n fluid(maxWidth: 1200, quality: 90) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n }\n }\n ... on WpContent_page_AcfContent_ContentBlocks_CircleSection {\n copy\n fieldGroupName\n image {\n localFile {\n childImageSharp {\n fluid(maxWidth: 1200, quality: 90) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n }\n }\n ... on WpContent_page_AcfContent_ContentBlocks_Newsletter {\n copy\n fieldGroupName\n }\n ... on WpContent_page_AcfContent_ContentBlocks_SplitImageHero {\n fieldGroupName\n introParagraph\n image {\n localFile {\n childImageSharp {\n fluid(maxWidth: 1200, quality: 90) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n }\n }\n ... on WpContent_page_AcfContent_ContentBlocks_BasicThumbnails {\n fieldGroupName\n thumbnails {\n copy\n }\n }\n ... on WpContent_page_AcfContent_ContentBlocks_ImageAndCopy {\n copy\n fieldGroupName\n image {\n localFile {\n childImageSharp {\n fluid(maxWidth: 1200, quality: 90) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n }\n }\n ... on WpContent_page_AcfContent_ContentBlocks_CopyAndImage {\n copy\n fieldGroupName\n image {\n localFile {\n childImageSharp {\n fluid(maxWidth: 1200, quality: 90) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n }\n }\n }\n }\n }\n }\n`\n"],"sourceRoot":""}