{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/rj5K2QMA5FUk0Q1XHnRb/W6bk7j0bvhNHrAoxYy9I/siteMetadata.js"],
  "sourcesContent": ["// Generated by Framer (eea9f0c)\nexport default function metadata(params,activeLocale){return{customHTMLBodyEnd:\"\\n\\n\",customHTMLBodyStart:'<!-- Fire pageView event -->\\n<script>\\n    window.dataLayer = window.dataLayer || [];\\n\\n    function hasConsent() {\\n      const regex = new RegExp(\"ecologi_cookie_consent_20220224=([^;]+)\"); \\n      const value = regex.exec(document.cookie); \\n      return value && value[1] === \"true\"\\n    }\\n\\n    function sendPageView(page) {\\n      if (hasConsent()) {\\n        window.dataLayer.push({\\n            event: \"pageview\",\\n            page\\n        });\\n      }\\n    }\\n\\n    // Initial page load\\n    sendPageView(window.location.pathname)\\n    // Transitions\\n    if (\"navigation\" in window) {\\n        let initialLoad = true;\\n        // For browsers that support the navigation API\\n        window.navigation.addEventListener(\"navigate\", (event) => {\\n            if (initialLoad) {\\n              initialLoad = false;\\n              return;\\n            }\\n            const url = new URL(event.destination.url);\\n            sendPageView(url.pathname);\\n        })\\n    } else {\\n      // For browsers that do not, poll every 500ms\\n      let currentUrl = window.location.pathname;\\n      setInterval(() => {\\n        if (window.location.pathname != currentUrl) {\\n          currentUrl = window.location.pathname;\\n          sendPageView(window.location.pathname);\\n        }\\n      }, 500)\\n    }\\n</script>\\n<!-- End Fire pageView event -->\\n\\n\\n<!-- Fire leadGenFormSubmissionSuccess event -->\\n<script>\\n    (function() {\\n      function handleEcologiHubSpotFormSubmit() {\\n            window.dataLayer.push({\\n                event: \"leadGenFormSubmissionSuccess\",\\n                page: window.location.pathname,\\n            });\\n        }\\n\\n        function handleEcologiHubSpotMessage(event) {\\n            if (event.data && typeof event.data === \\'object\\' &&\\n                event.data.type === \\'hsFormCallback\\' &&\\n                event.data.eventName === \\'onFormSubmit\\') {\\n                handleEcologiHubSpotFormSubmit();\\n            }\\n        }\\n\\n        window.addEventListener(\\'message\\', handleEcologiHubSpotMessage);\\n    })();\\n</script>\\n<!-- End fire leadGenFormSubmissionSuccess event -->\\n\\n<script>\\n    (function() {\\n\\n        // This function should only be called on NON prod environments\\n        function replaceEcologiLinks() {\\n            if (window.location.hostname === \\'ecologi.com\\' || window.location.hostname === \\'ecologi-production.framer.website\\') {\\n                return;\\n            }\\n            \\n            // find the anchor tags that are http(s)://ecologi.com\\n            const anchors = document.querySelectorAll(\\'a[href^=\"https://ecologi.com\"], a[href^=\"http://ecologi.com\"]\\');\\n\\n            anchors.forEach(anchor => {\\n                try {\\n                    const url = new URL(anchor.href);\\n                    const newUrl = `${window.location.protocol}//${window.location.hostname}${url.pathname}${url.search}${url.hash}`;\\n                    console.log(`Replacing URL:\\\\n  Original: ${anchor.href}\\\\n  New:      ${newUrl}`);\\n                    anchor.href = newUrl;\\n                } catch (error) {\\n                    console.error(`Invalid URL found in href: ${anchor.href}`, error);\\n                }\\n            });\\n        }\\n\\n\\n        // Create a MutationObserver to watch for changes in the body/DOM\\n        const observer = new MutationObserver(() => {\\n            replaceEcologiLinks();\\n        });\\n\\n        // Start observing the body for added nodes\\n        observer.observe(document.body, { childList: true, subtree: true });\\n\\n    })();\\n</script>',customHTMLHeadStart:\"<!-- Google Tag Manager -->\\n<script>\\n  (function (w, d, s, l, i) {\\n    w[l] = w[l] || [];\\n    w[l].push({ \\\"gtm.start\\\": new Date().getTime(), event: \\\"gtm.js\\\" });\\n    var f = d.getElementsByTagName(s)[0],\\n      j = d.createElement(s),\\n      dl = l != \\\"dataLayer\\\" ? \\\"&l=\\\" + l : \\\"\\\";\\n    j.async = true;\\n    j.src =\\n      \\\"https://www.googletagmanager.com/gtm.js?id=\\\" +\\n      i +\\n      dl +\\n      // The following line is customised to load different envs based on the url\\n      (window.location.hostname === \\\"ecologi.com\\\"\\n        ? \\\"&gtm_auth=Nd8EjTzz0H95-YWJYsoWMg&gtm_preview=env-1&gtm_cookies_win=x\\\"\\n        : \\\"&gtm_auth=AuBboQJElwmwzPWdGBDuCQ&gtm_preview=env-3&gtm_cookies_win=x\\\");\\n    f.parentNode.insertBefore(j, f);\\n  })(window, document, \\\"script\\\", \\\"dataLayer\\\", \\\"GTM-TGZ8W6N\\\");\\n</script>\\n<!-- End Google Tag Manager -->\\n<!-- Start VWO Async SmartCode -->\\n<link rel=\\\"preconnect\\\" href=\\\"https://dev.visualwebsiteoptimizer.com\\\">\\n<script type=\\\"text/javascript\\\" id=\\\"vwoCode\\\">\\nwindow._vwo_code || (function() {\\nvar account_id = window.location.hostname === \\\"ecologi.com\\\" ? 892249 : 961608,\\nversion=2.1,\\nsettings_tolerance=2000,\\nhide_element='body',\\nhide_element_style = 'opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important;transition:none !important;',\\n/* DO NOT EDIT BELOW THIS LINE */\\nf=false,w=window,d=document,v=d.querySelector('#vwoCode'),cK='_vwo_'+account_id+'_settings',cc={};try{var c=JSON.parse(localStorage.getItem('_vwo_'+account_id+'_config'));cc=c&&typeof c==='object'?c:{}}catch(e){}var stT=cc.stT==='session'?w.sessionStorage:w.localStorage;code={nonce:v&&v.nonce,use_existing_jquery:function(){return typeof use_existing_jquery!=='undefined'?use_existing_jquery:undefined},library_tolerance:function(){return typeof library_tolerance!=='undefined'?library_tolerance:undefined},settings_tolerance:function(){return cc.sT||settings_tolerance},hide_element_style:function(){return'{'+(cc.hES||hide_element_style)+'}'},hide_element:function(){if(performance.getEntriesByName('first-contentful-paint')[0]){return''}return typeof cc.hE==='string'?cc.hE:hide_element},getVersion:function(){return version},finish:function(e){if(!f){f=true;var t=d.getElementById('_vis_opt_path_hides');if(t)t.parentNode.removeChild(t);if(e)(new Image).src='https://dev.visualwebsiteoptimizer.com/ee.gif?a='+account_id+e}},finished:function(){return f},addScript:function(e){var t=d.createElement('script');t.type='text/javascript';if(e.src){t.src=e.src}else{t.text=e.text}v&&t.setAttribute('nonce',v.nonce);d.getElementsByTagName('head')[0].appendChild(t)},load:function(e,t){var n=this.getSettings(),i=d.createElement('script'),r=this;t=t||{};if(n){i.textContent=n;d.getElementsByTagName('head')[0].appendChild(i);if(!w.VWO||VWO.caE){stT.removeItem(cK);r.load(e)}}else{var o=new XMLHttpRequest;o.open('GET',e,true);o.withCredentials=!t.dSC;o.responseType=t.responseType||'text';o.onload=function(){if(t.onloadCb){return t.onloadCb(o,e)}if(o.status===200||o.status===304){_vwo_code.addScript({text:o.responseText})}else{_vwo_code.finish('&e=loading_failure:'+e)}};o.onerror=function(){if(t.onerrorCb){return t.onerrorCb(e)}_vwo_code.finish('&e=loading_failure:'+e)};o.send()}},getSettings:function(){try{var e=stT.getItem(cK);if(!e){return}e=JSON.parse(e);if(Date.now()>e.e){stT.removeItem(cK);return}return e.s}catch(e){return}},init:function(){if(d.URL.indexOf('__vwo_disable__')>-1)return;var e=this.settings_tolerance();w._vwo_settings_timer=setTimeout(function(){_vwo_code.finish();stT.removeItem(cK)},e);var t;if(this.hide_element()!=='body'){t=d.createElement('style');var n=this.hide_element(),i=n?n+this.hide_element_style():'',r=d.getElementsByTagName('head')[0];t.setAttribute('id','_vis_opt_path_hides');v&&t.setAttribute('nonce',v.nonce);t.setAttribute('type','text/css');if(t.styleSheet)t.styleSheet.cssText=i;else t.appendChild(d.createTextNode(i));r.appendChild(t)}else{t=d.getElementsByTagName('head')[0];var i=d.createElement('div');i.style.cssText='z-index: 2147483647 !important;position: fixed !important;left: 0 !important;top: 0 !important;width: 100% !important;height: 100% !important;background: white !important;';i.setAttribute('id','_vis_opt_path_hides');i.classList.add('_vis_hide_layer');t.parentNode.insertBefore(i,t.nextSibling)}var o=window._vis_opt_url||d.URL,s='https://dev.visualwebsiteoptimizer.com/j.php?a='+account_id+'&u='+encodeURIComponent(o)+'&vn='+version;if(w.location.search.indexOf('_vwo_xhr')!==-1){this.addScript({src:s})}else{this.load(s+'&x=true')}}};w._vwo_code=code;code.init();})();\\n</script>\\n<!-- End VWO Async SmartCode --> \\n\\n<!-- Block specific crawlers for non prod environments (unable to use generic robots as Framer overrides it) -->\\n<script type=\\\"text/javascript\\\">\\n  (function() {\\n    if (window.location.hostname !== 'ecologi.com') {\\n      const metaBots = ['googlebot', 'bingbot', 'DuckDuckBot'];\\n\\n      metaBots.forEach(function(bot) {\\n        const metaTag = document.createElement('meta');\\n        metaTag.name = bot;\\n        metaTag.content = \\\"noindex\\\";\\n        document.head.appendChild(metaTag);\\n      });\\n\\n      console.log('Noindex meta tags added for non-production site.');\\n    }\\n  })();\\n</script>\\n<!-- End block specific crawlers for non prod  -->\",description:\"One solution for climate leadership. Sector-specific protocols. Reduce your emissions, restore our planet, report your progress. Trusted by 24,000+ businesses, certified B Corp and 5* Trustpilot rated. Get started.\",favicon:\"https://framerusercontent.com/assets/xfeZ8yrAqhTjLINrbLZRPXzaUo.png\",robots:\"max-image-preview:large\",socialImage:\"https://framerusercontent.com/assets/BaCRvSdOERSYdnz1jGwp7zy2o.png\",title:\"Climate Leadership Starts Here | Ecologi\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "AACe,SAARA,EAA0BC,EAAOC,EAAa,CAAC,MAAM,CAAC,kBAAkB;AAAA;AAAA,EAAO,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAw/G,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oDAAytK,YAAY,yNAAyN,QAAQ,sEAAsE,OAAO,0BAA0B,YAAY,qEAAqE,MAAM,0CAA0C,CAAE",
  "names": ["metadata", "params", "activeLocale"]
}
