{"product_id":"2024-f-one-strike-v4","title":"F-One Strike V4","description":"\u003cp\u003e\u003cmeta charset=\"UTF-8\"\u003e \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\u003c\/p\u003e\n\u003cstyle\u003e\u003c!--\n  .popup-container {\n    cursor: pointer;\n  }\n\n  .popup-text {\n    display: none;\n    position: absolute;\n    background-color: #f9f9f9;\n    border: 1px solid #ccc;\n    border-radius: 5px;\n    padding: 40px;\n    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n    z-index: 2;\n    width: 900px;\n    left: 20%; \/* Center horizontally *\/\n    top: 98%; \/* Center vertically *\/\n    transform: translate(-10%, -10%); \/* Center both horizontally and vertically *\/\n  }\n\n  .popup-container:hover .popup-text {\n    display: block;\n  }\n\n  \/* Media Query for Mobile Devices with Width \u003c= 400px *\/\n  @media (max-width: 750px) {\n    .popup-text {\n      width: 90%; \/* Adjust the width as needed for mobile devices *\/\n      left: 50%; \/* Center the pop-up horizontally on mobile devices *\/\n      top: 95%; \/* Center the pop-up horizontally on mobile devices *\/\n      transform: translateX(-50%); \/* Center the pop-up using transform *\/\n    }\n  }\n\n  \/* Additional styles to center the popup text trigger within its parent column *\/\n  .custom-popup-column {\n    display: flex;\n    justify-content: center;\n    position: relative;\n  }\n\n  * {\n    box-sizing: border-box;\n  }\n    .mySlides {\n        display: none\n    }\n\n    img {\n        vertical-align: middle;\n    }\n\n    \/* Slideshow container *\/\n    .slideshow-container {\n        max-width: 100%;\n        position: relative;\n        margin: 0 auto;\n        overflow: hidden;\n        \/* Hide horizontal overflow caused by touch sliding *\/\n        touch-action: pan-y;\n        \/* Enable vertical touch scrolling *\/\n    }\n\n    \/* Slideshow caption *\/\n    .slide-caption {\n        padding: 20px 30px 0px 50px;\n    }\n\n  .numbertext {\n    position: absolute;\n    top: 2%;\n    left: 3%;\n    z-index: 1; \/* Changed to 1 *\/\n    color: #00a885;\n    font-size: 12px;\n}\n\n    \/* Next \u0026 previous buttons *\/\n    .prev,\n    .next {\n        cursor: pointer;\n        position: absolute;\n        top: 50%;\n        width: auto;\n        padding-left: 20px;\n        padding-right: 5px;\n        margin-top: -22px;\n        color: #00a885;\n        font-weight: bold;\n        font-size: 35px;\n        transition: 0.6s ease;\n        border-radius: 0 3px 3px 0;\n        user-select: none;\n        z-index: 1;\n        \/* Ensures the buttons appear on top of the image *\/\n    }\n\n    \/* Position the \"next button\" to the right *\/\n    .next {\n        right: 0;\n        border-radius: 3px 0 0 3px;\n    }\n\n    \/* The dots\/bullets\/indicators *\/\n    .dot {\n        cursor: pointer;\n        height: 5px;\n        width: 5px;\n        margin: 0 2px;\n        background-color: #00a885;\n        border-radius: 50%;\n        display: inline-block;\n        transition: background-color 0.6s ease;\n    }\n\n    .dot.active {\n        background-color: #000000;\n        \/* Set the active dot to black *\/\n    }\n\n    \/* Fading animation *\/\n    .fade {\n        animation-name: fade;\n        animation-duration: 1.5s;\n    }\n\n    @keyframes fade {\n        from {\n            opacity: .4\n        }\n\n        to {\n            opacity: 1\n        }\n    }\n\n    \/* Two-column layout for large devices *\/\n    .slide-content {\n        display: flex;\n        flex-direction: row;\n    }\n\n    .slide-image {\n        flex: 1;\n    }\n\n    .slide-caption {\n        flex: 1;\n        padding-left: 20px;\n        text-align: left;\n    }\n\n    \/* On small devices, stack image and caption vertically *\/\n    @media only screen and (max-width: 767px) {\n        .slide-content {\n            flex-direction: column;\n        }\n\n        .slide-image,\n        .slide-caption {\n            padding-left: 0;\n            text-align: center;\n        }\n\n        .slide-image img {\n            max-width: 100%;\n        }\n\n        \/* Hide previous and next buttons on mobile *\/\n        .prev,\n        .next {\n            display: none;\n        }\n    }\n      \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\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    \n--\u003e\u003c\/style\u003e\n\u003ch3 class=\"jeff\"\u003eGOING FORWARD\u003c\/h3\u003e\n\u003chr style=\"border: none; border-top: 1px solid #B3B3B3; width: 30%; margin: 0 0 20px 0;\"\u003e\n\u003cdiv class=\"container_fluid\"\u003e\n\u003cdiv class=\"row\"\u003e\n\u003cdiv class=\"col-md-6 order-md-last\"\u003e\u003ciframe width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/M0hfEGpBhyQ\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen=\"\"\u003e\u003c\/iframe\u003e\u003c\/div\u003e\n\u003cdiv class=\"col-md-6\"\u003e\n\u003cp style=\"text-align: justify;\"\u003eThanks to its optimized design and Sail Engineering, the STRIKE is a masterpiece of aerodynamism. This fourth version of our iconic wing has been refined to guarantee new sensations, and hence unforgettable, high-performance sessions.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eOptimized design for perfect balance in flight and new forward traction\u003c\/li\u003e\n\u003cli\u003eHITEX and TECHNOFORCE for increased durability\u003c\/li\u003e\n\u003cli\u003eUnmatched speed and power delivery\u003c\/li\u003e\n\u003cli\u003e“Going Forward” feeling\u003c\/li\u003e\n\u003cli\u003eImpressive pop, hangtime, and upwind performances\u003c\/li\u003e\n\u003cli\u003eIntuitive pumping for easy planing starts\u003c\/li\u003e\n\u003cli\u003e“Going Forward” feeling\u003c\/li\u003e\n\u003cli\u003eEquipped with our new interchangeable handle system\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003ch3\u003eFEATURES\u003c\/h3\u003e\n\u003chr style=\"border: none; border-top: 1px solid #B3B3B3; width: 30%; margin: 0 0 20px 0;\"\u003e\n\u003cdiv class=\"slideshow-container\"\u003e\n\u003c!-- Slide 1 --\u003e\n\u003cdiv class=\"mySlides fade\"\u003e\n\u003cdiv class=\"numbertext\"\u003e1\/6\u003c\/div\u003e\n\u003cdiv class=\"slide-content\"\u003e\n\u003cdiv class=\"slide-image col-md-6 col-sm-12\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0512\/0838\/8795\/files\/F-One_CWC_wing_details_2024-Pre_Loaded_Canopy.jpg?v=1718204163\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"slide-caption col-md-6 col-sm-12\"\u003e\n\u003ch4 class=\"jeff\"\u003ePRE LOADED CANOPY\u003c\/h4\u003e\n\u003cp style=\"text-align: justify;\"\u003eFrom the beginning, our wings have had a unique canopy tension that can be compared to that of a harden up windsurfing rig. Our wings are therefore “pre-tensioned” and made to adapt. This ideal tension of the trailing edge when riding guarantees much better performances upwind and in light winds.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Slide 2 --\u003e\n\u003cdiv class=\"mySlides fade\"\u003e\n\u003cdiv class=\"numbertext\"\u003e2\/6\u003c\/div\u003e\n\u003cdiv class=\"slide-content\"\u003e\n\u003cdiv class=\"slide-image col-md-6 col-sm-12\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0512\/0838\/8795\/files\/F-One_CWC_wing_details_2024-KEVLAR.jpg?v=1718204385\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"slide-caption col-md-6 col-sm-12\"\u003e\n\u003ch4 class=\"jeff\"\u003eSTRIKE KEVLAR REINFORCEMENTS\u003c\/h4\u003e\n\u003cp style=\"text-align: justify;\"\u003eThe wingtips are protected with abrasion-resistant Kevlar® fabric reinforcements.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Slide 3 --\u003e\n\u003cdiv class=\"mySlides fade\"\u003e\n\u003cdiv class=\"numbertext\"\u003e3\/6\u003c\/div\u003e\n\u003cdiv class=\"slide-content\"\u003e\n\u003cdiv class=\"slide-image col-md-6 col-sm-12\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0512\/0838\/8795\/files\/F-OneSTRIK_V4_wing_details_2024-Radial_Tips.jpg?v=1718204163\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"slide-caption col-md-6 col-sm-12\"\u003e\n\u003ch4 class=\"jeff\"\u003eRADIALS TIPS\u003c\/h4\u003e\n\u003cp style=\"text-align: justify;\"\u003eA small radial cut is implemented on the back of the strut to spread tensions.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Slide 4 --\u003e\n\u003cdiv class=\"mySlides fade\"\u003e\n\u003cdiv class=\"numbertext\"\u003e4\/6\u003c\/div\u003e\n\u003cdiv class=\"slide-content\"\u003e\n\u003cdiv class=\"slide-image col-md-6 col-sm-12\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0512\/0838\/8795\/files\/F-One_STRIKE_V4_wing_details_2024-Load_Diffuser.jpg?v=1718204703\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"slide-caption col-md-6 col-sm-12\"\u003e\n\u003ch4 class=\"jeff\"\u003eLOAD DIFFUSER STRIKE\u003c\/h4\u003e\n\u003cp style=\"text-align: justify;\"\u003eLocated on the back of the strut, our innovative Load Diffuser made of overlapping panels of hard Mylar and Dacron further helps maintaining the profile sleek and efficient, leading to the ultimate stability, performances, and longevity.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Slide 5 --\u003e\n\u003cdiv class=\"mySlides fade\"\u003e\n\u003cdiv class=\"numbertext\"\u003e5\/6\u003c\/div\u003e\n\u003cdiv class=\"slide-content\"\u003e\n\u003cdiv class=\"slide-image col-md-6 col-sm-12\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0512\/0838\/8795\/files\/F-One_strike_V4_wing_details_2024-valves.jpg?v=1718204524\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"slide-caption col-md-6 col-sm-12\"\u003e\n\u003ch4 class=\"jeff\"\u003eSTRIKE VALVES\u003c\/h4\u003e\n\u003cp style=\"text-align: justify;\"\u003eThe wing features two highly efficient inflation valves: one on the central strut and one on the leading edge. These two areas of the wing face different forces, and thus require two different pressure recommendations. As a result, the central strut is thinner in diameter and gains in rigidity thanks to its independent valve that allows for a better control of its pressure.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Slide 6 --\u003e\n\u003cdiv class=\"mySlides fade\"\u003e\n\u003cdiv class=\"numbertext\"\u003e6\/6\u003c\/div\u003e\n\u003cdiv class=\"slide-content\"\u003e\n\u003cdiv class=\"slide-image col-md-6 col-sm-12\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0512\/0838\/8795\/files\/F-One_CWC_wing_details_2024-handles.jpg?v=1718195569\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"slide-caption col-md-6 col-sm-12\"\u003e\n\u003ch4 class=\"jeff\"\u003eINTERCHANGEABLE WING HANDLES SYSTEM\u003c\/h4\u003e\n\u003cp style=\"text-align: justify;\"\u003eIn 2024, all our wings are fitted with our new interchangeable handle system. Whether you’re looking for a light and comfortable setup with soft handles, a more direct and aggressive ride with hard handles or something in between with our innovative hybrid handles, we’ve got you covered. \u003cbr\u003eWings come with soft handles pre-installed, but swapping a handle set between wings is quick and easy thanks to our screwless setup.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Previous and Next buttons will show on larger screens --\u003e \u003ca class=\"prev\" onclick=\"plusSlides(-1)\"\u003e❮\u003c\/a\u003e \u003ca class=\"next\" onclick=\"plusSlides(1)\"\u003e❯\u003c\/a\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: center; margin-top: -20px;\"\u003e\n\u003cspan class=\"dot\" onclick=\"currentSlide(1)\"\u003e\u003c\/span\u003e \u003cspan class=\"dot\" onclick=\"currentSlide(2)\"\u003e\u003c\/span\u003e \u003cspan class=\"dot\" onclick=\"currentSlide(3)\"\u003e\u003c\/span\u003e \u003cspan class=\"dot\" onclick=\"currentSlide(4)\"\u003e\u003c\/span\u003e \u003cspan class=\"dot\" onclick=\"currentSlide(5)\"\u003e\u003c\/span\u003e \u003cspan class=\"dot\" onclick=\"currentSlide(6)\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003ch3\u003ePERFORMANCE\u003c\/h3\u003e\n\u003chr color=\"B3B3B3\" align=\"left\" width=\"100%\"\u003e\n\u003cdiv class=\"progress-container\"\u003e\n\u003cdiv class=\"progress-ring\" id=\"ring1\" data-progress=\"100\"\u003e\n\u003csvg width=\"150\" height=\"150\"\u003e \u003ccircle class=\"ring-background\" cx=\"75\" cy=\"75\" r=\"65\"\u003e\u003c\/circle\u003e \u003ccircle class=\"ring\" cx=\"75\" cy=\"75\" r=\"65\"\u003e\u003c\/circle\u003e \u003c\/svg\u003e\n\u003cdiv class=\"progress-title\"\u003eFreestyle\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=\"80\"\u003e\n\u003csvg width=\"150\" height=\"150\"\u003e \u003ccircle class=\"ring-background\" cx=\"75\" cy=\"75\" r=\"65\"\u003e\u003c\/circle\u003e \u003ccircle class=\"ring\" cx=\"75\" cy=\"75\" r=\"65\"\u003e\u003c\/circle\u003e \u003c\/svg\u003e\n\u003cdiv class=\"progress-title\"\u003eSurf\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 \u003ccircle class=\"ring-background\" cx=\"75\" cy=\"75\" r=\"65\"\u003e\u003c\/circle\u003e \u003ccircle class=\"ring\" cx=\"75\" cy=\"75\" r=\"65\"\u003e\u003c\/circle\u003e \u003c\/svg\u003e\n\u003cdiv class=\"progress-title\"\u003eFreefly\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=\"100\"\u003e\n\u003csvg width=\"150\" height=\"150\"\u003e \u003ccircle class=\"ring-background\" cx=\"75\" cy=\"75\" r=\"65\"\u003e\u003c\/circle\u003e \u003ccircle class=\"ring\" cx=\"75\" cy=\"75\" r=\"65\"\u003e\u003c\/circle\u003e \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\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003ch3\u003eWIND RANGE\u003c\/h3\u003e\n\u003chr style=\"border: none; border-top: 1px solid #B3B3B3; width: 30%; margin: 0 0 20px 0;\"\u003e\n\u003cdiv class=\"table-responsive table-bordered\"\u003e\n  \u003ctable class=\"table\" style=\"width: 100%; table-layout: auto;\"\u003e\n\u003ctbody style=\"border-color: rgba(33,37,41,0); border-left: 0px none rgba(128,128,128,0);\"\u003e\n\u003ctr style=\"background: black;\"\u003e\n\u003ctd\u003e\u003cspan style=\"color: #ffffff;\"\u003eWING SIZE m²\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan style=\"color: #ffffff;\"\u003e2.0\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan style=\"color: #ffffff;\"\u003e2.5\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan style=\"color: #ffffff;\"\u003e3.0\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan style=\"color: #ffffff;\"\u003e3.5\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan style=\"color: #ffffff;\"\u003e4.0\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan style=\"color: #ffffff;\"\u003e4.5\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan style=\"color: #ffffff;\"\u003e5.0\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan style=\"color: #ffffff;\"\u003e5.5\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWIND RANGE kts\u003c\/td\u003e\n\u003ctd\u003e35+\u003c\/td\u003e\n\u003ctd\u003e30+\u003c\/td\u003e\n\u003ctd\u003e28 – 38\u003c\/td\u003e\n\u003ctd\u003e25 – 35\u003c\/td\u003e\n\u003ctd\u003e22 – 32\u003c\/td\u003e\n\u003ctd\u003e18 – 28\u003c\/td\u003e\n\u003ctd\u003e14 – 25\u003c\/td\u003e\n\u003ctd\u003e12 – 22\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n     let slideIndex = 1;\n    showSlides(slideIndex);\n\n    function plusSlides(n) {\n        showSlides(slideIndex += n);\n    }\n\n    function currentSlide(n) {\n        showSlides(slideIndex = n);\n    }\n\n    function showSlides(n) {\n        let i;\n        let slides = document.getElementsByClassName(\"mySlides\");\n        let dots = document.getElementsByClassName(\"dot\");\n        if (n \u003e slides.length) {\n            slideIndex = 1\n        }\n        if (n \u003c 1) {\n            slideIndex = slides.length\n        }\n        for (i = 0; i \u003c slides.length; i++) {\n            slides[i].style.display = \"none\";\n        }\n        for (i = 0; i \u003c dots.length; i++) {\n            dots[i].className = dots[i].className.replace(\" active\", \"\");\n        }\n        slides[slideIndex - 1].style.display = \"block\";\n        dots[slideIndex - 1].className += \" active\";\n    }\n    \/\/ Touch events for sliding on mobile\n    let touchStartX = 0;\n    let touchEndX = 0;\n    document.querySelector('.slideshow-container').addEventListener('touchstart', function(event) {\n        touchStartX = event.touches[0].clientX;\n    });\n    document.querySelector('.slideshow-container').addEventListener('touchend', function(event) {\n        touchEndX = event.changedTouches[0].clientX;\n        handleSwipe();\n    });\n\n    function handleSwipe() {\n        if (touchStartX - touchEndX \u003e 50) {\n            plusSlides(1); \/\/ Swipe left, show next slide\n        } else if (touchEndX - touchStartX \u003e 50) {\n            plusSlides(-1); \/\/ Swipe right, show previous slide\n        }\n    }\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    \u003c\/script\u003e","brand":"F-One","offers":[{"title":"2.0m \/ Onyx\/Flame","offer_id":48802379989329,"sku":"FW24-77241-1001-2.0A","price":999.0,"currency_code":"EUR","in_stock":false},{"title":"2.0m \/ Mint\/Onyx","offer_id":48802380120401,"sku":"FW24-77241-1001-2.0B","price":999.0,"currency_code":"EUR","in_stock":false},{"title":"2.0m \/ Flame\/Mint","offer_id":48803052880209,"sku":"FW24-77241-1001-2.0C","price":999.0,"currency_code":"EUR","in_stock":false},{"title":"2.5m \/ Onyx\/Flame","offer_id":48802380022097,"sku":"FW24-77241-1001-2.5A","price":1049.0,"currency_code":"EUR","in_stock":false},{"title":"2.5m \/ Mint\/Onyx","offer_id":48802380153169,"sku":"FW24-77241-1001-2.5B","price":1049.0,"currency_code":"EUR","in_stock":false},{"title":"2.5m \/ Flame\/Mint","offer_id":48803052945745,"sku":"FW24-77241-1001-2.5C","price":1049.0,"currency_code":"EUR","in_stock":false},{"title":"3.0m \/ Onyx\/Flame","offer_id":48802380054865,"sku":"FW24-77241-1001-3.0A","price":1099.0,"currency_code":"EUR","in_stock":false},{"title":"3.0m \/ Mint\/Onyx","offer_id":48802380185937,"sku":"FW24-77241-1001-3.0B","price":1099.0,"currency_code":"EUR","in_stock":false},{"title":"3.0m \/ Flame\/Mint","offer_id":48803053011281,"sku":"FW24-77241-1001-3.0C","price":1099.0,"currency_code":"EUR","in_stock":false},{"title":"3.5m \/ Onyx\/Flame","offer_id":48802380087633,"sku":"FW24-77241-1001-3.5A","price":1129.0,"currency_code":"EUR","in_stock":false},{"title":"3.5m \/ Mint\/Onyx","offer_id":48802380218705,"sku":"FW24-77241-1001-3.5B","price":1129.0,"currency_code":"EUR","in_stock":false},{"title":"3.5m \/ Flame\/Mint","offer_id":48803053076817,"sku":"FW24-77241-1001-3.5C","price":1129.0,"currency_code":"EUR","in_stock":false},{"title":"4.0m \/ Onyx\/Flame","offer_id":48803052257617,"sku":"FW24-77241-1001-4.0A","price":1179.0,"currency_code":"EUR","in_stock":false},{"title":"4.0m \/ Mint\/Onyx","offer_id":48803052585297,"sku":"FW24-77241-1001-4.0B","price":1179.0,"currency_code":"EUR","in_stock":false},{"title":"4.0m \/ Flame\/Mint","offer_id":48803053109585,"sku":"FW24-77241-1001-4.0C","price":1179.0,"currency_code":"EUR","in_stock":false},{"title":"4.5m \/ Onyx\/Flame","offer_id":48803052355921,"sku":"FW24-77241-1001-4.5A","price":1229.0,"currency_code":"EUR","in_stock":false},{"title":"4.5m \/ Mint\/Onyx","offer_id":48803052650833,"sku":"FW24-77241-1001-4.5B","price":1229.0,"currency_code":"EUR","in_stock":false},{"title":"4.5m \/ Flame\/Mint","offer_id":48803053142353,"sku":"FW24-77241-1001-4.5C","price":1229.0,"currency_code":"EUR","in_stock":false},{"title":"5.0m \/ Onyx\/Flame","offer_id":48803052421457,"sku":"FW24-77241-1001-5.0A","price":1249.0,"currency_code":"EUR","in_stock":false},{"title":"5.0m \/ Mint\/Onyx","offer_id":48803052716369,"sku":"FW24-77241-1001-5.0B","price":1249.0,"currency_code":"EUR","in_stock":false},{"title":"5.0m \/ Flame\/Mint","offer_id":48803053175121,"sku":"FW24-77241-1001-5.0C","price":1249.0,"currency_code":"EUR","in_stock":false},{"title":"5.5m \/ Onyx\/Flame","offer_id":48803052486993,"sku":"FW24-77241-1001-5.5A","price":1299.0,"currency_code":"EUR","in_stock":false},{"title":"5.5m \/ Mint\/Onyx","offer_id":48803052781905,"sku":"FW24-77241-1001-5.5B","price":1299.0,"currency_code":"EUR","in_stock":false},{"title":"5.5m \/ Flame\/Mint","offer_id":48803053207889,"sku":"FW24-77241-1001-5.5C","price":1299.0,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0512\/0838\/8795\/files\/F-One_Strike_V4_ONYX.jpg?v=1718207632","url":"https:\/\/www.billy.be\/products\/2024-f-one-strike-v4","provider":"Billy.be","version":"1.0","type":"link"}