{"product_id":"mpower-forge-30-solar","title":"MPower - Forge 30 Solar","description":"\n\u003c!-- MOBILE VIEW: FIRST IMAGE --\u003e\n\u003cdiv class=\"videomobileview image-wrapperxyz\"\u003e\n  \u003cdiv class=\"mpower-mobile-images\"\u003e\n    \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0592\/2740\/6513\/files\/MPower_-_Forge_30_Solar01_1.webp?v=1791983615\" alt=\"MPower Forge 30 Solar - Image 1\" loading=\"eager\"\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- SCROLL ANIMATION BETWEEN BOTH IMAGES --\u003e\n\u003cstyle\u003e\n  #carniwal-scroll {\n    position: relative;\n    width: 100vw;\n    max-width: 100vw;\n    height: 200vh;\n    margin: 0 0 0 calc(50% - 50vw);\n    padding: 0;\n    background: #000;\n    overflow: clip;\n    isolation: isolate;\n    line-height: normal;\n  }\n\n  #carniwal-scroll,\n  #carniwal-scroll * {\n    box-sizing: border-box;\n  }\n\n  #carniwal-scroll .carniwal-stage {\n    position: sticky;\n    top: 0;\n    width: 100%;\n    height: 100vh;\n    height: 100svh;\n    overflow: hidden;\n    background: #000;\n  }\n\n  #carniwal-scroll .carniwal-frame {\n    position: absolute;\n    top: 0;\n    left: 50%;\n    width: 40%;\n    height: auto;\n    aspect-ratio: 393 \/ 852;\n    overflow: hidden;\n    background: #000;\n    opacity: 0.10;\n    transform: translateX(-50%);\n    will-change: width, opacity;\n  }\n\n  #carniwal-scroll .carniwal-image {\n    display: block;\n    width: 100%;\n    height: 100%;\n    max-width: none;\n    margin: 0;\n    padding: 0;\n    object-fit: contain;\n    object-position: center top;\n  }\n\n  #carniwal-scroll .carniwal-shade {\n    position: absolute;\n    inset: 0;\n    pointer-events: none;\n    background: linear-gradient(\n      to bottom,\n      rgba(0, 0, 0, 0) 40%,\n      rgba(0, 0, 0, 0.55) 100%\n    );\n    opacity: 0;\n    will-change: opacity;\n  }\n\n  #carniwal-scroll .carniwal-title {\n    position: absolute;\n    z-index: 2;\n    top: 50%;\n    left: 5%;\n    width: 90%;\n    margin: 0;\n    padding: 0;\n    color: #fff;\n    font-size: 30px;\n    line-height: 1.15;\n    font-weight: 700;\n    text-align: center;\n    opacity: 0;\n    transform: translateY(30px);\n    pointer-events: none;\n    will-change: opacity, transform;\n  }\n\n  @media (min-width: 768px) {\n    #carniwal-scroll {\n      display: none !important;\n    }\n  }\n\u003c\/style\u003e\n\n\u003cdiv id=\"carniwal-scroll\"\u003e\n  \u003cdiv class=\"carniwal-stage\"\u003e\n    \u003cdiv class=\"carniwal-frame\"\u003e\n      \u003cimg class=\"carniwal-image\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0592\/2740\/6513\/files\/MPower_-_Forge_30_Solar01.1.webp?v=1791983614\" alt=\"Carniwal Fire\" loading=\"eager\"\u003e\n      \u003cdiv class=\"carniwal-shade\"\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003ch2 class=\"carniwal-title\"\u003e\u003c\/h2\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n(function () {\n  function initCarniwalScroll() {\n    var section = document.getElementById('carniwal-scroll');\n\n    if (!section || section.dataset.scrollInit === '1') return;\n    section.dataset.scrollInit = '1';\n\n    var frame = section.querySelector('.carniwal-frame');\n    var title = section.querySelector('.carniwal-title');\n    var shade = section.querySelector('.carniwal-shade');\n    var animationFrame = null;\n\n    function clamp(value) {\n      return Math.max(0, Math.min(1, value));\n    }\n\n    function smoothEase(value) {\n      value = clamp(value);\n      return value * value * value *\n        (value * (value * 6 - 15) + 10);\n    }\n\n    function render() {\n      animationFrame = null;\n\n      if (window.innerWidth \u003e= 768) return;\n\n      var rect = section.getBoundingClientRect();\n      var vh = window.innerHeight;\n      var scrollDistance = section.offsetHeight - vh;\n\n      if (scrollDistance \u003c= 0) return;\n\n      var progress = clamp(\n        (vh - rect.top) \/ (scrollDistance + vh)\n      );\n\n      \/* Expand image from 40% to 100% *\/\n      var zoomProgress = smoothEase(progress \/ 0.75);\n\n      frame.style.width =\n        (40 + 60 * zoomProgress) + '%';\n\n      frame.style.opacity =\n        (0.10 + 0.90 * zoomProgress);\n\n      \/* Fade in shade and title near the end *\/\n      var textProgress = smoothEase(\n        (progress - 0.82) \/ 0.15\n      );\n\n      title.style.opacity = textProgress;\n\n      title.style.transform =\n        'translate3d(0,' +\n        (30 * (1 - textProgress)) +\n        'px,0)';\n\n      shade.style.opacity = textProgress;\n    }\n\n    function onScroll() {\n      if (animationFrame !== null) return;\n\n      animationFrame =\n        window.requestAnimationFrame(render);\n    }\n\n    window.addEventListener('scroll', onScroll, {\n      passive: true\n    });\n\n    window.addEventListener('resize', onScroll, {\n      passive: true\n    });\n\n    render();\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener(\n      'DOMContentLoaded',\n      initCarniwalScroll\n    );\n  } else {\n    initCarniwalScroll();\n  }\n})();\n\u003c\/script\u003e\n\n\u003c!-- MOBILE VIEW: SECOND IMAGE --\u003e\n\u003cdiv class=\"videomobileview image-wrapperxyz\"\u003e\n  \u003cdiv class=\"mpower-mobile-images\"\u003e\n    \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0592\/2740\/6513\/files\/MPower_-_Forge_30_Solar02_2.webp?v=1791983615\" alt=\"MPower Forge 30 Solar - Image 2\" loading=\"lazy\"\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n  .mpower-mobile-images {\n    width: 100vw !important;\n    max-width: 100vw !important;\n    position: relative;\n    left: 50%;\n    margin-left: -50vw !important;\n    margin-right: -50vw !important;\n    box-sizing: border-box;\n    background: #000 !important;\n    padding: 0;\n    line-height: 0;\n  }\n\n  .mpower-mobile-images img {\n    display: block;\n    width: 100%;\n    max-width: 100%;\n    height: auto;\n    margin-top: -30% !important;\n    padding: 0;\n    border: 0;\n    position: relative;\n    z-index: 1;\n  }\n\u003c\/style\u003e\n\n\u003c!-- DESKTOP VIEW --\u003e\n\u003cstyle\u003e\n  .trek-image-section {\n    width: 100%;\n    margin-left: 0;\n    margin-right: 0;\n    padding: 0;\n    background: #000;\n    position: relative;\n    overflow: hidden;\n    line-height: 0;\n  }\n\n  .trek-image-section img {\n    display: block;\n    width: 100%;\n    height: auto;\n    margin-top: -9px !important;\n    padding: 0;\n    border: 0;\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"hidemobile\"\u003e\n  \u003cdiv class=\"trek-image-section\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n","brand":"Mobilla","offers":[{"title":"Default Title","offer_id":48033524416689,"sku":null,"price":0.0,"currency_code":"INR","in_stock":false}],"url":"https:\/\/mobilla.in\/products\/mpower-forge-30-solar","provider":"Mobilla","version":"1.0","type":"link"}