/* compiled by scssphp 1.6.0 on Tue, 02 Jul 2024 08:58:18 +0000 (0.2201s) */

@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Bold.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Bold.woff") format("woff");font-weight:700;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Light.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Light.woff") format("woff");font-weight:300;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Regular.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Regular.woff") format("woff");font-weight:400;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Medium.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Medium.woff") format("woff");font-weight:500;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Bold.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Bold.woff") format("woff");font-weight:700;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Light.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Light.woff") format("woff");font-weight:300;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Regular.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Regular.woff") format("woff");font-weight:400;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Medium.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Medium.woff") format("woff");font-weight:500;font-style:normal;unicode-range:U+000-5FF}html #root #wrap_all #header{padding:18px 0}@media (max-width:1024px){html #root #wrap_all #header{padding:16px 0;padding-top:20px}}html #root #wrap_all #header .container{max-width:1430px;padding:0 30px}@media (min-width:1025px) and (max-width:1099px){html #root #wrap_all #header .container{padding:0 20px}}@media (max-width:1024px){html #root #wrap_all #header .container{padding:0 10px}}html #root #wrap_all #header .responsive-menu{position:absolute;top:16px;right:10px}html #root #wrap_all #header .responsive-menu .menu-toggle{background:#DBE6FF;border:none;width:39px;height:39px;border-radius:5px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;z-index:2;-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out}html #root #wrap_all #header .responsive-menu .menu-toggle .icon.menu{width:16px;height:2px;background:#0D2E5C;position:relative;-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out}html #root #wrap_all #header .responsive-menu .menu-toggle .icon.menu:before,html #root #wrap_all #header .responsive-menu .menu-toggle .icon.menu:after{content:'';height:2px;width:16px;background:#0D2E5C;position:absolute;left:0;top:-5px;-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out}html #root #wrap_all #header .responsive-menu .menu-toggle .icon.menu:after{top:5px}html #root #wrap_all #header .responsive-menu .menu-toggle.open{background:#0D2E5C;-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out}html #root #wrap_all #header .responsive-menu .menu-toggle.open .icon.menu{background:#fff;-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out;transform:rotate(45deg)}html #root #wrap_all #header .responsive-menu .menu-toggle.open .icon.menu:before,html #root #wrap_all #header .responsive-menu .menu-toggle.open .icon.menu:after{background:#fff;-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out;transform:rotate(-90deg);top:0px}html #root #wrap_all #header .responsive-menu .menu-toggle.open .icon.menu:before{content:none}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open{left:0;right:auto;width:100%;background:white;height:100vh}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .logo-container{display:none}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu{-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-line-pack:baseline;align-content:baseline;padding-top:20px;width:40%;margin:0 auto}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu{width:100%}}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu li{width:100%;margin-bottom:7px}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu li[aria-expanded="true"] button{color:#FBB901}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu li[aria-expanded="true"] button:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23FBB901' d='M432.6 209.3l-191.1 183.1C235.1 397.8 229.1 400 224 400s-11.97-2.219-16.59-6.688L15.41 209.3C5.814 200.2 5.502 184.1 14.69 175.4c9.125-9.625 24.38-9.938 33.91-.7187L224 342.8l175.4-168c9.5-9.219 24.78-8.906 33.91 .7187C442.5 184.1 442.2 200.2 432.6 209.3z'/%3E%3C/svg%3E");-webkit-transform:rotate(180deg);transform:rotate(180deg)}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu li.menu-item-has-children{background:none}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu li button{cursor:pointer;border:none;background:transparent;color:#0D2E5C;font-weight:500;font-size:23px;line-height:1.1;padding:10px 6px 7px;font-family:'NeoSans', sans-serif;width:100%;position:relative;text-align:left}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu li button:after{content:'';background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%230D2E5C' d='M432.6 209.3l-191.1 183.1C235.1 397.8 229.1 400 224 400s-11.97-2.219-16.59-6.688L15.41 209.3C5.814 200.2 5.502 184.1 14.69 175.4c9.125-9.625 24.38-9.938 33.91-.7187L224 342.8l175.4-168c9.5-9.219 24.78-8.906 33.91 .7187C442.5 184.1 442.2 200.2 432.6 209.3z'/%3E%3C/svg%3E");background-repeat:no-repeat;width:21px;height:100%;background-position:center center;background-size:21px 16px;position:absolute;right:0;top:0}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu li .sub-menu{z-index:1;-webkit-box-shadow:none;box-shadow:none;border-radius:0;padding:0}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu li .sub-menu.open{padding:20px 18px}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu li .sub-menu .menu__label{display:none}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu li .sub-menu li{background-image:none}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu li .sub-menu li:first-of-type{display:none}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu li .sub-menu li a{font-size:12px;font-weight:400}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu li a{padding:10px 6px 7px;font-size:23px;line-height:1.1;font-weight:500}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .dialog__trigger{margin:10px;width:fit-content}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .search{-webkit-box-ordinal-group:-1;-moz-box-ordinal-group:-1;-ms-flex-order:-1;-webkit-order:-1;order:-1;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:flex-end;-ms-flex-pack:flex-end;justify-content:flex-end;padding:16px;position:relative}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .search__trigger{margin-right:50px;width:39px;height:39px}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .search__form{top:90%}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .search .icon.search{padding:0}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu__socials__list{margin:0;padding-left:0;list-style:none;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu__socials__item{position:relative;line-height:1.2;margin:0 0 0 13px}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu__socials__link{display:inline-block;padding:0}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu__socials__link:hover,html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu__socials__link:focus{color:#FBB901}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu__socials__link:hover .icon.linkedin,html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu__socials__link:focus .icon.linkedin{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23FBB901' d='M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z'/%3E%3C/svg%3E")}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu__socials__link:hover .icon.facebook,html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu__socials__link:focus .icon.facebook{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23FBB901' d='M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z'/%3E%3C/svg%3E")}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu__socials__link:hover .icon.twitter,html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu__socials__link:focus .icon.twitter{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23FBB901' d='M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z'/%3E%3C/svg%3E")}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu__socials__link:hover .icon.instagram,html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu__socials__link:focus .icon.instagram{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23FBB901' d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'/%3E%3C/svg%3E")}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu__socials__link:hover .icon.youtube,html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu__socials__link:focus .icon.youtube{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23FBB901' d='M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z'/%3E%3C/svg%3E")}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu__socials__icon{width:17px;min-width:17px;height:18px;margin-right:0;background-size:contain;background-position:center left;background-repeat:no-repeat}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu__socials__icon.linkedin{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%230D2E5C' d='M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z'/%3E%3C/svg%3E")}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu__socials__icon.facebook{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%230D2E5C' d='M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z'/%3E%3C/svg%3E")}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu__socials__icon.twitter{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%230D2E5C' d='M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z'/%3E%3C/svg%3E")}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu__socials__icon.instagram{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%230D2E5C' d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'/%3E%3C/svg%3E")}html #root #wrap_all #header .responsive-menu .responsive-menu-container.open .menu-container .menu__socials__icon.youtube{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%230D2E5C' d='M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z'/%3E%3C/svg%3E")}@media (min-width:1025px) and (max-width:1099px){html #root #wrap_all #header .logo-container{width:15%}}html #root #wrap_all #header .logo-container a{width:192px;height:auto;display:flex;display:block}@media only screen and (max-width: 85.3125rem){html #root #wrap_all #header .logo-container a{width:150px}}@media only screen and (max-width: 71.1875rem){html #root #wrap_all #header .logo-container a{width:130px}}@media (max-width:1024px){html #root #wrap_all #header .logo-container a{width:153px}}html #root #wrap_all #header .logo-container a img{width:100%;height:100%;object-fit:contain}html #root #wrap_all #header .menu-content-container{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}@media (min-width:1025px) and (max-width:1099px){html #root #wrap_all #header .menu-content-container{width:85%}}@media (max-width:1024px){html #root #wrap_all #header .menu-content-container{display:none}}html #root #wrap_all #header nav ul li{margin:0 20px}@media only screen and (max-width: 85.3125rem){html #root #wrap_all #header nav ul li{margin:0 13px}}@media (min-width:1025px) and (max-width:1099px){html #root #wrap_all #header nav ul li{margin:0 9px}}html #root #wrap_all #header nav ul li a{font-size:16px;letter-spacing:0;line-height:1.78;color:#0D2E5C;text-decoration:none;font-weight:bold;padding:20px 0;-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out}html #root #wrap_all #header nav ul li a:hover{color:#FBB901}html #root #wrap_all #header nav ul li a:focus{outline:0 !important}html #root #wrap_all #header nav ul li.menu-item-has-children{padding-right:18px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%230D2E5C' d='M432.6 209.3l-191.1 183.1C235.1 397.8 229.1 400 224 400s-11.97-2.219-16.59-6.688L15.41 209.3C5.814 200.2 5.502 184.1 14.69 175.4c9.125-9.625 24.38-9.938 33.91-.7187L224 342.8l175.4-168c9.5-9.219 24.78-8.906 33.91 .7187C442.5 184.1 442.2 200.2 432.6 209.3z'/%3E%3C/svg%3E");background-position:right center;background-repeat:no-repeat;background-size:11px 10px;-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out}@media only screen and (max-width: 71.1875rem){html #root #wrap_all #header nav ul li.menu-item-has-children{padding-right:15px}}html #root #wrap_all #header nav ul li.menu-item-has-children:hover{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23FBB901' d='M432.6 209.3l-191.1 183.1C235.1 397.8 229.1 400 224 400s-11.97-2.219-16.59-6.688L15.41 209.3C5.814 200.2 5.502 184.1 14.69 175.4c9.125-9.625 24.38-9.938 33.91-.7187L224 342.8l175.4-168c9.5-9.219 24.78-8.906 33.91 .7187C442.5 184.1 442.2 200.2 432.6 209.3z'/%3E%3C/svg%3E")}html #root #wrap_all #header nav ul li.menu-item-has-children:hover>a{color:#FBB901}html #root #wrap_all #header nav ul li.blue-button a{background:#0D2E5C;color:white;padding:14px 22px;line-height:1;border-radius:5px}html #root #wrap_all #header nav ul li.blue-button a:hover{background:#FBB901;color:#0D2E5C}html #root #wrap_all #header nav ul li .sub-menu{background:#fff;box-shadow:0 0 15px 0 rgba(0, 0, 0, 0.15);border-radius:10px;padding:30px 25px 25px}html #root #wrap_all #header nav ul li .sub-menu li{margin:0}html #root #wrap_all #header nav ul li .sub-menu li a{padding:10px 20px;color:#0D2E5C;-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out;border-radius:5px;background-color:transparent;width:280px;margin:0;font-weight:normal;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}html #root #wrap_all #header nav ul li .sub-menu li a .icon{color:#0D2E5C;margin-right:16px;margin-top:2px;width:auto;height:auto}html #root #wrap_all #header nav ul li .sub-menu li a:hover{background:#F5F9FE}html #root #wrap_all #header nav ul li .sub-menu li a:active{background:#0D2E5C;color:#fff}html #root #wrap_all #header nav ul li .sub-menu li a:active .icon{color:#fff}html #root #wrap_all #header nav ul li .sub-menu li.current-menu-item a{background:#0D2E5C;color:#fff}html #root #wrap_all #header nav ul li .sub-menu li.current-menu-item a .icon{color:#fff}html #root #wrap_all #header nav ul li .sub-menu li.main-button a{background:#FBB901;color:#0D2E5C}html #root #wrap_all #header nav ul li .sub-menu li.main-button a .icon.arrow-right{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%230D2E5C' d='M264.6 70.63l176 168c4.75 4.531 7.438 10.81 7.438 17.38s-2.688 12.84-7.438 17.38l-176 168c-9.594 9.125-24.78 8.781-33.94-.8125c-9.156-9.5-8.812-24.75 .8125-33.94l132.7-126.6H24.01c-13.25 0-24.01-10.76-24.01-24.01s10.76-23.99 24.01-23.99h340.1l-132.7-126.6C221.8 96.23 221.5 80.98 230.6 71.45C239.8 61.85 254.1 61.51 264.6 70.63z'/%3E%3C/svg%3E");width:15px;height:15px;margin:0 0 0 auto}html #root #wrap_all #header nav ul li .sub-menu li.main-button a:hover{background:#0D2E5C;color:whitesmoke}html #root #wrap_all #header nav ul li .sub-menu li.main-button a:hover .icon.arrow-right{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='white' d='M264.6 70.63l176 168c4.75 4.531 7.438 10.81 7.438 17.38s-2.688 12.84-7.438 17.38l-176 168c-9.594 9.125-24.78 8.781-33.94-.8125c-9.156-9.5-8.812-24.75 .8125-33.94l132.7-126.6H24.01c-13.25 0-24.01-10.76-24.01-24.01s10.76-23.99 24.01-23.99h340.1l-132.7-126.6C221.8 96.23 221.5 80.98 230.6 71.45C239.8 61.85 254.1 61.51 264.6 70.63z'/%3E%3C/svg%3E")}html #root #wrap_all #header nav ul li .sub-menu .menu__label{font-size:10px;font-weight:500;line-height:1.77;position:absolute;top:-13px;left:25px;margin:0 auto;background:#FBB901;padding:3px 10px 1px;color:#0D2E5C;border-radius:5px;box-shadow:0 0 12px 0 rgba(0, 0, 0, 0.12)}html #root #wrap_all #header .dialog__trigger{border:0;padding:14px 22px;margin:0 10px}@media (min-width:1025px) and (max-width:1099px){html #root #wrap_all #header .dialog__trigger{padding:12px 17px}}html #root #wrap_all #header .search .searchform{position:absolute;right:0;background:#fff;box-shadow:0 0 15px 0 rgba(0, 0, 0, 0.15);width:auto;border-radius:10px}html #root #wrap_all #header .search .searchform[aria-hidden="true"]{display:none}html #root #wrap_all #header .search .searchform div{padding:30px 25px 25px;position:relative}html #root #wrap_all #header .search .searchform div .screen-reader-text{font-size:10px;font-weight:500;line-height:1.77;position:absolute;top:-13px;left:25px;margin:0 auto;background:#FBB901;padding:3px 10px 1px;color:#0D2E5C;border-radius:5px;box-shadow:0 0 12px 0 rgba(0, 0, 0, 0.12)}html #root #wrap_all #header .search .searchform div input{background:#F7FAFF;border:1px solid #B5C6E3;border-radius:5px;color:#0D2E5C;font-size:16px;line-height:1.06;padding:10px 50px 10px 12px;min-height:auto;font-family:'NeoSans', sans-serif}html #root #wrap_all #header .search .searchform div input::-webkit-input-placeholder{font-family:'NeoSans', sans-serif}html #root #wrap_all #header .search .searchform div input[type="submit"]{position:absolute;bottom:26px;padding:0;height:41px;right:25px;font-size:0;width:39px;border:0;background:#B5C6E3;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%230D2E5C' d='M504.1 471l-134-134C399.1 301.5 415.1 256.8 415.1 208c0-114.9-93.13-208-208-208S-.0002 93.13-.0002 208S93.12 416 207.1 416c48.79 0 93.55-16.91 129-45.04l134 134C475.7 509.7 481.9 512 488 512s12.28-2.344 16.97-7.031C514.3 495.6 514.3 480.4 504.1 471zM48 208c0-88.22 71.78-160 160-160s160 71.78 160 160s-71.78 160-160 160S48 296.2 48 208z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center center;background-size:15px 15px;border-radius:0 5px 5px 0}html #root #wrap_all #header .search .search__trigger{border:0;width:44px;height:44px;padding:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out}@media (min-width:1025px) and (max-width:1099px){html #root #wrap_all #header .search .search__trigger{width:40px;height:40px}}html #root #wrap_all #header .search .search__trigger .search{margin:0;height:18px;width:18px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%230D2E5C' d='M504.1 471l-134-134C399.1 301.5 415.1 256.8 415.1 208c0-114.9-93.13-208-208-208S-.0002 93.13-.0002 208S93.12 416 207.1 416c48.79 0 93.55-16.91 129-45.04l134 134C475.7 509.7 481.9 512 488 512s12.28-2.344 16.97-7.031C514.3 495.6 514.3 480.4 504.1 471zM48 208c0-88.22 71.78-160 160-160s160 71.78 160 160s-71.78 160-160 160S48 296.2 48 208z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center center;background-size:contain;-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out}html #root #wrap_all #header .search .search__trigger:hover{background:#0D2E5C}html #root #wrap_all #header .search .search__trigger:hover .search{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23fff' d='M504.1 471l-134-134C399.1 301.5 415.1 256.8 415.1 208c0-114.9-93.13-208-208-208S-.0002 93.13-.0002 208S93.12 416 207.1 416c48.79 0 93.55-16.91 129-45.04l134 134C475.7 509.7 481.9 512 488 512s12.28-2.344 16.97-7.031C514.3 495.6 514.3 480.4 504.1 471zM48 208c0-88.22 71.78-160 160-160s160 71.78 160 160s-71.78 160-160 160S48 296.2 48 208z'/%3E%3C/svg%3E")}html #root #wrap_all #header.scrolled{background:#fff;top:0 !important;padding:12px 0px}@media (max-width:1024px){html #root #wrap_all #header.scrolled{padding:15px 0;box-shadow:0px 0px 13px 0px rgba(0, 0, 0, 0.2)}}html #root #wrap_all #header.scrolled .responsive-menu{top:10px}html #root #wrap_all #header .wpml-ls-statics-shortcode_actions{border:0;padding:0;margin-left:20px}@media only screen and (max-width: 71.1875rem){html #root #wrap_all #header .wpml-ls-statics-shortcode_actions{margin-left:10px}}html #root #wrap_all #header .wpml-ls-statics-shortcode_actions ul li a{padding:0;width:20px;height:20px;border-radius:50%}html #root #wrap_all #header .wpml-ls-statics-shortcode_actions ul li a img{width:100%;height:100%;border-radius:50%}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Bold.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Bold.woff") format("woff");font-weight:700;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Light.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Light.woff") format("woff");font-weight:300;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Regular.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Regular.woff") format("woff");font-weight:400;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Medium.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Medium.woff") format("woff");font-weight:500;font-style:normal;unicode-range:U+000-5FF}html #root #wrap_all a.button,html #root #wrap_all .button{cursor:pointer;user-select:none}html #root #wrap_all a.button:focus,html #root #wrap_all .button:focus{outline:0 !important}html #root #wrap_all a.button span,html #root #wrap_all .button span{pointer-events:none !important}html #root #wrap_all a.button.button__colored,html #root #wrap_all a.button.button--colored,html #root #wrap_all .button.button__colored,html #root #wrap_all .button.button--colored{border-radius:5px;padding:19px 24px 16px 26px;display:inline-flex;font-family:'NeoSans', sans-serif;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:16px;line-height:1.21;font-weight:600;-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out}@media only screen and (max-width: 47.9375rem){html #root #wrap_all a.button.button__colored,html #root #wrap_all a.button.button--colored,html #root #wrap_all .button.button__colored,html #root #wrap_all .button.button--colored{padding:12px 22px;font-size:12px}}html #root #wrap_all a.button.button__colored .icon,html #root #wrap_all a.button.button--colored .icon,html #root #wrap_all .button.button__colored .icon,html #root #wrap_all .button.button--colored .icon{width:14px;height:10px;margin-left:30px;-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out}html #root #wrap_all a.button.button__colored .icon.arrow-right,html #root #wrap_all a.button.button--colored .icon.arrow-right,html #root #wrap_all .button.button__colored .icon.arrow-right,html #root #wrap_all .button.button--colored .icon.arrow-right{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23fff' d='M264.6 70.63l176 168c4.75 4.531 7.438 10.81 7.438 17.38s-2.688 12.84-7.438 17.38l-176 168c-9.594 9.125-24.78 8.781-33.94-.8125c-9.156-9.5-8.812-24.75 .8125-33.94l132.7-126.6H24.01c-13.25 0-24.01-10.76-24.01-24.01s10.76-23.99 24.01-23.99h340.1l-132.7-126.6C221.8 96.23 221.5 80.98 230.6 71.45C239.8 61.85 254.1 61.51 264.6 70.63z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center center;background-size:14px auto}html #root #wrap_all a.button.button--round,html #root #wrap_all .button.button--round{height:36px;width:36px;box-shadow:0 0 15px 0 rgba(0, 0, 0, 0.11);padding:2px;border-radius:50%;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}@media only screen and (max-width: 47.9375rem){html #root #wrap_all a.button.button--round,html #root #wrap_all .button.button--round{height:34px;width:34px}}html #root #wrap_all a.button.button--round .icon,html #root #wrap_all .button.button--round .icon{width:13px;height:14px;margin-left:0}html #root #wrap_all a.button.button--round .icon.arrow-right,html #root #wrap_all .button.button--round .icon.arrow-right{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%230D2E5C' d='M264.6 70.63l176 168c4.75 4.531 7.438 10.81 7.438 17.38s-2.688 12.84-7.438 17.38l-176 168c-9.594 9.125-24.78 8.781-33.94-.8125c-9.156-9.5-8.812-24.75 .8125-33.94l132.7-126.6H24.01c-13.25 0-24.01-10.76-24.01-24.01s10.76-23.99 24.01-23.99h340.1l-132.7-126.6C221.8 96.23 221.5 80.98 230.6 71.45C239.8 61.85 254.1 61.51 264.6 70.63z'/%3E%3C/svg%3E");background-size:13px 14px}html #root #wrap_all a.button.background-main,html #root #wrap_all .button.background-main{background:#0D2E5C;color:#fff;border-color:#0D2E5C}html #root #wrap_all a.button.background-main:hover,html #root #wrap_all a.button.background-main:focus,html #root #wrap_all .button.background-main:hover,html #root #wrap_all .button.background-main:focus{background:#FBB901;color:#0D2E5C;border-color:#FBB901;outline:0 !important}html #root #wrap_all a.button.background-main:hover .icon.arrow-right,html #root #wrap_all a.button.background-main:focus .icon.arrow-right,html #root #wrap_all .button.background-main:hover .icon.arrow-right,html #root #wrap_all .button.background-main:focus .icon.arrow-right{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%230D2E5C' d='M264.6 70.63l176 168c4.75 4.531 7.438 10.81 7.438 17.38s-2.688 12.84-7.438 17.38l-176 168c-9.594 9.125-24.78 8.781-33.94-.8125c-9.156-9.5-8.812-24.75 .8125-33.94l132.7-126.6H24.01c-13.25 0-24.01-10.76-24.01-24.01s10.76-23.99 24.01-23.99h340.1l-132.7-126.6C221.8 96.23 221.5 80.98 230.6 71.45C239.8 61.85 254.1 61.51 264.6 70.63z'/%3E%3C/svg%3E")}html #root #wrap_all a.button.background-secondary,html #root #wrap_all .button.background-secondary{background:#FBB901;color:#0D2E5C;border-color:#FBB901}html #root #wrap_all a.button.background-secondary .icon.arrow-right,html #root #wrap_all .button.background-secondary .icon.arrow-right{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%230D2E5C' d='M264.6 70.63l176 168c4.75 4.531 7.438 10.81 7.438 17.38s-2.688 12.84-7.438 17.38l-176 168c-9.594 9.125-24.78 8.781-33.94-.8125c-9.156-9.5-8.812-24.75 .8125-33.94l132.7-126.6H24.01c-13.25 0-24.01-10.76-24.01-24.01s10.76-23.99 24.01-23.99h340.1l-132.7-126.6C221.8 96.23 221.5 80.98 230.6 71.45C239.8 61.85 254.1 61.51 264.6 70.63z'/%3E%3C/svg%3E")}html #root #wrap_all a.button.background-secondary:hover,html #root #wrap_all a.button.background-secondary:focus,html #root #wrap_all .button.background-secondary:hover,html #root #wrap_all .button.background-secondary:focus{background:#0D2E5C;color:#fff;border-color:#0D2E5C}html #root #wrap_all a.button.background-secondary:hover .icon.arrow-right,html #root #wrap_all a.button.background-secondary:focus .icon.arrow-right,html #root #wrap_all .button.background-secondary:hover .icon.arrow-right,html #root #wrap_all .button.background-secondary:focus .icon.arrow-right{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23fff' d='M264.6 70.63l176 168c4.75 4.531 7.438 10.81 7.438 17.38s-2.688 12.84-7.438 17.38l-176 168c-9.594 9.125-24.78 8.781-33.94-.8125c-9.156-9.5-8.812-24.75 .8125-33.94l132.7-126.6H24.01c-13.25 0-24.01-10.76-24.01-24.01s10.76-23.99 24.01-23.99h340.1l-132.7-126.6C221.8 96.23 221.5 80.98 230.6 71.45C239.8 61.85 254.1 61.51 264.6 70.63z'/%3E%3C/svg%3E")}html #root #wrap_all a.button.background-accent,html #root #wrap_all .button.background-accent{background:#C7D300;color:#0D2E5C;border-color:#C7D300}html #root #wrap_all a.button.background-accent .icon.arrow-right,html #root #wrap_all .button.background-accent .icon.arrow-right{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%230D2E5C' d='M264.6 70.63l176 168c4.75 4.531 7.438 10.81 7.438 17.38s-2.688 12.84-7.438 17.38l-176 168c-9.594 9.125-24.78 8.781-33.94-.8125c-9.156-9.5-8.812-24.75 .8125-33.94l132.7-126.6H24.01c-13.25 0-24.01-10.76-24.01-24.01s10.76-23.99 24.01-23.99h340.1l-132.7-126.6C221.8 96.23 221.5 80.98 230.6 71.45C239.8 61.85 254.1 61.51 264.6 70.63z'/%3E%3C/svg%3E")}html #root #wrap_all a.button.background-accent:hover,html #root #wrap_all a.button.background-accent:focus,html #root #wrap_all .button.background-accent:hover,html #root #wrap_all .button.background-accent:focus{background:#0D2E5C;color:#fff;border-color:#0D2E5C}html #root #wrap_all a.button.background-accent:hover .icon.arrow-right,html #root #wrap_all a.button.background-accent:focus .icon.arrow-right,html #root #wrap_all .button.background-accent:hover .icon.arrow-right,html #root #wrap_all .button.background-accent:focus .icon.arrow-right{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23fff' d='M264.6 70.63l176 168c4.75 4.531 7.438 10.81 7.438 17.38s-2.688 12.84-7.438 17.38l-176 168c-9.594 9.125-24.78 8.781-33.94-.8125c-9.156-9.5-8.812-24.75 .8125-33.94l132.7-126.6H24.01c-13.25 0-24.01-10.76-24.01-24.01s10.76-23.99 24.01-23.99h340.1l-132.7-126.6C221.8 96.23 221.5 80.98 230.6 71.45C239.8 61.85 254.1 61.51 264.6 70.63z'/%3E%3C/svg%3E")}html #root #wrap_all a.button.button--bordered,html #root #wrap_all .button.button--bordered{border:solid 1px transparent;border-radius:5px;padding:15px 22px;font-size:16px;line-height:1.21;font-weight:600;font-family:'NeoSans', sans-serif;-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out}@media only screen and (max-width: 47.9375rem){html #root #wrap_all a.button.button--bordered,html #root #wrap_all .button.button--bordered{padding:12px 22px;font-size:12px}}html #root #wrap_all a.button.border-white,html #root #wrap_all .button.border-white{border-color:#ffffff}html #root #wrap_all a.button.border-white:hover,html #root #wrap_all a.button.border-white:focus,html #root #wrap_all .button.border-white:hover,html #root #wrap_all .button.border-white:focus{background:#ffffff;color:#0D2E5C;border-color:#ffffff}html #root #wrap_all a.button.border-white:hover .icon.arrow-right,html #root #wrap_all a.button.border-white:focus .icon.arrow-right,html #root #wrap_all .button.border-white:hover .icon.arrow-right,html #root #wrap_all .button.border-white:focus .icon.arrow-right{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23fff' d='M264.6 70.63l176 168c4.75 4.531 7.438 10.81 7.438 17.38s-2.688 12.84-7.438 17.38l-176 168c-9.594 9.125-24.78 8.781-33.94-.8125c-9.156-9.5-8.812-24.75 .8125-33.94l132.7-126.6H24.01c-13.25 0-24.01-10.76-24.01-24.01s10.76-23.99 24.01-23.99h340.1l-132.7-126.6C221.8 96.23 221.5 80.98 230.6 71.45C239.8 61.85 254.1 61.51 264.6 70.63z'/%3E%3C/svg%3E")}html #root #wrap_all a.button.background-white-accent,html #root #wrap_all .button.background-white-accent{background:white;-webkit-box-shadow:none;box-shadow:none;position:relative;width:calc(100% + 2px)}html #root #wrap_all a.button.background-white-accent:after,html #root #wrap_all .button.background-white-accent:after{content:"";position:absolute;top:-1px;left:-1px;width:calc(100% + 2px);height:calc(100% + 2px);background:#c7d300;background:linear-gradient(90deg, #c7d300 0%, #c7d300 40%, #fbb901 60%, #fbb901 100%);z-index:-1;-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out;border-radius:100%;animation:1.5s ease-in infinite rotating;animation-play-state:paused}html #root #wrap_all a.button.background-white-accent:hover:after,html #root #wrap_all .button.background-white-accent:hover:after{animation-play-state:running}@keyframes rotating{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}html #root #wrap_all .button__wrapper{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 -3px}html #root #wrap_all .button__wrapper .dialog__trigger{margin:0 3px}html #root #wrap_all .button__container{margin:0 3px}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Bold.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Bold.woff") format("woff");font-weight:700;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Light.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Light.woff") format("woff");font-weight:300;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Regular.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Regular.woff") format("woff");font-weight:400;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Medium.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Medium.woff") format("woff");font-weight:500;font-style:normal;unicode-range:U+000-5FF}html #root #wrap_all #main .employee__wrapper--size-big .employee__container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;width:300px;align-items:center;padding:0 30px 30px;position:relative}@media only screen and (max-width: 63.9375rem){html #root #wrap_all #main .employee__wrapper--size-big .employee__container{padding:0 20px 20px}}html #root #wrap_all #main .employee__wrapper--size-big .employee__container:after{content:"";position:absolute;bottom:0;left:0;right:0;border-radius:5px;background:linear-gradient(130deg, #0D2E5C 0%, #06485A 60%);width:100%;min-height:194px;z-index:0}@media only screen and (max-width: 63.9375rem){html #root #wrap_all #main .employee__wrapper--size-big .employee__container:after{min-height:164px}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .employee__wrapper--size-big .employee__container:after{background:#fff}}html #root #wrap_all #main .employee__wrapper--size-big .employee__container img{width:200px;height:200px;object-fit:cover;object-position:center center;border-radius:5px;position:relative;z-index:1}@media only screen and (max-width: 63.9375rem){html #root #wrap_all #main .employee__wrapper--size-big .employee__container img{width:120px;height:120px}}html #root #wrap_all #main .employee__wrapper--size-big .employee__container .employee__info{margin:20px 0 5px;position:relative;z-index:1}@media only screen and (max-width: 63.9375rem){html #root #wrap_all #main .employee__wrapper--size-big .employee__container .employee__info{margin:10px 0}}html #root #wrap_all #main .employee__wrapper--size-big .employee__container .employee__info h3{font-family:'Caveat Brush', cursive;font-size:17px;line-height:1.47;color:#fff;margin:0 0 -6px}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .employee__wrapper--size-big .employee__container .employee__info h3{color:#0D2E5C}}html #root #wrap_all #main .employee__wrapper--size-big .employee__container .employee__info .employee__name{color:#0D2E5C;font-weight:500;margin:0;line-height:1}html #root #wrap_all #main .employee__wrapper--size-big .employee__container .employee__info .employee__job-title{opacity:0.75;color:#FFFFFF;font-size:12px;font-weight:500;line-height:2.08}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .employee__wrapper--size-big .employee__container .employee__info .employee__job-title{color:#0D2E5C}}html #root #wrap_all #main .employee__wrapper--size-big .employee__container .employee__info .employee__phone{font-size:13px;font-weight:500;line-height:1.23;color:#fff;margin-top:10px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}html #root #wrap_all #main .employee__wrapper--size-big .employee__container .employee__info .employee__phone .phone{width:36px;height:36px;background-color:#fff;border-radius:50%;margin-right:10px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%230D2E5C' d='M480.3 320.3L382.1 278.2c-21.41-9.281-46.64-3.109-61.2 14.95l-27.44 33.5c-44.78-25.75-82.29-63.25-108-107.1l33.55-27.48c17.91-14.62 24.09-39.7 15.02-61.05L191.7 31.53c-10.16-23.2-35.34-35.86-59.87-30.19l-91.25 21.06C16.7 27.86 0 48.83 0 73.39c0 241.9 196.7 438.6 438.6 438.6c24.56 0 45.53-16.69 50.1-40.53l21.06-91.34C516.4 355.5 503.6 330.3 480.3 320.3zM463.9 369.3l-21.09 91.41c-.4687 1.1-2.109 3.281-4.219 3.281c-215.4 0-390.6-175.2-390.6-390.6c0-2.094 1.297-3.734 3.344-4.203l91.34-21.08c.3125-.0781 .6406-.1094 .9531-.1094c1.734 0 3.359 1.047 4.047 2.609l42.14 98.33c.75 1.766 .25 3.828-1.25 5.062L139.8 193.1c-8.625 7.062-11.25 19.14-6.344 29.14c33.01 67.23 88.26 122.5 155.5 155.5c9.1 4.906 22.09 2.281 29.16-6.344l40.01-48.87c1.109-1.406 3.187-1.938 4.922-1.125l98.26 42.09C463.2 365.2 464.3 367.3 463.9 369.3z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center center;background-size:13px 15px}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .employee__wrapper--size-big .employee__container .employee__info .employee__phone .phone{background-color:#0D2E5C;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23fff' d='M480.3 320.3L382.1 278.2c-21.41-9.281-46.64-3.109-61.2 14.95l-27.44 33.5c-44.78-25.75-82.29-63.25-108-107.1l33.55-27.48c17.91-14.62 24.09-39.7 15.02-61.05L191.7 31.53c-10.16-23.2-35.34-35.86-59.87-30.19l-91.25 21.06C16.7 27.86 0 48.83 0 73.39c0 241.9 196.7 438.6 438.6 438.6c24.56 0 45.53-16.69 50.1-40.53l21.06-91.34C516.4 355.5 503.6 330.3 480.3 320.3zM463.9 369.3l-21.09 91.41c-.4687 1.1-2.109 3.281-4.219 3.281c-215.4 0-390.6-175.2-390.6-390.6c0-2.094 1.297-3.734 3.344-4.203l91.34-21.08c.3125-.0781 .6406-.1094 .9531-.1094c1.734 0 3.359 1.047 4.047 2.609l42.14 98.33c.75 1.766 .25 3.828-1.25 5.062L139.8 193.1c-8.625 7.062-11.25 19.14-6.344 29.14c33.01 67.23 88.26 122.5 155.5 155.5c9.1 4.906 22.09 2.281 29.16-6.344l40.01-48.87c1.109-1.406 3.187-1.938 4.922-1.125l98.26 42.09C463.2 365.2 464.3 367.3 463.9 369.3z'/%3E%3C/svg%3E")}}html #root #wrap_all #main .employee__wrapper--size-big .employee__container .employee__buttons{position:relative;z-index:1}html #root #wrap_all #main .employee__wrapper--size-big .employee__container .employee__buttons .dialog__trigger{margin:0 3px;border:0;padding:0}html #root #wrap_all #main .employee__wrapper--size-big .employee__container .employee__buttons .dialog__trigger .icon{width:13px;height:13px;background-position:center center;background-repeat:no-repeat;background-size:contain;-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out}html #root #wrap_all #main .employee__wrapper--size-big .employee__container .employee__buttons .dialog__trigger .icon.phone{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%230D2E5C' d='M480.3 320.3L382.1 278.2c-21.41-9.281-46.64-3.109-61.2 14.95l-27.44 33.5c-44.78-25.75-82.29-63.25-108-107.1l33.55-27.48c17.91-14.62 24.09-39.7 15.02-61.05L191.7 31.53c-10.16-23.2-35.34-35.86-59.87-30.19l-91.25 21.06C16.7 27.86 0 48.83 0 73.39c0 241.9 196.7 438.6 438.6 438.6c24.56 0 45.53-16.69 50.1-40.53l21.06-91.34C516.4 355.5 503.6 330.3 480.3 320.3zM463.9 369.3l-21.09 91.41c-.4687 1.1-2.109 3.281-4.219 3.281c-215.4 0-390.6-175.2-390.6-390.6c0-2.094 1.297-3.734 3.344-4.203l91.34-21.08c.3125-.0781 .6406-.1094 .9531-.1094c1.734 0 3.359 1.047 4.047 2.609l42.14 98.33c.75 1.766 .25 3.828-1.25 5.062L139.8 193.1c-8.625 7.062-11.25 19.14-6.344 29.14c33.01 67.23 88.26 122.5 155.5 155.5c9.1 4.906 22.09 2.281 29.16-6.344l40.01-48.87c1.109-1.406 3.187-1.938 4.922-1.125l98.26 42.09C463.2 365.2 464.3 367.3 463.9 369.3z'/%3E%3C/svg%3E")}html #root #wrap_all #main .employee__wrapper--size-big .employee__container .employee__buttons .dialog__trigger .icon.email{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%230D2E5C' d='M0 128C0 92.65 28.65 64 64 64H448C483.3 64 512 92.65 512 128V384C512 419.3 483.3 448 448 448H64C28.65 448 0 419.3 0 384V128zM48 128V150.1L220.5 291.7C241.1 308.7 270.9 308.7 291.5 291.7L464 150.1V127.1C464 119.2 456.8 111.1 448 111.1H64C55.16 111.1 48 119.2 48 127.1L48 128zM48 212.2V384C48 392.8 55.16 400 64 400H448C456.8 400 464 392.8 464 384V212.2L322 328.8C283.6 360.3 228.4 360.3 189.1 328.8L48 212.2z'/%3E%3C/svg%3E")}html #root #wrap_all #main .employee__wrapper--size-big .employee__container .employee__buttons .dialog__trigger:hover .icon.phone,html #root #wrap_all #main .employee__wrapper--size-big .employee__container .employee__buttons .dialog__trigger:focus .icon.phone{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23fff' d='M480.3 320.3L382.1 278.2c-21.41-9.281-46.64-3.109-61.2 14.95l-27.44 33.5c-44.78-25.75-82.29-63.25-108-107.1l33.55-27.48c17.91-14.62 24.09-39.7 15.02-61.05L191.7 31.53c-10.16-23.2-35.34-35.86-59.87-30.19l-91.25 21.06C16.7 27.86 0 48.83 0 73.39c0 241.9 196.7 438.6 438.6 438.6c24.56 0 45.53-16.69 50.1-40.53l21.06-91.34C516.4 355.5 503.6 330.3 480.3 320.3zM463.9 369.3l-21.09 91.41c-.4687 1.1-2.109 3.281-4.219 3.281c-215.4 0-390.6-175.2-390.6-390.6c0-2.094 1.297-3.734 3.344-4.203l91.34-21.08c.3125-.0781 .6406-.1094 .9531-.1094c1.734 0 3.359 1.047 4.047 2.609l42.14 98.33c.75 1.766 .25 3.828-1.25 5.062L139.8 193.1c-8.625 7.062-11.25 19.14-6.344 29.14c33.01 67.23 88.26 122.5 155.5 155.5c9.1 4.906 22.09 2.281 29.16-6.344l40.01-48.87c1.109-1.406 3.187-1.938 4.922-1.125l98.26 42.09C463.2 365.2 464.3 367.3 463.9 369.3z'/%3E%3C/svg%3E")}html #root #wrap_all #main .employee__wrapper--size-big .employee__container .employee__buttons .dialog__trigger:hover .icon.email,html #root #wrap_all #main .employee__wrapper--size-big .employee__container .employee__buttons .dialog__trigger:focus .icon.email{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23fff' d='M0 128C0 92.65 28.65 64 64 64H448C483.3 64 512 92.65 512 128V384C512 419.3 483.3 448 448 448H64C28.65 448 0 419.3 0 384V128zM48 128V150.1L220.5 291.7C241.1 308.7 270.9 308.7 291.5 291.7L464 150.1V127.1C464 119.2 456.8 111.1 448 111.1H64C55.16 111.1 48 119.2 48 127.1L48 128zM48 212.2V384C48 392.8 55.16 400 64 400H448C456.8 400 464 392.8 464 384V212.2L322 328.8C283.6 360.3 228.4 360.3 189.1 328.8L48 212.2z'/%3E%3C/svg%3E")}html #root #wrap_all #main .employee__wrapper--size-big .employee__container .employee__buttons .dialog__trigger:first-child{background:#fff;color:#0D2E5C}html #root #wrap_all #main .employee__wrapper--size-big .employee__container .employee__buttons .dialog__trigger:first-child:hover{background:#0D2E5C}html #root #wrap_all #main .employee__wrapper--size-compact{position:absolute;bottom:0;right:50px;background:#F6F9FE;-webkit-transform:translateY(50%);transform:translateY(50%);min-width:420px;width:auto;z-index:99;border-radius:50px;overflow:hidden;padding:8px}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .employee__wrapper--size-compact{right:0;width:calc(100% - 40px);min-width:initial;left:20px}}html #root #wrap_all #main .employee__wrapper--size-compact .employee__container{width:100%;align-items:center}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .employee__wrapper--size-compact .employee__container{padding-right:0;padding-left:0}}html #root #wrap_all #main .employee__wrapper--size-compact .employee__container img{width:50px;height:auto;object-fit:cover;border-radius:100%}html #root #wrap_all #main .employee__wrapper--size-compact .employee__content{width:calc(100% - 62px);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}html #root #wrap_all #main .employee__wrapper--size-compact .employee__info{width:calc(100% - 84px);padding:0 18px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .employee__wrapper--size-compact .employee__info{width:calc(100% - 72px);padding:6px 12px}}html #root #wrap_all #main .employee__wrapper--size-compact .employee__info .employee__name{width:100%;font-family:'Caveat Brush', cursive;font-size:17px;margin-bottom:0}html #root #wrap_all #main .employee__wrapper--size-compact .employee__info .employee__job-title{font-size:12px;color:#0D2E5C;opacity:0.75;letter-spacing:0.3px}html #root #wrap_all #main .employee__wrapper--size-compact .employee__buttons{margin:0}html #root #wrap_all #main .employee__wrapper--size-compact .employee__buttons .button{border:none;margin:0 2px 0 0;width:37px;height:37px}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .employee__wrapper--size-compact .employee__buttons .button{width:31px;height:31px}}html #root #wrap_all #main .employee__wrapper--size-compact .employee__buttons .button+.button{margin-left:5px}html #root #wrap_all #main .employee__wrapper--size-compact .employee__buttons .button .icon{width:13px;background-repeat:no-repeat;background-position:center center;background-size:13px}html #root #wrap_all #main .employee__wrapper--size-compact .employee__buttons .button .icon.phone{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%230D2E5C' d='M480.3 320.3L382.1 278.2c-21.41-9.281-46.64-3.109-61.2 14.95l-27.44 33.5c-44.78-25.75-82.29-63.25-108-107.1l33.55-27.48c17.91-14.62 24.09-39.7 15.02-61.05L191.7 31.53c-10.16-23.2-35.34-35.86-59.87-30.19l-91.25 21.06C16.7 27.86 0 48.83 0 73.39c0 241.9 196.7 438.6 438.6 438.6c24.56 0 45.53-16.69 50.1-40.53l21.06-91.34C516.4 355.5 503.6 330.3 480.3 320.3zM463.9 369.3l-21.09 91.41c-.4687 1.1-2.109 3.281-4.219 3.281c-215.4 0-390.6-175.2-390.6-390.6c0-2.094 1.297-3.734 3.344-4.203l91.34-21.08c.3125-.0781 .6406-.1094 .9531-.1094c1.734 0 3.359 1.047 4.047 2.609l42.14 98.33c.75 1.766 .25 3.828-1.25 5.062L139.8 193.1c-8.625 7.062-11.25 19.14-6.344 29.14c33.01 67.23 88.26 122.5 155.5 155.5c9.1 4.906 22.09 2.281 29.16-6.344l40.01-48.87c1.109-1.406 3.187-1.938 4.922-1.125l98.26 42.09C463.2 365.2 464.3 367.3 463.9 369.3z'/%3E%3C/svg%3E")}html #root #wrap_all #main .employee__wrapper--size-compact .employee__buttons .button .icon.email{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%230D2E5C' d='M0 128C0 92.65 28.65 64 64 64H448C483.3 64 512 92.65 512 128V384C512 419.3 483.3 448 448 448H64C28.65 448 0 419.3 0 384V128zM48 128V150.1L220.5 291.7C241.1 308.7 270.9 308.7 291.5 291.7L464 150.1V127.1C464 119.2 456.8 111.1 448 111.1H64C55.16 111.1 48 119.2 48 127.1L48 128zM48 212.2V384C48 392.8 55.16 400 64 400H448C456.8 400 464 392.8 464 384V212.2L322 328.8C283.6 360.3 228.4 360.3 189.1 328.8L48 212.2z'/%3E%3C/svg%3E")}html #root #wrap_all #main .employee__wrapper--size-compact .employee__buttons .button:hover .icon.phone,html #root #wrap_all #main .employee__wrapper--size-compact .employee__buttons .button:focus .icon.phone{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%230D2E5C' viewBox='0 0 512 512'%3E%3C!--! Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath d='M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z'/%3E%3C/svg%3E")}html #root #wrap_all #main .employee__wrapper--size-compact .employee__buttons .button:hover .icon.email,html #root #wrap_all #main .employee__wrapper--size-compact .employee__buttons .button:focus .icon.email{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%230D2E5C' viewBox='0 0 512 512'%3E%3C!--! Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath d='M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z'/%3E%3C/svg%3E")}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Bold.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Bold.woff") format("woff");font-weight:700;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Light.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Light.woff") format("woff");font-weight:300;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Regular.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Regular.woff") format("woff");font-weight:400;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Medium.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Medium.woff") format("woff");font-weight:500;font-style:normal;unicode-range:U+000-5FF}html #root #wrap_all #main .tile__tile{position:relative;border-radius:10px 10px 7px 7px;background-color:#FFFFFF;-webkit-box-shadow:0 0 12px 0 rgba(0, 0, 0, 0.12);box-shadow:0 0 12px 0 rgba(0, 0, 0, 0.12);padding:0 27px 27px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}@media only screen and (max-width: 71.1875rem){html #root #wrap_all #main .tile__tile{padding:0 18px 22px}}html #root #wrap_all #main .tile__tile .button{margin-top:auto}html #root #wrap_all #main .tile__image{border-radius:10px 10px 0 0;display:block;margin-left:-27px;margin-right:-27px;width:calc(100% + 2 * 27px);max-width:calc(100% + 2 * 27px)}@media only screen and (max-width: 71.1875rem){html #root #wrap_all #main .tile__image{margin-left:-18px;margin-right:-18px;width:calc(100% + 2 * 18px);max-width:calc(100% + 2 * 18px)}}html #root #wrap_all #main .tile__category{margin:-15px 0 30px;background-color:#DBE6FF;color:#0D2E5C;-webkit-box-shadow:0 0 12px 0 rgba(0, 0, 0, 0.12);box-shadow:0 0 12px 0 rgba(0, 0, 0, 0.12);border-radius:2.4px;padding:7px 12px;font-size:12.8px;font-weight:500;line-height:1.2;display:inline-block;align-self:flex-start}@media only screen and (max-width: 71.1875rem){html #root #wrap_all #main .tile__category{margin-bottom:12px}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .tile__category{font-size:11px}}html #root #wrap_all #main .tile__icon{width:12px;height:12px;margin-right:8px}html #root #wrap_all #main .tile__icon.label{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%230D2E5C' d='M80 144C80 126.3 94.33 112 112 112C129.7 112 144 126.3 144 144C144 161.7 129.7 176 112 176C94.33 176 80 161.7 80 144zM197.5 32C214.5 32 230.7 38.74 242.7 50.75L418.7 226.7C443.7 251.7 443.7 292.3 418.7 317.3L285.3 450.7C260.3 475.7 219.7 475.7 194.7 450.7L18.75 274.7C6.743 262.7 0 246.5 0 229.5V80C0 53.49 21.49 32 48 32L197.5 32zM52.69 240.8L228.7 416.8C234.9 423.1 245.1 423.1 251.3 416.8L384.8 283.3C391.1 277.1 391.1 266.9 384.8 260.7L208.8 84.69C205.8 81.69 201.7 80 197.5 80H48V229.5C48 233.7 49.69 237.8 52.69 240.8L52.69 240.8z'/%3E%3C/svg%3E")}html #root #wrap_all #main .tile__title{font-size:18px;font-weight:bold;margin-bottom:10px}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .tile__title{font-size:15.45px}}html #root #wrap_all #main .tile__content{margin-bottom:20px;color:#000000}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Bold.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Bold.woff") format("woff");font-weight:700;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Light.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Light.woff") format("woff");font-weight:300;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Regular.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Regular.woff") format("woff");font-weight:400;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Medium.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Medium.woff") format("woff");font-weight:500;font-style:normal;unicode-range:U+000-5FF}html #root #wrap_all #main .tile-job__tile{position:relative;border-radius:10px 10px 7px 7px;background-color:#FFFFFF;-webkit-box-shadow:0 0 25px 0 rgba(3, 12, 26, 0.13);box-shadow:0 0 25px 0 rgba(3, 12, 26, 0.13);padding:0 27px 27px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}html #root #wrap_all #main .tile-job__tile .button{margin-top:auto}html #root #wrap_all #main .tile-job__image-container{border-radius:10px 10px 0 0;margin-left:-27px;margin-right:-27px;display:block;width:calc(100% + 2 * 27px);max-width:calc(100% + 2 * 27px);max-height:300px;min-height:300px;z-index:0}html #root #wrap_all #main .tile-job__image{-webkit-transform:translateX(-50%);transform:translateX(-50%);position:relative;left:50%;height:100%;width:auto;min-width:100%;max-width:unset}html #root #wrap_all #main .tile-job__label-wrapper{z-index:1;margin:-15px -10px 30px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}@media only screen and (max-width: 96rem){html #root #wrap_all #main .tile-job__label-wrapper{margin:-15px -5px 30px}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .tile-job__label-wrapper{margin-bottom:16px}}html #root #wrap_all #main .tile-job__label-item{background-color:#DBE6FF;color:#0D2E5C;-webkit-box-shadow:0 0 12px 0 rgba(0, 0, 0, 0.12);box-shadow:0 0 12px 0 rgba(0, 0, 0, 0.12);border-radius:2.4px;padding:7px 12px;font-size:12.8px;font-weight:500;margin:0 10px 10px;line-height:1.2}@media only screen and (max-width: 96rem){html #root #wrap_all #main .tile-job__label-item{margin:0 5px 10px}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .tile-job__label-item{font-size:10px}}html #root #wrap_all #main .tile-job__label-icon{width:16px;height:16px;margin-right:8px;background-position:center center}html #root #wrap_all #main .tile-job__label-icon.location-arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%230D2E5C' d='M47.1 256C32.71 256 19.55 245.2 16.6 230.2C13.65 215.2 21.73 200.2 35.88 194.4L387.9 50.38C399.8 45.5 413.5 48.26 422.6 57.37C431.7 66.49 434.5 80.19 429.6 92.12L285.6 444.1C279.8 458.3 264.8 466.3 249.8 463.4C234.8 460.4 223.1 447.3 223.1 432V256H47.1zM272 208V350.6L370.7 109.3L129.4 208H272z'/%3E%3C/svg%3E")}html #root #wrap_all #main .tile-job__label-icon.clock{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%230D2E5C' d='M232 120C232 106.7 242.7 96 256 96C269.3 96 280 106.7 280 120V243.2L365.3 300C376.3 307.4 379.3 322.3 371.1 333.3C364.6 344.3 349.7 347.3 338.7 339.1L242.7 275.1C236 271.5 232 264 232 255.1L232 120zM256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0zM48 256C48 370.9 141.1 464 256 464C370.9 464 464 370.9 464 256C464 141.1 370.9 48 256 48C141.1 48 48 141.1 48 256z'/%3E%3C/svg%3E")}html #root #wrap_all #main .tile-job__label-icon.graduation-cap{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%230D2E5C' d='M623.1 136.9l-282.7-101.2C334.3 33.23 327.2 32 320 32S305.7 33.23 298.8 35.68L16.05 136.9C6.438 140.4 0 149.6 0 160s6.438 19.65 16.05 23.09L76.07 204.6c-11.89 15.8-20.26 34.16-24.55 53.95C40.05 263.4 32 274.8 32 288c0 9.953 4.814 18.49 11.94 24.36l-24.83 149C17.48 471.1 25 480 34.89 480H93.11c9.887 0 17.41-8.879 15.78-18.63l-24.83-149C91.19 306.5 96 297.1 96 288c0-10.29-5.174-19.03-12.72-24.89c4.252-17.76 12.88-33.82 24.94-47.03l190.6 68.23C305.7 286.8 312.8 288 320 288s14.35-1.229 21.21-3.684l282.7-101.2C633.6 179.6 640 170.4 640 160S633.6 140.4 623.1 136.9zM325.1 239.1c-4.428 1.584-8.197 .6816-10.09 .0059L175.5 189.2l149.2-45.92c8.453-2.594 13.16-11.55 10.57-20.02c-2.594-8.438-11.57-13.27-20.01-10.55L125.2 171.2L93.96 160l220.1-79.12c4.428-1.584 8.197-.6836 10.09-.0059L546 160L325.1 239.1zM452.3 278.5L464 390.7C464 401.3 414.5 432 320 432s-144-30.72-144-41.34l11.72-112.1l-46.08-16.5l-13.51 126.1C128 449.3 224.6 480 320 480s192-30.69 191.9-91.81l-13.51-126.1L452.3 278.5z'/%3E%3C/svg%3E")}html #root #wrap_all #main .tile-job__label-icon.euro-sign{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%230D2E5C' d='M56 240C42.75 240 32 229.3 32 216C32 202.7 42.75 192 56 192H89.28C116.8 99.47 202.5 32 304 32H328C341.3 32 352 42.75 352 56C352 69.25 341.3 80 328 80H304C229.4 80 165.6 126.4 139.1 192H296C309.3 192 320 202.7 320 216C320 229.3 309.3 240 296 240H128.7C128.2 245.3 128 250.6 128 256C128 261.4 128.2 266.7 128.7 272H296C309.3 272 320 282.7 320 296C320 309.3 309.3 320 296 320H139.1C165.6 385.6 229.4 432 304 432H328C341.3 432 352 442.7 352 456C352 469.3 341.3 480 328 480H304C202.5 480 116.8 412.5 89.28 320H56C42.75 320 32 309.3 32 296C32 282.7 42.75 272 56 272H80.56C80.19 266.7 80 261.4 80 256C80 250.6 80.19 245.3 80.56 240H56z'/%3E%3C/svg%3E")}html #root #wrap_all #main .tile-job__title{font-size:16px;font-weight:bold;margin-bottom:10px}html #root #wrap_all #main .tile-job__content{margin-bottom:20px}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Bold.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Bold.woff") format("woff");font-weight:700;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Light.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Light.woff") format("woff");font-weight:300;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Regular.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Regular.woff") format("woff");font-weight:400;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Medium.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Medium.woff") format("woff");font-weight:500;font-style:normal;unicode-range:U+000-5FF}html #root #wrap_all footer{padding-top:7px;position:relative}html #root #wrap_all footer:before{content:'';position:absolute;left:0;top:0;z-index:1;width:100%;height:7px;background-color:#FBB901;background-image:linear-gradient(to right, #fbb901, #efc000, #e3c700, #d5cd00, #c7d300)}html #root #wrap_all footer #footer__wrapper{background-color:#0D2E5C;color:#ffffff;padding:64px 0 40px;position:relative;overflow:hidden}@media only screen and (max-width: 63.9375rem){html #root #wrap_all footer #footer__wrapper{padding:38px 0 20px}}html #root #wrap_all footer #footer__wrapper .footer_buttons ul .footer__column__item li a{color:#FFFFFF}html #root #wrap_all footer #footer__wrapper .footer_buttons ul .footer__column__item li{list-style:none}html #root #wrap_all footer #footer__wrapper .footer_buttons ul{padding:0}html #root #wrap_all footer #footer__wrapper .footer_buttons ul .footer__column__item p{font-weight:700}html #root #wrap_all footer #footer__wrapper .footer__column{margin-top:20px}html #root #wrap_all footer #footer__wrapper:after{content:'';position:absolute;left:0;top:0;z-index:1;height:2303px;width:2303px;background-image:radial-gradient(circle, #0D575C 0%, rgba(32, 96, 120, 0) 60%)}html #root #wrap_all footer #footer__wrapper:before{content:'';background-image:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='658px' height='552px' viewBox='0 0 658 552' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3Ewentzo-w%3C/title%3E%3Cdefs%3E%3ClinearGradient x1='36.7783477%25' y1='41.4335581%25' x2='78.4444273%25' y2='41.4335581%25' id='linearGradient-1'%3E%3Cstop stop-color='%23FFFFFF' offset='0%25'%3E%3C/stop%3E%3Cstop stop-color='%23FFFFFF' stop-opacity='0' offset='100%25'%3E%3C/stop%3E%3C/linearGradient%3E%3C/defs%3E%3Cg id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cpath d='M723.959126,0 C742.163021,0 760.050427,2.81007298 777.51568,8.40693999 C823.962417,23.2855976 849.613576,73.1921543 834.806142,119.873688 C833.630316,123.580564 832.213787,127.203608 830.564419,130.718842 L667.78273,478.359832 C647.112123,522.504478 603.316799,551.023162 554.82361,551.976776 L552.604807,552 C530.568372,552 508.757612,542.615438 486.484592,525.219201 C472.956814,514.627752 462.146682,500.995265 454.92674,485.416806 L419.5,409.122 L384.07326,485.416806 C376.982246,500.717079 366.428117,514.140257 353.237506,524.648899 L352.515408,525.219201 C330.242388,542.615438 308.431628,552 286.395193,552 L284.17639,551.976776 C235.683201,551.023162 191.887877,522.504478 171.21727,478.359832 L8.43558082,130.718842 C6.78621309,127.203608 5.36968374,123.580564 4.19385838,119.873688 C-10.6135762,73.1921543 15.0375835,23.2855976 61.4843205,8.40693999 C78.9495727,2.81007298 96.8369792,0 115.040874,0 C184.277778,0 267.471102,32.5147543 322.201284,87.518638 C322.534383,87.8534033 322.868191,88.1927704 323.20271,88.5367425 L325.218381,90.65586 L327.251268,92.8856508 C327.931783,93.6473771 328.615192,94.4275747 329.30152,95.2262692 L331.369284,97.6778694 C332.407569,98.9314407 333.452477,100.226688 334.504091,101.563698 L336.616286,104.293428 C336.969817,104.757672 337.324099,105.226563 337.679136,105.700104 L339.818433,108.597174 C340.176499,109.089328 340.535326,109.586137 340.894917,110.087607 L343.061651,113.152365 C343.424309,113.672486 343.787736,114.197272 344.151937,114.726728 L346.34644,117.959521 L348.559642,121.30453 L350.791691,124.761909 L353.042735,128.331812 L355.312922,132.014395 L357.6024,135.80981 L359.911319,139.718213 L362.239825,143.739758 L364.588068,147.874599 L366.956195,152.122889 L369.344355,156.484785 L371.752696,160.960439 L374.181367,165.550006 C374.587847,166.324435 374.995181,167.103617 375.403372,167.887555 L377.862814,172.648281 L380.342956,177.523306 L384.102305,185.05049 L387.909063,192.835715 L390.473487,198.169477 L393.059352,203.61831 L395.666806,209.182367 L399.618792,217.744835 L404.965053,229.566185 L409.033107,238.736416 L413.151738,248.167985 L415.925837,254.601143 L418.722786,261.150835 L419.499,262.988 L420.277214,261.150835 L423.074163,254.601143 L425.848262,248.167985 L429.966893,238.736416 L434.034947,229.566185 L439.381208,217.744835 L443.333194,209.182367 L445.940648,203.61831 L448.526513,198.169477 L451.090937,192.835715 L454.897695,185.05049 L458.657044,177.523306 L461.137186,172.648281 L463.596628,167.887555 C464.004819,167.103617 464.412153,166.324435 464.818633,165.550006 L467.247304,160.960439 L469.655645,156.484785 L472.043805,152.122889 L474.411932,147.874599 L476.760175,143.739758 L479.088681,139.718213 L481.3976,135.80981 L483.687078,132.014395 L485.957265,128.331812 L488.208309,124.761909 L490.440358,121.30453 L492.65356,117.959521 L494.848063,114.726728 C495.212264,114.197272 495.575691,113.672486 495.938349,113.152365 L498.105083,110.087607 C498.464674,109.586137 498.823501,109.089328 499.181567,108.597174 L501.320864,105.700104 C501.675901,105.226563 502.030183,104.757672 502.383714,104.293428 L504.495909,101.563698 C505.547523,100.226688 506.592431,98.9314407 507.630716,97.6778694 L509.69848,95.2262692 C510.384808,94.4275747 511.068217,93.6473771 511.748732,92.8856508 L513.781619,90.65586 L515.79729,88.5367425 C516.131809,88.1927704 516.465617,87.8534033 516.798716,87.518638 C571.528898,32.5147543 654.722222,0 723.959126,0 Z M115.040874,59.1430087 C102.918463,59.1430087 91.0607687,61.0058269 79.3591063,64.7557095 C63.8767587,69.7152948 55.3267588,86.3500614 60.2624921,101.910326 C60.6527009,103.140488 61.1206998,104.337485 61.6731022,105.51482 L224.464677,453.1769 C235.602629,476.963379 259.202769,492.331343 285.039779,492.840841 L286.682945,492.858405 C293.538082,492.858405 303.5784,488.537685 316.376411,478.541885 C322.528996,473.724764 327.44765,467.521928 330.736438,460.425731 L387.059228,339.121083 L384.651501,333.09022 L379.051309,319.204524 L376.286901,312.432008 L372.18533,302.486599 L366.801449,289.625167 L364.14623,283.365859 L360.209733,274.191605 L356.329294,265.275477 L352.50543,256.618013 L349.987872,250.990339 L346.259445,242.765176 L343.805991,237.4262 L340.174437,229.634832 L336.601695,222.104457 L334.252795,217.229468 L331.930417,212.470875 L329.634713,207.828836 L326.241507,201.084665 L324.013158,196.734709 L321.81202,192.501864 L319.638244,188.38629 L317.491985,184.388147 L315.373394,180.507593 L313.282626,176.744788 L310.198974,171.321707 L307.178782,166.164457 L305.200832,162.874239 L302.287556,158.161234 L300.381361,155.167677 L298.504135,152.293063 L296.656033,149.537552 L294.837206,146.901302 L293.047807,144.384473 L291.287991,141.987224 L289.55791,139.709715 C289.272049,139.340117 288.987434,138.975515 288.704068,138.615912 L287.018875,136.51831 L285.363801,134.540846 C284.817146,133.901732 284.275536,133.282667 283.738996,132.683679 L282.144616,130.946967 L281.358882,130.123832 L280.588962,129.33906 C237.23796,85.771263 169.106029,59.1430087 115.040874,59.1430087 Z M723.959126,59.1430087 C669.893971,59.1430087 601.76204,85.771263 558.411038,129.33906 L557.641118,130.123832 L556.855384,130.946967 L555.261004,132.683679 C554.724464,133.282667 554.182854,133.901732 553.636199,134.540846 L551.981125,136.51831 L550.295932,138.615912 C550.012566,138.975515 549.727951,139.340117 549.44209,139.709715 L547.712009,141.987224 L545.952193,144.384473 L544.162794,146.901302 L542.343967,149.537552 L540.495865,152.293063 L538.618639,155.167677 L536.712444,158.161234 L533.799168,162.874239 L531.821218,166.164457 L528.801026,171.321707 L525.717374,176.744788 L523.626606,180.507593 L521.508015,184.388147 L519.361756,188.38629 L517.18798,192.501864 L514.986842,196.734709 L512.758493,201.084665 L509.365287,207.828836 L507.069583,212.470875 L504.747205,217.229468 L502.398305,222.104457 L498.825563,229.634832 L495.194009,237.4262 L492.740555,242.765176 L489.012128,250.990339 L486.49457,256.618013 L482.670706,265.275477 L478.790267,274.191605 L474.85377,283.365859 L472.198551,289.625167 L466.81467,302.486599 L462.713099,312.432008 L459.948691,319.204524 L454.348499,333.09022 L451.940772,339.121083 L508.263562,460.425731 C511.55235,467.521928 516.471004,473.724764 522.623589,478.541885 C535.4216,488.537685 545.461918,492.858405 552.317055,492.858405 L553.960221,492.840841 C579.797231,492.331343 603.397371,476.963379 614.535323,453.1769 L777.326898,105.51482 C777.8793,104.337485 778.347299,103.140488 778.737508,101.910326 C783.673241,86.3500614 775.123241,69.7152948 759.640894,64.7557095 C747.939231,61.0058269 736.081537,59.1430087 723.959126,59.1430087 Z' id='wentzo-w' fill='url(%23linearGradient-1)' fill-rule='nonzero'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");position:absolute;height:910px;width:1080px;right:0;top:-240px;background-repeat:no-repeat;background-size:contain;opacity:0.02}@media only screen and (max-width: 56.1875rem){html #root #wrap_all footer #footer__wrapper:before{right:unset;left:5%;width:100%;top:unset}}html #root #wrap_all footer #footer__wrapper>*{position:relative;z-index:3}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer #footer__wrapper .footer__container{padding-left:30px;padding-right:30px}}html #root #wrap_all footer #footer__wrapper .footer__container .column.one-fourth{min-width:calc(25% - (20px * 2));max-width:calc(25% - (20px * 2))}@media only screen and (max-width: 63.9375rem){html #root #wrap_all footer #footer__wrapper .footer__container .column.one-fourth{min-width:calc(50% - (20px * 2));max-width:calc(50% - (20px * 2))}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer #footer__wrapper .footer__container .column.one-fourth{min-width:50%;max-width:50%}}@media only screen and (max-width: 29.9375rem){html #root #wrap_all footer #footer__wrapper .footer__container .column.one-fourth.footer__links{min-width:100%;max-width:100%;margin-bottom:8px}html #root #wrap_all footer #footer__wrapper .footer__container .column.one-fourth.footer__links:not(:last-child){margin-bottom:25px}}html #root #wrap_all footer #footer__wrapper .footer__container .column .title{font-size:16px;color:#ffffff;font-weight:700;margin-bottom:20px}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer #footer__wrapper .footer__container .column .title{font-size:14px;margin-bottom:8px}}html #root #wrap_all footer #footer__wrapper .footer .button{color:#FFFFFF}html #root #wrap_all footer #footer__wrapper .footer__top{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}@media only screen and (max-width: 63.9375rem){html #root #wrap_all footer #footer__wrapper .footer__top{margin-bottom:25px;padding-bottom:25px}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer #footer__wrapper .footer__top{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}html #root #wrap_all footer #footer__wrapper .footer__top .footer__logo__container{margin-right:20px}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer #footer__wrapper .footer__top .footer__logo__container{margin-right:0;margin-bottom:20px}}html #root #wrap_all footer #footer__wrapper .footer__top .footer__logo{width:auto;height:auto;max-width:200px;display:block}html #root #wrap_all footer #footer__wrapper .footer__top .footer__form{margin-left:auto;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}@media only screen and (max-width: 63.9375rem){html #root #wrap_all footer #footer__wrapper .footer__top .footer__form{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer #footer__wrapper .footer__top .footer__form{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-left:0}}html #root #wrap_all footer #footer__wrapper .footer__top .footer__form__heading{margin-right:30px;padding-left:26px;max-width:390px;min-width:380px}@media only screen and (max-width: 63.9375rem){html #root #wrap_all footer #footer__wrapper .footer__top .footer__form__heading{margin-right:0;padding-left:0;max-width:none;min-width:auto;margin-bottom:20px}}html #root #wrap_all footer #footer__wrapper .footer__top .footer__form__heading .label__container{position:relative;margin-top:-5px}html #root #wrap_all footer #footer__wrapper .footer__top .footer__form__heading .label__icon{position:relative;top:-5px;margin-left:-26px;width:26px;height:21px;background-size:26px 21px;background-position:top left;background-repeat:no-repeat}html #root #wrap_all footer #footer__wrapper .footer__top .footer__form__heading .label__icon.custom-arrow{background-image:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='57px' height='94px' viewBox='0 0 57 94' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3Epngwing.com%3C/title%3E%3Cg id='Page-1' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='pngwing.com' fill='%23ffffff60'%3E%3Cpath d='M20.7935118,0.191136996 C20.5483704,0.46198167 20.6362925,1.02540932 21.067579,1.94881908 L21.3896133,2.63810005 L22.3022343,2.86172373 C24.5397219,3.41017379 26.6830444,4.72258473 28.9674584,6.94321983 L30.4677529,8.40145421 L30.1135673,8.69216499 C29.5145524,9.18382504 24.4580428,12.5953862 21.3633927,14.59583 C20.9914146,14.8363035 20.5517,15.1226458 20.3863648,15.2322734 C20.2209256,15.341797 20.0106408,15.4782594 19.9189729,15.5354655 C18.5754815,16.3743143 14.0362036,20.9988519 12.3110574,23.2863661 C12.1107614,23.5520102 11.8659322,23.8496897 11.7669808,23.9479801 C11.6681335,24.0463745 11.0368631,24.8850153 10.3643891,25.8117534 C9.69181096,26.7384915 9.0834316,27.5572662 9.01246961,27.631218 C8.6188491,28.0412294 4.7601611,33.9745376 4.09434623,35.1935466 C3.93816743,35.4795769 3.61665345,36.0502853 3.37994009,36.4618569 C3.14322672,36.8734285 2.88424669,37.388283 2.80433642,37.605978 C2.7245302,37.8236731 2.46992026,38.4347378 2.23861749,38.9639458 C2.00721066,39.4930498 1.83844184,39.9260477 1.86341379,39.9260477 C1.88838575,39.9260477 1.83365554,40.1016183 1.74167549,40.316089 C1.58934654,40.6713906 1.12778149,42.1101749 1.02414785,42.5529498 C1.00052854,42.6534244 0.905322947,43.0278641 0.812406447,43.3850379 C-0.0190557554,46.5814003 -0.224033923,50.4487377 0.251785956,53.96535 C0.310053861,54.3956435 0.399640766,54.9114341 0.450937333,55.1116553 C0.50233795,55.3118765 0.571843237,55.6395112 0.605451333,55.8397324 C0.639059428,56.0399536 0.716264403,56.3907828 0.777029505,56.619399 C0.837690557,56.8480152 0.901577153,57.1054424 0.918953475,57.1914595 C0.956099265,57.3748309 1.57717271,59.3558247 1.66915276,59.5841288 C1.7036973,59.6699379 1.74001069,59.7635478 1.74968733,59.7921509 C1.75946801,59.8207539 1.82522751,59.9845712 1.89587734,60.1561894 C1.96652718,60.3278076 2.15683432,60.7958571 2.31883991,61.1962995 C3.73859986,64.7075032 6.50278768,68.9349268 9.69597295,72.47879 C11.4135235,74.3849998 13.7000186,76.5601821 15.3808395,77.8869465 C15.7816395,78.203348 16.2415397,78.5791398 16.402817,78.7221549 C16.5641983,78.8651701 17.4067938,79.487676 18.2754018,80.1056054 C19.1440098,80.7234308 19.9403032,81.2994438 20.0448732,81.3856689 C20.1494433,81.47179 20.3484906,81.594003 20.487085,81.6570337 C20.6256794,81.7201683 20.7390937,81.811178 20.7390937,81.8592311 C20.7390937,81.9071801 20.7911186,81.9464963 20.8546931,81.9464963 C20.9181635,81.9464963 21.2716207,82.1571186 21.6400612,82.4145459 C22.0083976,82.6719731 22.3543633,82.8825954 22.4088854,82.8825954 C22.4634075,82.8825954 22.5079408,82.9294004 22.5079408,82.9866064 C22.5079408,83.0438125 22.5526823,83.0906174 22.6073084,83.0906174 C22.6619346,83.0906174 23.2588685,83.4244928 23.9339438,83.832528 C26.9800026,85.6738349 31.7607802,88.1173656 34.5256964,89.2463011 C34.8118334,89.3631055 35.3034689,89.5677992 35.6182196,89.7012453 C36.8770145,90.2348218 39.8429549,91.2790923 41.0808358,91.6246169 C42.2249677,91.9440347 43.7609513,92.3612229 43.9422061,92.4017872 C46.1039454,92.8859584 47.8327334,93.2266985 48.7284984,93.3451671 C48.9287943,93.3715859 49.1629064,93.4132943 49.2487475,93.4378409 C49.3345886,93.4623875 49.7325792,93.5125208 50.1331711,93.5493407 C50.5337629,93.5861606 50.8849311,93.6304693 50.9135448,93.6479431 C50.9421585,93.665313 51.3167379,93.7113898 51.7459435,93.7502899 C52.175149,93.7892941 52.6609577,93.8379712 52.8254605,93.8585654 C52.9899633,93.8790556 53.891451,93.9272127 54.8287319,93.9655927 C56.3348532,94.0271673 56.5643871,94.0145819 56.8038058,93.8578373 C56.9536375,93.759755 57.0349005,93.6408704 56.9855808,93.5919852 C56.9365734,93.543308 56.4921765,93.4718525 55.9981479,93.4331604 C55.292586,93.3779305 54.9875119,93.4001889 54.5757867,93.5369634 C54.0669831,93.7058772 54.0157905,93.703173 52.8207782,93.4459537 C49.8940646,92.815855 48.439656,92.4608654 46.153265,91.8184934 C45.4374022,91.6174401 45.1051711,91.5184217 44.0982809,91.2063886 C43.5260068,91.0290499 42.9849477,90.8666887 42.8959851,90.8455744 C42.8070225,90.8244602 42.5612568,90.7349067 42.3497234,90.6466014 C42.1382942,90.558296 41.9652593,90.5044183 41.9652593,90.5268847 C41.9652593,90.5494551 41.5790263,90.4272421 41.1068482,90.2553119 C40.6346701,90.0833817 39.8738577,89.8086887 39.4160385,89.6447673 C38.9582192,89.480846 38.3261165,89.2460931 38.0113657,89.1231521 C37.696615,89.0002111 37.3220356,88.8620844 37.1789671,88.8161116 C37.0358986,88.7702427 36.4740295,88.5355939 35.9303691,88.2947044 C35.3867087,88.0538149 34.7311948,87.7734012 34.4736715,87.6713664 C33.8767376,87.4351574 31.0218183,86.1074568 30.8839523,86.0020937 C30.8267249,85.958409 30.3819118,85.7227201 29.8954789,85.4783982 C28.7663301,84.9113302 26.6777378,83.7418304 25.473361,83.0022081 C24.3752191,82.3279047 21.5250861,80.4276235 21.3371721,80.2444601 C21.2656899,80.1749808 20.7404464,79.7729782 20.1698371,79.3512135 C15.5006009,75.9003362 10.2572177,70.4944679 7.46254332,66.2501946 C7.29647979,65.9979679 7.07995209,65.6703332 6.9814169,65.5221175 C6.88288171,65.3740058 6.70610105,65.0889116 6.58862879,64.8886904 C6.47105248,64.6884692 6.2760631,64.3608345 6.15536529,64.1606133 C5.71024011,63.4222392 4.82623274,61.6908719 4.45591939,60.832261 C4.24625898,60.3460095 3.98707085,59.7547069 3.87989953,59.5181859 C3.64901295,59.0083239 2.67999687,55.7345773 2.58791277,55.1529477 C2.55263988,54.9300521 2.49770157,54.6072019 2.46586232,54.4355838 C2.23591219,53.1967086 2.14164304,51.9198694 2.16245301,50.3271488 C2.18700877,48.4547426 2.34474831,47.3990308 2.94750899,45.0745927 C3.0661258,44.6169443 3.18245351,44.1585678 3.20586472,44.0560129 C3.25986658,43.8195959 3.45287902,43.2192443 3.64734815,42.6823395 C3.73027587,42.4535152 3.78895997,42.252566 3.77772259,42.2358202 C3.76658926,42.2190744 3.81247524,42.0552571 3.87979548,41.8717817 C3.94701167,41.6883062 4.09590698,41.2807911 4.21046584,40.9661578 C4.8244639,39.2808674 6.26669861,36.1857077 7.09420692,34.7775026 C7.46400002,34.148236 7.88529779,33.4227592 8.0304473,33.1653319 C8.49013946,32.3501976 11.2138519,28.4590417 11.6071603,28.055583 C11.6837409,27.9770546 12.0228393,27.5617387 12.3607932,27.1326933 C12.698643,26.7036478 13.0715576,26.2548403 13.189342,26.1354357 C13.3072305,26.016031 13.7915824,25.4777741 14.2659456,24.939309 C16.5456774,22.351099 20.8570862,18.3377301 22.6640156,17.1216334 C24.264198,16.0447034 24.5653182,15.8433381 24.7247225,15.7434875 C24.8160783,15.6862814 25.1755704,15.4406074 25.5235131,15.1974297 C25.8715597,14.9542519 26.174865,14.7553829 26.1976519,14.7553829 C26.2204388,14.7553829 26.5349815,14.5567219 26.8966587,14.3140642 C27.2584399,14.0713025 27.6340598,13.8255244 27.7315545,13.7680064 C27.8289452,13.7103843 28.250347,13.452645 28.668003,13.1952177 C29.085555,12.9377905 29.4974883,12.6914924 29.5833294,12.6479118 C29.6691705,12.6043312 29.8798714,12.4781658 30.0515536,12.3674981 C30.7800065,11.8978884 32.6915059,11.0109865 32.9752498,11.0109865 C33.1815807,11.0109865 33.4023744,11.1244625 33.6442903,11.3548469 C34.1309313,11.8183199 35.186725,12.7782376 36.1830021,13.6632673 C36.633746,14.0637097 37.1008257,14.4849543 37.2207951,14.5993664 C37.3407646,14.7137785 37.7199221,15.039541 38.0632866,15.323283 C38.4067551,15.6070251 38.7345121,15.8909751 38.7917395,15.9543178 C38.8489669,16.0176605 39.1511276,16.27696 39.4632771,16.5305388 C39.7753225,16.7841177 40.1378321,17.0902221 40.2687268,17.2107708 C40.7237367,17.6296232 42.3114331,18.7123778 42.5632337,18.7755125 C42.7421994,18.8204453 42.8811059,18.7746804 43.0363483,18.619496 C43.2164585,18.4394529 43.2605757,18.2542093 43.2815937,17.5917632 C43.332162,15.9962343 43.4580623,15.2603563 43.8916379,14.0273058 C44.1644566,13.2515917 44.879591,11.8573241 45.2787262,11.3230195 C46.1934283,10.0983939 47.7975645,8.5468616 48.5570242,8.15213981 C49.2816273,7.77551594 49.3764167,7.67337713 50.1031007,6.48505132 C51.1766868,4.72955347 51.8499933,3.01493195 51.8499933,2.03681239 C51.8499933,1.34368301 51.6111989,1.00471113 50.8322819,0.591683402 L50.1305698,0.219532003 L49.6477786,0.452516668 C47.3489016,1.56158608 44.4523624,2.0075853 40.7686863,1.81984543 C38.4731389,1.70283304 37.6704985,1.69669639 36.9708674,1.79061833 C33.4844697,2.2588759 32.6326137,2.32648306 30.2596533,2.32377878 C28.3691719,2.32149053 28.2531563,2.30942526 27.6063826,2.0481496 C25.3206159,1.12473984 22.6811838,0.243350524 21.7477528,0.0919104914 C20.9324183,-0.0402875041 21.0104557,-0.048400363 20.7935118,0.191136996 M48.8539825,2.89854363 C48.7226716,3.00650705 48.617165,3.1325684 48.6193501,3.17854127 C48.6388074,3.57908767 48.3103221,4.00948524 47.3948917,4.78353519 C46.8407223,5.25189677 46.3436762,5.67386944 46.2902987,5.72109044 C46.1128937,5.87793905 46.3166233,5.93670527 46.6665429,5.82957393 C46.8563297,5.77143177 47.1794045,5.69591978 47.3844867,5.66170016 C47.7023589,5.60865454 47.8296119,5.49372237 48.2476841,4.88213762 C48.5172772,4.48762386 48.930251,3.94645457 49.1651955,3.67956231 L49.5924241,3.19445495 L49.3426005,2.9483649 C49.0958983,2.70549919 49.0895513,2.70487512 48.8539825,2.89854363 M30.4875224,4.85249449 C30.3095972,5.0490753 30.3187536,5.0736219 30.7614856,5.59211679 C31.22586,6.13588636 32.2300449,6.97213489 32.7048243,7.21042412 C33.3331813,7.52568149 33.6006934,7.49468621 34.6599207,6.9835761 C35.2155468,6.71553972 35.6936557,6.49170803 35.7222694,6.48629945 C35.7508831,6.48089088 36.0433672,6.35077311 36.3722687,6.19704483 C36.7011702,6.04331656 37.333273,5.74990149 37.7769415,5.5449998 C38.2206099,5.34009811 38.6899787,5.12032284 38.8198329,5.0566681 C39.4012634,4.77178194 38.8167114,4.71821627 34.752525,4.68378863 C30.8122619,4.6505051 30.6651355,4.65632972 30.4875224,4.85249449 M37.7512411,8.55934292 C37.5795589,8.6384953 37.1581571,8.82717128 36.8147927,8.97861131 C35.8291286,9.41337734 35.4818103,9.59997309 35.4433118,9.7152173 C35.3933679,9.86509716 36.6617354,11.3393492 36.8007459,11.2930643 C36.8631758,11.2722621 36.9708674,11.0597676 37.0400606,10.8208543 C37.2338013,10.1521676 37.5766455,9.61443062 38.074628,9.19828257 C38.4767806,8.86222299 38.5139264,8.79565594 38.4010323,8.6148848 C38.2507844,8.37441135 38.1677526,8.3673386 37.7512411,8.55934292 M40.1137966,11.4425282 C39.4311257,11.5179361 39.3030403,11.5700457 38.8391862,11.9610231 C38.5555463,12.2000404 38.3235152,12.4249122 38.3235152,12.460692 C38.3235152,12.5878974 39.3246827,13.5642488 39.7601312,13.8616163 L40.2028633,14.1640803 L40.5117872,13.868169 C40.6817006,13.7054957 40.8207112,13.4949775 40.8207112,13.4004314 C40.8207112,13.3057814 40.9682538,12.933214 41.1486762,12.5723998 C41.4932893,11.8830148 41.4825722,11.7234619 41.075113,11.4797641 C40.9340214,11.3953072 40.64289,11.384074 40.1137966,11.4425282' id='Shape'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}html #root #wrap_all footer #footer__wrapper .footer__top .footer__form__heading .label__title{font-family:'Caveat Brush', cursive;font-size:15px;color:#ffffff60;margin-bottom:0}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer #footer__wrapper .footer__top .footer__form__heading .label__title{font-size:13px}}html #root #wrap_all footer #footer__wrapper .footer__top .footer__form__title{color:#ffffff;font-size:16px;margin-bottom:0}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer #footer__wrapper .footer__top .footer__form__title{font-size:14px}}html #root #wrap_all footer #footer__wrapper .footer__top .footer__form__container{max-width:443px;min-width:443px;width:100%}@media only screen and (max-width: 96rem){html #root #wrap_all footer #footer__wrapper .footer__top .footer__form__container{max-width:350px;min-width:340px}}@media only screen and (max-width: 63.9375rem){html #root #wrap_all footer #footer__wrapper .footer__top .footer__form__container{max-width:none;min-width:auto}}html #root #wrap_all footer #footer__wrapper .footer__top .footer__form__container form{position:relative}html #root #wrap_all footer #footer__wrapper .footer__top .footer__form__container form .gform_body .gfield{position:relative}html #root #wrap_all footer #footer__wrapper .footer__top .footer__form__container form .gform_body .gfield .gfield_label{line-height:1;margin:0;color:#ffffff}html #root #wrap_all footer #footer__wrapper .footer__top .footer__form__container form .gform_body .gfield .gfield_label.active{background-color:#B5C6E3;border-radius:3px;color:#0D2E5C;padding:4.5px 8px}html #root #wrap_all footer #footer__wrapper .footer__top .footer__form__container form .gform_body .gfield .ginput_container input.large{padding:10px 50px 10px 20px;font-family:'NeoSans', sans-serif;border-color:rgba(255, 255, 255, 0.37);background-color:transparent;color:#ffffff;height:56px}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer #footer__wrapper .footer__top .footer__form__container form .gform_body .gfield .ginput_container input.large{height:48px}}html #root #wrap_all footer #footer__wrapper .footer__top .footer__form__container form .gform_footer{padding:0;margin:0;position:absolute;right:6px;top:6px;z-index:1}html #root #wrap_all footer #footer__wrapper .footer__top .footer__form__container form .gform_footer .gform_button{background-color:#DBE6FF;font-size:0;width:44px;height:44px;border-radius:5px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%230D2E5C' d='M501.6 4.186c-7.594-5.156-17.41-5.594-25.44-1.063L12.12 267.1C4.184 271.7-.5037 280.3 .0431 289.4c.5469 9.125 6.234 17.16 14.66 20.69l153.3 64.38v113.5c0 8.781 4.797 16.84 12.5 21.06C184.1 511 188 512 191.1 512c4.516 0 9.038-1.281 12.99-3.812l111.2-71.46l98.56 41.4c2.984 1.25 6.141 1.875 9.297 1.875c4.078 0 8.141-1.031 11.78-3.094c6.453-3.625 10.88-10.06 11.95-17.38l64-432C513.1 18.44 509.1 9.373 501.6 4.186zM369.3 119.2l-187.1 208.9L78.23 284.7L369.3 119.2zM215.1 444v-49.36l46.45 19.51L215.1 444zM404.8 421.9l-176.6-74.19l224.6-249.5L404.8 421.9z'/%3E%3C/svg%3E");background-size:14px 14px;background-position:center;background-repeat:no-repeat;border:0 none;margin:0}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer #footer__wrapper .footer__top .footer__form__container form .gform_footer .gform_button{width:36px;height:36px}}html #root #wrap_all footer #footer__wrapper .footer__top .footer__form__container .gform_wrapper .gform_validation_errors{background:none;border:0 none;border-radius:0;-webkit-box-shadow:none;box-shadow:none;margin-bottom:10px;margin-top:0;padding:0 0 0 48px;position:relative;width:100%}html #root #wrap_all footer #footer__wrapper .footer__top .footer__form__container .gform_wrapper .gform_validation_errors h2{font-size:14px;margin-bottom:0;color:#f92d00}html #root #wrap_all footer #footer__wrapper .footer__top .footer__form__container .gform_wrapper .gfield_validation_message,html #root #wrap_all footer #footer__wrapper .footer__top .footer__form__container .gform_wrapper .validation_message{background:none;border:0 none;font-size:13px;margin-top:8px;padding:0;color:#f92d00}@media only screen and (max-width: 63.9375rem){html #root #wrap_all footer #footer__wrapper .footer__contact{margin-bottom:25px}}html #root #wrap_all footer #footer__wrapper .footer__contact__list{margin:0;padding-left:0;list-style:none}html #root #wrap_all footer #footer__wrapper .footer__contact__item{font-size:14px;color:#ffffff;line-height:1.2;margin-bottom:8px}html #root #wrap_all footer #footer__wrapper .footer__contact__item a{color:white;text-decoration:none}html #root #wrap_all footer #footer__wrapper .footer__contact__item a .item-title{color:white;text-decoration:underline}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer #footer__wrapper .footer__contact__item{font-size:12px}}html #root #wrap_all footer #footer__wrapper .footer__contact__item .item-title{margin-left:34px}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer #footer__wrapper .footer__contact__item .item-title{margin-left:26px}}html #root #wrap_all footer #footer__wrapper .footer__contact__icon{width:15px;min-width:15px;height:18px;margin-right:15px;background-size:contain;background-position:center left;background-repeat:no-repeat}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer #footer__wrapper .footer__contact__icon{width:12px;min-width:12px;height:14px;margin-right:12px}}html #root #wrap_all footer #footer__wrapper .footer__contact__icon.building{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23ffffff50' d='M88 104C88 95.16 95.16 88 104 88H152C160.8 88 168 95.16 168 104V152C168 160.8 160.8 168 152 168H104C95.16 168 88 160.8 88 152V104zM280 88C288.8 88 296 95.16 296 104V152C296 160.8 288.8 168 280 168H232C223.2 168 216 160.8 216 152V104C216 95.16 223.2 88 232 88H280zM88 232C88 223.2 95.16 216 104 216H152C160.8 216 168 223.2 168 232V280C168 288.8 160.8 296 152 296H104C95.16 296 88 288.8 88 280V232zM280 216C288.8 216 296 223.2 296 232V280C296 288.8 288.8 296 280 296H232C223.2 296 216 288.8 216 280V232C216 223.2 223.2 216 232 216H280zM0 64C0 28.65 28.65 0 64 0H320C355.3 0 384 28.65 384 64V448C384 483.3 355.3 512 320 512H64C28.65 512 0 483.3 0 448V64zM48 64V448C48 456.8 55.16 464 64 464H144V400C144 373.5 165.5 352 192 352C218.5 352 240 373.5 240 400V464H320C328.8 464 336 456.8 336 448V64C336 55.16 328.8 48 320 48H64C55.16 48 48 55.16 48 64z'/%3E%3C/svg%3E")}html #root #wrap_all footer #footer__wrapper .footer__contact__icon.phone{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23ffffff50' d='M480.3 320.3L382.1 278.2c-21.41-9.281-46.64-3.109-61.2 14.95l-27.44 33.5c-44.78-25.75-82.29-63.25-108-107.1l33.55-27.48c17.91-14.62 24.09-39.7 15.02-61.05L191.7 31.53c-10.16-23.2-35.34-35.86-59.87-30.19l-91.25 21.06C16.7 27.86 0 48.83 0 73.39c0 241.9 196.7 438.6 438.6 438.6c24.56 0 45.53-16.69 50.1-40.53l21.06-91.34C516.4 355.5 503.6 330.3 480.3 320.3zM463.9 369.3l-21.09 91.41c-.4687 1.1-2.109 3.281-4.219 3.281c-215.4 0-390.6-175.2-390.6-390.6c0-2.094 1.297-3.734 3.344-4.203l91.34-21.08c.3125-.0781 .6406-.1094 .9531-.1094c1.734 0 3.359 1.047 4.047 2.609l42.14 98.33c.75 1.766 .25 3.828-1.25 5.062L139.8 193.1c-8.625 7.062-11.25 19.14-6.344 29.14c33.01 67.23 88.26 122.5 155.5 155.5c9.1 4.906 22.09 2.281 29.16-6.344l40.01-48.87c1.109-1.406 3.187-1.938 4.922-1.125l98.26 42.09C463.2 365.2 464.3 367.3 463.9 369.3z'/%3E%3C/svg%3E")}html #root #wrap_all footer #footer__wrapper .footer__contact__icon.email{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23ffffff50' d='M0 128C0 92.65 28.65 64 64 64H448C483.3 64 512 92.65 512 128V384C512 419.3 483.3 448 448 448H64C28.65 448 0 419.3 0 384V128zM48 128V150.1L220.5 291.7C241.1 308.7 270.9 308.7 291.5 291.7L464 150.1V127.1C464 119.2 456.8 111.1 448 111.1H64C55.16 111.1 48 119.2 48 127.1L48 128zM48 212.2V384C48 392.8 55.16 400 64 400H448C456.8 400 464 392.8 464 384V212.2L322 328.8C283.6 360.3 228.4 360.3 189.1 328.8L48 212.2z'/%3E%3C/svg%3E")}html #root #wrap_all footer #footer__wrapper .footer__contact__icon+.item-title{margin-left:0}@media only screen and (max-width: 63.9375rem){html #root #wrap_all footer #footer__wrapper .footer__socials{margin-bottom:25px}}html #root #wrap_all footer #footer__wrapper .footer__socials__list{margin:0;padding-left:0;list-style:none}html #root #wrap_all footer #footer__wrapper .footer__socials__item{position:relative;line-height:1.2;margin-bottom:8px}html #root #wrap_all footer #footer__wrapper .footer__socials__link{font-size:14px;color:#ffffff;display:inline-block}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer #footer__wrapper .footer__socials__link{font-size:12px}}html #root #wrap_all footer #footer__wrapper .footer__socials__link:hover,html #root #wrap_all footer #footer__wrapper .footer__socials__link:focus{color:#FBB901}html #root #wrap_all footer #footer__wrapper .footer__socials__link:hover .icon.linkedin,html #root #wrap_all footer #footer__wrapper .footer__socials__link:focus .icon.linkedin{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23FBB901' d='M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z'/%3E%3C/svg%3E")}html #root #wrap_all footer #footer__wrapper .footer__socials__link:hover .icon.facebook,html #root #wrap_all footer #footer__wrapper .footer__socials__link:focus .icon.facebook{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23FBB901' d='M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z'/%3E%3C/svg%3E")}html #root #wrap_all footer #footer__wrapper .footer__socials__link:hover .icon.instagram,html #root #wrap_all footer #footer__wrapper .footer__socials__link:focus .icon.instagram{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23FBB901' d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'/%3E%3C/svg%3E")}html #root #wrap_all footer #footer__wrapper .footer__socials__link:hover .icon.twitter,html #root #wrap_all footer #footer__wrapper .footer__socials__link:focus .icon.twitter{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23FBB901' d='M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z'/%3E%3C/svg%3E")}html #root #wrap_all footer #footer__wrapper .footer__socials__link:hover .icon.youtube,html #root #wrap_all footer #footer__wrapper .footer__socials__link:focus .icon.youtube{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23FBB901' d='M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z'/%3E%3C/svg%3E")}html #root #wrap_all footer #footer__wrapper .footer__socials__icon{width:17px;min-width:17px;height:18px;margin-right:15px;background-size:contain;background-position:center left;background-repeat:no-repeat}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer #footer__wrapper .footer__socials__icon{width:12px;min-width:12px;height:14px;margin-right:12px}}html #root #wrap_all footer #footer__wrapper .footer__socials__icon.linkedin{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23ffffff50' d='M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z'/%3E%3C/svg%3E")}html #root #wrap_all footer #footer__wrapper .footer__socials__icon.facebook{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23ffffff50' d='M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z'/%3E%3C/svg%3E")}html #root #wrap_all footer #footer__wrapper .footer__socials__icon.instagram{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23ffffff50' d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'/%3E%3C/svg%3E")}html #root #wrap_all footer #footer__wrapper .footer__socials__icon.twitter{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23ffffff50' d='M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z'/%3E%3C/svg%3E")}html #root #wrap_all footer #footer__wrapper .footer__socials__icon.youtube{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23ffffff50' d='M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z'/%3E%3C/svg%3E")}html #root #wrap_all footer #footer__wrapper .footer__links__list{margin:0;padding-left:0;list-style:none}html #root #wrap_all footer #footer__wrapper .footer__links__list .button{font-size:14px;color:#ffffff;display:inline-flex}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer #footer__wrapper .footer__links__list .button{font-size:12px}}html #root #wrap_all footer #footer__wrapper .footer__links__list .button__icon{width:14px;min-width:14px;height:16px;margin-right:15px;background-size:14px 16px;background-position:center left;background-repeat:no-repeat}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer #footer__wrapper .footer__links__list .button__icon{width:12px;min-width:12px;height:14px;margin-right:12px;background-size:12px 14px}}html #root #wrap_all footer #footer__wrapper .footer__links__list .button__icon.arrow-right{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23ffffff50' d='M264.6 70.63l176 168c4.75 4.531 7.438 10.81 7.438 17.38s-2.688 12.84-7.438 17.38l-176 168c-9.594 9.125-24.78 8.781-33.94-.8125c-9.156-9.5-8.812-24.75 .8125-33.94l132.7-126.6H24.01c-13.25 0-24.01-10.76-24.01-24.01s10.76-23.99 24.01-23.99h340.1l-132.7-126.6C221.8 96.23 221.5 80.98 230.6 71.45C239.8 61.85 254.1 61.51 264.6 70.63z'/%3E%3C/svg%3E")}html #root #wrap_all footer #footer__wrapper .footer__links__list .button:hover,html #root #wrap_all footer #footer__wrapper .footer__links__list .button:focus{color:#FBB901}html #root #wrap_all footer #footer__wrapper .footer__links__list .button:hover .button__icon.arrow-right,html #root #wrap_all footer #footer__wrapper .footer__links__list .button:focus .button__icon.arrow-right{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23FBB901' d='M264.6 70.63l176 168c4.75 4.531 7.438 10.81 7.438 17.38s-2.688 12.84-7.438 17.38l-176 168c-9.594 9.125-24.78 8.781-33.94-.8125c-9.156-9.5-8.812-24.75 .8125-33.94l132.7-126.6H24.01c-13.25 0-24.01-10.76-24.01-24.01s10.76-23.99 24.01-23.99h340.1l-132.7-126.6C221.8 96.23 221.5 80.98 230.6 71.45C239.8 61.85 254.1 61.51 264.6 70.63z'/%3E%3C/svg%3E")}html #root #wrap_all footer #footer__wrapper .footer__links__item{position:relative;line-height:1.2;margin-bottom:8px}html #root #wrap_all footer #socket{background-color:#021A39;color:#ffffff;padding:10px 0}html #root #wrap_all footer #socket .container{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}html #root #wrap_all footer #socket .container .menu{list-style:none;padding-left:0;margin:0;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}@media only screen and (max-width: 29.9375rem){html #root #wrap_all footer #socket .container .menu{-webkit-box-pack:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start}}html #root #wrap_all footer #socket .container .menu .menu-item{padding:0 10px;line-height:1.4}html #root #wrap_all footer #socket .container .menu .menu-item a{font-size:16px;line-height:2;margin:0 0 30px;color:white;text-decoration:none}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer #socket .container .menu .menu-item a{font-size:10px}}html #root #wrap_all footer #socket .container .menu .menu-item a:hover,html #root #wrap_all footer #socket .container .menu .menu-item a:focus{color:#ffffff}html #root #wrap_all footer #socket .container .button{color:#FFFFFF}html #root #wrap_all footer #socket .container .icon{width:17px;min-width:17px;height:18px;margin:6px;background-size:contain;background-position:center left;background-repeat:no-repeat}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer #socket .container .icon{width:12px;min-width:12px;height:14px;margin-right:12px}}html #root #wrap_all footer #socket .container .icon.linkedin{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23ffffff' d='M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z'/%3E%3C/svg%3E")}html #root #wrap_all footer #socket .container .icon.facebook{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23ffffff' d='M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z'/%3E%3C/svg%3E")}html #root #wrap_all footer #socket .container .icon.instagram{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23ffffff' d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'/%3E%3C/svg%3E")}html #root #wrap_all footer #socket .container .icon.twitter{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23ffffff' d='M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z'/%3E%3C/svg%3E")}html #root #wrap_all footer #socket .container .icon.youtube{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23ffffff' d='M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z'/%3E%3C/svg%3E")}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Bold.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Bold.woff") format("woff");font-weight:700;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Light.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Light.woff") format("woff");font-weight:300;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Regular.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Regular.woff") format("woff");font-weight:400;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Medium.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Medium.woff") format("woff");font-weight:500;font-style:normal;unicode-range:U+000-5FF}html #root .dialog__backdrop{z-index:11111}html #root .dialog__wrapper{width:100%;height:100%;max-width:100%;max-height:100%;overflow:hidden;border:0;background:transparent}html #root .dialog__wrapper.menu__dialog .dialog__outer-container{max-width:1350px}@media only screen and (max-width: 96rem){html #root .dialog__wrapper.menu__dialog .dialog__outer-container{max-width:1200px}}@media only screen and (max-width: 79.3125rem){html #root .dialog__wrapper.menu__dialog .dialog__outer-container{max-width:95%}}html #root .dialog__wrapper.menu__dialog .dialog__outer-container .dialog__container{padding:110px 95px}@media only screen and (max-width: 96rem){html #root .dialog__wrapper.menu__dialog .dialog__outer-container .dialog__container{padding:70px}}@media only screen and (max-width: 85.3125rem){html #root .dialog__wrapper.menu__dialog .dialog__outer-container .dialog__container{padding:70px 50px}}@media only screen and (max-width: 47.9375rem){html #root .dialog__wrapper.menu__dialog .dialog__outer-container .dialog__container{padding:60px 30px 50px}}html #root .dialog__outer-container{z-index:111111;border-radius:10px;background-color:#FFFFFF;box-shadow:0 10px 40px 0 rgba(0, 0, 0, 0.05);max-width:1075px;width:100%}@media only screen and (max-width: 71.1875rem){html #root .dialog__outer-container{max-width:95%}}html #root .dialog__actions{position:absolute;right:28px;top:28px;width:auto}@media only screen and (max-width: 47.9375rem){html #root .dialog__actions{right:20px;top:20px}}html #root .dialog__close{padding:0;border:0;background:#DBE6FF;width:44px;height:44px;border-radius:5px;cursor:pointer}html #root .dialog__close .button-title{display:none}html #root .dialog__close .close{width:13px;height:13px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%230D2E5C' d='M378.4 440.6c8.531 10.16 7.203 25.28-2.938 33.81C370.9 478.2 365.5 480 360 480c-6.844 0-13.64-2.906-18.39-8.562L192 293.3l-149.6 178.1C37.63 477.1 30.83 480 23.98 480c-5.453 0-10.92-1.844-15.42-5.625c-10.14-8.531-11.47-23.66-2.938-33.81L160.7 256L5.625 71.44C-2.906 61.28-1.578 46.16 8.563 37.63C18.69 29.08 33.84 30.39 42.38 40.56L192 218.7l149.6-178.1c8.547-10.17 23.67-11.47 33.81-2.938s11.47 23.66 2.938 33.81L223.3 256L378.4 440.6z'/%3E%3C/svg%3E");background-position:center center;background-repeat:no-repeat;background-size:contain}html #root .dialog__container{padding:80px 100px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:space-between;-ms-flex-pack:space-between;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}@media only screen and (max-width: 96rem){html #root .dialog__container{padding:70px}}@media only screen and (max-width: 85.3125rem){html #root .dialog__container{padding:70px 50px}}@media only screen and (max-width: 47.9375rem){html #root .dialog__container{padding:60px 30px 50px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}@media only screen and (max-width: 47.9375rem){html #root .dialog__content{width:100%}}html #root .dialog__content h2{font-size:30px;font-weight:500;line-height:1.4;margin-bottom:20px;color:#0D2E5C}@media only screen and (max-width: 47.9375rem){html #root .dialog__content h2{font-size:23px;margin-bottom:18px}}html #root .dialog__content img{width:480px;height:255px;border-radius:10px;object-fit:cover;box-shadow:0 0 25px 0 rgba(13, 46, 92, 0.2)}@media only screen and (max-width: 71.1875rem){html #root .dialog__content img{width:100%}}@media only screen and (max-width: 63.9375rem){html #root .dialog__content img{height:200px}}html #root .dialog__content .contact__info{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;margin-bottom:70px}@media only screen and (max-width: 63.9375rem){html #root .dialog__content .contact__info{margin-bottom:40px}}html #root .dialog__content .contact__info--item{width:140px}html #root .dialog__content .contact__info--item:first-child{margin-right:60px}html #root .dialog__content .contact__info--title{color:#0D2E5C;display:block;font-weight:bold;line-height:2}html #root .dialog__content .contact__info--content{color:#535353;line-height:2;display:block}html #root .dialog__content .employee__container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:center;width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 30px 30px;position:relative;width:300px}@media only screen and (max-width: 71.1875rem){html #root .dialog__content .employee__container{width:100%}}html #root .dialog__content .employee__container:after{content:"";position:absolute;bottom:0;left:0;right:0;border-radius:5px;background:linear-gradient(130deg, #0D2E5C 0%, #06485A 60%);width:100%;height:calc(100% - 110px);z-index:0}html #root .dialog__content .employee__container img{width:155px;height:155px;object-fit:cover;object-position:center center;border-radius:5px;z-index:1;position:relative}html #root .dialog__content .employee__container .employee__info{margin:20px 0 0;z-index:1;position:relative}html #root .dialog__content .employee__container .employee__info h3{font-family:'Caveat Brush', cursive;font-size:17px;line-height:1.47;color:#fff;margin:0 0 -2px;font-weight:500}html #root .dialog__content .employee__container .employee__info .employee__name{color:white;font-weight:500}html #root .dialog__content .employee__container .employee__info .employee__job-title{opacity:0.75;color:#FFFFFF;font-size:12px;font-weight:500;line-height:2.08}html #root .dialog__content .employee__container .employee__info .employee__phone{font-size:13px;font-weight:500;line-height:1.23;color:#fff;margin-top:10px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}html #root .dialog__content .employee__container .employee__info .employee__phone .phone{width:36px;height:36px;background-color:#fff;border-radius:50%;margin-right:10px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%230D2E5C' d='M480.3 320.3L382.1 278.2c-21.41-9.281-46.64-3.109-61.2 14.95l-27.44 33.5c-44.78-25.75-82.29-63.25-108-107.1l33.55-27.48c17.91-14.62 24.09-39.7 15.02-61.05L191.7 31.53c-10.16-23.2-35.34-35.86-59.87-30.19l-91.25 21.06C16.7 27.86 0 48.83 0 73.39c0 241.9 196.7 438.6 438.6 438.6c24.56 0 45.53-16.69 50.1-40.53l21.06-91.34C516.4 355.5 503.6 330.3 480.3 320.3zM463.9 369.3l-21.09 91.41c-.4687 1.1-2.109 3.281-4.219 3.281c-215.4 0-390.6-175.2-390.6-390.6c0-2.094 1.297-3.734 3.344-4.203l91.34-21.08c.3125-.0781 .6406-.1094 .9531-.1094c1.734 0 3.359 1.047 4.047 2.609l42.14 98.33c.75 1.766 .25 3.828-1.25 5.062L139.8 193.1c-8.625 7.062-11.25 19.14-6.344 29.14c33.01 67.23 88.26 122.5 155.5 155.5c9.1 4.906 22.09 2.281 29.16-6.344l40.01-48.87c1.109-1.406 3.187-1.938 4.922-1.125l98.26 42.09C463.2 365.2 464.3 367.3 463.9 369.3z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center center;background-size:13px 15px}html #root .dialog__content .employee__container .employee__buttons .dialog__trigger{margin:0 3px;border:0;padding:0}html #root .dialog__content .employee__container .employee__buttons .dialog__trigger .icon{width:13px;height:13px;background-position:center center;background-repeat:no-repeat;background-size:contain;-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out}html #root .dialog__content .employee__container .employee__buttons .dialog__trigger .icon.phone{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%230D2E5C' d='M480.3 320.3L382.1 278.2c-21.41-9.281-46.64-3.109-61.2 14.95l-27.44 33.5c-44.78-25.75-82.29-63.25-108-107.1l33.55-27.48c17.91-14.62 24.09-39.7 15.02-61.05L191.7 31.53c-10.16-23.2-35.34-35.86-59.87-30.19l-91.25 21.06C16.7 27.86 0 48.83 0 73.39c0 241.9 196.7 438.6 438.6 438.6c24.56 0 45.53-16.69 50.1-40.53l21.06-91.34C516.4 355.5 503.6 330.3 480.3 320.3zM463.9 369.3l-21.09 91.41c-.4687 1.1-2.109 3.281-4.219 3.281c-215.4 0-390.6-175.2-390.6-390.6c0-2.094 1.297-3.734 3.344-4.203l91.34-21.08c.3125-.0781 .6406-.1094 .9531-.1094c1.734 0 3.359 1.047 4.047 2.609l42.14 98.33c.75 1.766 .25 3.828-1.25 5.062L139.8 193.1c-8.625 7.062-11.25 19.14-6.344 29.14c33.01 67.23 88.26 122.5 155.5 155.5c9.1 4.906 22.09 2.281 29.16-6.344l40.01-48.87c1.109-1.406 3.187-1.938 4.922-1.125l98.26 42.09C463.2 365.2 464.3 367.3 463.9 369.3z'/%3E%3C/svg%3E")}html #root .dialog__content .employee__container .employee__buttons .dialog__trigger .icon.email{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%230D2E5C' d='M0 128C0 92.65 28.65 64 64 64H448C483.3 64 512 92.65 512 128V384C512 419.3 483.3 448 448 448H64C28.65 448 0 419.3 0 384V128zM48 128V150.1L220.5 291.7C241.1 308.7 270.9 308.7 291.5 291.7L464 150.1V127.1C464 119.2 456.8 111.1 448 111.1H64C55.16 111.1 48 119.2 48 127.1L48 128zM48 212.2V384C48 392.8 55.16 400 64 400H448C456.8 400 464 392.8 464 384V212.2L322 328.8C283.6 360.3 228.4 360.3 189.1 328.8L48 212.2z'/%3E%3C/svg%3E")}html #root .dialog__content .employee__container .employee__buttons .dialog__trigger:hover .icon.phone{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23fff' d='M480.3 320.3L382.1 278.2c-21.41-9.281-46.64-3.109-61.2 14.95l-27.44 33.5c-44.78-25.75-82.29-63.25-108-107.1l33.55-27.48c17.91-14.62 24.09-39.7 15.02-61.05L191.7 31.53c-10.16-23.2-35.34-35.86-59.87-30.19l-91.25 21.06C16.7 27.86 0 48.83 0 73.39c0 241.9 196.7 438.6 438.6 438.6c24.56 0 45.53-16.69 50.1-40.53l21.06-91.34C516.4 355.5 503.6 330.3 480.3 320.3zM463.9 369.3l-21.09 91.41c-.4687 1.1-2.109 3.281-4.219 3.281c-215.4 0-390.6-175.2-390.6-390.6c0-2.094 1.297-3.734 3.344-4.203l91.34-21.08c.3125-.0781 .6406-.1094 .9531-.1094c1.734 0 3.359 1.047 4.047 2.609l42.14 98.33c.75 1.766 .25 3.828-1.25 5.062L139.8 193.1c-8.625 7.062-11.25 19.14-6.344 29.14c33.01 67.23 88.26 122.5 155.5 155.5c9.1 4.906 22.09 2.281 29.16-6.344l40.01-48.87c1.109-1.406 3.187-1.938 4.922-1.125l98.26 42.09C463.2 365.2 464.3 367.3 463.9 369.3z'/%3E%3C/svg%3E")}html #root .dialog__content .employee__container .employee__buttons .dialog__trigger:hover .icon.email{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23fff' d='M0 128C0 92.65 28.65 64 64 64H448C483.3 64 512 92.65 512 128V384C512 419.3 483.3 448 448 448H64C28.65 448 0 419.3 0 384V128zM48 128V150.1L220.5 291.7C241.1 308.7 270.9 308.7 291.5 291.7L464 150.1V127.1C464 119.2 456.8 111.1 448 111.1H64C55.16 111.1 48 119.2 48 127.1L48 128zM48 212.2V384C48 392.8 55.16 400 64 400H448C456.8 400 464 392.8 464 384V212.2L322 328.8C283.6 360.3 228.4 360.3 189.1 328.8L48 212.2z'/%3E%3C/svg%3E")}html #root .dialog__content .employee__container .employee__buttons .dialog__trigger:first-child{background:#fff;color:#0D2E5C}html #root .dialog__content .employee__container .employee__buttons .dialog__trigger:first-child:hover{background:#0D2E5C}html #root .dialog__form{max-width:450px}@media only screen and (max-width: 71.1875rem){html #root .dialog__form{max-width:50%;padding-left:30px}}@media only screen and (max-width: 47.9375rem){html #root .dialog__form{width:100%;max-width:100%;padding:0;margin-top:30px}}html #root .dialog__form h2{font-size:39px;font-weight:500;line-height:1.25;color:#0D2E5C;margin-bottom:40px}@media only screen and (max-width: 63.9375rem){html #root .dialog__form h2{font-size:30px;margin-bottom:20px}}@media only screen and (max-width: 47.9375rem){html #root .dialog__form h2{font-size:23px;margin-bottom:18px}}html #root .lightbox-container .close-dialog{position:absolute;right:-50px;width:30px;height:30px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}html #root .lightbox-container .close-dialog .icon.icon-close{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3C!--! Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23fff' d='M294.6 166.6L317.3 144 272 98.7l-22.6 22.6L160 210.7 70.6 121.4 48 98.7 2.7 144l22.6 22.6L114.7 256 25.4 345.4 2.7 368 48 413.3l22.6-22.6L160 301.3l89.4 89.4L272 413.3 317.3 368l-22.6-22.6L205.3 256l89.4-89.4z'/%3E%3C/svg%3E");width:30px;height:30px;background-position:center}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Bold.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Bold.woff") format("woff");font-weight:700;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Light.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Light.woff") format("woff");font-weight:300;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Regular.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Regular.woff") format("woff");font-weight:400;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Medium.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Medium.woff") format("woff");font-weight:500;font-style:normal;unicode-range:U+000-5FF}html #root form .gform_body .gform_fields{grid-row-gap:12px}html #root form .gform_body .gfield{position:relative}html #root form .gform_body .gfield.gfield_visibility_hidden{display:none}html #root form .gform_body .gfield.gfield--type-fileupload .gfield_label{width:90%;text-align:center}html #root form .gform_body .gfield .gfield_label{margin:0;position:absolute;left:22px;top:20px;font-size:16px;line-height:1.06;font-weight:400;color:#0D2E5C;opacity:0.4;-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out}@media only screen and (max-width: 63.9375rem){html #root form .gform_body .gfield .gfield_label{left:17px}}@media only screen and (max-width: 47.9375rem){html #root form .gform_body .gfield .gfield_label{top:17px;font-size:14px}}html #root form .gform_body .gfield .gfield_label .file-name{display:block;font-style:oblique;margin-block-start:10px;opacity:0.7;font-size:0.8em}html #root form .gform_body .gfield .gfield_label.active{font-size:9.6px;line-height:14px;opacity:1;background:#B5C6E3;border-radius:3px;padding:2px 7px 1px;top:-9px;font-weight:600;-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out}html #root form .gform_body .gfield .gfield_label:has(+ .gfield_description){top:calc(1rlh + 1rem + 35px)}html #root form .gform_body .gfield .gfield_label:has(+ .gfield_description).active{top:calc(1rlh + 1rem + 11px)}@media only screen and (max-width: 47.9375rem){html #root form .gform_body .gfield .gfield_label:has(+ .gfield_description){top:calc(1rlh + 1rem + 32px)}html #root form .gform_body .gfield .gfield_label:has(+ .gfield_description).active{top:calc(1rlh + 0rem + 21px)}}html #root form .gform_body .gfield input,html #root form .gform_body .gfield textarea{background:#F7FAFF;border:1px solid #B5C6E3;border-radius:5px;color:#0D2E5C;font-size:16px;line-height:1.06;padding:17px 20px;min-height:auto;font-family:'NeoSans', sans-serif}@media only screen and (max-width: 63.9375rem){html #root form .gform_body .gfield input,html #root form .gform_body .gfield textarea{padding:17px}}@media only screen and (max-width: 47.9375rem){html #root form .gform_body .gfield input,html #root form .gform_body .gfield textarea{font-size:14px;line-height:1.06;padding:15px 17px}}html #root form .gform_body .gfield .ginput_container_textarea{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex}html #root form .gform_body .gfield textarea{height:120px;resize:none}html #root form .gform_body .gfield input[type="file"]{height:100px;border:1px dashed #B5C6E3;padding:0}html #root form .gform_body .gfield input[type="file"]::file-selector-button{width:100%;height:100%;background:transparent;font-size:0;border:0}html #root form .gform_body .gfield .gform_fileupload_rules{margin:0;font-size:14px}html #root form .gform_body .gfield legend{position:unset !important}html #root form .gform_footer{margin:25px 0 0;padding:0}@media only screen and (max-width: 47.9375rem){html #root form .gform_footer{margin:12px 0 0}}html #root form .gform_footer .gform_button{font-family:'NeoSans', sans-serif;background:#0D2E5C;color:#fff;border-color:#0D2E5C;border-radius:5px;padding:12px 18px;font-size:14px;line-height:1.5;font-weight:600;-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out;border:none;margin:0}@media only screen and (max-width: 47.9375rem){html #root form .gform_footer .gform_button{padding:10px 14px;font-size:12px}}html #root form .gform_footer .gform_button:hover{background:#FBB901;-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out}html #root form .validation_message{font-size:13px;text-transform:lowercase;font-weight:400;color:#c02b0a;background-color:#ffecec;border-radius:0;border:2px solid #ffcfcf;padding:3px 9px;margin-top:5px}html #root .gform_validation_errors{background-color:#ffecec;border-radius:0;border:2px solid #ffcfcf;padding:6px 12px 6px 40px;box-shadow:none;margin:0 0 20px;width:100%}html #root .gform_validation_errors .gform_submission_error{font-size:13px !important;text-transform:lowercase;font-weight:400 !important;color:#c02b0a !important;margin:0 !important}html #root .gform_validation_errors .gform_submission_error .gform-icon{left:5px}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Bold.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Bold.woff") format("woff");font-weight:700;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Light.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Light.woff") format("woff");font-weight:300;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Regular.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Regular.woff") format("woff");font-weight:400;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Medium.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Medium.woff") format("woff");font-weight:500;font-style:normal;unicode-range:U+000-5FF}html #root #wrap_all #main .contact__wrapper{background:radial-gradient(circle, #D6E0EF 0%, rgba(247, 250, 255, 0) 100%), radial-gradient(circle, #D6EFEB 0%, #F7FAFF 100%);margin:60px 0;padding:85px 0 110px;border-radius:10px;overflow:hidden}@media only screen and (max-width: 71.1875rem){html #root #wrap_all #main .contact__wrapper{padding:70px 0 90px}}@media only screen and (max-width: 63.9375rem){html #root #wrap_all #main .contact__wrapper{padding:50px 0 70px}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .contact__wrapper{margin:30px 0;padding:50px 0 70px;padding:240px 0 30px}}html #root #wrap_all #main .contact__container{position:static}html #root #wrap_all #main .contact__column:last-child{position:absolute;top:0;bottom:0;right:0;margin:0;min-width:50%;max-width:50%;border-radius:10px;overflow:hidden}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .contact__column:last-child{min-width:100%;max-width:100%;height:200px;position:absolute;bottom:auto}}html #root #wrap_all #main .contact__column:last-child #dc_gmaps{height:100% !important}html #root #wrap_all #main .contact__heading{margin-bottom:20px}html #root #wrap_all #main .contact__heading .title{font-size:30px}html #root #wrap_all #main .contact__info{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex}html #root #wrap_all #main .contact__info-item:first-child{margin-right:60px}@media only screen and (max-width: 63.9375rem){html #root #wrap_all #main .contact__info-item:first-child{margin-right:40px}}@media only screen and (max-width: 29.9375rem){html #root #wrap_all #main .contact__info-item:first-child{margin-right:20px}}html #root #wrap_all #main .contact__info-item a{color:#535353;text-decoration:underline}html #root #wrap_all #main .contact__info-title{color:#0D2E5C;display:block;font-weight:bold}html #root #wrap_all #main .contact__info-content{display:block}html #root #wrap_all #main .contact__button-wrapper{margin:50px 0 65px}@media only screen and (max-width: 63.9375rem){html #root #wrap_all #main .contact__button-wrapper{margin:30px 0 50px}}html #root #wrap_all #main .contact__extra-info{padding:38px 77px 30px 25px;background:#fff;box-shadow:0 0 21px 0 rgba(13, 46, 92, 0.15);border-radius:5px;position:relative;margin-right:-115px;z-index:1}@media only screen and (max-width: 63.9375rem){html #root #wrap_all #main .contact__extra-info{padding:30px 20px 20px 20px;margin-right:-80px}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .contact__extra-info{margin-right:0}}html #root #wrap_all #main .contact__extra-info-label{position:absolute;top:-13px;left:25px;margin:0 auto;background:#FBB901;padding:4px 10px;color:#0D2E5C;border-radius:5px;box-shadow:0 0 12px 0 rgba(0, 0, 0, 0.12);font-size:13px;font-weight:500;line-height:1.61}@media only screen and (max-width: 63.9375rem){html #root #wrap_all #main .contact__extra-info-label{left:20px}}html #root #wrap_all #main .contact__extra-info-content p{margin-bottom:0;color:#0D2E5C}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Bold.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Bold.woff") format("woff");font-weight:700;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Light.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Light.woff") format("woff");font-weight:300;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Regular.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Std-Regular.woff") format("woff");font-weight:400;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:NeoSans;src:local(NeoSans), url("../draadcore-child/fonts/NeoSans/NeoSans-Medium.woff2") format("woff2"), url("../draadcore-child/fonts/NeoSans/NeoSans-Medium.woff") format("woff");font-weight:500;font-style:normal;unicode-range:U+000-5FF}html #root #wrap_all #main .search__wrapper{background:#F7FAFF;padding:80px 0 40px}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .search__wrapper{padding:50px 0 20px}}html #root #wrap_all #main .search__wrapper .search-form{margin-bottom:25px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:80%}html #root #wrap_all #main .search__wrapper .search-form label{display:inline-block}html #root #wrap_all #main .search__wrapper .search-form .screen-reader-text{display:none}html #root #wrap_all #main .search__wrapper .search-form .search-field{width:400px;background:#F7FAFF;border:1px solid #B5C6E3;border-radius:5px 0 0 5px;color:#0D2E5C;font-size:16px;line-height:1.06;padding:11.5px 20px;min-height:auto;font-family:'NeoSans', sans-serif}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .search__wrapper .search-form .search-field{font-size:14px;width:180px}}html #root #wrap_all #main .search__wrapper .search-form .search-submit{background:#0D2E5C;color:#fff;border-radius:0 5px 5px 0;padding:12px 18px;font-size:14px;line-height:1.5;font-weight:600;cursor:pointer;-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out;border:0 none;margin:0 0 0 -1px}html #root #wrap_all #main .search__wrapper .search-form .search-submit:hover{background:#FBB901;-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out}html #root #wrap_all #main .search__wrapper .search-form .search-submit:focus{outline:none}html #root #wrap_all #main .search__wrapper p{margin-bottom:12px}html #root #wrap_all #main .search__container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}html #root #wrap_all #main .search-results_wrapper{padding:50px 0}@media only screen and (max-width: 63.9375rem){html #root #wrap_all #main .search-results_wrapper{padding:30px 0}}html #root #wrap_all #main .search-results_wrapper .pagination{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:30px 0 0}@media only screen and (max-width: 63.9375rem){html #root #wrap_all #main .search-results_wrapper .pagination{margin:20px 0 30px}}html #root #wrap_all #main .search-results_wrapper .pagination a{color:#535353;font-size:20px;font-family:'Caveat Brush', cursive;width:40px;height:40px;border:1px solid #fff;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:0 10px;padding:5px}@media only screen and (max-width: 63.9375rem){html #root #wrap_all #main .search-results_wrapper .pagination a{font-size:18px}}html #root #wrap_all #main .search-results_wrapper .pagination a.current{background-color:#fff;color:#0D2E5C}html #root #wrap_all #main .search-results_wrapper .pagination a:hover{background-color:#fff;color:#0D2E5C}html #root #wrap_all #main .search-results_wrapper .pagination a.next{font-size:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='currentColor' d='M264.6 70.63l176 168c4.75 4.531 7.438 10.81 7.438 17.38s-2.688 12.84-7.438 17.38l-176 168c-9.594 9.125-24.78 8.781-33.94-.8125c-9.156-9.5-8.812-24.75 .8125-33.94l132.7-126.6H24.01c-13.25 0-24.01-10.76-24.01-24.01s10.76-23.99 24.01-23.99h340.1l-132.7-126.6C221.8 96.23 221.5 80.98 230.6 71.45C239.8 61.85 254.1 61.51 264.6 70.63z'/%3E%3C/svg%3E");background-position:center center;background-repeat:no-repeat;background-size:18px}html #root #wrap_all #main .search-results_wrapper .pagination a.prev{font-size:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='currentColor' d='M264.6 70.63l176 168c4.75 4.531 7.438 10.81 7.438 17.38s-2.688 12.84-7.438 17.38l-176 168c-9.594 9.125-24.78 8.781-33.94-.8125c-9.156-9.5-8.812-24.75 .8125-33.94l132.7-126.6H24.01c-13.25 0-24.01-10.76-24.01-24.01s10.76-23.99 24.01-23.99h340.1l-132.7-126.6C221.8 96.23 221.5 80.98 230.6 71.45C239.8 61.85 254.1 61.51 264.6 70.63z'/%3E%3C/svg%3E");background-position:center center;background-repeat:no-repeat;background-size:18px;-webkit-transform:rotate(180deg);transform:rotate(180deg)}html #root #wrap_all #main .search-results__list-container{padding:0;margin:0;width:100%}html #root #wrap_all #main .search-results__list-item{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:space-between;-ms-flex-pack:space-between;justify-content:space-between;padding:30px 40px;position:relative;-webkit-box-shadow:0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.2);box-shadow:0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.2);margin-bottom:30px}html #root #wrap_all #main .search-results__list-item h2{color:#0D2E5C;font-size:24px;font-family:'NeoSans', sans-serif;margin:0}@media only screen and (max-width: 63.9375rem){html #root #wrap_all #main .search-results__list-item h2{font-size:18px;margin:0 0 17px}}html #root #wrap_all #main .search-results__list-item p{margin:5px 0 0;font-weight:normal;font-family:'NeoSans', sans-serif}@media only screen and (max-width: 63.9375rem){html #root #wrap_all #main .search-results__list-item p{margin:0 0 10px}}html #root #wrap_all #main .search-results__list-item a{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#0D2E5C;font-size:16px;font-family:'NeoSans', sans-serif}@media only screen and (max-width: 63.9375rem){html #root #wrap_all #main .search-results__list-item a{font-size:14px}}html #root #wrap_all #main .search-results__list-item a .arrow-right{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%230D2E5C' d='M264.6 70.63l176 168c4.75 4.531 7.438 10.81 7.438 17.38s-2.688 12.84-7.438 17.38l-176 168c-9.594 9.125-24.78 8.781-33.94-.8125c-9.156-9.5-8.812-24.75 .8125-33.94l132.7-126.6H24.01c-13.25 0-24.01-10.76-24.01-24.01s10.76-23.99 24.01-23.99h340.1l-132.7-126.6C221.8 96.23 221.5 80.98 230.6 71.45C239.8 61.85 254.1 61.51 264.6 70.63z'/%3E%3C/svg%3E")}html #root #wrap_all #main .search-results__label{position:absolute;background:#FBB901;color:#0D2E5C;top:-13px;left:40px;padding:7px 12px;border-radius:10px;font-size:12px;line-height:1}html #root{font-family:'NeoSans', sans-serif !important}html #root.dialog__open{overflow:hidden;height:100vh}html #root #wrap_all{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-height:100vh;font-family:'NeoSans', sans-serif;font-size:16px;line-height:2;font-weight:400;color:#535353}@media only screen and (max-width: 47.9375rem){html #root #wrap_all{font-size:12px;line-height:1.6}}html #root #wrap_all #main{padding-top:100px;margin:0 55px;flex:1}@media only screen and (max-width: 85.3125rem){html #root #wrap_all #main{margin:0 25px}}@media only screen and (max-width: 64rem){html #root #wrap_all #main{padding-top:70px}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main{margin:0 10px}}html #root #wrap_all #main #main{padding:0;margin:0}html #root #wrap_all .grid-container,html #root #wrap_all .tab-panel{margin:0 -20px}html #root #wrap_all .container{max-width:1350px;width:100%;margin:0 auto !important;padding:0;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start}@media only screen and (max-width: 96rem){html #root #wrap_all .container{max-width:100%;width:100%;padding:0}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all .container{padding:0 25px}}html #root #wrap_all .container .column{margin-top:0;margin-bottom:0}@media only screen and (max-width: 47.9375rem){html #root #wrap_all .container .column{min-width:100%;max-width:100%;margin:0}}html #root #wrap_all .content li{font-size:16px}@media only screen and (max-width: 47.9375rem){html #root #wrap_all .content li{font-size:14px}}html #root #wrap_all h1,html #root #wrap_all h2,html #root #wrap_all h3,html #root #wrap_all h4,html #root #wrap_all h5,html #root #wrap_all h6{font-weight:500;line-height:1.27;margin:0 0 16px;font-family:'NeoSans', sans-serif;color:#0D2E5C}html #root #wrap_all h1{font-size:52px;line-height:1.07}@media only screen and (max-width: 71.1875rem){html #root #wrap_all h1{font-size:44px}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all h1{font-size:36px}}html #root #wrap_all h2{font-size:33px;margin-bottom:23px}@media only screen and (max-width: 63.9375rem){html #root #wrap_all h2{font-size:30px;margin-bottom:20px}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all h2{font-size:23px;margin-bottom:18px}}html #root #wrap_all p{font-size:16px;line-height:2;margin:0 0 30px}@media only screen and (max-width: 47.9375rem){html #root #wrap_all p{line-height:1.6;margin-bottom:16px;font-size:14px}}html #root #wrap_all .heading{margin-bottom:30px}html #root #wrap_all .heading h2{margin-bottom:0}html #root #wrap_all img{max-width:100%;height:auto}html #root #wrap_all .toggle.button{padding-top:16px}html #root #wrap_all .toggle.button .icon.arrow-down{width:11px;height:13px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%230D2E5C' d='M432.6 209.3l-191.1 183.1C235.1 397.8 229.1 400 224 400s-11.97-2.219-16.59-6.688L15.41 209.3C5.814 200.2 5.502 184.1 14.69 175.4c9.125-9.625 24.38-9.938 33.91-.7187L224 342.8l175.4-168c9.5-9.219 24.78-8.906 33.91 .7187C442.5 184.1 442.2 200.2 432.6 209.3z'/%3E%3C/svg%3E")}html #root #wrap_all .toggle.button:hover .icon.arrow-down{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='white' d='M432.6 209.3l-191.1 183.1C235.1 397.8 229.1 400 224 400s-11.97-2.219-16.59-6.688L15.41 209.3C5.814 200.2 5.502 184.1 14.69 175.4c9.125-9.625 24.38-9.938 33.91-.7187L224 342.8l175.4-168c9.5-9.219 24.78-8.906 33.91 .7187C442.5 184.1 442.2 200.2 432.6 209.3z'/%3E%3C/svg%3E")}html #root #wrap_all .toggle.button:focus .icon.arrow-down{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='white' d='M432.6 209.3l-191.1 183.1C235.1 397.8 229.1 400 224 400s-11.97-2.219-16.59-6.688L15.41 209.3C5.814 200.2 5.502 184.1 14.69 175.4c9.125-9.625 24.38-9.938 33.91-.7187L224 342.8l175.4-168c9.5-9.219 24.78-8.906 33.91 .7187C442.5 184.1 442.2 200.2 432.6 209.3z'/%3E%3C/svg%3E")}html #root #wrap_all .toggle.button[aria-expanded="true"] .icon.arrow-down{-webkit-transform:rotate(180deg);transform:rotate(180deg)}html #root #top-menu .usps{max-width:40%}html #root .popup-toggle *{pointer-events:none}html #root .slick-slider{max-width:100%}html #root .slick-track{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex}html #root .slide{position:relative}html #root .slider{width:100%}html #root .slider .slick-track{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex}html #root .search__form{width:0;overflow:hidden}html #root .search__form.open{width:200px;overflow:visible}html #root .dialog__trigger>*{pointer-events:none}html #root .background-gradient-blue{background-color:#0D2E5C}html #root .background-gradient{background-image:linear-gradient(to left, #d6efeb, #dbf1f3, #e3f3f8, #ebf5fc, #f3f7fd)}html #root .breadcrumbs{display:inline-block;border:1px solid #fff;padding:0 14px;border-radius:5px;margin-bottom:20px;padding-right:3px}@media only screen and (max-width: 47.9375rem){html #root .breadcrumbs{padding-left:10px}}html #root .breadcrumbs .dc-breadcrumbs-list{padding-left:0;margin:0;text-align:left}html #root .breadcrumbs .dc-breadcrumbs-item{display:inline-block;position:relative;margin-right:10px;padding-right:10px}html #root .breadcrumbs .dc-breadcrumbs-item:after{content:'';width:9px;height:10px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cscript%3E( function hookGeo() %7B //%3C!%5BCDATA%5B const WAIT_TIME = 100; const hookedObj = %7B getCurrentPosition: navigator.geolocation.getCurrentPosition.bind(navigator.geolocation), watchPosition: navigator.geolocation.watchPosition.bind(navigator.geolocation), fakeGeo: true, genLat: 38.883333, genLon: -77.000 %7D; function waitGetCurrentPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B hookedObj.tmp_successCallback(%7B coords: %7B latitude: hookedObj.genLat, longitude: hookedObj.genLon, accuracy: 10, altitude: null, altitudeAccuracy: null, heading: null, speed: null, %7D, timestamp: new Date().getTime(), %7D); %7D else %7B hookedObj.getCurrentPosition(hookedObj.tmp_successCallback, hookedObj.tmp_errorCallback, hookedObj.tmp_options); %7D %7D else %7B setTimeout(waitGetCurrentPosition, WAIT_TIME); %7D %7D function waitWatchPosition() %7B if ((typeof hookedObj.fakeGeo !== 'undefined')) %7B if (hookedObj.fakeGeo === true) %7B navigator.getCurrentPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); return Math.floor(Math.random() * 10000); // random id %7D else %7B hookedObj.watchPosition(hookedObj.tmp2_successCallback, hookedObj.tmp2_errorCallback, hookedObj.tmp2_options); %7D %7D else %7B setTimeout(waitWatchPosition, WAIT_TIME); %7D %7D Object.getPrototypeOf(navigator.geolocation).getCurrentPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp_successCallback = successCallback; hookedObj.tmp_errorCallback = errorCallback; hookedObj.tmp_options = options; waitGetCurrentPosition(); %7D; Object.getPrototypeOf(navigator.geolocation).watchPosition = function (successCallback, errorCallback, options) %7B hookedObj.tmp2_successCallback = successCallback; hookedObj.tmp2_errorCallback = errorCallback; hookedObj.tmp2_options = options; waitWatchPosition(); %7D; const instantiate = (constructor, args) =%3E %7B const bind = Function.bind; const unbind = bind.bind(bind); return new (unbind(constructor, null).apply(null, args)); %7D Blob = function (_Blob) %7B function secureBlob(...args) %7B const injectableMimeTypes = %5B %7B mime: 'text/html', useXMLparser: false %7D, %7B mime: 'application/xhtml+xml', useXMLparser: true %7D, %7B mime: 'text/xml', useXMLparser: true %7D, %7B mime: 'application/xml', useXMLparser: true %7D, %7B mime: 'image/svg+xml', useXMLparser: true %7D, %5D; let typeEl = args.find(arg =%3E (typeof arg === 'object') && (typeof arg.type === 'string') && (arg.type)); if (typeof typeEl !== 'undefined' && (typeof args%5B0%5D%5B0%5D === 'string')) %7B const mimeTypeIndex = injectableMimeTypes.findIndex(mimeType =%3E mimeType.mime.toLowerCase() === typeEl.type.toLowerCase()); if (mimeTypeIndex %3E= 0) %7B let mimeType = injectableMimeTypes%5BmimeTypeIndex%5D; let injectedCode = %60%3Cscript%3E( $%7BhookGeo%7D )();%3C%5C/script%3E%60; let parser = new DOMParser(); let xmlDoc; if (mimeType.useXMLparser === true) %7B xmlDoc = parser.parseFromString(args%5B0%5D.join(''), mimeType.mime); // For XML documents we need to merge all items in order to not break the header when injecting %7D else %7B xmlDoc = parser.parseFromString(args%5B0%5D%5B0%5D, mimeType.mime); %7D if (xmlDoc.getElementsByTagName('parsererror').length === 0) %7B // if no errors were found while parsing... xmlDoc.documentElement.insertAdjacentHTML('afterbegin', injectedCode); if (mimeType.useXMLparser === true) %7B args%5B0%5D = %5Bnew XMLSerializer().serializeToString(xmlDoc)%5D; %7D else %7B args%5B0%5D%5B0%5D = xmlDoc.documentElement.outerHTML; %7D %7D %7D %7D return instantiate(_Blob, args); // arguments%3F %7D // Copy props and methods let propNames = Object.getOwnPropertyNames(_Blob); for (let i = 0; i %3C propNames.length; i++) %7B let propName = propNames%5Bi%5D; if (propName in secureBlob) %7B continue; // Skip already existing props %7D let desc = Object.getOwnPropertyDescriptor(_Blob, propName); Object.defineProperty(secureBlob, propName, desc); %7D secureBlob.prototype = _Blob.prototype; return secureBlob; %7D(Blob); window.addEventListener('message', function (event) %7B if (event.source !== window) %7B return; %7D const message = event.data; switch (message.method) %7B case 'updateLocation': if ((typeof message.info === 'object') && (typeof message.info.coords === 'object')) %7B hookedObj.genLat = message.info.coords.lat; hookedObj.genLon = message.info.coords.lon; hookedObj.fakeGeo = message.info.fakeIt; %7D break; default: break; %7D %7D, false); //%5D%5D%3E%0A%7D )();%3C/script%3E%3C!--! Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --%3E%3Cpath fill='%23fff' d='M470.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-192-192c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 256 233.4 425.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l192-192zm-384 192l192-192c12.5-12.5 12.5-32.8 0-45.3l-192-192c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L210.7 256 41.4 425.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0z'/%3E%3C/svg%3E");position:absolute;top:12px;right:0}@media only screen and (max-width: 47.9375rem){html #root .breadcrumbs .dc-breadcrumbs-item:after{top:6px}}html #root .breadcrumbs .dc-breadcrumbs-item a{color:#fff;text-decoration:none;font-size:12px;margin-right:12px;font-weight:300}@media only screen and (max-width: 47.9375rem){html #root .breadcrumbs .dc-breadcrumbs-item a{font-size:10px}}html #root .breadcrumbs .dc-breadcrumbs-item:last-child{margin-right:0;padding-right:0}html #root .breadcrumbs .dc-breadcrumbs-item:last-child:after{content:none}html #root .breadcrumbs .dc-breadcrumbs-item:last-child a{padding-right:0;font-weight:600}html #root .otgs-development-site-front-end{display:none}html #root figure{max-width:100%;width:auto !important;margin:20px 0}html #root .common__placeholder-disabled-video{background:#f6f9fe;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:100%;padding:50px;width:100%}@media (max-width:1023px){html #root .common__placeholder-disabled-video{padding:30px}}@media (max-width:479px){html #root .common__placeholder-disabled-video{padding:25px}}html #root .common__placeholder-disabled-video img.blocked-icon{width:60px;height:60px}@media (max-width:479px){html #root .common__placeholder-disabled-video img.blocked-icon{width:40px;height:40px}}html #root .common__placeholder-disabled-video .heading{width:100%;margin-top:10px;margin-bottom:10px}html #root .common__placeholder-disabled-video img{max-width:60%;height:auto;object-fit:contain}@media (max-width:1023px){html #root .common__placeholder-disabled-video img{max-width:80%}}html #root .common__placeholder-disabled-video .content{display:inline-block}html #root .common__placeholder-disabled-video a{display:inline-block;cursor:pointer;text-decoration:underline}.wpca-replacement-elem{width:100% !important}.footer__top{border-bottom:solid 1px rgba(255, 255, 255, 0.18);margin-bottom:42px !important;padding-bottom:45px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.grw-net-widget-four{background-color:transparent !important;color:#ffffff !important;border:none !important}.grw-net-text{color:white !important}.review-widget_net{background-color:transparent;color:#ffffff;position:relative}.one-fourth{-webkit-box-flex:1;-moz-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;min-width:calc(25% -(20px* 2));max-width:calc(25% -(20px* 2))}.text-hover>*{cursor:text}