{"version":3,"file":"shared-lib.0NBHbeCc.mjs","names":[],"sources":["https:/framerusercontent.com/modules/evePMhqdjb0pvdeOD5xl/6HSizzdwrxQEEDSK0bkC/siteMetadata.js"],"sourcesContent":["// Generated by Framer (b8d5a97)\nexport default function metadata(params,activeLocale){return{customHTMLBodyEnd:\"\\n\\n<script>\\n    // Function to parse hash and get element ID and padding\\nfunction parseHash(hash) {\\n    const BASE_PADDING = 70; // Base padding always applied\\n    \\n    // Remove the # symbol\\n    const hashValue = hash.substring(1);\\n    \\n    // Check if there's a padding value specified\\n    const matches = hashValue.match(/^(.+?)-(\\\\d+)$/);\\n    \\n    if (matches) {\\n        return {\\n            elementId: matches[1],\\n            padding: BASE_PADDING + parseInt(matches[2], 10)\\n        };\\n    }\\n    \\n    // If no padding specified, return with just base padding\\n    return {\\n        elementId: hashValue,\\n        padding: BASE_PADDING\\n    };\\n}\\n\\n// Function to attempt the scroll\\nfunction attemptScroll() {\\n    const { elementId, padding } = parseHash(window.location.hash);\\n    console.log(`Attempting to scroll to: ${elementId} with ${padding}px padding (70px base + ${padding - 70}px additional)`);\\n    \\n    const targetElement = document.getElementById(elementId);\\n    \\n    console.log('Element check:', {\\n        targetElement: !!targetElement,\\n        targetId: targetElement?.id,\\n        basePadding: 70,\\n        additionalPadding: padding - 70,\\n        totalPadding: padding\\n    });\\n    \\n    if (targetElement) {\\n        // First try standard window scroll\\n        const elementRect = targetElement.getBoundingClientRect();\\n        const offsetPosition = elementRect.top + window.pageYOffset - padding;\\n        \\n        console.log('Window scroll attempt:', {\\n            elementTop: elementRect.top,\\n            pageYOffset: window.pageYOffset,\\n            calculatedPosition: offsetPosition,\\n            appliedPadding: padding\\n        });\\n        \\n        window.scrollTo({\\n            top: offsetPosition,\\n            behavior: 'smooth'\\n        });\\n        \\n        // Check if the element is now in view after a short delay\\n        setTimeout(() => {\\n            const newRect = targetElement.getBoundingClientRect();\\n            const isInView = newRect.top >= 0 && newRect.bottom <= window.innerHeight;\\n            \\n            console.log('Scroll result check:', {\\n                elementInView: isInView,\\n                newTop: newRect.top,\\n                windowHeight: window.innerHeight\\n            });\\n            \\n            // If element isn't in view, try scrolling the container as fallback\\n            if (!isInView) {\\n                console.log('Window scroll unsuccessful, trying container scroll...');\\n                const scrollContainer = document.querySelector('[aria-label=\\\"scroll-window\\\"]');\\n                \\n                if (scrollContainer) {\\n                    const containerRect = scrollContainer.getBoundingClientRect();\\n                    const scrollTop = newRect.top - containerRect.top - padding;\\n                    \\n                    console.log('Container scroll attempt:', {\\n                        containerTop: containerRect.top,\\n                        calculatedScrollTop: scrollTop,\\n                        finalScrollPosition: scrollTop + scrollContainer.scrollTop,\\n                        appliedPadding: padding\\n                    });\\n                    \\n                    scrollContainer.scrollTo({\\n                        top: scrollTop + scrollContainer.scrollTop,\\n                        behavior: 'smooth'\\n                    });\\n                }\\n            }\\n        }, 100);\\n        \\n        return true; // Successfully found element and attempted scroll\\n    }\\n    return false; // Element not found\\n}\\n\\n// Main initialization function\\nfunction initScrollToHash() {\\n    console.log('Initializing scroll to hash...');\\n    \\n    if (!window.location.hash) {\\n        console.log('No hash found in URL');\\n        return;\\n    }\\n    \\n    let attempts = 0;\\n    const maxAttempts = 10;\\n    const attemptInterval = 500; // 500ms between attempts\\n    \\n    function tryScroll() {\\n        console.log(`Scroll attempt ${attempts + 1} of ${maxAttempts}`);\\n        \\n        if (attemptScroll()) {\\n            console.log('Scroll attempt completed');\\n            return;\\n        }\\n        \\n        attempts++;\\n        if (attempts < maxAttempts) {\\n            console.log(`Element not found, retrying in ${attemptInterval}ms...`);\\n            setTimeout(tryScroll, attemptInterval);\\n        } else {\\n            console.warn('Max attempts reached, scroll abandoned');\\n        }\\n    }\\n    \\n    // Try different load event listeners\\n    const handleLoad = () => {\\n        console.log('Load event triggered, starting scroll attempts...');\\n        tryScroll();\\n    };\\n    \\n    // Listen for various load events\\n    if (document.readyState === 'complete') {\\n        console.log('Document already complete');\\n        handleLoad();\\n    } else {\\n        window.addEventListener('load', handleLoad);\\n        document.addEventListener('DOMContentLoaded', handleLoad);\\n    }\\n    \\n    // Additional MutationObserver to watch for dynamic content\\n    const observer = new MutationObserver((mutations, obs) => {\\n        console.log('DOM mutation detected');\\n        tryScroll();\\n        \\n        // Optional: Stop observing after max attempts\\n        if (attempts >= maxAttempts) {\\n            console.log('Stopping mutation observer');\\n            obs.disconnect();\\n        }\\n    });\\n    \\n    observer.observe(document.body, {\\n        childList: true,\\n        subtree: true\\n    });\\n}\\n\\n// Initialize\\ninitScrollToHash();\\n    </script>\\n\\n  <script type=\\\"text/javascript\\\">\\n_linkedin_partner_id = \\\"6684194\\\";\\nwindow._linkedin_data_partner_ids = window._linkedin_data_partner_ids || [];\\nwindow._linkedin_data_partner_ids.push(_linkedin_partner_id);\\n</script><script type=\\\"text/javascript\\\">\\n(function(l) {\\nif (!l){window.lintrk = function(a,b){window.lintrk.q.push([a,b])};\\nwindow.lintrk.q=[]}\\nvar s = document.getElementsByTagName(\\\"script\\\")[0];\\nvar b = document.createElement(\\\"script\\\");\\nb.type = \\\"text/javascript\\\";b.async = true;\\nb.src = \\\"https://snap.licdn.com/li.lms-analytics/insight.min.js\\\";\\ns.parentNode.insertBefore(b, s);})(window.lintrk);\\n</script>\\n<noscript>\\n<img height=\\\"1\\\" width=\\\"1\\\" style=\\\"display:none;\\\" alt=\\\"\\\" src=\\\"https://px.ads.linkedin.com/collect/?pid=6684194&amp;fmt=gif\\\">\\n</noscript>\",customHTMLBodyStart:'<!-- Google Tag Manager (noscript) -->\\n<noscript><iframe src=\"https://www.googletagmanager.com/ns.html?id=GTM-KBHPP33W\" height=\"0\" width=\"0\" style=\"display:none;visibility:hidden\"></iframe></noscript>\\n<!-- End Google Tag Manager (noscript) -->',customHTMLHeadEnd:'\\n<!-- Anti-flickering script -->\\n<script>\\n  var  timeout = 3000; // Timeout value to remove the flicker (in milliseconds)\\n  !function(h,i,d,e){var  t,n=h.createElement(\"style\");n.id=e,n.innerHTML=\"body{opacity:0}\",h.head.appendChild(n),t=d,i.rmfk=function(){var  t=h.getElementById(e);t&&t.parentNode.removeChild(t)},setTimeout(i.rmfk,t)}(document,window,timeout,\"abhide\");\\n</script>\\n\\n<!-- Mida A/B Testing Script -->\\n<script type=\"text/javascript\" async=\"\" src=\"https://cdn.mida.so/js/optimize.js?key=qEMjJ14gRlXkXR36Lwx5Pn\"></script>\\n<script>\\n    !function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(\".\");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement(\"script\")).type=\"text/javascript\",p.async=!0,p.src=s.api_host.replace(\".i.posthog.com\",\"-assets.i.posthog.com\")+\"/static/array.js\",(r=t.getElementsByTagName(\"script\")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a=\"posthog\",u.people=u.people||[],u.toString=function(t){var e=\"posthog\";return\"posthog\"!==a&&(e+=\".\"+a),t||(e+=\" (stub)\"),e},u.people.toString=function(){return u.toString(1)+\".people (stub)\"},o=\"init push capture register register_once register_for_session unregister unregister_for_session getFeatureFlag getFeatureFlagPayload isFeatureEnabled reloadFeatureFlags updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures on onFeatureFlags onSessionId getSurveys getActiveMatchingSurveys renderSurvey canRenderSurvey getNextSurveyStep identify setPersonProperties group resetGroups setPersonPropertiesForFlags resetPersonPropertiesForFlags setGroupPropertiesForFlags resetGroupPropertiesForFlags reset get_distinct_id getGroups get_session_id get_session_replay_url alias set_config startSessionRecording stopSessionRecording sessionRecordingStarted captureException loadToolbar get_property getSessionProperty createPersonProfile opt_in_capturing opt_out_capturing has_opted_in_capturing has_opted_out_capturing clear_opt_in_out_capturing debug\".split(\" \"),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);\\n    posthog.init(\\'phc_3fZ4f77RCuN1BLYKvY43GxlVx9gR9jKkvTAj15sn1OB\\',{api_host:\\'https://us.i.posthog.com\\', person_profiles: \\'identified_only\\' // or \\'always\\' to create profiles for anonymous users as well\\n        })\\n</script>\\n<script>\\n    !function(e,r){try{if(e.vector)return void console.log(\"Vector snippet included more than once.\");var t={};t.q=t.q||[];for(var o=[\"load\",\"identify\",\"on\"],n=function(e){return function(){var r=Array.prototype.slice.call(arguments);t.q.push([e,r])}},c=0;c<o.length;c++){var a=o[c];t[a]=n(a)}if(e.vector=t,!t.loaded){var i=r.createElement(\"script\");i.type=\"text/javascript\",i.async=!0,i.src=\"https://cdn.vector.co/pixel.js\";var l=r.getElementsByTagName(\"script\")[0];l.parentNode.insertBefore(i,l),t.loaded=!0}}catch(e){console.error(\"Error loading Vector:\",e)}}(window,document);\\n    vector.load(\"ed7e0ebf-633d-4f53-95ac-f0bbe8e8aee5\");\\n</script>\\n<!-- Cal floating-popup embed code begins -->\\n<!-- Cal floating-popup embed code begins -->\\n<script type=\"text/javascript\">\\n  (function (C, A, L) { let p = function (a, ar) { a.q.push(ar); }; let d = C.document; C.Cal = C.Cal || function () { let cal = C.Cal; let ar = arguments; if (!cal.loaded) { cal.ns = {}; cal.q = cal.q || []; d.head.appendChild(d.createElement(\"script\")).src = A; cal.loaded = true; } if (ar[0] === L) { const api = function () { p(api, arguments); }; const namespace = ar[1]; api.q = api.q || []; if(typeof namespace === \"string\"){cal.ns[namespace] = cal.ns[namespace] || api;p(cal.ns[namespace], ar);p(cal, [\"initNamespace\", namespace]);} else p(cal, ar); return;} p(cal, ar); }; })(window, \"https://app.cal.com/embed/embed.js\", \"init\");\\nCal(\"init\", \"talk\", {origin:\"https://cal.com\"});\\n\\n  Cal.ns.talk(\"floatingButton\", {\"calLink\":\"team/novelcare/talk\",\"config\":{\"layout\":\"month_view\"},\"buttonText\":\"Meet with us\",\"buttonColor\":\"#22453E\"}); \\n  Cal.ns.talk(\"ui\", {\"styles\":{\"branding\":{\"brandColor\":\"#22453E\"}},\"hideEventTypeDetails\":false,\"layout\":\"month_view\"});\\n  </script>\\n  <!-- Cal floating-popup embed code ends -->\\n  <!-- Cal floating-popup embed code ends -->\\n',customHTMLHeadStart:\"<!-- Google Tag Manager -->\\n<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\\nnew Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\\nj=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=\\n'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\\n})(window,document,'script','dataLayer','GTM-KBHPP33W');</script>\\n<!-- End Google Tag Manager -->\",description:\"Clinical studies provide hundreds of new treatment options at zero cost. Novelcare empowers healthcare providers to make them available to their patients. Also at zero cost.\",favicon:\"https://framerusercontent.com/assets/RiUAVvY5LhLT6Od66ojgISlcg8o.svg\",robots:\"max-image-preview:large\",socialImage:\"https://framerusercontent.com/assets/NRJFaeLjxlU9IoZ6eaMXRaMygfY.png\",title:\"Novelcare | Connect your patients to relevant clinical studies in one click\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"2DACA,SAAwB,EAAS,EAAO,EAAa,CAAC,MAAM,CAAC,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAAktM,oBAAoB;;4CAAwP,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAqsI,oBAAoB;;;;;;iCAA4a,YAAY,gLAAgL,QAAQ,uEAAuE,OAAO,0BAA0B,YAAY,uEAAuE,MAAM,8EAA8E"}