{"product_id":"f-one-target-kite","title":"F-One TARGET Kite","description":"\u003ch3\u003eAim high\u003c\/h3\u003e\u003chr style=\"max-width: 600px; margin: 1rem 0 !important;\"\u003eCombine jumps, narrow turns and fast freeriding for a session of 100% pure joy with the TARGET, F-ONE’s new foil kite. The best combination of simplicity, performance, precision and playfulness, this is an exceptional, dynamic and all-out fun kite to fly.\n\u003cul\u003e\n    \u003cli\u003eUltra-precise and direct steering\u003c\/li\u003e\n    \u003cli\u003eSharp turning\u003c\/li\u003e\n    \u003cli\u003eImmense power on demand\u003c\/li\u003e\n    \u003cli\u003eOutstanding stability and drift\u003c\/li\u003e\n    \u003cli\u003ePowerful lift and boost\u003c\/li\u003e\n    \u003cli\u003eEffortless upwind and downwind abilities\u003c\/li\u003e\n\u003c\/ul\u003e\u003cstyle\u003e\n    .progress-container {\n        display: flex;\n        justify-content: space-between;\n        background-color: #f9f9f9;\n        padding: 40px 25px 60px 25px;\n    }\n    .progress-ring {\n        width: 150px;\n        height: 150px;\n        position: relative;\n        text-align: center;\n    }\n    .progress-ring circle {\n        fill: transparent;\n        stroke: #ff6800;\n        stroke-width: 15;\n        transform: rotate(-90deg);\n        transform-origin: 50% 50%;\n        transition: stroke-dashoffset 0.5s;\n    }\n    .progress-ring .ring-background {\n        fill: transparent;\n        stroke: #ccc;\n        stroke-width: 15;\n        transform: rotate(-90deg);\n        transform-origin: 50% 50%;\n    }\n    .progress-text {\n        position: absolute;\n        top: 50%;\n        left: 50%;\n        transform: translate(-50%, -50%);\n        font-size: 24px;\n    }\n    .progress-title {\n        font-size: 20px;\n        color: black;\n        margin-top: 10px;\n    }\n    @media (max-width: 768px) {\n        .progress-container {\n            flex-direction: column;\n            align-items: center;\n        }\n        .progress-ring {\n            margin-bottom: 50px;\n        }\n    }\n\u003c\/style\u003e\n\u003cdiv class=\"row\"\u003e\n\u003cdiv class=\"col-md-6\"\u003e\u003ciframe src=\"https:\/\/emersya.com\/fr\/presets\/UHB4DTKU77\/TARGET%20RED\" width=\"1280\" height=\"720\" frameborder=\"0\" webkitallowfullscreen=\"\" mozallowfullscreen=\"\" allowfullscreen=\"\" data-gtm-yt-inspected-7=\"true\"\u003e\u003c\/iframe\u003e\u003c\/div\u003e\n\u003cdiv class=\"col-md-6 order-md-last\"\u003e\n\u003cp style=\"text-align: justify;\"\u003eThe TARGET is a mid-aspect ratio kite, bringing incredible stability, power, lift and user-friendliness. The aspect ratio has been tuned perfectly for each size, and on the smaller ones, the chosen aspect ratio brings a super dynamic and powerful feeling.\n\nThis kite is very direct to steer and reacts instantly on the lightest bar impulse. It delivers confidence-inspiring and intuitive handling, so you will always know where it sits. It will effortlessly go anywhere you want it to at any time and position itself perfectly for any maneuver. \n\nThe TARGET is the true definition of power on demand, bringing you the power, lift or boost you need in the exact moment you want it. With its huge power potential within the bar throw, you can easily control your riding speed. Sheet in and get infinite power as the kite accelerates as fast as your foil goes with a very comfortable pull. Sheet out and it immediately loses any traction so you can cruise around effortlessly. The wingtips are perfectly stable, allowing tight turns right at your fingertips. \n\n\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\n\u003ch3\u003ePERFORMANCE\u003c\/h3\u003e\n\u003chr style=\"border: none; border-top: 1px solid #B3B3B3; width: 30%; margin: 0 0 20px 0;\"\u003e\n\n\u003cdiv class=\"progress-container\"\u003e\n    \u003cdiv class=\"progress-ring\" id=\"ring1\" data-progress=\"100\"\u003e\n        \u003csvg width=\"150\" height=\"150\"\u003e\n            \u003ccircle class=\"ring-background\" cx=\"75\" cy=\"75\" r=\"65\"\u003e\u003c\/circle\u003e\n            \u003ccircle class=\"ring\" cx=\"75\" cy=\"75\" r=\"65\"\u003e\u003c\/circle\u003e\n        \u003c\/svg\u003e\n        \u003cdiv class=\"progress-title\"\u003eFoil\u003c\/div\u003e\n        \u003cdiv class=\"progress-text\" id=\"progress1\"\u003e0%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"progress-ring\" id=\"ring2\" data-progress=\"90\"\u003e\n        \u003csvg width=\"150\" height=\"150\"\u003e\n            \u003ccircle class=\"ring-background\" cx=\"75\" cy=\"75\" r=\"65\"\u003e\u003c\/circle\u003e\n            \u003ccircle class=\"ring\" cx=\"75\" cy=\"75\" r=\"65\"\u003e\u003c\/circle\u003e\n        \u003c\/svg\u003e\n        \u003cdiv class=\"progress-title\"\u003eFreeride\u003c\/div\u003e\n        \u003cdiv class=\"progress-text\" id=\"progress2\"\u003e0%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"progress-ring\" id=\"ring3\" data-progress=\"90\"\u003e\n        \u003csvg width=\"150\" height=\"150\"\u003e\n            \u003ccircle class=\"ring-background\" cx=\"75\" cy=\"75\" r=\"65\"\u003e\u003c\/circle\u003e\n            \u003ccircle class=\"ring\" cx=\"75\" cy=\"75\" r=\"65\"\u003e\u003c\/circle\u003e\n        \u003c\/svg\u003e\n        \u003cdiv class=\"progress-title\"\u003ePerformance\u003c\/div\u003e\n        \u003cdiv class=\"progress-text\" id=\"progress3\"\u003e0%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"progress-ring\" id=\"ring4\" data-progress=\"80\"\u003e\n        \u003csvg width=\"150\" height=\"150\"\u003e\n            \u003ccircle class=\"ring-background\" cx=\"75\" cy=\"75\" r=\"65\"\u003e\u003c\/circle\u003e\n            \u003ccircle class=\"ring\" cx=\"75\" cy=\"75\" r=\"65\"\u003e\u003c\/circle\u003e\n        \u003c\/svg\u003e\n        \u003cdiv class=\"progress-title\"\u003eSpeed\u003c\/div\u003e\n        \u003cdiv class=\"progress-text\" id=\"progress4\"\u003e0%\u003c\/div\u003e\n    \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\n\n\n\n\n\n\n\n\u003cscript\u003e\n    document.addEventListener(\"DOMContentLoaded\", function() {\n        function animateProgress(ringId, from, to, duration) {\n            const ring = document.querySelector(`#ring${ringId} .ring`);\n            const text = document.getElementById(`progress${ringId}`);\n            const title = document.querySelector(`#ring${ringId} .progress-title`);\n            const circumference = 2 * Math.PI * 65; \/\/ Hardcoding the radius as 65 for this example\n            const increment = (to - from) \/ (duration * 60);\n            let current = from;\n\n            function update() {\n                if ((increment \u003e 0 \u0026\u0026 current \u003c to) || (increment \u003c 0 \u0026\u0026 current \u003e to)) {\n                    const offset = circumference - (current \/ 100) * circumference;\n                    ring.style.strokeDasharray = `${circumference} ${circumference}`;\n                    ring.style.strokeDashoffset = offset;\n                    text.textContent = `${Math.round(current)}%`;\n\n                    current += increment;\n                    requestAnimationFrame(update);\n                } else {\n                    const offset = circumference - (to \/ 100) * circumference;\n                    ring.style.strokeDashoffset = offset;\n                    text.textContent = `${to}%`;\n                }\n            }\n\n            update();\n        }\n\n        function handleIntersection(entries, observer) {\n            entries.forEach((entry) =\u003e {\n                if (entry.isIntersecting) {\n                    const ringId = entry.target.id.replace('ring', '');\n                    const from = 0;\n                    const to = parseInt(entry.target.getAttribute('data-progress'), 10);\n                    animateProgress(ringId, from, to, 2);\n                    observer.unobserve(entry.target);\n                }\n            });\n        }\n\n        const rings = document.querySelectorAll('.progress-ring');\n\n        const observer = new IntersectionObserver(handleIntersection, {\n            root: null,\n            rootMargin: '0px',\n            threshold: 0.2 \/\/ Adjust this threshold as needed\n        });\n\n        rings.forEach((ring) =\u003e {\n            observer.observe(ring);\n        });\n    });\n\u003c\/script\u003e","brand":"F-One","offers":[{"title":"6m \/ Red","offer_id":50619938046289,"sku":"FW24-77231-0701-6A","price":1799.0,"currency_code":"EUR","in_stock":false},{"title":"7m \/ Red","offer_id":50619938079057,"sku":"FW24-77231-0701-7A","price":1949.0,"currency_code":"EUR","in_stock":false},{"title":"9m \/ Red","offer_id":50619938111825,"sku":"FW24-77231-0701-9A","price":2159.0,"currency_code":"EUR","in_stock":false},{"title":"11m \/ Red","offer_id":50619938144593,"sku":"FW24-77231-0701-11A","price":2379.0,"currency_code":"EUR","in_stock":false},{"title":"13m \/ Red","offer_id":50619938177361,"sku":"FW24-77231-0701-13A","price":2589.0,"currency_code":"EUR","in_stock":false},{"title":"15m \/ Red","offer_id":50619938210129,"sku":"FW24-77231-0701-15A","price":2799.0,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0512\/0838\/8795\/files\/target-650x650.jpg?v=1739979609","url":"https:\/\/www.billy.be\/products\/f-one-target-kite","provider":"Billy.be","version":"1.0","type":"link"}