/* compiled by scssphp 1.6.0 on Mon, 10 Feb 2025 15:13:02 +0000 (1.4931s) */

@charset "UTF-8";
@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-bold.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-bold.woff") format("woff");font-weight:800;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-light.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-medium.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-medium.woff") format("woff");font-weight:600;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-regular.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-regular.woff") format("woff");font-weight:400;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:MortiseX;src:local(MortiseX), url("../draadcore-child/fonts/Mortise/mortise-x-bold.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-x-bold.woff") format("woff");font-weight:800;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:MortiseX;src:local(MortiseX), url("../draadcore-child/fonts/Mortise/mortise-x-light.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-x-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-bold.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-bold.woff") format("woff");font-weight:700;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-light.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-medium.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-medium.woff") format("woff");font-weight:600;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-regular.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-regular.woff") format("woff");font-weight:400;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:TenonX;src:local(TenonX), url("../draadcore-child/fonts/TenonX/tenon-x-bold.woff2") format("woff2"), url("../draadcore-child/fonts/TenonX/tenon-x-bold.woff") format("woff");font-weight:700;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:TenonX;src:local(TenonX), url("../draadcore-child/fonts/TenonX/tenon-x-light.woff2") format("woff2"), url("../draadcore-child/fonts/TenonX/tenon-x-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}#wpca-bar{background:#000 !important;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex}@media only screen and (max-width:1023px){#wpca-bar{padding:10px 24px}}@media only screen and (max-width:767px){#wpca-bar{max-height:100%;overflow-y:scroll}}#wpca-bar #wpca-bar-meta{display:none !important}#wpca-bar #wpca-bar-content{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;max-width:1600px;width:auto;margin:0 auto;padding:20px}@media only screen and (max-width: 71.1875rem){#wpca-bar #wpca-bar-content{-ms-flex-wrap:wrap;flex-wrap:wrap}}#wpca-bar #wpca-bar-content p{line-height:1.5;padding:0;max-width:60%;font-size:16px !important;color:#fff !important;text-align:start !important}@media only screen and (max-width: 71.1875rem){#wpca-bar #wpca-bar-content p{max-width:100%;min-width:100%;padding:0 0 20px 0}}#wpca-bar #wpca-bar-content p:last-child{display:none}#wpca-bar #wpca-bar-content strong{font-size:17px}#wpca-bar #wpca-bar-content a{font-size:15px;line-height:1.5}#wpca-bar .wpca-cc-sett-box{width:40%;background:#000 !important;padding:0;text-align:start;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;-webkit-box-align:center;-ms-flex-align:center;align-items:center}@media only screen and (max-width: 71.1875rem){#wpca-bar .wpca-cc-sett-box{-webkit-box-pack:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start;max-width:100%;min-width:100%}}#wpca-bar .wpca-cc-sett-box h2{display:none}#wpca-bar .wpca-cc-sett-box .wpca-cc-sett-opions{margin:0;display:inline-block;border:1px solid #9d9897}#wpca-bar .wpca-cc-sett-box #wpca_cookie_cat{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex}@media only screen and (max-width: 47.9375rem){#wpca-bar .wpca-cc-sett-box #wpca_cookie_cat{-ms-flex-wrap:wrap;flex-wrap:wrap}}#wpca-bar .wpca-cc-sett-box #wpca_cookie_cat div{padding:0 5px;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}#wpca-bar .wpca-cc-sett-box #wpca_cookie_cat div:nth-child(4){display:none}#wpca-bar .wpca-cc-sett-box #wpca_cookie_cat div:nth-child(5){display:none}@media only screen and (max-width:767px){#wpca-bar .wpca-cc-sett-box #wpca_cookie_cat div{max-width:100%;min-width:100%}}#wpca-bar .wpca-cc-sett-box #wpca_cookie_cat div label{font-size:13px;color:#fff}#wpca-bar .wpca-cc-sett-box .wpca-btn-cc-default-sett{margin:0 0 0 auto;background:white;padding:0;min-height:35px;font-size:14px;max-width:155px;width:100%}#wpca-bar .wpca-cc-sett-box .wpca-btn-cc-save-sett{margin:0 0 0 20px;display:inline-block;background:#000;padding:0;min-height:35px;font-size:18px;max-width:100px;width:100%;text-transform:uppercase;font-weight:600;font-family:'Tenon', sans-serif;color:#ffffff !important;position:relative}#wpca-bar .wpca-cc-sett-box .wpca-btn-cc-save-sett:after{content:'';position:absolute;width:20px;height:100%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' data-prefix='fal' data-icon='chevron-right' class='svg-inline--fa fa-chevron-right fa-w-8' role='img' viewBox='0 0 256 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%3Cpath fill='%23ffffff' d='M17.525 36.465l-7.071 7.07c-4.686 4.686-4.686 12.284 0 16.971L205.947 256 10.454 451.494c-4.686 4.686-4.686 12.284 0 16.971l7.071 7.07c4.686 4.686 12.284 4.686 16.97 0l211.051-211.05c4.686-4.686 4.686-12.284 0-16.971L34.495 36.465c-4.686-4.687-12.284-4.687-16.97 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;right:0;top:0}#wpca-bar .wpca-cc-sett-box .wpca-btn-cc-save-sett:hover{color:#00C99E !important}#wpca-bar .wpca-cc-sett-box .wpca-btn-cc-save-sett:hover:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' data-prefix='fal' data-icon='chevron-right' class='svg-inline--fa fa-chevron-right fa-w-8' role='img' viewBox='0 0 256 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%3Cpath fill='%2300C99E' d='M17.525 36.465l-7.071 7.07c-4.686 4.686-4.686 12.284 0 16.971L205.947 256 10.454 451.494c-4.686 4.686-4.686 12.284 0 16.971l7.071 7.07c4.686 4.686 12.284 4.686 16.97 0l211.051-211.05c4.686-4.686 4.686-12.284 0-16.971L34.495 36.465c-4.686-4.687-12.284-4.687-16.97 0z'/%3E%3C/svg%3E")}#wpca-bar .wpca-btn-cc-default-sett{display:none}.wpca-hide{display:none !important}@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-bold.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-bold.woff") format("woff");font-weight:800;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-light.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-medium.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-medium.woff") format("woff");font-weight:600;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-regular.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-regular.woff") format("woff");font-weight:400;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:MortiseX;src:local(MortiseX), url("../draadcore-child/fonts/Mortise/mortise-x-bold.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-x-bold.woff") format("woff");font-weight:800;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:MortiseX;src:local(MortiseX), url("../draadcore-child/fonts/Mortise/mortise-x-light.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-x-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-bold.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-bold.woff") format("woff");font-weight:700;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-light.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-medium.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-medium.woff") format("woff");font-weight:600;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-regular.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-regular.woff") format("woff");font-weight:400;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:TenonX;src:local(TenonX), url("../draadcore-child/fonts/TenonX/tenon-x-bold.woff2") format("woff2"), url("../draadcore-child/fonts/TenonX/tenon-x-bold.woff") format("woff");font-weight:700;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:TenonX;src:local(TenonX), url("../draadcore-child/fonts/TenonX/tenon-x-light.woff2") format("woff2"), url("../draadcore-child/fonts/TenonX/tenon-x-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}html #root #wrap_all footer{background:#000000;padding:75px 0 30px;border-top:1px solid #434343}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer{padding:30px 0}}html #root #wrap_all footer h3{color:#00C99E;font-family:'Mortise', sans-serif;font-size:40.08px;font-weight:600;letter-spacing:-0.02px}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer h3{font-size:30px}}html #root #wrap_all footer h4{color:#FEFEFE;font-size:19px;font-weight:bold;letter-spacing:0.5px;line-height:1.1;margin-bottom:15px;font-family:'Tenon', sans-serif;text-transform:uppercase}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer h4{font-size:16px}}html #root #wrap_all footer ul{padding:0;margin:0}html #root #wrap_all footer ul li a{color:#FEFEFE;font-family:'Tenon', sans-serif;font-size:18px;letter-spacing:0;line-height:1.44;list-style-type:none;text-decoration:none;-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out}html #root #wrap_all footer ul li a:hover{color:#00C99E !important}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer ul li a{font-size:16px}}html #root #wrap_all footer p,html #root #wrap_all footer span{color:#FEFEFE;font-family:'Tenon', sans-serif;font-size:18px;letter-spacing:0;line-height:1.44;list-style-type:none;text-decoration:none}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer p,html #root #wrap_all footer span{font-size:15px}}html #root #wrap_all footer .three-fourth a{display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-decoration:none;margin-left:5px !important}html #root #wrap_all footer .three-fourth a .button-title{color:#00C99E;font-size:18px;font-weight:bold;letter-spacing:0.1px;line-height:1.22;text-align:left;background:transparent;border:none;text-transform:capitalize}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer .three-fourth a .button-title{font-size:16px}}@media only screen and (max-width: 29.9375rem){html #root #wrap_all footer .three-fourth a .button-title{font-size:12px}}html #root #wrap_all footer .container{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;max-width:1600px}@media only screen and (max-width: 103.0625rem){html #root #wrap_all footer .container{max-width:100%;padding:0 20px}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer .container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:0}html #root #wrap_all footer .container .three-fourth,html #root #wrap_all footer .container .one-fourth{min-width:calc(100% - (20px * 2));max-width:calc(100% - (20px * 2))}}html #root #wrap_all footer .container:first-child .three-fourth div{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: 85.3125rem){html #root #wrap_all footer .container:first-child .three-fourth div{-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}}html #root #wrap_all footer .container:first-child .three-fourth div p:first-child{display:none}html #root #wrap_all footer .container:first-child .three-fourth div p:nth-child(3){display:none}html #root #wrap_all footer .container:first-child .three-fourth a{margin-left:15px}@media only screen and (max-width: 85.3125rem){html #root #wrap_all footer .container:first-child .three-fourth a{margin-left:0}}html #root #wrap_all footer .container:first-child .one-fourth{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:flex-end;-ms-flex-align:flex-end;align-items:flex-end;-webkit-box-pack:flex-end;-ms-flex-pack:flex-end;justify-content:flex-end}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer .container:first-child .one-fourth{-webkit-box-pack:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start}}html #root #wrap_all footer .container:first-child .one-fourth .social-media{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:20px 0}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer .container:first-child .one-fourth .social-media{margin:0}}html #root #wrap_all footer .container:first-child .one-fourth .social-media li{margin-left:25px}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer .container:first-child .one-fourth .social-media li{margin:0 25px 0 0}}html #root #wrap_all footer .container:first-child .one-fourth .social-media li a{-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out;cursor:pointer}html #root #wrap_all footer .container:first-child .one-fourth .social-media li a span{width:25px;height:25px}html #root #wrap_all footer .container:first-child .one-fourth .social-media li.linkedin a span{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' data-prefix='fab' data-icon='linkedin-in' class='svg-inline--fa fa-linkedin-in fa-w-14' role='img' 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%3Cpath fill='%2300C99E' 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 .container:first-child .one-fourth .social-media li.linkedin a span.twitter{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' data-prefix='fab' data-icon='twitter' class='svg-inline--fa fa-twitter fa-w-16' role='img' 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%3Cpath fill='%2300C99E' 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 .container:first-child .one-fourth .social-media li.linkedin a:hover span{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' data-prefix='fab' data-icon='linkedin-in' class='svg-inline--fa fa-linkedin-in fa-w-14' role='img' 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%3Cpath fill='%23fff' 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 .container:first-child .one-fourth .social-media li.linkedin a:hover span.twitter{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' data-prefix='fab' data-icon='twitter' class='svg-inline--fa fa-twitter fa-w-16' role='img' 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%3Cpath fill='%23fff' 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 .container:first-child .one-fourth .social-media li.instagram a span{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' data-prefix='fab' data-icon='instagram' class='svg-inline--fa fa-instagram fa-w-14' role='img' 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%3Cpath fill='%2300C99E' 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 .container:first-child .one-fourth .social-media li.instagram a:hover span{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' data-prefix='fab' data-icon='instagram' class='svg-inline--fa fa-instagram fa-w-14' role='img' 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%3Cpath fill='%23fff' 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 .container:first-child .one-fourth .social-media li i{font-size:26px;color:#00C99E;display:block}html #root #wrap_all footer .container:nth-child(2){margin:30px auto 40px}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer .container:nth-child(2){margin:10px auto}}html #root #wrap_all footer .container:nth-child(2) .one-fourth{position:relative;padding-right:80px}html #root #wrap_all footer .container:nth-child(2) .one-fourth:after{width:2px;height:105px;background:#FEFEFE;content:"";position:absolute;right:50px;top:0;bottom:0;margin:auto}@media only screen and (max-width: 85.3125rem){html #root #wrap_all footer .container:nth-child(2) .one-fourth:after{right:10px}}@media only screen and (max-width: 71.1875rem){html #root #wrap_all footer .container:nth-child(2) .one-fourth:after{right:-20px}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer .container:nth-child(2) .one-fourth:after{display:none}}@media only screen and (max-width: 63.9375rem){html #root #wrap_all footer .container:nth-child(2) .one-fourth:last-child{min-width:calc(35% - (20px * 2));max-width:calc(35% - (20px * 2))}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer .container:nth-child(2) .one-fourth:last-child{min-width:calc(100% - (20px * 2));max-width:calc(100% - (20px * 2))}}html #root #wrap_all footer .container:nth-child(2) .one-fourth:last-child:after{display:none}html #root #wrap_all footer .container:nth-child(2) .one-fourth:nth-child(2){min-width:calc(40% - (20px * 2));max-width:calc(40% - (20px * 2))}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer .container:nth-child(2) .one-fourth:nth-child(2){min-width:calc(100% - (20px * 2));max-width:calc(100% - (20px * 2))}}html #root #wrap_all footer .container:nth-child(2) .one-fourth div{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: 71.1875rem){html #root #wrap_all footer .container:nth-child(2) .one-fourth div{-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}}html #root #wrap_all footer .container:nth-child(2) .one-fourth #menu-footer-menu li{margin-bottom:12px}html #root #wrap_all footer .container:nth-child(2) .one-fourth #menu-footer-menu li a{line-height:1}@media only screen and (max-width: 63.9375rem){html #root #wrap_all footer .container:nth-child(2) .one-fourth #menu-footer-menu li{margin-bottom:5px}}html #root #wrap_all footer .container:nth-child(2) .one-fourth #menu-footer-menu-2{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0}@media only screen and (max-width: 71.1875rem){html #root #wrap_all footer .container:nth-child(2) .one-fourth #menu-footer-menu-2{-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 .container:nth-child(2) .one-fourth #menu-footer-menu-2{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:space-between;-ms-flex-pack:space-between;justify-content:space-between}}@media only screen and (max-width: 29.9375rem){html #root #wrap_all footer .container:nth-child(2) .one-fourth #menu-footer-menu-2{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}html #root #wrap_all footer .container:nth-child(2) .one-fourth #menu-footer-menu-2 li{width:30%;margin-right:70px;margin-bottom:12px}@media only screen and (max-width: 71.1875rem){html #root #wrap_all footer .container:nth-child(2) .one-fourth #menu-footer-menu-2 li{width:100%;margin-right:0}}@media only screen and (max-width: 63.9375rem){html #root #wrap_all footer .container:nth-child(2) .one-fourth #menu-footer-menu-2 li{margin-bottom:5px}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer .container:nth-child(2) .one-fourth #menu-footer-menu-2 li{width:50%}}@media only screen and (max-width: 29.9375rem){html #root #wrap_all footer .container:nth-child(2) .one-fourth #menu-footer-menu-2 li{width:100%}}html #root #wrap_all footer .container:nth-child(2) .one-fourth #menu-footer-menu-2 li:nth-child(2n){margin-right:0}html #root #wrap_all footer .container:nth-child(2) .one-fourth #menu-footer-menu-2 li a{line-height:1}html #root #wrap_all footer .container:last-child .one-fourth{padding:0}html #root #wrap_all footer .container:last-child .one-fourth a{color:#FEFEFE}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer .container .one-fourth:last-child div{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}}html #root #wrap_all footer .container .one-fourth:last-child .email{font-weight:bold}html #root #wrap_all footer .container .one-fourth:last-child span:nth-child(2){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 footer .container .one-fourth:last-child span:nth-child(2)::before{content:"";width:3px;height:3px;border-radius:50%;display:inline-block;background:#fff;margin:0 6px}html #root #wrap_all footer .container .one-fourth:last-child a{text-decoration:none;cursor:auto}html #root #wrap_all footer #socket .container{padding:0 20px;-webkit-box-align:center;-ms-flex-align:center;align-items:center}@media only screen and (max-width: 103.0625rem){html #root #wrap_all footer #socket .container{padding:0 40px}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all footer #socket .container{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;padding:0 20px}}html #root #wrap_all footer #socket .container .icon-q{background-image:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='22px' height='21px' viewBox='0 0 22 21' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3EFill 3%3C/title%3E%3Cg id='⭐️-Symbols' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Footer' transform='translate(-160.000000, -406.000000)' fill='%23FEFEFE'%3E%3Cg id='Group-14' transform='translate(160.000200, 406.295846)'%3E%3Cg id='Group-16' transform='translate(-0.000000, 0.000000)'%3E%3Cpath d='M21.067,16.836 L16.686,16.836 L16.686,16.78 C17.338,16.485 17.907,16.1 18.396,15.627 C18.884,15.155 19.282,14.623 19.589,14.031 C19.897,13.437 20.127,12.807 20.281,12.141 C20.435,11.474 20.512,10.79 20.512,10.085 C20.512,8.603 20.245,7.247 19.712,6.015 C19.178,4.783 18.45,3.723 17.528,2.833 C16.604,1.945 15.519,1.25 14.271,0.751 C13.023,0.25 11.685,0 10.256,0 C8.827,0 7.488,0.246 6.24,0.736 C4.992,1.228 3.907,1.917 2.985,2.806 C2.061,3.695 1.333,4.761 0.8,6.001 C0.266,7.242 0,8.603 0,10.085 C0,11.678 0.261,13.095 0.786,14.335 C1.311,15.576 2.034,16.633 2.957,17.503 C3.88,18.374 4.979,19.036 6.254,19.489 C7.529,19.943 8.917,20.17 10.419,20.17 L21.067,20.17 L21.067,16.836 Z M5.115,7.696 C5.423,6.956 5.843,6.312 6.377,5.764 C6.91,5.219 7.53,4.788 8.236,4.473 C8.941,4.158 9.701,4.001 10.514,4.001 C11.328,4.001 12.088,4.158 12.793,4.473 C13.499,4.788 14.119,5.219 14.653,5.764 C15.186,6.312 15.606,6.956 15.914,7.696 C16.222,8.437 16.376,9.233 16.376,10.085 C16.376,10.937 16.222,11.734 15.914,12.474 C15.606,13.216 15.186,13.86 14.653,14.405 C14.119,14.951 13.499,15.383 12.793,15.697 C12.088,16.012 11.328,16.169 10.514,16.169 C9.701,16.169 8.941,16.012 8.236,15.697 C7.53,15.383 6.91,14.951 6.377,14.405 C5.843,13.86 5.423,13.216 5.115,12.474 C4.807,11.734 4.653,10.937 4.653,10.085 C4.653,9.233 4.807,8.437 5.115,7.696 L5.115,7.696 Z' id='Fill-3'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;height:21px;width:21px;margin-right:17px}html #root #wrap_all footer #socket .container .copyright{color:#FEFEFE;font-family:'Mortise', sans-serif;font-size:20px;letter-spacing:-0.02px;text-decoration:none;margin-right:18px}html #root #wrap_all footer #socket .container span,html #root #wrap_all footer #socket .container a{font-family:'Tenon', sans-serif;font-size:14px;letter-spacing:-0.02px;color:#FEFEFE}html #root #wrap_all footer #socket .container ul{margin:0}html #root #wrap_all footer #socket .container ul li a{-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out;padding-left:5px;border-left:1px solid #fff;margin-left:7px}html #root #wrap_all footer #socket .container ul li a:hover{color:#00C99E}@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-bold.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-bold.woff") format("woff");font-weight:800;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-light.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-medium.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-medium.woff") format("woff");font-weight:600;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-regular.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-regular.woff") format("woff");font-weight:400;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:MortiseX;src:local(MortiseX), url("../draadcore-child/fonts/Mortise/mortise-x-bold.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-x-bold.woff") format("woff");font-weight:800;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:MortiseX;src:local(MortiseX), url("../draadcore-child/fonts/Mortise/mortise-x-light.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-x-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-bold.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-bold.woff") format("woff");font-weight:700;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-light.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-medium.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-medium.woff") format("woff");font-weight:600;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-regular.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-regular.woff") format("woff");font-weight:400;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:TenonX;src:local(TenonX), url("../draadcore-child/fonts/TenonX/tenon-x-bold.woff2") format("woff2"), url("../draadcore-child/fonts/TenonX/tenon-x-bold.woff") format("woff");font-weight:700;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:TenonX;src:local(TenonX), url("../draadcore-child/fonts/TenonX/tenon-x-light.woff2") format("woff2"), url("../draadcore-child/fonts/TenonX/tenon-x-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}html #root #wrap_all header{padding:40px 0;top:0 !important;position:fixed;z-index:99;-webkit-transition:0.4s ease-in-out;transition:0.4s ease-in-out}@media only screen and (max-width: 85.3125rem){html #root #wrap_all header{padding:40px 30px}}@media only screen and (max-width: 63.9375rem){html #root #wrap_all header{padding:25px 30px}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all header{padding:25px}}html #root #wrap_all header .menu-container .container{position:static;width:100%;max-width:1920px;padding:0 60px}@media only screen and (max-width: 103.625rem){html #root #wrap_all header .menu-container .container{padding:0 80px}}@media only screen and (max-width: 85.3125rem){html #root #wrap_all header .menu-container .container{padding:0 50px}}@media only screen and (max-width: 71.1875rem){html #root #wrap_all header .menu-container .container{margin:0;padding:0 15px}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all header .menu-container .container{padding:0}}html #root #wrap_all header .menu-container .container .logo-container img{width:140px;height:auto}html #root #wrap_all header .menu-container .container nav .search .icon.magnifying{background-position:center;background-size:20px;background-repeat:no-repeat}@media only screen and (max-width: 64rem){html #root #wrap_all header .menu-container .container nav .search{display:none}}html #root #wrap_all header .menu-container .container nav ul.menu li a{font-size:19px;font-weight:500;margin-left:30px;text-decoration:none;letter-spacing:-0.02px;color:#E0E0E0;position:relative;padding:5px 0}html #root #wrap_all header .menu-container .container nav ul.menu li a:before{content:"";position:absolute;left:0;top:-10px;height:0;width:0;clip-path:polygon(0 0, 0 0, 100% 100%, 0% 100%);background-color:#fff;-webkit-transition:0.4s ease-in-out;transition:0.4s ease-in-out}html #root #wrap_all header .menu-container .container nav ul.menu li a:hover:before{width:11px;height:11px}html #root #wrap_all header .menu-container .container nav ul.menu li.current-menu-item a{font-weight:700;color:#fff}html #root #wrap_all header .menu-container .container nav ul.menu li.current-menu-item a:before{width:11px;height:11px}html #root #wrap_all header .menu-container .container nav .meta-menu-container ul.menu li a{color:#FF6C0E}html #root #wrap_all header .menu-container .container nav .meta-menu-container ul.menu li a:hover:before{width:11px;height:11px;background-color:#FF6C0E}html #root #wrap_all header .menu-container .container nav .meta-menu-container ul.menu li.current-menu-item a{font-weight:700;color:#FF6C0E}html #root #wrap_all header .menu-container .container nav .meta-menu-container ul.menu li.current-menu-item a:before{width:11px;height:11px;background-color:#FF6C0E}html #root #wrap_all header .menu-container.theme-dark .logo-container .logo-dark{display:block}html #root #wrap_all header .menu-container.theme-dark .logo-container .logo-light{display:none}html #root #wrap_all header .menu-container.theme-dark nav a.search .icon.magnifying{margin-left:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' data-prefix='fal' data-icon='search' class='svg-inline--fa fa-search fa-w-16' role='img' 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%3Cpath fill='%233E3E3E' d='M508.5 481.6l-129-129c-2.3-2.3-5.3-3.5-8.5-3.5h-10.3C395 312 416 262.5 416 208 416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c54.5 0 104-21 141.1-55.2V371c0 3.2 1.3 6.2 3.5 8.5l129 129c4.7 4.7 12.3 4.7 17 0l9.9-9.9c4.7-4.7 4.7-12.3 0-17zM208 384c-97.3 0-176-78.7-176-176S110.7 32 208 32s176 78.7 176 176-78.7 176-176 176z'/%3E%3C/svg%3E")}html #root #wrap_all header .menu-container.theme-dark nav ul.menu li a{color:#3E3E3E}html #root #wrap_all header .menu-container.theme-dark nav ul.menu li a:before{background-color:#3E3E3E}html #root #wrap_all header .menu-container.theme-dark nav ul.menu li.current-menu-item a{color:#000}html #root #wrap_all header .menu-container.theme-light .logo-container .logo-dark{display:none}html #root #wrap_all header .menu-container.theme-light a.search .icon.magnifying{margin-left:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' data-prefix='fal' data-icon='search' class='svg-inline--fa fa-search fa-w-16' role='img' 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%3Cpath fill='%23ffffff' d='M508.5 481.6l-129-129c-2.3-2.3-5.3-3.5-8.5-3.5h-10.3C395 312 416 262.5 416 208 416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c54.5 0 104-21 141.1-55.2V371c0 3.2 1.3 6.2 3.5 8.5l129 129c4.7 4.7 12.3 4.7 17 0l9.9-9.9c4.7-4.7 4.7-12.3 0-17zM208 384c-97.3 0-176-78.7-176-176S110.7 32 208 32s176 78.7 176 176-78.7 176-176 176z'/%3E%3C/svg%3E")}@media only screen and (max-width: 63.9375rem){html #root #wrap_all header{background-color:#FEFEFE;padding-top:15px;padding-bottom:15px}html #root #wrap_all header.scrolled{padding-top:15px !important;padding-bottom:15px !important}html #root #wrap_all header #main-menu-container.menu-container .container .logo-container .logo-light{display:none}html #root #wrap_all header #main-menu-container.menu-container .container .logo-container .logo-dark{display:block}html #root #wrap_all header #main-menu-container.menu-container .container .logo-container .logo-dark img{width:140px;height:auto}html #root #wrap_all header #main-menu-container.menu-container .container .responsive-menu>button{top:0;background-image:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='36px' height='22px' viewBox='0 0 36 22' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3EGroup%3C/title%3E%3Cg id='📱-Mobile' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Artboard' transform='translate(-355.000000, -23.000000)' fill='%23000'%3E%3Cg id='Group' transform='translate(355.000000, 23.000000)'%3E%3Cg id='Nav'%3E%3Cpolygon id='Fill-1' points='0 0 0 7.80645161 7.76470588 7.80645161'%3E%3C/polygon%3E%3Cpolygon id='Fill-1-Copy' points='0 14.1935484 0 22 7.76470588 22'%3E%3C/polygon%3E%3C/g%3E%3Cg id='Nav-Copy' transform='translate(14.117647, 0.000000)'%3E%3Cpolygon id='Fill-1' points='0 0 0 7.80645161 7.76470588 7.80645161'%3E%3C/polygon%3E%3Cpolygon id='Fill-1-Copy' points='0 14.1935484 0 22 7.76470588 22'%3E%3C/polygon%3E%3C/g%3E%3Cg id='Nav-Copy-2' transform='translate(28.235294, 0.000000)'%3E%3Cpolygon id='Fill-1' points='0 0 0 7.80645161 7.76470588 7.80645161'%3E%3C/polygon%3E%3Cpolygon id='Fill-1-Copy' points='0 14.1935484 0 22 7.76470588 22'%3E%3C/polygon%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}html #root #wrap_all header #main-menu-container.menu-container .container .responsive-menu>button .icon{background-color:#000 !important}html #root #wrap_all header #main-menu-container.menu-container .container .responsive-menu>button .icon::before,html #root #wrap_all header #main-menu-container.menu-container .container .responsive-menu>button .icon::after{background-color:white}html #root #wrap_all header #main-menu-container.menu-container .container nav ul.menu li a{color:#000000 !important}html #root #wrap_all header #main-menu-container.menu-container .container nav ul.menu li a:before{background-color:#000000 !important}html #root #wrap_all header #main-menu-container.menu-container .container nav .meta-menu-container{display:none}}html #root #wrap_all header.scrolled{background-color:#FEFEFE;padding-top:25px;padding-bottom:25px;-webkit-box-shadow:0 0 35px rgba(0, 0, 0, 0.3);box-shadow:0 0 35px rgba(0, 0, 0, 0.3)}html #root #wrap_all header.scrolled .theme-dark .logo-container .logo-light,html #root #wrap_all header.scrolled .theme-light .logo-container .logo-light{display:none}html #root #wrap_all header.scrolled .theme-dark .logo-container .logo-light img,html #root #wrap_all header.scrolled .theme-light .logo-container .logo-light img{width:140px;height:auto}html #root #wrap_all header.scrolled .theme-dark .logo-container .logo-dark,html #root #wrap_all header.scrolled .theme-light .logo-container .logo-dark{display:block}html #root #wrap_all header.scrolled .theme-dark .logo-container .logo-dark img,html #root #wrap_all header.scrolled .theme-light .logo-container .logo-dark img{width:140px;height:auto}html #root #wrap_all header.scrolled .theme-dark nav a.search .icon.magnifying,html #root #wrap_all header.scrolled .theme-light nav a.search .icon.magnifying{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' data-prefix='fal' data-icon='search' class='svg-inline--fa fa-search fa-w-16' role='img' 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%3Cpath fill='%23000000' d='M508.5 481.6l-129-129c-2.3-2.3-5.3-3.5-8.5-3.5h-10.3C395 312 416 262.5 416 208 416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c54.5 0 104-21 141.1-55.2V371c0 3.2 1.3 6.2 3.5 8.5l129 129c4.7 4.7 12.3 4.7 17 0l9.9-9.9c4.7-4.7 4.7-12.3 0-17zM208 384c-97.3 0-176-78.7-176-176S110.7 32 208 32s176 78.7 176 176-78.7 176-176 176z'/%3E%3C/svg%3E")}html #root #wrap_all header.scrolled .theme-dark nav ul.menu li a,html #root #wrap_all header.scrolled .theme-light nav ul.menu li a{color:#000000 !important}html #root #wrap_all header.scrolled .theme-dark nav ul.menu li a:before,html #root #wrap_all header.scrolled .theme-light nav ul.menu li a:before{background-color:#000000 !important}html #root #wrap_all header.scrolled .theme-dark nav .meta-menu-container ul.menu li a,html #root #wrap_all header.scrolled .theme-light nav .meta-menu-container ul.menu li a{color:#FF6C0E !important}html #root #wrap_all header.scrolled .theme-dark nav .meta-menu-container ul.menu li a:hover:before,html #root #wrap_all header.scrolled .theme-light nav .meta-menu-container ul.menu li a:hover:before{width:11px;height:11px;background-color:#FF6C0E !important}html #root #wrap_all header.scrolled .theme-dark nav .meta-menu-container ul.menu li.current-menu-item a,html #root #wrap_all header.scrolled .theme-light nav .meta-menu-container ul.menu li.current-menu-item a{font-weight:700;color:#FF6C0E !important}html #root #wrap_all header.scrolled .theme-dark nav .meta-menu-container ul.menu li.current-menu-item a:before,html #root #wrap_all header.scrolled .theme-light nav .meta-menu-container ul.menu li.current-menu-item a:before{width:11px;height:11px;background-color:#FF6C0E !important}@media only screen and (max-width: 64rem){html #root #wrap_all #main-menu-container.theme-dark .container .responsive-menu>button{background-image:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='36px' height='22px' viewBox='0 0 36 22' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3EGroup%3C/title%3E%3Cg id='📱-Mobile' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Artboard' transform='translate(-355.000000, -23.000000)' fill='%23000'%3E%3Cg id='Group' transform='translate(355.000000, 23.000000)'%3E%3Cg id='Nav'%3E%3Cpolygon id='Fill-1' points='0 0 0 7.80645161 7.76470588 7.80645161'%3E%3C/polygon%3E%3Cpolygon id='Fill-1-Copy' points='0 14.1935484 0 22 7.76470588 22'%3E%3C/polygon%3E%3C/g%3E%3Cg id='Nav-Copy' transform='translate(14.117647, 0.000000)'%3E%3Cpolygon id='Fill-1' points='0 0 0 7.80645161 7.76470588 7.80645161'%3E%3C/polygon%3E%3Cpolygon id='Fill-1-Copy' points='0 14.1935484 0 22 7.76470588 22'%3E%3C/polygon%3E%3C/g%3E%3Cg id='Nav-Copy-2' transform='translate(28.235294, 0.000000)'%3E%3Cpolygon id='Fill-1' points='0 0 0 7.80645161 7.76470588 7.80645161'%3E%3C/polygon%3E%3Cpolygon id='Fill-1-Copy' points='0 14.1935484 0 22 7.76470588 22'%3E%3C/polygon%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}html #root #wrap_all #main-menu-container.theme-dark .container .responsive-menu>button .icon,html #root #wrap_all #main-menu-container.theme-dark .container .responsive-menu>button .icon::before,html #root #wrap_all #main-menu-container.theme-dark .container .responsive-menu>button .icon::after{background-color:#000}html #root.responsive-menu-active #wrap_all #main-menu-container.theme-dark .container .responsive-menu>button .icon::before,html #root.responsive-menu-active #wrap_all #main-menu-container.theme-dark .container .responsive-menu>button .icon::after{background-color:#fff}html #root #wrap_all #main-menu-container .open .menu-item-title{clip-path:inherit;clip:initial;width:100%;height:auto;position:relative;right:30px;margin:0;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:0.5px;line-height:1.2;color:#FEFEFE;display:none}html #root #wrap_all #main-menu-container .open .menu-item-title.sr-only{display:none}html #root #wrap_all #main-menu-container .container .responsive-menu>button.open{background-image:none;width:auto;right:20px}html #root #wrap_all #main-menu-container .container .responsive-menu>button.open .icon{display:block}html #root #wrap_all #main-menu-container .container>.logo-container a img{width:104px;height:auto}html #root #wrap_all #main-menu-container .container .menu li:last-child a{font-size:15px !important}html #root #wrap_all #main-menu-container .container nav{width:auto !important;height:100%;overflow-x:hidden;overflow-y:auto;align-items:flex-start !important}html #root #wrap_all #main-menu-container .container .main-menu-container>.menu{display:none !important}html #root #wrap_all #main-menu-container .container .responsive-menu .menu-toggle.open .icon{background-color:transparent}html #root #wrap_all #main-menu-container .container .responsive-menu .menu-toggle.open .icon:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);margin-top:-8px}html #root #wrap_all #main-menu-container .container .responsive-menu .menu-toggle.open .icon:before{-webkit-transform:rotate(45deg);transform:rotate(45deg);top:0}html #root #wrap_all #main-menu-container .container .responsive-menu>button{position:absolute;right:35px;top:6px;z-index:99;background-color:transparent;border:0;padding:0;width:auto;height:44px;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;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-image:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='36px' height='22px' viewBox='0 0 36 22' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3EGroup%3C/title%3E%3Cg id='📱-Mobile' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Artboard' transform='translate(-355.000000, -23.000000)' fill='%23fff'%3E%3Cg id='Group' transform='translate(355.000000, 23.000000)'%3E%3Cg id='Nav'%3E%3Cpolygon id='Fill-1' points='0 0 0 7.80645161 7.76470588 7.80645161'%3E%3C/polygon%3E%3Cpolygon id='Fill-1-Copy' points='0 14.1935484 0 22 7.76470588 22'%3E%3C/polygon%3E%3C/g%3E%3Cg id='Nav-Copy' transform='translate(14.117647, 0.000000)'%3E%3Cpolygon id='Fill-1' points='0 0 0 7.80645161 7.76470588 7.80645161'%3E%3C/polygon%3E%3Cpolygon id='Fill-1-Copy' points='0 14.1935484 0 22 7.76470588 22'%3E%3C/polygon%3E%3C/g%3E%3Cg id='Nav-Copy-2' transform='translate(28.235294, 0.000000)'%3E%3Cpolygon id='Fill-1' points='0 0 0 7.80645161 7.76470588 7.80645161'%3E%3C/polygon%3E%3Cpolygon id='Fill-1-Copy' points='0 14.1935484 0 22 7.76470588 22'%3E%3C/polygon%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");width:55px;height:55px;background-repeat:no-repeat;background-size:60%;background-position:center}html #root #wrap_all #main-menu-container .container .responsive-menu>button .icon{position:absolute;background-color:#ffffff;width:22px;height:1px;display:none}html #root #wrap_all #main-menu-container .container .responsive-menu>button .icon:before,html #root #wrap_all #main-menu-container .container .responsive-menu>button .icon:after{content:"";height:1px;width:22px;position:absolute;left:0;background-color:#ffffff;-webkit-transition:0.3s ease-in-out;transition:0.3s ease-in-out}html #root #wrap_all #main-menu-container .container .responsive-menu>button .icon:before{top:-8px}html #root #wrap_all #main-menu-container .container .responsive-menu>button .icon:after{top:8px}html #root #wrap_all #main-menu-container .container .responsive-menu>button .menu-item-title.close{display:none}html #root #wrap_all #main-menu-container .container .responsive-menu>button.open .menu-item-title.close{display:block}html #root #wrap_all #main-menu-container .container .responsive-menu .responsive-menu-container{position:absolute;height:100vh;top:0;background-color:#000;padding:120px 20px 50px;width:420px;right:-100% !important;display:block;margin-right:0;-webkit-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out;opacity:0}html #root #wrap_all #main-menu-container .container .responsive-menu .responsive-menu-container.open{right:0 !important;opacity:1}html #root #wrap_all #main-menu-container .container .responsive-menu .responsive-menu-container .logo-container{display:block;position:absolute;top:26px}html #root #wrap_all #main-menu-container .container .responsive-menu .responsive-menu-container .logo-container img{width:104px;height:auto}html #root #wrap_all #main-menu-container .container .responsive-menu .responsive-menu-container .menu{-ms-flex-wrap:wrap;flex-wrap:wrap}html #root #wrap_all #main-menu-container .container .responsive-menu .responsive-menu-container .menu li.menu-item{width:100%;height:auto;margin:0 0 15px;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:flex-start;-ms-flex-pack:flex-start;justify-content:flex-start}html #root #wrap_all #main-menu-container .container .responsive-menu .responsive-menu-container .menu li.menu-item:last-child{margin:0}html #root #wrap_all #main-menu-container .container .responsive-menu .responsive-menu-container .menu li.menu-item a,html #root #wrap_all #main-menu-container .container .responsive-menu .responsive-menu-container .menu li.menu-item button{font-size:18px !important;color:#E0E0E0 !important;position:relative;background-color:transparent;border:0;padding:0;text-decoration:none;margin:0 !important}html #root #wrap_all #main-menu-container .container .responsive-menu .responsive-menu-container .menu li.menu-item a::before,html #root #wrap_all #main-menu-container .container .responsive-menu .responsive-menu-container .menu li.menu-item button::before{content:none}html #root #wrap_all #main-menu-container .container .responsive-menu .responsive-menu-container .menu li.menu-item a:hover,html #root #wrap_all #main-menu-container .container .responsive-menu .responsive-menu-container .menu li.menu-item button:hover{color:#00C99E}html #root #wrap_all #main-menu-container .container .responsive-menu .responsive-menu-container .menu li.menu-item.current-menu-item a,html #root #wrap_all #main-menu-container .container .responsive-menu .responsive-menu-container .menu li.menu-item.current-menu-item button{color:#00C99E}html #root #wrap_all #main-menu-container .container .responsive-menu .responsive-menu-container .menu li.menu-item .sub-menu{position:static !important;padding-left:25px !important;width:100%;border-left:2px solid #E0E0E0;margin:25px 0 0 !important;display:none !important}html #root #wrap_all #main-menu-container .container .responsive-menu .responsive-menu-container .menu li.menu-item .sub-menu.open{display:block !important}html #root #wrap_all #main-menu-container .container .responsive-menu .responsive-menu-container .menu li.menu-item.menu-item-has-children button:before{position:absolute;right:-30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' data-prefix='fal' data-icon='chevron-right' class='svg-inline--fa fa-chevron-right fa-w-8' role='img' viewBox='0 0 256 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%3Cpath fill='%23ffffff' d='M17.525 36.465l-7.071 7.07c-4.686 4.686-4.686 12.284 0 16.971L205.947 256 10.454 451.494c-4.686 4.686-4.686 12.284 0 16.971l7.071 7.07c4.686 4.686 12.284 4.686 16.97 0l211.051-211.05c4.686-4.686 4.686-12.284 0-16.971L34.495 36.465c-4.686-4.687-12.284-4.687-16.97 0z'/%3E%3C/svg%3E");content:" ";top:4px;width:14px;height:14px;background-repeat:no-repeat;background-size:cover;background-position:center center}html #root #wrap_all #main-menu-container .container .responsive-menu .responsive-menu-container .menu li.menu-item.menu-item-has-children button[aria-expanded="true"]:before{transform:rotate(180deg)}html #root #wrap_all #main-menu-container .container .responsive-menu .responsive-menu-container .search{display:block;width:100%;margin-bottom:15px}html #root #wrap_all #main-menu-container .container .responsive-menu .responsive-menu-container .search .icon.magnifying{margin:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' data-prefix='fal' data-icon='search' class='svg-inline--fa fa-search fa-w-16' role='img' 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%3Cpath fill='%23ffffff' d='M508.5 481.6l-129-129c-2.3-2.3-5.3-3.5-8.5-3.5h-10.3C395 312 416 262.5 416 208 416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c54.5 0 104-21 141.1-55.2V371c0 3.2 1.3 6.2 3.5 8.5l129 129c4.7 4.7 12.3 4.7 17 0l9.9-9.9c4.7-4.7 4.7-12.3 0-17zM208 384c-97.3 0-176-78.7-176-176S110.7 32 208 32s176 78.7 176 176-78.7 176-176 176z'/%3E%3C/svg%3E");background-position:center;background-size:20px;background-repeat:no-repeat}html #root #wrap_all #main-menu-container .container .responsive-menu .responsive-menu-container .meta-menu-container{display:block}html #root #wrap_all #main-menu-container .container .responsive-menu .responsive-menu-container .meta-menu-container ul.menu li a{color:#FF6C0E !important}html #root #wrap_all #main-menu-container .container .responsive-menu .responsive-menu-container .meta-menu-container ul.menu li a:hover{color:#E0E0E0 !important}html #root #wrap_all #main-menu-container .container .responsive-menu .responsive-menu-container .meta-menu-container ul.menu li.current-menu-item a{font-weight:700;color:#FF6C0E !important}html #root #wrap_all #header .container nav .button-wrap{margin-left:0;margin-right:50px}html #root #wrap_all #header .container nav .button-wrap a{font-size:12px;padding:10px 6px}}@media only screen and (max-width: 64rem) and only screen and (max-width: 63.9375rem){html #root #wrap_all #main-menu-container .container{padding:static}}@media only screen and (max-width: 64rem) and only screen and (max-width: 71.1875rem){html #root #wrap_all #main-menu-container .container .responsive-menu{display:none}}@media only screen and (max-width: 64rem) and only screen and (max-width: 63.9375rem){html #root #wrap_all #main-menu-container .container .responsive-menu{display:block}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main-menu-container .container .responsive-menu>button{right:15px}}@media only screen and (max-width: 29.9375rem){html #root #wrap_all #main-menu-container .container .responsive-menu .responsive-menu-container{width:100%}}@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-bold.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-bold.woff") format("woff");font-weight:800;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-light.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-medium.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-medium.woff") format("woff");font-weight:600;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-regular.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-regular.woff") format("woff");font-weight:400;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:MortiseX;src:local(MortiseX), url("../draadcore-child/fonts/Mortise/mortise-x-bold.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-x-bold.woff") format("woff");font-weight:800;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:MortiseX;src:local(MortiseX), url("../draadcore-child/fonts/Mortise/mortise-x-light.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-x-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-bold.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-bold.woff") format("woff");font-weight:700;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-light.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-medium.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-medium.woff") format("woff");font-weight:600;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-regular.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-regular.woff") format("woff");font-weight:400;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:TenonX;src:local(TenonX), url("../draadcore-child/fonts/TenonX/tenon-x-bold.woff2") format("woff2"), url("../draadcore-child/fonts/TenonX/tenon-x-bold.woff") format("woff");font-weight:700;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:TenonX;src:local(TenonX), url("../draadcore-child/fonts/TenonX/tenon-x-light.woff2") format("woff2"), url("../draadcore-child/fonts/TenonX/tenon-x-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}@media only screen and (max-width: 47.9375rem){html #root.single-news #wrap_all header .logo-container{margin-top:4px !important}}html #root.single-news #wrap_all header .logo-container .logo-dark{display:none}html #root.single-news #wrap_all blockquote{margin:0 0 15px;font-family:'Mortise', sans-serif;font-size:24px;line-height:1.6}html #root.single-news #wrap_all blockquote p{font-family:'Mortise', sans-serif !important;font-size:24px !important;line-height:1.6 !important}@media only screen and (max-width: 71.1875rem){html #root.single-news #wrap_all blockquote p{font-size:20px !important}}@media only screen and (max-width: 63.9375rem){html #root.single-news #wrap_all blockquote p{font-size:18px !important}}html #root.single-news #wrap_all blockquote::before,html #root.single-news #wrap_all blockquote::after{content:"";background-image:url("data:image/svg+xml,%0A%3Csvg width='37px' height='39px' viewBox='0 0 37 39' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg id='🖥-Desktop' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='single-case' transform='translate(-159.000000, -1351.000000)' stroke='%23000' stroke-width='1.5'%3E%3Cg id='quote-open' transform='translate(160.000000, 1352.000000)'%3E%3Cpolyline id='Path-3' points='0 37 17 18 0 0'%3E%3C/polyline%3E%3Cpolyline id='Path-3-Copy' points='17 37 34 18 17 0'%3E%3C/polyline%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");width:18px;height:18px;background-size:contain;display:inline-block;background-repeat:no-repeat;-webkit-transform:rotate(180deg);transform:rotate(180deg)}html #root.single-news #wrap_all blockquote::before{margin-bottom:0}html #root.single-news #wrap_all blockquote::after{margin-top:12px;-webkit-transform:rotate(0);transform:rotate(0)}html #root.single-news #wrap_all #main div.desktop_single_image[role='banner']{height:600px;background-repeat:no-repeat;background-size:cover;background-position:top center;position:relative;max-width:1920px;margin:auto}@media only screen and (max-width: 63.9375rem){html #root.single-news #wrap_all #main div.desktop_single_image[role='banner']{height:500px;margin-top:60px}}@media only screen and (max-width: 56.1875rem){html #root.single-news #wrap_all #main div.desktop_single_image[role='banner']{height:300px}}html #root.single-news #wrap_all #main div.desktop_single_image[role='banner']:before{position:absolute;left:0;top:0;height:100%;width:100%;content:'';background:linear-gradient(180deg, rgba(0, 0, 0, 0.59) 0%, rgba(0, 0, 0, 0) 100%)}html #root.single-news #wrap_all #main div.desktop_single_image[role='banner'] .video-container{height:100%}html #root.single-news #wrap_all #main div.desktop_single_image[role='banner'] .video-container iframe{width:100%;height:100%}html #root.single-news #wrap_all #main div.desktop_single_image[role='banner'] .video-container{display:grid;place-items:center;overflow:hidden;position:relative;isolation:isolate}html #root.single-news #wrap_all #main div.desktop_single_image[role='banner'] .video-container iframe{width:100%;height:auto;aspect-ratio:1.7777777778;position:absolute;top:50%;transform:translateY(-50%);pointer-events:none}html #root.single-news #wrap_all #main div.mobile_single_image{display:none}@media only screen and (max-width: 29.9375rem){html #root.single-news #wrap_all #main div.mobile_single_image{display:block;margin-top:60px}html #root.single-news #wrap_all #main div.mobile_single_image img{width:100%;height:auto}}html #root.single-news #wrap_all #main .share{position:fixed;right:68px;top:280px;z-index:1}@media only screen and (max-width: 63.9375rem){html #root.single-news #wrap_all #main .share{top:120px;right:30px}}html #root.single-news #wrap_all #main .share a{margin:3px 0;height:36px;width:36px;border-radius:100%;background-color:#000000;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}html #root.single-news #wrap_all #main .share a .icon{background-position:center center;background-repeat:no-repeat;background-size:contain}@media only screen and (max-width: 47.9375rem){html #root.single-news #wrap_all #main .share a .icon{background-size:15px}}html #root.single-news #wrap_all #main .share a .icon.twitter{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3C!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--%3E%3Cpath fill='%23ffffff' d='M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z'/%3E%3C/svg%3E")}html #root.single-news #wrap_all #main .share a .icon.instagram{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' data-prefix='fab' data-icon='instagram' class='svg-inline--fa fa-instagram fa-w-14' role='img' 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%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.single-news #wrap_all #main .share a .icon.linkedin{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' data-prefix='fab' data-icon='linkedin-in' class='svg-inline--fa fa-linkedin-in fa-w-14' role='img' 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%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.single-news #wrap_all #main .share a:hover{background-color:#E83530}html #root.single-news #wrap_all #main section.textblock{padding:100px 0}@media only screen and (max-width: 71.1875rem){html #root.single-news #wrap_all #main section.textblock{padding:70px 0 40px}}@media only screen and (max-width: 47.9375rem){html #root.single-news #wrap_all #main section.textblock{padding:45px 0}}html #root.single-news #wrap_all #main section.textblock .container{margin:0 auto}html #root.single-news #wrap_all #main section.textblock .container .column.full{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 0 80px}@media only screen and (max-width: 71.1875rem){html #root.single-news #wrap_all #main section.textblock .container .column.full{margin:0 0 50px}}@media only screen and (max-width: 47.9375rem){html #root.single-news #wrap_all #main section.textblock .container .column.full{margin:0 0 30px}}html #root.single-news #wrap_all #main section.textblock .container .column.full .eyebrow{order:-1;display:inline-block;width:100%;margin:0 0 30px}@media only screen and (max-width: 47.9375rem){html #root.single-news #wrap_all #main section.textblock .container .column.full .eyebrow{margin:0 0 15px}}html #root.single-news #wrap_all #main section.textblock .container .column.full h1{font-size:60px;font-weight:300;line-height:1.25;font-family:'Mortise', sans-serif;max-width:770px;width:100%}@media only screen and (max-width: 63.9375rem){html #root.single-news #wrap_all #main section.textblock .container .column.full h1{font-size:40px}}@media only screen and (max-width: 47.9375rem){html #root.single-news #wrap_all #main section.textblock .container .column.full h1{font-size:25px}}@media only screen and (max-width: 47.9375rem){html #root.single-news #wrap_all #main section.textblock .container .column.one-third{margin:0 0 45px}}html #root.single-news #wrap_all #main section.textblock .container .column.one-third .post-date{font-size:19px;font-weight:bold;letter-spacing:1px;color:#1D1D1B;display:inline-block;width:100%;margin:0 0 8px}@media only screen and (max-width: 47.9375rem){html #root.single-news #wrap_all #main section.textblock .container .column.one-third .post-date{font-size:12px}}html #root.single-news #wrap_all #main section.textblock .container .column.one-third .post-writer{font-size:19px;font-weight:bold;letter-spacing:1px;color:#1D1D1B;display:inline-block;width:100%;margin:0 0 35px}@media only screen and (max-width: 47.9375rem){html #root.single-news #wrap_all #main section.textblock .container .column.one-third .post-writer{font-size:12px}}html #root.single-news #wrap_all #main section.textblock .container .column.one-third .post-writer .image-container{margin:30px 0 0;position:relative;width:125px;height:125px}@media only screen and (max-width: 47.9375rem){html #root.single-news #wrap_all #main section.textblock .container .column.one-third .post-writer .image-container{height:116px;width:116px}}html #root.single-news #wrap_all #main section.textblock .container .column.one-third .post-writer .image-container img{vertical-align:top;position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);min-width:100%;min-height:100%;max-width:inherit;max-height:inherit;height:auto;width:auto}html #root.single-news #wrap_all #main section.textblock .container .column.one-third .post-tags .topics{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}html #root.single-news #wrap_all #main section.textblock .container .column.one-third .post-tags .topics .topic{background-color:#ececeb;color:#636362;padding:6px 12px 8px;font-size:20px;letter-spacing:-0.02px;display:inline-block;width:auto;margin:5px 10px 5px 0;font-weight:300}@media only screen and (max-width: 47.9375rem){html #root.single-news #wrap_all #main section.textblock .container .column.one-third .post-tags .topics .topic{font-size:15px;padding:5px 9px 6px;margin:4px 8px 4px 0}}html #root.single-news #wrap_all #main section.textblock .container .column.one-third .post-tags .topics .topic.primary{-webkit-box-ordinal-group:-1;-moz-box-ordinal-group:-1;-ms-flex-order:-1;-webkit-order:-1;order:-1}html #root.single-news #wrap_all #main section.textblock .container .column.two-third{padding-left:100px}@media only screen and (max-width: 71.1875rem){html #root.single-news #wrap_all #main section.textblock .container .column.two-third{padding-left:70px}}@media only screen and (max-width: 63.9375rem){html #root.single-news #wrap_all #main section.textblock .container .column.two-third{padding-left:30px}}@media only screen and (max-width: 47.9375rem){html #root.single-news #wrap_all #main section.textblock .container .column.two-third{padding:0}}html #root.single-news #wrap_all #main section.textblock .container .column.two-third p{line-height:2;margin:0 0 15px}@media only screen and (max-width: 47.9375rem){html #root.single-news #wrap_all #main section.textblock .container .column.two-third p{line-height:1.8;margin:0 0 20px}}html #root.single-news #wrap_all #main section.textblock .container .column.two-third p:last-child{margin:0}html #root.single-news #wrap_all #main section.textblock .container .column.two-third ol{padding:0;counter-reset:item;margin:0 0 30px}html #root.single-news #wrap_all #main section.textblock .container .column.two-third ol li{font-style:normal;font-size:20px;font-family:'Tenon', sans-serif;color:#000;margin:0 0 25px;width:100%;display:block;position:relative;padding:0 0 0 30px}html #root.single-news #wrap_all #main section.textblock .container .column.two-third ol li:last-child{margin:0}html #root.single-news #wrap_all #main section.textblock .container .column.two-third ol li::marker{font-size:0;display:none}html #root.single-news #wrap_all #main section.textblock .container .column.two-third ol li:before{content:counters(item, '.') '.';counter-increment:item;position:absolute;margin-right:100%;right:10px;font-size:20px;font-weight:bold;color:#00C99E;line-height:1;position:absolute;left:0;top:4px}html #root.single-news #wrap_all #main section.textblock .container .column.two-third h2{font-size:45px;margin:60px 0 30px}@media only screen and (max-width: 47.9375rem){html #root.single-news #wrap_all #main section.textblock .container .column.two-third h2{margin-top:30px;font-size:27px}}html #root.single-news #wrap_all #main section.textblock .container .column.two-third figure{margin:0;max-width:100%}@media only screen and (max-width: 47.9375rem){html #root.single-news #wrap_all #main section.textblock .container .column.two-third figure img{width:100%;margin:0}}html #root.single-news #wrap_all #main section.textblock .container .column.two-third img{vertical-align:top;height:auto;max-width:100%}@media only screen and (max-width: 47.9375rem){html #root.single-news #wrap_all #main section.textblock .container .column.two-third img{margin:10px 0 10px -20px;width:calc(100% + 40px)}}html #root.single-news #wrap_all #main section.related-articles{padding:100px 0}@media only screen and (max-width: 71.1875rem){html #root.single-news #wrap_all #main section.related-articles{padding:70px 0 60px}}@media only screen and (max-width: 47.9375rem){html #root.single-news #wrap_all #main section.related-articles{padding:40px 0 50px}}html #root.single-news #wrap_all #main section.related-articles span.eyebrow{font-weight:bold;margin:0 0 40px}@media only screen and (max-width: 47.9375rem){html #root.single-news #wrap_all #main section.related-articles span.eyebrow{margin:0 0 30px}}html #root.single-news #wrap_all #main section.related-articles .column.full{min-width:100%;max-width:100%;margin:0}html #root.single-news #wrap_all #main section.related-articles .column.full .grid-container{width:calc(100% + (18px * 2));margin:-18px}@media only screen and (max-width: 47.9375rem){html #root.single-news #wrap_all #main section.related-articles .column.full .grid-container{margin:0;width:100%}}html #root.single-news #wrap_all #main section.related-articles .column.full .grid-container .column{margin:18px;min-width:calc(33.333% - (18px * 2));max-width:calc(33.333% - (18px * 2))}@media only screen and (max-width: 63.9375rem){html #root.single-news #wrap_all #main section.related-articles .column.full .grid-container .column{min-width:calc(50% - (18px * 2));max-width:calc(50% - (18px * 2))}}@media only screen and (max-width: 47.9375rem){html #root.single-news #wrap_all #main section.related-articles .column.full .grid-container .column{min-width:100%;max-width:100%;margin:0 0 40px}}html #root.single-news #wrap_all #main section.related-articles .column.full .grid-container .column .entry-image{position:relative;width:100%;padding-bottom:59%;margin:0 0 35px}@media only screen and (max-width: 63.9375rem){html #root.single-news #wrap_all #main section.related-articles .column.full .grid-container .column .entry-image{margin:0 0 28px}}@media only screen and (max-width: 47.9375rem){html #root.single-news #wrap_all #main section.related-articles .column.full .grid-container .column .entry-image{margin:0 0 20px}}html #root.single-news #wrap_all #main section.related-articles .column.full .grid-container .column .entry-image img{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);min-width:100%;min-height:100%;max-width:100%;max-height:100%;height:auto}html #root.single-news #wrap_all #main section.related-articles .column.full .grid-container .column .entry-info .entry-label{margin:0 0 10px}html #root.single-news #wrap_all #main section.related-articles .column.full .grid-container .column .entry-info .entry-label span{font-size:14px;font-weight:bold;letter-spacing:0.1px;font-family:'Tenon', sans-serif;color:#1D1D1B;text-transform:uppercase}@media only screen and (max-width: 47.9375rem){html #root.single-news #wrap_all #main section.related-articles .column.full .grid-container .column .entry-info .entry-label span{font-size:12px}}html #root.single-news #wrap_all #main section.related-articles .column.full .grid-container .column .entry-info .entry-heading{margin:0 0 32px}@media only screen and (max-width: 63.9375rem){html #root.single-news #wrap_all #main section.related-articles .column.full .grid-container .column .entry-info .entry-heading{margin:0 0 20px}}@media only screen and (max-width: 47.9375rem){html #root.single-news #wrap_all #main section.related-articles .column.full .grid-container .column .entry-info .entry-heading{margin:0 0 13px}}html #root.single-news #wrap_all #main section.related-articles .column.full .grid-container .column .entry-info .entry-heading h3{font-size:28px;font-weight:500;letter-spacing:-0.15px;font-family:'Mortise', sans-serif;color:#1D1D1B;line-height:1.07;margin:0}@media only screen and (max-width: 71.1875rem){html #root.single-news #wrap_all #main section.related-articles .column.full .grid-container .column .entry-info .entry-heading h3{font-size:26px}}@media only screen and (max-width: 63.9375rem){html #root.single-news #wrap_all #main section.related-articles .column.full .grid-container .column .entry-info .entry-heading h3{font-size:24px}}@media only screen and (max-width: 47.9375rem){html #root.single-news #wrap_all #main section.related-articles .column.full .grid-container .column .entry-info .entry-heading h3{font-size:21px;line-height:1.4}}html #root.single-news #wrap_all #main section.related-articles .column.full .grid-container .column .entry-info .entry-content p{font-size:18px;letter-spacing:-0.02px;font-family:'Tenon', sans-serif;color:#1D1D1B;font-weight:300;margin:0}@media only screen and (max-width: 47.9375rem){html #root.single-news #wrap_all #main section.related-articles .column.full .grid-container .column .entry-info .entry-content p{font-size:16px}}html #root.single-news #wrap_all #main section.related-articles .column.full .button-row{margin-top:80px}@media only screen and (max-width: 63.9375rem){html #root.single-news #wrap_all #main section.related-articles .column.full .button-row{margin-top:50px}}@media only screen and (max-width: 47.9375rem){html #root.single-news #wrap_all #main section.related-articles .column.full .button-row{margin:0}}html #root.single-news #wrap_all #main section.related-articles .column.full .button-row .button{background-color:transparent;color:#00C389;position:relative;display:inline-block;padding-right:40px;font-weight:bold}@media only screen and (max-width: 47.9375rem){html #root.single-news #wrap_all #main section.related-articles .column.full .button-row .button{font-size:12px;padding-right:25px}}html #root.single-news #wrap_all #main section.related-articles .column.full .button-row .button:before{position:absolute;width:28px;height:54px;right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' data-prefix='fal' data-icon='chevron-right' class='svg-inline--fa fa-chevron-right fa-w-8' role='img' viewBox='0 0 256 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%3Cpath fill='%2300C389' d='M17.525 36.465l-7.071 7.07c-4.686 4.686-4.686 12.284 0 16.971L205.947 256 10.454 451.494c-4.686 4.686-4.686 12.284 0 16.971l7.071 7.07c4.686 4.686 12.284 4.686 16.97 0l211.051-211.05c4.686-4.686 4.686-12.284 0-16.971L34.495 36.465c-4.686-4.687-12.284-4.687-16.97 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right center;content:''}@media only screen and (max-width: 47.9375rem){html #root.single-news #wrap_all #main section.related-articles .column.full .button-row .button:before{width:16px;height:31px}}html #root.single-news #wrap_all #main section.related-articles .column.full .button-row .button:hover{padding-right:50px}@media only screen and (max-width: 47.9375rem){html #root.single-news #wrap_all #main section.related-articles .column.full .button-row .button:hover{padding-right:35px}}@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-bold.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-bold.woff") format("woff");font-weight:800;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-light.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-medium.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-medium.woff") format("woff");font-weight:600;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-regular.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-regular.woff") format("woff");font-weight:400;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:MortiseX;src:local(MortiseX), url("../draadcore-child/fonts/Mortise/mortise-x-bold.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-x-bold.woff") format("woff");font-weight:800;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:MortiseX;src:local(MortiseX), url("../draadcore-child/fonts/Mortise/mortise-x-light.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-x-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-bold.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-bold.woff") format("woff");font-weight:700;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-light.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-medium.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-medium.woff") format("woff");font-weight:600;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-regular.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-regular.woff") format("woff");font-weight:400;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:TenonX;src:local(TenonX), url("../draadcore-child/fonts/TenonX/tenon-x-bold.woff2") format("woff2"), url("../draadcore-child/fonts/TenonX/tenon-x-bold.woff") format("woff");font-weight:700;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:TenonX;src:local(TenonX), url("../draadcore-child/fonts/TenonX/tenon-x-light.woff2") format("woff2"), url("../draadcore-child/fonts/TenonX/tenon-x-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-bold.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-bold.woff") format("woff");font-weight:800;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-light.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-medium.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-medium.woff") format("woff");font-weight:600;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-regular.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-regular.woff") format("woff");font-weight:400;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:MortiseX;src:local(MortiseX), url("../draadcore-child/fonts/Mortise/mortise-x-bold.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-x-bold.woff") format("woff");font-weight:800;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:MortiseX;src:local(MortiseX), url("../draadcore-child/fonts/Mortise/mortise-x-light.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-x-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-bold.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-bold.woff") format("woff");font-weight:700;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-light.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-medium.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-medium.woff") format("woff");font-weight:600;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-regular.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-regular.woff") format("woff");font-weight:400;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:TenonX;src:local(TenonX), url("../draadcore-child/fonts/TenonX/tenon-x-bold.woff2") format("woff2"), url("../draadcore-child/fonts/TenonX/tenon-x-bold.woff") format("woff");font-weight:700;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:TenonX;src:local(TenonX), url("../draadcore-child/fonts/TenonX/tenon-x-light.woff2") format("woff2"), url("../draadcore-child/fonts/TenonX/tenon-x-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}html #root #wrap_all #main .section.testimonial .container,html #root #wrap_all #main section.testimonial .container{margin:0 auto;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:1920px}@media only screen and (max-width: 119.9375rem){html #root #wrap_all #main .section.testimonial .container,html #root #wrap_all #main section.testimonial .container{max-width:100%}}@media only screen and (max-width: 63.9375rem){html #root #wrap_all #main .section.testimonial .container,html #root #wrap_all #main section.testimonial .container{padding:100px 20px}}html #root #wrap_all #main .section.testimonial .container .column.one-half,html #root #wrap_all #main section.testimonial .container .column.one-half{margin-bottom:0;margin-top:0}@media only screen and (max-width: 119.9375rem){html #root #wrap_all #main .section.testimonial .container .column.one-half,html #root #wrap_all #main section.testimonial .container .column.one-half{max-width:50%;min-width:50%}}@media only screen and (max-width: 63.9375rem){html #root #wrap_all #main .section.testimonial .container .column.one-half,html #root #wrap_all #main section.testimonial .container .column.one-half{min-width:100%;max-width:100%;margin:0;padding:140px 0 60px}}html #root #wrap_all #main .section.testimonial .container .column.one-half:first-child,html #root #wrap_all #main section.testimonial .container .column.one-half:first-child{padding-left:160px}@media only screen and (max-width: 119.9375rem){html #root #wrap_all #main .section.testimonial .container .column.one-half:first-child,html #root #wrap_all #main section.testimonial .container .column.one-half:first-child{margin:0;padding:30px}}html #root #wrap_all #main .section.testimonial .container .column.one-half:last-child,html #root #wrap_all #main section.testimonial .container .column.one-half:last-child{margin:0}@media only screen and (max-width: 63.9375rem){html #root #wrap_all #main .section.testimonial .container .column.one-half:last-child,html #root #wrap_all #main section.testimonial .container .column.one-half:last-child{display:none}}html #root #wrap_all #main .section.testimonial .container .column.one-half .content,html #root #wrap_all #main section.testimonial .container .column.one-half .content{max-width:580px;width:100%}@media only screen and (max-width: 63.9375rem){html #root #wrap_all #main .section.testimonial .container .column.one-half .content,html #root #wrap_all #main section.testimonial .container .column.one-half .content{max-width:100%}}html #root #wrap_all #main .section.testimonial .container .column.one-half .content p,html #root #wrap_all #main section.testimonial .container .column.one-half .content p{color:#ffffff;font-family:'Mortise', sans-serif;font-size:28px;font-weight:500;letter-spacing:-0.15px;line-height:1.4;margin:0 0 110px;position:relative}@media only screen and (max-width: 71.1875rem){html #root #wrap_all #main .section.testimonial .container .column.one-half .content p,html #root #wrap_all #main section.testimonial .container .column.one-half .content p{font-size:25px}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .section.testimonial .container .column.one-half .content p,html #root #wrap_all #main section.testimonial .container .column.one-half .content p{font-size:21px;margin:0 0 90px}}html #root #wrap_all #main .section.testimonial .container .column.one-half .content p:first-child:before,html #root #wrap_all #main section.testimonial .container .column.one-half .content p:first-child:before{position:absolute;left:0;top:-70px;background-image:url("data:image/svg+xml,%0A%3Csvg width='37px' height='39px' viewBox='0 0 37 39' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='single-case' transform='translate(-159.000000, -2445.000000)' stroke='%23ffffff' stroke-width='1.5'%3E%3Cg id='Group-6' transform='translate(160.000000, 2446.000000)'%3E%3Cpolyline id='Path-3' points='0 37 17 18 0 0'%3E%3C/polyline%3E%3Cpolyline id='Path-3-Copy' points='17 37 34 18 17 0'%3E%3C/polyline%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");background-position:center center;background-repeat:no-repeat;background-size:contain;content:"";width:34px;height:37px}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .section.testimonial .container .column.one-half .content p:first-child:before,html #root #wrap_all #main section.testimonial .container .column.one-half .content p:first-child:before{width:24px;height:26px;top:-50px}}html #root #wrap_all #main .section.testimonial .container .column.one-half .content p:first-child:after,html #root #wrap_all #main section.testimonial .container .column.one-half .content p:first-child:after{position:absolute;left:0;bottom:-60px;background-image:url("data:image/svg+xml,%0A%3Csvg width='37px' height='39px' viewBox='0 0 37 39' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='single-case' transform='translate(-158.000000, -2836.000000)' stroke='%23ffffff' stroke-width='1.5'%3E%3Cg id='Group-7' transform='translate(160.000000, 2446.000000)'%3E%3Cg id='Group-6-Copy' transform='translate(17.000000, 409.500000) scale(-1, 1) translate(-17.000000, -409.500000) translate(0.000000, 391.000000)'%3E%3Cpolyline id='Path-3' points='0 37 17 18 0 0'%3E%3C/polyline%3E%3Cpolyline id='Path-3-Copy' points='17 37 34 18 17 0'%3E%3C/polyline%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");background-position:center center;background-repeat:no-repeat;background-size:contain;content:"";width:34px;height:37px}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .section.testimonial .container .column.one-half .content p:first-child:after,html #root #wrap_all #main section.testimonial .container .column.one-half .content p:first-child:after{width:24px;height:26px;bottom:-50px}}html #root #wrap_all #main .section.testimonial .container .column.one-half .content .name,html #root #wrap_all #main section.testimonial .container .column.one-half .content .name{text-transform:uppercase;letter-spacing:1.8px;font-size:18px;margin:0;font-weight:bold;font-family:'Tenon', sans-serif}@media only screen and (max-width: 71.1875rem){html #root #wrap_all #main .section.testimonial .container .column.one-half .content .name,html #root #wrap_all #main section.testimonial .container .column.one-half .content .name{font-size:16px}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .section.testimonial .container .column.one-half .content .name,html #root #wrap_all #main section.testimonial .container .column.one-half .content .name{font-size:14px}}html #root #wrap_all #main .section.testimonial .container .column.one-half .content .function,html #root #wrap_all #main section.testimonial .container .column.one-half .content .function{text-transform:uppercase;letter-spacing:1.8px;font-size:18px;margin:0;font-weight:normal;font-family:'Tenon', sans-serif}@media only screen and (max-width: 71.1875rem){html #root #wrap_all #main .section.testimonial .container .column.one-half .content .function,html #root #wrap_all #main section.testimonial .container .column.one-half .content .function{font-size:16px}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .section.testimonial .container .column.one-half .content .function,html #root #wrap_all #main section.testimonial .container .column.one-half .content .function{font-size:14px}}html #root #wrap_all #main .section.testimonial .container .column.one-half .post-thumbnail img,html #root #wrap_all #main section.testimonial .container .column.one-half .post-thumbnail img{vertical-align:top}html #root #wrap_all #main .section.testimonial.background-secondary .container .column.one-half .content p,html #root #wrap_all #main section.testimonial.background-secondary .container .column.one-half .content p{color:#000000}html #root #wrap_all #main .section.testimonial.background-secondary .container .column.one-half .content p:first-child:before,html #root #wrap_all #main section.testimonial.background-secondary .container .column.one-half .content p:first-child:before{background-image:url("data:image/svg+xml,%0A%3Csvg width='37px' height='39px' viewBox='0 0 37 39' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='single-case' transform='translate(-159.000000, -2445.000000)' stroke='%23000000' stroke-width='1.5'%3E%3Cg id='Group-6' transform='translate(160.000000, 2446.000000)'%3E%3Cpolyline id='Path-3' points='0 37 17 18 0 0'%3E%3C/polyline%3E%3Cpolyline id='Path-3-Copy' points='17 37 34 18 17 0'%3E%3C/polyline%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}html #root #wrap_all #main .section.testimonial.background-secondary .container .column.one-half .content p:first-child:after,html #root #wrap_all #main section.testimonial.background-secondary .container .column.one-half .content p:first-child:after{background-image:url("data:image/svg+xml,%0A%3Csvg width='37px' height='39px' viewBox='0 0 37 39' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='single-case' transform='translate(-158.000000, -2836.000000)' stroke='%23000000' stroke-width='1.5'%3E%3Cg id='Group-7' transform='translate(160.000000, 2446.000000)'%3E%3Cg id='Group-6-Copy' transform='translate(17.000000, 409.500000) scale(-1, 1) translate(-17.000000, -409.500000) translate(0.000000, 391.000000)'%3E%3Cpolyline id='Path-3' points='0 37 17 18 0 0'%3E%3C/polyline%3E%3Cpolyline id='Path-3-Copy' points='17 37 34 18 17 0'%3E%3C/polyline%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}html #root #wrap_all #main .section.testimonial.background-white .container .column.one-half .content p,html #root #wrap_all #main section.testimonial.background-white .container .column.one-half .content p{color:#000000}html #root #wrap_all #main .section.testimonial.background-white .container .column.one-half .content p:first-child:before,html #root #wrap_all #main section.testimonial.background-white .container .column.one-half .content p:first-child:before{background-image:url("data:image/svg+xml,%0A%3Csvg width='37px' height='39px' viewBox='0 0 37 39' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='single-case' transform='translate(-159.000000, -2445.000000)' stroke='%23000000' stroke-width='1.5'%3E%3Cg id='Group-6' transform='translate(160.000000, 2446.000000)'%3E%3Cpolyline id='Path-3' points='0 37 17 18 0 0'%3E%3C/polyline%3E%3Cpolyline id='Path-3-Copy' points='17 37 34 18 17 0'%3E%3C/polyline%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}html #root #wrap_all #main .section.testimonial.background-white .container .column.one-half .content p:first-child:after,html #root #wrap_all #main section.testimonial.background-white .container .column.one-half .content p:first-child:after{background-image:url("data:image/svg+xml,%0A%3Csvg width='37px' height='39px' viewBox='0 0 37 39' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='single-case' transform='translate(-158.000000, -2836.000000)' stroke='%23000000' stroke-width='1.5'%3E%3Cg id='Group-7' transform='translate(160.000000, 2446.000000)'%3E%3Cg id='Group-6-Copy' transform='translate(17.000000, 409.500000) scale(-1, 1) translate(-17.000000, -409.500000) translate(0.000000, 391.000000)'%3E%3Cpolyline id='Path-3' points='0 37 17 18 0 0'%3E%3C/polyline%3E%3Cpolyline id='Path-3-Copy' points='17 37 34 18 17 0'%3E%3C/polyline%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all header .logo-container{margin-top:4px !important}}html #root.single-case #wrap_all header .logo-container .logo-dark{display:none}html #root.single-case #wrap_all blockquote{margin:0;font-family:'Mortise', sans-serif;font-size:24px;line-height:1.6}html #root.single-case #wrap_all blockquote p{font-family:'Mortise', sans-serif !important;font-size:24px !important;line-height:1.6 !important}@media only screen and (max-width: 71.1875rem){html #root.single-case #wrap_all blockquote p{font-size:20px !important}}@media only screen and (max-width: 63.9375rem){html #root.single-case #wrap_all blockquote p{font-size:18px !important}}html #root.single-case #wrap_all blockquote::before,html #root.single-case #wrap_all blockquote::after{content:'';background-image:url("data:image/svg+xml,%0A%3Csvg width='37px' height='39px' viewBox='0 0 37 39' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg id='🖥-Desktop' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='single-case' transform='translate(-159.000000, -1351.000000)' stroke='%23000' stroke-width='1.5'%3E%3Cg id='quote-open' transform='translate(160.000000, 1352.000000)'%3E%3Cpolyline id='Path-3' points='0 37 17 18 0 0'%3E%3C/polyline%3E%3Cpolyline id='Path-3-Copy' points='17 37 34 18 17 0'%3E%3C/polyline%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");width:18px;height:18px;background-size:contain;display:inline-block;background-repeat:no-repeat;-webkit-transform:rotate(180deg);transform:rotate(180deg)}html #root.single-case #wrap_all blockquote::before{margin-bottom:0}html #root.single-case #wrap_all blockquote::after{margin-top:12px;-webkit-transform:rotate(0);transform:rotate(0)}html #root.single-case #wrap_all #main div[role='banner']{height:600px;background-repeat:no-repeat;background-size:cover;background-position:center;position:relative}@media only screen and (max-width: 63.9375rem){html #root.single-case #wrap_all #main div[role='banner']{height:500px}}html #root.single-case #wrap_all #main div[role='banner']:before{position:absolute;left:0;top:0;height:100%;width:100%;content:'';background:linear-gradient(180deg, rgba(0, 0, 0, 0.59) 0%, rgba(0, 0, 0, 0) 100%)}html #root.single-case #wrap_all #main div[role='banner'] .video-container{height:100%}html #root.single-case #wrap_all #main div[role='banner'] .video-container iframe{width:100%;height:100%}html #root.single-case #wrap_all #main div[role='banner'] .video-container{display:grid;place-items:center;overflow:hidden;position:relative;isolation:isolate}html #root.single-case #wrap_all #main div[role='banner'] .video-container iframe{width:100%;height:auto;aspect-ratio:1.7777777778;position:absolute;top:50%;transform:translateY(-50%);pointer-events:none}html #root.single-case #wrap_all #main div.mobile_single_image{display:none}@media only screen and (max-width: 29.9375rem){html #root.single-case #wrap_all #main div.mobile_single_image{display:block;margin-top:60px}html #root.single-case #wrap_all #main div.mobile_single_image img{width:100%;height:auto}}html #root.single-case #wrap_all #main .share{position:fixed;right:68px;top:280px;z-index:1}@media only screen and (max-width: 63.9375rem){html #root.single-case #wrap_all #main .share{position:static;padding:0 40px;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:30px 0 0 0}}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main .share{padding:0 20px}}html #root.single-case #wrap_all #main .share a{margin:3px 0;height:36px;width:36px;border-radius:100%;background-color:#000000;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}@media only screen and (max-width: 63.9375rem){html #root.single-case #wrap_all #main .share a{margin:0 7px 0 0}}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main .share a{height:28px;width:28px}}html #root.single-case #wrap_all #main .share a .icon{background-position:center center;background-repeat:no-repeat;background-size:contain}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main .share a .icon{background-size:15px}}html #root.single-case #wrap_all #main .share a .icon.twitter{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3C!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--%3E%3Cpath fill='%23ffffff' d='M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z'/%3E%3C/svg%3E")}html #root.single-case #wrap_all #main .share a .icon.instagram{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' data-prefix='fab' data-icon='instagram' class='svg-inline--fa fa-instagram fa-w-14' role='img' 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%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.single-case #wrap_all #main .share a .icon.linkedin{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' data-prefix='fab' data-icon='linkedin-in' class='svg-inline--fa fa-linkedin-in fa-w-14' role='img' 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%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.single-case #wrap_all #main .share a:hover{background-color:#E83530}html #root.single-case #wrap_all #main section.textblock{padding:100px 0}@media only screen and (max-width: 71.1875rem){html #root.single-case #wrap_all #main section.textblock{padding:70px 0 40px}}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.textblock{padding:45px 0}}html #root.single-case #wrap_all #main section.textblock .container{margin:0 auto}html #root.single-case #wrap_all #main section.textblock .container .column.one-half:first-child{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}html #root.single-case #wrap_all #main section.textblock .container .column.one-half:last-child{padding-right:180px}@media only screen and (max-width: 96rem){html #root.single-case #wrap_all #main section.textblock .container .column.one-half:last-child{padding-right:50px}}@media only screen and (max-width: 71.1875rem){html #root.single-case #wrap_all #main section.textblock .container .column.one-half:last-child{padding-right:0}}html #root.single-case #wrap_all #main section.textblock .container .column.one-half .eyebrow{order:-1;display:inline-block;width:100%;margin:0 0 30px}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.textblock .container .column.one-half .eyebrow{margin:0 0 15px}}html #root.single-case #wrap_all #main section.textblock .container .column.one-half h1{font-size:60px;font-weight:300;line-height:1.25;font-family:'Mortise', sans-serif;width:100%}@media only screen and (max-width: 63.9375rem){html #root.single-case #wrap_all #main section.textblock .container .column.one-half h1{font-size:40px}}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.textblock .container .column.one-half h1{font-size:25px}}html #root.single-case #wrap_all #main section.textblock .container .column.one-half .share{margin-top: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: 47.9375rem){html #root.single-case #wrap_all #main section.textblock .container .column.one-half .share{margin:35px 0}}html #root.single-case #wrap_all #main section.textblock .container .column.one-half .share>span{margin-right:20px;font-size:20px;letter-spacing:-0.03px}html #root.single-case #wrap_all #main section.textblock .container .column.one-half .share a{margin-right:30px;-webkit-transition:0.4s ease-in-out;transition:0.4s ease-in-out}html #root.single-case #wrap_all #main section.textblock .container .column.one-half .share a .icon{background-repeat:no-repeat;background-size:contain;background-position:center center;-webkit-transition:0.4s ease-in-out;transition:0.4s ease-in-out}html #root.single-case #wrap_all #main section.textblock .container .column.one-half .share a .icon.twitter{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' data-prefix='fab' data-icon='twitter' class='svg-inline--fa fa-twitter fa-w-16' role='img' 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%3Cpath fill='%233C3C3C' 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.single-case #wrap_all #main section.textblock .container .column.one-half .share a .icon.instagram{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' data-prefix='fab' data-icon='instagram' class='svg-inline--fa fa-instagram fa-w-14' role='img' 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%3Cpath fill='%233C3C3C' 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.single-case #wrap_all #main section.textblock .container .column.one-half .share a .icon.linkedin{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' data-prefix='fab' data-icon='linkedin-in' class='svg-inline--fa fa-linkedin-in fa-w-14' role='img' 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%3Cpath fill='%233C3C3C' 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.single-case #wrap_all #main section.textblock .container .column.one-half .share a:hover .icon.twitter{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' data-prefix='fab' data-icon='twitter' class='svg-inline--fa fa-twitter fa-w-16' role='img' 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%3Cpath fill='%2300C99E' 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.single-case #wrap_all #main section.textblock .container .column.one-half .share a:hover .icon.instagram{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' data-prefix='fab' data-icon='instagram' class='svg-inline--fa fa-instagram fa-w-14' role='img' 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%3Cpath fill='%2300C99E' 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.single-case #wrap_all #main section.textblock .container .column.one-half .share a:hover .icon.linkedin{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' data-prefix='fab' data-icon='linkedin-in' class='svg-inline--fa fa-linkedin-in fa-w-14' role='img' 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%3Cpath fill='%2300C99E' 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.single-case #wrap_all #main section.textblock .container .column.one-half p{line-height:2;margin:0 0 15px}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.textblock .container .column.one-half p{line-height:1.8;margin:0 0 20px}}html #root.single-case #wrap_all #main section.textblock .container .column.one-half p:last-child{margin:0}html #root.single-case #wrap_all #main section.textblock .container .column.one-half p strong{font-size:25px;font-family:'Tenon', sans-serif;font-weight:bold}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.textblock .container .column.one-half p strong{font-size:19px}}html #root.single-case #wrap_all #main section.textblock .container .column.one-half .conclusion{line-height:1.5;font-size:16px;color:rgba(0, 0, 0, 0.37);letter-spacing:-0.02px;position:relative;margin:125px 0 0}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.textblock .container .column.one-half .conclusion{margin:100px 0 0}}html #root.single-case #wrap_all #main section.textblock .container .column.one-half .conclusion:before{position:absolute;left:0;top:-55px;content:'';width:40px;height:2px;background-color:#000000;-webkit-transform:rotate(45deg);transform:rotate(45deg)}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.textblock .container .column.one-half .conclusion:before{top:-40px}}html #root.single-case #wrap_all #main section.textblock .container .column.one-half img{vertical-align:top;margin:30px 0 10px;width:100%;height:auto}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.textblock .container .column.one-half img{margin:10px 0 10px -20px;width:calc(100% + 40px)}}html #root.single-case #wrap_all #main section.usp{padding:20px 0 40px}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.usp{padding:20px 0}}html #root.single-case #wrap_all #main section.usp .container{margin:0 auto}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.usp .container{max-width:calc(100% + 40px);width:calc(100% + 40px);margin:0 -20px}}@media only screen and (max-width: 63.9375rem){html #root.single-case #wrap_all #main section.usp .container .column{min-width:calc(50% - (20px * 2));max-width:calc(50% - (20px * 2))}}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.usp .container .column{min-width:calc(50% - (20px * 2));max-width:calc(50% - (20px * 2));margin:10px 20px}}html #root.single-case #wrap_all #main section.usp .container .column .title{color:#00C99E;font-size:19px;text-transform:uppercase;font-weight:bold;letter-spacing:0.1px;margin:0 0 15px;display:inline-block;width:100%;line-height:1.2}@media only screen and (max-width: 63.9375rem){html #root.single-case #wrap_all #main section.usp .container .column .title{font-size:16px}}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.usp .container .column .title{font-size:12px;margin:0 0 10px}}html #root.single-case #wrap_all #main section.usp .container .column .usp{display:block;width:100%;font-size:24px;font-weight:500;color:#1D1D1B;line-height:1.6}@media only screen and (max-width: 63.9375rem){html #root.single-case #wrap_all #main section.usp .container .column .usp{font-size:20px}}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.usp .container .column .usp{font-size:18px}}html #root.single-case #wrap_all #main section.dual_media .container{width:100%;max-width:100%;padding:0;margin:0 auto}html #root.single-case #wrap_all #main section.dual_media .container .column{margin:0;min-width:50%;max-width:50%}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.dual_media .container .column{min-width:100%;max-width:100%}}html #root.single-case #wrap_all #main section.dual_media .container .column .image-container{padding:0 0 72%}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.dual_media .container .column .image-container{height:320px;padding:0}}@media only screen and (max-width: 22.4375rem){html #root.single-case #wrap_all #main section.dual_media .container .column .image-container{height:298px}}html #root.single-case #wrap_all #main section.dual_media .container .column .image-container img{vertical-align:top;position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);min-width:100%;min-height:100%;max-width:inherit;max-height:inherit;height:auto}html #root.single-case #wrap_all #main section.quote{background-color:var(--quote__background-color, #FFF)}html #root.single-case #wrap_all #main section.quote .container{margin:0 auto;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:1920px;gap:40px}@media only screen and (max-width: 119.9375rem){html #root.single-case #wrap_all #main section.quote .container{max-width:100%;gap:0}}@media only screen and (max-width: 63.9375rem){html #root.single-case #wrap_all #main section.quote .container{padding:100px 20px}}html #root.single-case #wrap_all #main section.quote .container .column.one-half{margin-bottom:0;margin-top:0}@media only screen and (max-width: 119.9375rem){html #root.single-case #wrap_all #main section.quote .container .column.one-half{max-width:50%;min-width:50%}}@media only screen and (max-width: 63.9375rem){html #root.single-case #wrap_all #main section.quote .container .column.one-half{min-width:100%;max-width:100%;margin:0}}html #root.single-case #wrap_all #main section.quote .container .column.one-half:first-child{padding:100px 30px 100px 160px;margin:0}@media only screen and (max-width: 119.9375rem){html #root.single-case #wrap_all #main section.quote .container .column.one-half:first-child{margin:0;padding:30px}}html #root.single-case #wrap_all #main section.quote .container .column.one-half:last-child{margin:0}html #root.single-case #wrap_all #main section.quote .container .column.one-half blockquote{position:relative;margin:0 0 110px}@media only screen and (max-width: 71.1875rem){html #root.single-case #wrap_all #main section.quote .container .column.one-half blockquote{font-size:25px}}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.quote .container .column.one-half blockquote{font-size:21px;margin:0 0 90px}}html #root.single-case #wrap_all #main section.quote .container .column.one-half blockquote p{color:var(--quote__text-color, #000);font-family:'Mortise', sans-serif;font-size:28px;font-weight:500;letter-spacing:-0.15px;line-height:1.4}html #root.single-case #wrap_all #main section.quote .container .column.one-half blockquote:before{position:absolute;left:0;top:-70px;background-image:url("data:image/svg+xml,%0A%3Csvg width='37px' height='39px' viewBox='0 0 37 39' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='single-case' transform='translate(-159.000000, -2445.000000)' stroke='%23ffffff' stroke-width='1.5'%3E%3Cg id='Group-6' transform='translate(160.000000, 2446.000000)'%3E%3Cpolyline id='Path-3' points='0 37 17 18 0 0'%3E%3C/polyline%3E%3Cpolyline id='Path-3-Copy' points='17 37 34 18 17 0'%3E%3C/polyline%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");background-position:center center;background-repeat:no-repeat;background-size:contain;content:"";width:34px;height:37px;transform:rotate(0)}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.quote .container .column.one-half blockquote:before{width:24px;height:26px;top:-50px}}html #root.single-case #wrap_all #main section.quote .container .column.one-half blockquote:after{position:absolute;left:0;bottom:-60px;background-image:url("data:image/svg+xml,%0A%3Csvg width='37px' height='39px' viewBox='0 0 37 39' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='single-case' transform='translate(-158.000000, -2836.000000)' stroke='%23ffffff' stroke-width='1.5'%3E%3Cg id='Group-7' transform='translate(160.000000, 2446.000000)'%3E%3Cg id='Group-6-Copy' transform='translate(17.000000, 409.500000) scale(-1, 1) translate(-17.000000, -409.500000) translate(0.000000, 391.000000)'%3E%3Cpolyline id='Path-3' points='0 37 17 18 0 0'%3E%3C/polyline%3E%3Cpolyline id='Path-3-Copy' points='17 37 34 18 17 0'%3E%3C/polyline%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");background-position:center center;background-repeat:no-repeat;background-size:contain;content:"";width:34px;height:37px}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.quote .container .column.one-half blockquote:after{width:24px;height:26px;bottom:-50px}}html #root.single-case #wrap_all #main section.quote .container .column.one-half .author{color:var(--quote__text-color, #000)}html #root.single-case #wrap_all #main section.quote .container .column.one-half .author strong{text-transform:uppercase;letter-spacing:1.8px;font-size:18px;margin:0;font-weight:bold;font-family:'Tenon', sans-serif;display:block}@media only screen and (max-width: 71.1875rem){html #root.single-case #wrap_all #main section.quote .container .column.one-half .author strong{font-size:16px}}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.quote .container .column.one-half .author strong{font-size:14px}}html #root.single-case #wrap_all #main section.quote .container .column.one-half .author span{text-transform:uppercase;letter-spacing:1.8px;font-size:18px;margin:0;font-weight:normal;font-family:'Tenon', sans-serif}@media only screen and (max-width: 71.1875rem){html #root.single-case #wrap_all #main section.quote .container .column.one-half .author span{font-size:16px}}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.quote .container .column.one-half .author span{font-size:14px}}html #root.single-case #wrap_all #main section.quote .container .column.one-half .slider{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;margin:auto;overflow:hidden}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.quote .container .column.one-half .slider{max-width:100%}}html #root.single-case #wrap_all #main section.quote .container .column.one-half .slider .slide{list-style:none;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex}html #root.single-case #wrap_all #main section.quote .container .column.one-half .slider .slide img{max-width:100%;height:auto}html #root.single-case #wrap_all #main section.quote .container .column.one-half .slider-pager{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;justify-content:center;align-items:center}html #root.single-case #wrap_all #main section.quote .container .column.one-half .slider-pager .pager{width:10px;height:10px;border-radius:100%;background-color:white;margin:0 5px;cursor:pointer;font-size:0;padding:0;transform:none !important;opacity:0.5;border:0;box-shadow:0 0 0 0.5px rgba(0, 0, 0, 0.1)}html #root.single-case #wrap_all #main section.quote .container .column.one-half .slider-pager .pager.active{opacity:1}html #root.single-case #wrap_all #main section.related-articles{padding:100px 0}@media only screen and (max-width: 71.1875rem){html #root.single-case #wrap_all #main section.related-articles{padding:70px 0 60px}}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.related-articles{padding:40px 0 50px}}html #root.single-case #wrap_all #main section.related-articles span.eyebrow{font-weight:bold;margin:0 0 40px}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.related-articles span.eyebrow{margin:0 0 30px}}html #root.single-case #wrap_all #main section.related-articles .column.full{min-width:100%;max-width:100%;margin:0}html #root.single-case #wrap_all #main section.related-articles .column.full .grid-container{width:calc(100% + (18px * 2));margin:-18px}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.related-articles .column.full .grid-container{margin:0;width:100%}}html #root.single-case #wrap_all #main section.related-articles .column.full .grid-container .column{margin:18px;min-width:calc(33.333% - (18px * 2));max-width:calc(33.333% - (18px * 2))}@media only screen and (max-width: 63.9375rem){html #root.single-case #wrap_all #main section.related-articles .column.full .grid-container .column{min-width:calc(50% - (18px * 2));max-width:calc(50% - (18px * 2))}}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.related-articles .column.full .grid-container .column{min-width:100%;max-width:100%;margin:0 0 40px}}html #root.single-case #wrap_all #main section.related-articles .column.full .grid-container .column .entry-image{position:relative;width:100%;padding-bottom:59%;margin:0 0 35px}@media only screen and (max-width: 63.9375rem){html #root.single-case #wrap_all #main section.related-articles .column.full .grid-container .column .entry-image{margin:0 0 28px}}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.related-articles .column.full .grid-container .column .entry-image{margin:0 0 20px}}html #root.single-case #wrap_all #main section.related-articles .column.full .grid-container .column .entry-image img{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);min-width:100%;min-height:100%;max-width:inherit;max-height:inherit;height:auto}html #root.single-case #wrap_all #main section.related-articles .column.full .grid-container .column .entry-info .entry-label{margin:0 0 10px}html #root.single-case #wrap_all #main section.related-articles .column.full .grid-container .column .entry-info .entry-label span{font-size:14px;font-weight:bold;letter-spacing:0.1px;font-family:'Tenon', sans-serif;color:#1D1D1B;text-transform:uppercase}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.related-articles .column.full .grid-container .column .entry-info .entry-label span{font-size:12px}}html #root.single-case #wrap_all #main section.related-articles .column.full .grid-container .column .entry-info .entry-heading{margin:0 0 32px}@media only screen and (max-width: 63.9375rem){html #root.single-case #wrap_all #main section.related-articles .column.full .grid-container .column .entry-info .entry-heading{margin:0 0 20px}}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.related-articles .column.full .grid-container .column .entry-info .entry-heading{margin:0 0 13px}}html #root.single-case #wrap_all #main section.related-articles .column.full .grid-container .column .entry-info .entry-heading h3{font-size:28px;font-weight:500;letter-spacing:-0.15px;font-family:'Mortise', sans-serif;color:#1D1D1B;line-height:1.07;margin:0}@media only screen and (max-width: 71.1875rem){html #root.single-case #wrap_all #main section.related-articles .column.full .grid-container .column .entry-info .entry-heading h3{font-size:26px}}@media only screen and (max-width: 63.9375rem){html #root.single-case #wrap_all #main section.related-articles .column.full .grid-container .column .entry-info .entry-heading h3{font-size:24px}}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.related-articles .column.full .grid-container .column .entry-info .entry-heading h3{font-size:21px;line-height:1.4}}html #root.single-case #wrap_all #main section.related-articles .column.full .grid-container .column .entry-info .entry-content p{font-size:18px;letter-spacing:-0.02px;font-family:'Tenon', sans-serif;color:#1D1D1B;font-weight:300;margin:0}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.related-articles .column.full .grid-container .column .entry-info .entry-content p{font-size:16px}}html #root.single-case #wrap_all #main section.related-articles .column.full .button-row{margin-top:80px}@media only screen and (max-width: 63.9375rem){html #root.single-case #wrap_all #main section.related-articles .column.full .button-row{margin-top:50px}}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.related-articles .column.full .button-row{margin:0}}html #root.single-case #wrap_all #main section.related-articles .column.full .button-row .button{background-color:transparent;color:#00C389;position:relative;display:inline-block;padding-right:40px;font-weight:bold}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.related-articles .column.full .button-row .button{font-size:12px;padding-right:25px}}html #root.single-case #wrap_all #main section.related-articles .column.full .button-row .button:before{position:absolute;width:28px;height:54px;right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' data-prefix='fal' data-icon='chevron-right' class='svg-inline--fa fa-chevron-right fa-w-8' role='img' viewBox='0 0 256 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%3Cpath fill='%2300C389' d='M17.525 36.465l-7.071 7.07c-4.686 4.686-4.686 12.284 0 16.971L205.947 256 10.454 451.494c-4.686 4.686-4.686 12.284 0 16.971l7.071 7.07c4.686 4.686 12.284 4.686 16.97 0l211.051-211.05c4.686-4.686 4.686-12.284 0-16.971L34.495 36.465c-4.686-4.687-12.284-4.687-16.97 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right center;content:''}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.related-articles .column.full .button-row .button:before{width:16px;height:31px}}html #root.single-case #wrap_all #main section.related-articles .column.full .button-row .button:hover{padding-right:50px}@media only screen and (max-width: 47.9375rem){html #root.single-case #wrap_all #main section.related-articles .column.full .button-row .button:hover{padding-right:35px}}@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-bold.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-bold.woff") format("woff");font-weight:800;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-light.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-medium.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-medium.woff") format("woff");font-weight:600;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-regular.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-regular.woff") format("woff");font-weight:400;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:MortiseX;src:local(MortiseX), url("../draadcore-child/fonts/Mortise/mortise-x-bold.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-x-bold.woff") format("woff");font-weight:800;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:MortiseX;src:local(MortiseX), url("../draadcore-child/fonts/Mortise/mortise-x-light.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-x-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-bold.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-bold.woff") format("woff");font-weight:700;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-light.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-medium.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-medium.woff") format("woff");font-weight:600;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-regular.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-regular.woff") format("woff");font-weight:400;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:TenonX;src:local(TenonX), url("../draadcore-child/fonts/TenonX/tenon-x-bold.woff2") format("woff2"), url("../draadcore-child/fonts/TenonX/tenon-x-bold.woff") format("woff");font-weight:700;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:TenonX;src:local(TenonX), url("../draadcore-child/fonts/TenonX/tenon-x-light.woff2") format("woff2"), url("../draadcore-child/fonts/TenonX/tenon-x-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-bold.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-bold.woff") format("woff");font-weight:800;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-light.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-medium.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-medium.woff") format("woff");font-weight:600;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Mortise;src:local(Mortise), url("../draadcore-child/fonts/Mortise/mortise-regular.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-regular.woff") format("woff");font-weight:400;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:MortiseX;src:local(MortiseX), url("../draadcore-child/fonts/Mortise/mortise-x-bold.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-x-bold.woff") format("woff");font-weight:800;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:MortiseX;src:local(MortiseX), url("../draadcore-child/fonts/Mortise/mortise-x-light.woff2") format("woff2"), url("../draadcore-child/fonts/Mortise/mortise-x-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-bold.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-bold.woff") format("woff");font-weight:700;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-light.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-medium.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-medium.woff") format("woff");font-weight:600;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:Tenon;src:local(Tenon), url("../draadcore-child/fonts/Tenon/tenon-regular.woff2") format("woff2"), url("../draadcore-child/fonts/Tenon/tenon-regular.woff") format("woff");font-weight:400;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:TenonX;src:local(TenonX), url("../draadcore-child/fonts/TenonX/tenon-x-bold.woff2") format("woff2"), url("../draadcore-child/fonts/TenonX/tenon-x-bold.woff") format("woff");font-weight:700;font-style:normal;unicode-range:U+000-5FF}@font-face{font-display:swap;font-family:TenonX;src:local(TenonX), url("../draadcore-child/fonts/TenonX/tenon-x-light.woff2") format("woff2"), url("../draadcore-child/fonts/TenonX/tenon-x-light.woff") format("woff");font-weight:200;font-style:normal;unicode-range:U+000-5FF}html #root #wrap_all #main .section.form{padding:100px 0;overflow:hidden}@media only screen and (max-width: 63.9375rem){html #root #wrap_all #main .section.form{padding:60px 0}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .section.form{padding:50px 0}}html #root #wrap_all #main .section.form .content{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;max-width:566px}html #root #wrap_all #main .section.form .eyebrow{-webkit-box-ordinal-group:-1;-moz-box-ordinal-group:-1;-ms-flex-order:-1;-webkit-order:-1;order:-1;margin:0 0 10px}html #root #wrap_all #main .section.form h1{font-size:60px;font-weight:300;line-height:1.25;font-family:'Mortise', sans-serif;width:100%;margin-bottom:40px}@media only screen and (max-width: 63.9375rem){html #root #wrap_all #main .section.form h1{font-size:40px;margin-bottom:30px}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .section.form h1{font-size:25px}}html #root #wrap_all #main .section.form h2{line-height:1.25;margin:0 0 30px}html #root #wrap_all #main .section.form p a:hover{color:#333}html #root #wrap_all #main .section.form .gform_wrapper .gform_validation_errors{display:none}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .section.form .gform_body{margin-top:30px}}html #root #wrap_all #main .section.form .gform_body input,html #root #wrap_all #main .section.form .gform_body textarea{border:none;padding:10px 0;font-size:20px;color:#1D1D1B;background:transparent}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .section.form .gform_body input,html #root #wrap_all #main .section.form .gform_body textarea{font-size:16px}}html #root #wrap_all #main .section.form .gform_body input::-webkit-input-placeholder,html #root #wrap_all #main .section.form .gform_body textarea::-webkit-input-placeholder{color:#1D1D1B}html #root #wrap_all #main .section.form .gform_body input:-ms-input-placeholder,html #root #wrap_all #main .section.form .gform_body textarea:-ms-input-placeholder{color:#1D1D1B}html #root #wrap_all #main .section.form .gform_body input::placeholder,html #root #wrap_all #main .section.form .gform_body textarea::placeholder{color:#1D1D1B}html #root #wrap_all #main .section.form .gform_body .ginput_container_fileupload{display:inline-flex;border:1px dashed #ADADAD;min-width:344px;position:relative;padding:14px 17px;border-radius:4px;float:right;top:-7px;-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: 71.1875rem){html #root #wrap_all #main .section.form .gform_body .ginput_container_fileupload{min-width:auto;padding:14px 40px;font-weight:300}}@media only screen and (max-width: 63.9375rem){html #root #wrap_all #main .section.form .gform_body .ginput_container_fileupload{padding:14px}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .section.form .gform_body .ginput_container_fileupload{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;float:none;top:0;margin:10px 0}}html #root #wrap_all #main .section.form .gform_body .ginput_container_fileupload .gform_fileupload_rules{margin:0;padding:0;color:#858585;font-size:16px;letter-spacing:-0.02px;line-height:1}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .section.form .gform_body .ginput_container_fileupload .gform_fileupload_rules{font-size:14px}}html #root #wrap_all #main .section.form .gform_body input[type="file"]{position:absolute;left:0;width:100%;height:100%;opacity:0}html #root #wrap_all #main .section.form .gform_body .gfield_label{padding:10px 0;font-size:20px;color:#1D1D1B;margin:0;padding:0;font-weight:500}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .section.form .gform_body .gfield_label{font-size:16px}}html #root #wrap_all #main .section.form .gform_body .gfield_label .gfield_required{color:#1D1D1B;font-size:20px;padding:0 0 0 1px}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .section.form .gform_body .gfield_label .gfield_required{font-size:16px}}html #root #wrap_all #main .section.form .gform_body .gfield_description{border:0;padding:0;background-color:transparent;position:absolute;bottom:-18px;margin:0;font-size:13px}html #root #wrap_all #main .section.form .gform_body .gfield{border-bottom:1px solid #000;position:relative;min-height:44px}@media only screen and (min-width:768px) and (max-width:1139px){html #root #wrap_all #main .section.form .gform_body .gfield .ginput_container_fileupload{min-width:198px}}@media only screen and (max-width:767px){html #root #wrap_all #main .section.form .gform_body .gfield.gfield--type-fileupload{min-height:85px}}html #root #wrap_all #main .section.form .gform_footer{margin-top:23px;padding:0}html #root #wrap_all #main .section.form .gform_footer input[type="submit"]{color:#00C99E;font-size:18px;font-weight:bold;letter-spacing:0.1px;line-height:1.22;text-align:left;background:transparent;border:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' data-prefix='fal' data-icon='chevron-right' class='svg-inline--fa fa-chevron-right fa-w-8' role='img' viewBox='0 0 256 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%3Cpath fill='%2300C99E' d='M17.525 36.465l-7.071 7.07c-4.686 4.686-4.686 12.284 0 16.971L205.947 256 10.454 451.494c-4.686 4.686-4.686 12.284 0 16.971l7.071 7.07c4.686 4.686 12.284 4.686 16.97 0l211.051-211.05c4.686-4.686 4.686-12.284 0-16.971L34.495 36.465c-4.686-4.687-12.284-4.687-16.97 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center right;min-width:120px;text-align:left;background-size:20%;height:60px;cursor:pointer;-webkit-transition:0.4s ease-in-out;transition:0.4s ease-in-out;text-transform:uppercase}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .section.form .gform_footer input[type="submit"]{font-size:12px;min-width:auto;background-size:22%;padding-right:25px;background-position:center right 0}}html #root #wrap_all #main .section.form .gform_footer input[type="submit"]:hover{min-width:125px}html #root.single-job #wrap_all header .logo-container .logo-dark{display:none}html #root.single-job #wrap_all blockquote{margin:0 0 15px;font-family:'Mortise', sans-serif;font-size:24px;line-height:1.6}html #root.single-job #wrap_all blockquote p{font-family:'Mortise', sans-serif !important;font-size:24px !important;line-height:1.6 !important}@media only screen and (max-width: 71.1875rem){html #root.single-job #wrap_all blockquote p{font-size:20px !important}}@media only screen and (max-width: 63.9375rem){html #root.single-job #wrap_all blockquote p{font-size:18px !important}}html #root.single-job #wrap_all blockquote::before,html #root.single-job #wrap_all blockquote::after{content:"";background-image:url("data:image/svg+xml,%0A%3Csvg width='37px' height='39px' viewBox='0 0 37 39' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg id='🖥-Desktop' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='single-case' transform='translate(-159.000000, -1351.000000)' stroke='%23000' stroke-width='1.5'%3E%3Cg id='quote-open' transform='translate(160.000000, 1352.000000)'%3E%3Cpolyline id='Path-3' points='0 37 17 18 0 0'%3E%3C/polyline%3E%3Cpolyline id='Path-3-Copy' points='17 37 34 18 17 0'%3E%3C/polyline%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");width:18px;height:18px;background-size:contain;display:inline-block;background-repeat:no-repeat;-webkit-transform:rotate(180deg);transform:rotate(180deg)}html #root.single-job #wrap_all blockquote::before{margin-bottom:0}html #root.single-job #wrap_all blockquote::after{margin-top:12px;-webkit-transform:rotate(0);transform:rotate(0)}html #root.single-job #wrap_all #main section.header{padding:250px 0 140px}@media only screen and (max-width: 63.9375rem){html #root.single-job #wrap_all #main section.header{padding:150px 0 80px}}@media only screen and (max-width: 47.9375rem){html #root.single-job #wrap_all #main section.header{padding:100px 0 50px}}html #root.single-job #wrap_all #main section.header .container{margin:0 auto}html #root.single-job #wrap_all #main section.header .container .one-third{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}@media only screen and (max-width: 63.9375rem){html #root.single-job #wrap_all #main section.header .container .one-third{min-width:calc(100% - (20px * 2));max-width:calc(100% - (20px * 2))}}html #root.single-job #wrap_all #main section.header .container .one-third .eyebrow{order:-1;width:100%;display:block;margin:0 0 10px}html #root.single-job #wrap_all #main section.header .container .one-third h1{font-size:60px;font-weight:300;line-height:1.25;font-family:'Mortise', sans-serif;width:100%;max-width:80%}@media only screen and (max-width: 63.9375rem){html #root.single-job #wrap_all #main section.header .container .one-third h1{font-size:40px}}@media only screen and (max-width: 47.9375rem){html #root.single-job #wrap_all #main section.header .container .one-third h1{font-size:25px}}html #root.single-job #wrap_all #main section.header .container .two-third{padding:0 100px 0 50px}@media only screen and (max-width: 63.9375rem){html #root.single-job #wrap_all #main section.header .container .two-third{min-width:calc(100% - (20px * 2));max-width:calc(100% - (20px * 2));padding:0}}@media only screen and (max-width: 47.9375rem){html #root.single-job #wrap_all #main section.header .container .two-third{padding:30px 0 0 0}}html #root.single-job #wrap_all #main section.header .share{position:fixed;right:68px;top:280px;z-index:1}@media only screen and (max-width: 63.9375rem){html #root.single-job #wrap_all #main section.header .share{position:static;padding:0 40px;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:30px 0 0 0}}@media only screen and (max-width: 47.9375rem){html #root.single-job #wrap_all #main section.header .share{padding:0 20px}}html #root.single-job #wrap_all #main section.header .share a{margin:3px 0;height:36px;width:36px;border-radius:100%;background-color:#000000;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}@media only screen and (max-width: 63.9375rem){html #root.single-job #wrap_all #main section.header .share a{margin:0 7px 0 0}}@media only screen and (max-width: 47.9375rem){html #root.single-job #wrap_all #main section.header .share a{height:28px;width:28px}}html #root.single-job #wrap_all #main section.header .share a .icon{background-position:center center;background-repeat:no-repeat;background-size:contain}@media only screen and (max-width: 47.9375rem){html #root.single-job #wrap_all #main section.header .share a .icon{background-size:15px}}html #root.single-job #wrap_all #main section.header .share a .icon.twitter{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' data-prefix='fab' data-icon='twitter' class='svg-inline--fa fa-twitter fa-w-16' role='img' 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%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.single-job #wrap_all #main section.header .share a .icon.instagram{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' data-prefix='fab' data-icon='instagram' class='svg-inline--fa fa-instagram fa-w-14' role='img' 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%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.single-job #wrap_all #main section.header .share a .icon.linkedin{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' data-prefix='fab' data-icon='linkedin-in' class='svg-inline--fa fa-linkedin-in fa-w-14' role='img' 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%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.single-job #wrap_all #main section.header .share a:hover{background-color:#E83530}html #root.single-job #wrap_all #main section.textblock{padding:120px 0 100px}@media only screen and (max-width: 63.9375rem){html #root.single-job #wrap_all #main section.textblock{padding:50px 0}}@media only screen and (max-width: 47.9375rem){html #root.single-job #wrap_all #main section.textblock{padding:60px 0 50px}}html #root.single-job #wrap_all #main section.textblock .container{margin:0 auto}@media only screen and (max-width: 63.9375rem){html #root.single-job #wrap_all #main section.textblock .container .one-third{min-width:calc(100% - (20px * 2));max-width:calc(100% - (20px * 2))}}@media only screen and (max-width: 47.9375rem){html #root.single-job #wrap_all #main section.textblock .container .one-third{margin:0 0 20px}}@media only screen and (max-width: 47.9375rem){html #root.single-job #wrap_all #main section.textblock .container .one-third h1{max-width:200px;width:100%}}html #root.single-job #wrap_all #main section.textblock .container .one-third h1 p{font-size:60px;font-weight:300;line-height:1.25;font-family:'Mortise', sans-serif;width:100%}@media only screen and (max-width: 63.9375rem){html #root.single-job #wrap_all #main section.textblock .container .one-third h1 p{font-size:40px}}@media only screen and (max-width: 47.9375rem){html #root.single-job #wrap_all #main section.textblock .container .one-third h1 p{font-size:25px}}html #root.single-job #wrap_all #main section.textblock .container .two-third{padding:0 100px 0 50px}@media only screen and (max-width: 63.9375rem){html #root.single-job #wrap_all #main section.textblock .container .two-third{min-width:calc(100% - (20px * 2));max-width:calc(100% - (20px * 2));padding:0}}@media only screen and (max-width: 47.9375rem){html #root.single-job #wrap_all #main section.textblock .container .two-third{padding:0}}html #root.single-job #wrap_all #main section.textblock .container .two-third p{line-height:2;margin:0 0 15px}@media only screen and (max-width: 47.9375rem){html #root.single-job #wrap_all #main section.textblock .container .two-third p{line-height:1.8;margin:0 0 20px}}html #root.single-job #wrap_all #main section.textblock .container .two-third p:last-child{margin:0}html #root.single-job #wrap_all #main section.textblock .container .two-third p strong{font-size:25px;font-family:'Tenon', sans-serif;font-weight:bold}@media only screen and (max-width: 47.9375rem){html #root.single-job #wrap_all #main section.textblock .container .two-third p strong{font-size:19px}}html #root.single-job #wrap_all #main section.textblock .container .two-third ul li{position:relative;margin:0 0 10px;padding-left:20px}@media only screen and (max-width: 47.9375rem){html #root.single-job #wrap_all #main section.textblock .container .two-third ul li{line-height:1.8}}html #root.single-job #wrap_all #main section.textblock .container .two-third ul li:before{padding:0;margin:0;left:0}@media only screen and (max-width: 47.9375rem){html #root.single-job #wrap_all #main section.textblock .container .two-third ul li:before{top:13px}}html #root.single-job #wrap_all #main section.form .container{margin:0 auto}@media only screen and (max-width: 63.9375rem){html #root.single-job #wrap_all #main section.form .container .one-third{min-width:calc(100% - (20px * 2));max-width:calc(100% - (20px * 2))}}@media only screen and (max-width: 47.9375rem){html #root.single-job #wrap_all #main section.form .container .one-third{margin:0 0 20px}}html #root.single-job #wrap_all #main section.form .container .two-third{padding:0 100px 0 50px}@media only screen and (max-width: 63.9375rem){html #root.single-job #wrap_all #main section.form .container .two-third{min-width:calc(100% - (20px * 2));max-width:calc(100% - (20px * 2));padding:0}}@media only screen and (max-width: 47.9375rem){html #root.single-job #wrap_all #main section.form .container .two-third{padding:0}}html #root.single-job #wrap_all #main section.form .container .two-third .gform_wrapper{max-width:min(760px, 100%)}iframe[src*="youtube.com"],iframe[src*="vimeo.com"]{width:100%;height:auto;aspect-ratio:1.7777777778}html #root #wrap_all #main{padding:0}html #root #wrap_all #main .container{max-width:1600px}@media only screen and (max-width: 103.625rem){html #root #wrap_all #main .container{max-width:100%;padding:0 60px}}@media only screen and (max-width: 71.1875rem){html #root #wrap_all #main .container{margin:0;padding:0 25px}}@media only screen and (max-width: 22.4375rem){html #root #wrap_all #main .container{padding:0 20px}}@media only screen and (max-width: 63.9375rem){html #root #wrap_all #main .grid-container{width:100%;margin:0}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .column.full{margin:0;max-width:100%;min-width:100%}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .column{margin:0;max-width:100%;min-width:100%;-ms-flex-wrap:wrap;flex-wrap:wrap}}html #root #wrap_all #main h1{font-family:'Tenon', sans-serif;font-size:158px;font-weight:bold;letter-spacing:-0.03px;line-height:1.09}@media only screen and (max-width: 96rem){html #root #wrap_all #main h1{font-size:130px}}@media only screen and (max-width: 85.3125rem){html #root #wrap_all #main h1{font-size:110px}}@media only screen and (max-width: 71.1875rem){html #root #wrap_all #main h1{font-size:90px}}@media only screen and (max-width: 63.9375rem){html #root #wrap_all #main h1{font-size:70px}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main h1{font-size:50px}}@media only screen and (max-width: 22.4375rem){html #root #wrap_all #main h1{font-size:30px}}html #root #wrap_all #main h2{font-size:60px;font-weight:300;line-height:1.1;margin:0 0 45px;font-family:'Mortise', sans-serif}@media only screen and (max-width: 71.1875rem){html #root #wrap_all #main h2{font-size:50px}}@media only screen and (max-width: 63.9375rem){html #root #wrap_all #main h2{font-size:40px;margin:0 0 30px}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main h2{font-size:30px;margin:0 0 20px}}@media only screen and (max-width: 22.4375rem){html #root #wrap_all #main h2{font-size:24px}}html #root #wrap_all #main h3{font-size:20px;font-family:'Tenon', sans-serif;font-weight:bold;margin:30px 0 15px;line-height:2}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main h3{font-size:16px;margin:0 0 20px}}html #root #wrap_all #main .content p{margin:0 0 15px}html #root #wrap_all #main p{font-size:20px;font-family:'Tenon', sans-serif;letter-spacing:-0.02px;line-height:1.6;color:#000000;margin:0 0 40px;font-weight:400}@media only screen and (max-width: 71.1875rem){html #root #wrap_all #main p{font-size:18px}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main p{font-size:16px;margin:0 0 20px}}html #root #wrap_all #main p:last-child{margin:0}html #root #wrap_all #main a{color:#00C99E}html #root #wrap_all #main table ul{margin:0}html #root #wrap_all #main table ul li:before{top:14px}@media only screen and (max-width: 71.1875rem){html #root #wrap_all #main table ul li:before{top:12px}}html #root #wrap_all #main ul{list-style:none;margin:0 0 30px;padding:0}html #root #wrap_all #main ul li{position:relative;font-size:20px;font-family:'Tenon', sans-serif;letter-spacing:-0.02px;line-height:1.6;margin:0 0 20px 19px;font-weight:400}@media only screen and (max-width: 71.1875rem){html #root #wrap_all #main ul li{font-size:18px}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main ul li{font-size:16px}}html #root #wrap_all #main ul li:last-child{margin:0 0 0 19px}html #root #wrap_all #main ul li::marker{font-size:0;display:none}html #root #wrap_all #main ul li::before{content:'';width:7px;height:7px;background-color:#000000;border-radius:100%;margin-right:100%;line-height:1;position:absolute;top:19px;right:10px}html #root #wrap_all #main ol{padding:0;counter-reset:item;margin:0 0 30px}html #root #wrap_all #main ol li{font-style:normal;font-size:20px;font-family:'Tenon', sans-serif;margin:0 0 25px;width:100%;display:block;position:relative;padding:0 0 0 30px;line-height:1.6}html #root #wrap_all #main ol li:last-child{margin:0}html #root #wrap_all #main ol li::marker{font-size:0;display:none}html #root #wrap_all #main ol li:before{content:counters(item, '.') '.';counter-increment:item;position:absolute;margin-right:100%;right:10px;font-size:20px;font-weight:bold;line-height:1;position:absolute;left:0;top:4px}html #root #wrap_all #main .eyebrow{font-size:19px;font-weight:bold;letter-spacing:0.5px;line-height:1.1;margin:0 0 30px;order:-1;text-transform:uppercase}@media only screen and (max-width: 63.9375rem){html #root #wrap_all #main .eyebrow{font-size:14px}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .eyebrow{font-size:12px}}html #root #wrap_all #main a{-webkit-transition:0.4s ease-in-out;transition:0.4s ease-in-out}html #root #wrap_all #main p.alignright{float:right;margin:0 0 1em 1em !important}html #root #wrap_all #main img.alignright{float:right}html #root #wrap_all #main p.alignleft{float:left;margin:0 1em 1em 0 !important}html #root #wrap_all #main img.alignleft{float:left}html #root #wrap_all #main p.aligncenter{display:block;margin-left:auto;margin-right:auto}html #root #wrap_all #main .background-black p:not(.eyebrow),html #root #wrap_all #main .background-black h1,html #root #wrap_all #main .background-black h2,html #root #wrap_all #main .background-black h3,html #root #wrap_all #main .background-black span:not(.button-title){color:white !important}html #root #wrap_all #main .fadeIn{opacity:0;-webkit-transform:translate(0, 40px);transform:translate(0, 40px);-webkit-transition:0.7s ease;transition:0.7s ease;visibility:hidden}html #root #wrap_all #main .fadeIn.fade{opacity:1;-webkit-transform:translate(0, 0);transform:translate(0, 0);visibility:inherit}html #root #wrap_all #main table tbody tr{border-color:transparent;height:auto !important}html #root #wrap_all #main table tbody tr td{font-size:18px;font-family:'Tenon', sans-serif;letter-spacing:-0.02px;line-height:1.2;color:#000000;font-weight:200;padding:0 20px 15px 0;vertical-align:text-top;height:auto !important;margin-bottom:0;display:inline-block}@media only screen and (max-width: 71.1875rem){html #root #wrap_all #main table tbody tr td{font-size:18px}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main table tbody tr td{font-size:16px}}@media only screen and (max-width: 31.1875rem){html #root #wrap_all #main table tbody tr td{width:100% !important}}html #root #wrap_all #main .section .button-wrap a{font-size:18px;text-transform:uppercase;font-family:'Tenon', sans-serif;font-weight:bold;letter-spacing:0.1px;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 #main .section .button-wrap a{font-size:14px}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .section .button-wrap a{font-size:12px}}html #root #wrap_all #main .section .button-row.style-black a .button-title,html #root #wrap_all #main .section .button-wrap.style-black a .button-title{font-size:20px;color:#000;margin-bottom:10px}html #root #wrap_all #main .section .button-row.style-black a:hover .button-title,html #root #wrap_all #main .section .button-wrap.style-black a:hover .button-title{color:#00C99E}html #root #wrap_all #main .section .button-row.style-green a .button-title,html #root #wrap_all #main .section .button-wrap.style-green a .button-title{font-family:'Mortise', sans-serif;font-size:30px;color:#00C99E;font-weight:300;line-height:1.5;text-transform:capitalize}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .section .button-row.style-green a .button-title,html #root #wrap_all #main .section .button-wrap.style-green a .button-title{font-size:25px}}html #root #wrap_all #main .section .button-row.style-green a:hover .button-title,html #root #wrap_all #main .section .button-wrap.style-green a:hover .button-title{color:#E83530}html #root #wrap_all #main .section .button-row.style-normal a .button-title,html #root #wrap_all #main .section .button-wrap.style-normal a .button-title{color:#00C99E}html #root #wrap_all #main .section .button-row.style-normal a .arrow-right,html #root #wrap_all #main .section .button-wrap.style-normal a .arrow-right{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' data-prefix='fal' data-icon='chevron-right' class='svg-inline--fa fa-chevron-right fa-w-8' role='img' viewBox='0 0 256 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%3Cpath fill='%230AB586' d='M17.525 36.465l-7.071 7.07c-4.686 4.686-4.686 12.284 0 16.971L205.947 256 10.454 451.494c-4.686 4.686-4.686 12.284 0 16.971l7.071 7.07c4.686 4.686 12.284 4.686 16.97 0l211.051-211.05c4.686-4.686 4.686-12.284 0-16.971L34.495 36.465c-4.686-4.687-12.284-4.687-16.97 0z'/%3E%3C/svg%3E");background-position:center center;background-repeat:no-repeat;background-size:contain;margin-left:15px;width:28px;height:54px;-webkit-transition:0.4s ease-in-out;transition:0.4s ease-in-out}@media only screen and (max-width: 63.9375rem){html #root #wrap_all #main .section .button-row.style-normal a .arrow-right,html #root #wrap_all #main .section .button-wrap.style-normal a .arrow-right{height:40px;width:20px}}@media only screen and (max-width: 47.9375rem){html #root #wrap_all #main .section .button-row.style-normal a .arrow-right,html #root #wrap_all #main .section .button-wrap.style-normal a .arrow-right{width:16px;height:31px}}html #root #wrap_all #main .section .button-row.style-normal a:hover .arrow-right,html #root #wrap_all #main .section .button-wrap.style-normal a:hover .arrow-right{margin-left:23px}html #root #wrap_all #main .section.background-main .button-row.style-green a .button-title,html #root #wrap_all #main .section.background-main .button-wrap.style-green a .button-title{color:#ffffff}html #root #wrap_all #main .section.background-main .button-row.style-green a:hover .button-title,html #root #wrap_all #main .section.background-main .button-wrap.style-green a:hover .button-title{color:#E83530}html #root #wrap_all #main .section.background-main .button-row.style-normal a .button-title,html #root #wrap_all #main .section.background-main .button-wrap.style-normal a .button-title{color:#ffffff}html #root #wrap_all #main .section.background-main .button-row.style-normal a .arrow-right,html #root #wrap_all #main .section.background-main .button-wrap.style-normal a .arrow-right{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' focusable='false' data-prefix='fal' data-icon='chevron-right' class='svg-inline--fa fa-chevron-right fa-w-8' role='img' viewBox='0 0 256 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%3Cpath fill='%23ffffff' d='M17.525 36.465l-7.071 7.07c-4.686 4.686-4.686 12.284 0 16.971L205.947 256 10.454 451.494c-4.686 4.686-4.686 12.284 0 16.971l7.071 7.07c4.686 4.686 12.284 4.686 16.97 0l211.051-211.05c4.686-4.686 4.686-12.284 0-16.971L34.495 36.465c-4.686-4.687-12.284-4.687-16.97 0z'/%3E%3C/svg%3E")}html #root #wrap_all #main .section.background-main .button-row.style-normal a:hover .arrow-right,html #root #wrap_all #main .section.background-main .button-wrap.style-normal a:hover .arrow-right{margin-left:23px}html #root #wrap_all #main .section.background-main .button-row.style-black a:hover .button-title,html #root #wrap_all #main .section.background-main .button-wrap.style-black a:hover .button-title{color:white}html #root #wrap_all #main .section.background-black .button-row.style-black a .button-title,html #root #wrap_all #main .section.background-black .button-wrap.style-black a .button-title{color:#ffffff}html #root #wrap_all #main .section.background-black .button-row.style-black a:hover .button-title,html #root #wrap_all #main .section.background-black .button-wrap.style-black a:hover .button-title{color:#E83530}html #root #wrap_all #main .slider-button .fa:before{display:none}