{"version":3,"file":"shared-lib.CGZSLRJM.mjs","names":[],"sources":["https:/framerusercontent.com/modules/xQZQb1FC5FlR27sBCS3J/QsAv51Mh1jWkQrrRd6rs/siteMetadata.js"],"sourcesContent":["// Generated by Framer (04b9457)\nexport default function metadata(params,activeLocale){return{customHTMLBodyEnd:'<!-- Title Change Script -->\\n\\n<script>\\n  const originalTitle = \"Abhijit Rout - Creative Designer\";\\n\\n  // Don\\'t apply if override flag is present\\n  if (!document.body.hasAttribute(\"data-title-override\")) {\\n    document.title = originalTitle;\\n\\n    document.addEventListener(\"visibilitychange\", function () {\\n      document.title = document.hidden\\n        ? \"👀 Please come back\"\\n        : originalTitle;\\n    });\\n  }\\n</script>\\n\\n\\n<!-- <script>\\n  // Store the original title\\n  const originalTitle = \"Abhijit Rout - Creative Designer\";\\n\\n  // Set the initial title\\n  document.title = originalTitle;\\n\\n  // Listen for visibility change events\\n  document.addEventListener(\"visibilitychange\", function() {\\n    if (document.hidden) {\\n      // Tab is not active\\n      document.title = \"👀 Please come back\";\\n    } else {\\n      // Tab is active again\\n      document.title = originalTitle;\\n    }\\n  });\\n</script> -->\\n<!---------------->\\n\\n\\n<!-- Toggle Music Script  -  Underlying principles of singleton approach -->\\n\\n\\n<script>\\nwindow.addEventListener(\"DOMContentLoaded\", function () {\\n  // ✅ Skip if disabled or already initialized\\n  if (window.__disablePersistentAudio || window.__persistentAudio) return;\\n\\n  const audio = new Audio(\\n    \"https://archive.org/download/stay-hanna-lindgren/Stay_Hanna_Lindgren.mp3\"\\n  );\\n  audio.loop = true;\\n  audio.volume = 0;\\n\\n  let isPlaying = false;\\n  let fadeInterval = null;\\n  let wasPlayingOnHide = false;\\n  const volumeTarget = 0.2;\\n  const fadeDuration = 1000;\\n\\n  function fadeTo(target) {\\n    if (fadeInterval) clearInterval(fadeInterval);\\n    const intervalTime = 50;\\n    const steps = fadeDuration / intervalTime;\\n    fadeInterval = setInterval(() => {\\n      const diff = target - audio.volume;\\n      const step = diff / steps;\\n      if (Math.abs(diff) < Math.abs(step)) {\\n        audio.volume = target;\\n        clearInterval(fadeInterval);\\n      } else {\\n        audio.volume += step;\\n      }\\n    }, intervalTime);\\n  }\\n\\n  function startAudio() {\\n    if (isPlaying) return;\\n    const savedTime = parseFloat(sessionStorage.getItem(\"audioTime\")) || 0;\\n    audio.currentTime = savedTime;\\n    audio.play().then(() => {\\n      fadeTo(volumeTarget);\\n      isPlaying = true;\\n      sessionStorage.setItem(\"audioPlaying\", \"true\");\\n    }).catch(err => console.warn(\"Playback blocked:\", err));\\n  }\\n\\n  function pauseAudio() {\\n    if (!isPlaying) return;\\n    fadeTo(0);\\n    setTimeout(() => {\\n      sessionStorage.setItem(\"audioTime\", audio.currentTime);\\n      audio.pause();\\n      isPlaying = false;\\n      sessionStorage.setItem(\"audioPlaying\", \"false\");\\n    }, fadeDuration);\\n  }\\n\\n  function onFirstClick() {\\n    startAudio();\\n    document.removeEventListener(\"click\", onFirstClick);\\n  }\\n  document.addEventListener(\"click\", onFirstClick);\\n\\n  document.addEventListener(\"visibilitychange\", () => {\\n    if (document.hidden) {\\n      wasPlayingOnHide = isPlaying;\\n      pauseAudio();\\n    } else if (wasPlayingOnHide) {\\n      startAudio();\\n      wasPlayingOnHide = false;\\n    }\\n  });\\n\\n  window.addEventListener(\"beforeunload\", () => {\\n    sessionStorage.setItem(\"audioTime\", audio.currentTime);\\n    sessionStorage.setItem(\"audioPlaying\", isPlaying);\\n  });\\n\\n  if (sessionStorage.getItem(\"audioPlaying\") === \"true\") {\\n    startAudio();\\n  }\\n\\n  window.__persistentAudio = { startAudio, pauseAudio };\\n});\\n</script>\\n',customHTMLHeadStart:\"<!-- Hotjar Tracking Code Starts Here -->\\n<script>\\n    (function(h,o,t,j,a,r){\\n        h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};\\n        h._hjSettings={hjid:6442760,hjsv:6};\\n        a=o.getElementsByTagName('head')[0];\\n        r=o.createElement('script');r.async=1;\\n        r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;\\n        a.appendChild(r);\\n    })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');\\n</script>\\n<!-- Hotjar Tracking Code Starts Here -->\\n\\n<!-- Text Selection Ends Here-->\\n<style>\\n::selection {\\ncolor: #FFFFFF; /*selection text color*/\\nbackground: #000000; /*selection background color*/\\n}\\n</style>\\n<!-- Text Selection Ends Here-->\\n\\n<!-- Seline Analytics Starts Here-->\\n<script async=\\\"\\\" src=\\\"https://cdn.seline.com/seline.js\\\" data-token=\\\"34d42db60065a72\\\"></script>\\n<!-- Seline Analytics Ends Here-->\\n\\n<!-- Zooming Block Starts Here-->\\n<meta name=\\\"viewport\\\" content=\\\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no\\\">\\n<script>\\n  // Block keyboard zoom on desktop\\n  document.addEventListener('keydown', function (e) {\\n    if ((e.ctrlKey || e.metaKey) && ['+', '-', '=', '0'].includes(e.key)) {\\n      e.preventDefault();\\n    }\\n  });\\n\\n  // Block trackpad pinch and Ctrl + scroll zoom\\n  document.addEventListener('wheel', function (e) {\\n    if (e.ctrlKey || e.metaKey) {\\n      e.preventDefault();\\n    }\\n  }, { passive: false });\\n\\n  // Block Safari gesture zoom on macOS\\n  document.addEventListener('gesturestart', e => e.preventDefault());\\n  document.addEventListener('gesturechange', e => e.preventDefault());\\n  document.addEventListener('gestureend', e => e.preventDefault());\\n</script>\\n<!-- Zooming Block Starts Here-->\\n\",description:\"Abhijit Rout is a creative generalist specialised in visual design, interface design, product visualisation, interaction design, 3d art and more.\",favicon:\"https://framerusercontent.com/assets/hCRrZXpTb4PbJ5Tcf1gIrLIiU.png\",robots:\"max-image-preview:large\",socialImage:\"https://framerusercontent.com/assets/BXXyZ5WDeBN8DtLgiyHE90NpmW4.png\",title:\"Abhijit Rout – Creative Designer\"};}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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA03G,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA+tD,YAAY,oJAAoJ,QAAQ,qEAAqE,OAAO,0BAA0B,YAAY,uEAAuE,MAAM,mCAAmC"}