{"product_id":"suntour-sp25-seatpost-ncx-31-6mm-x-350mm","title":"SUNTOUR SP25 SEATPOST NCX 31.6MM X 350MM","description":"\u003cdiv class=\"combined-description\"\u003e\n                        \u003ch2\u003eFeatures\u003c\/h2\u003e\n                        \u003cdiv class=\"std\"\u003e\n                            \u003cp class=\"specs accordion-item is-active\"\u003e \u003c\/p\u003e\n\n\u003cdiv aria-hidden=\"false\" aria-labelledby=\"5jv1hi-accordion-label\" class=\"accordion-content specs accordion-item is-active\" data-tab-content=\"\" id=\"5jv1hi-accordion\" role=\"tabpanel\"\u003e\n\u003cscript\u003e\n                                                                     document.addEventListener(\"DOMContentLoaded\", function() {\n                                                                         var descriptionDiv = document.getElementById(\"description-spec\");\n                                                                         var learnMoreLink = document.createElement(\"a\");\n                                                                         learnMoreLink.href = \"https:\/\/www.srsuntour.com\/fileadmin\/user_upload\/Downloads\/Consumer\/user_upload\/SP25-NCX\/SP25-NCX-updates-final-update.pdf\";\n                                                                         learnMoreLink.target = \"_blank\";\n                                                                         learnMoreLink.innerText = \"(Learn more)\";\n                                                                         learnMoreLink.classList.add(\"learn-more\");\n                                                                         descriptionDiv.appendChild(document.createTextNode(\" \")); \/\/ Add space before the link\n                                                                         descriptionDiv.appendChild(learnMoreLink);\n                                                                     });\n                                                                   \u003c\/script\u003e\n\u003cdiv class=\"row travel\"\u003e\n\u003cdiv class=\"large-3 medium-6 columns\"\u003e\u003cspan class=\"span-spec-name\"\u003e\u003cstrong\u003eTravel\u003c\/strong\u003e\u003c\/span\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"large-9 medium-6 columns\"\u003e\u003cspan class=\"span-spec-value\"\u003e50\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"row spring\"\u003e\n\u003cdiv class=\"large-3 medium-6 columns\"\u003e\u003cspan class=\"span-spec-name\"\u003e\u003cstrong\u003eSpring\u003c\/strong\u003e\u003c\/span\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"large-9 medium-6 columns\"\u003e\u003cspan class=\"span-spec-value\"\u003eSpring: Coil (Medium); Pre-load adjust: Yes\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"row seat-clamp\"\u003e\n\u003cdiv class=\"large-3 medium-6 columns\"\u003e\u003cspan class=\"span-spec-name\"\u003e\u003cstrong\u003eSeat Clamp\u003c\/strong\u003e\u003c\/span\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"large-9 medium-6 columns\"\u003e\u003cspan class=\"span-spec-value\"\u003eSlide clamp, radial detent, wide angle range\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"row frame\"\u003e\n\u003cdiv class=\"large-3 medium-6 columns\"\u003e\u003cspan class=\"span-spec-name\"\u003e\u003cstrong\u003eFrame\u003c\/strong\u003e\u003c\/span\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"large-9 medium-6 columns\"\u003e\u003cspan class=\"span-spec-value\"\u003eUpper: Forged, Lower: Forged\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"row post\"\u003e\n\u003cdiv class=\"large-3 medium-6 columns\"\u003e\u003cspan class=\"span-spec-name\"\u003e\u003cstrong\u003ePost\u003c\/strong\u003e\u003c\/span\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"large-9 medium-6 columns\"\u003e\u003cspan class=\"span-spec-value\"\u003eDiameter: 31.6 mm \/ 25 mm setback Length: 350 mm\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"row arm\"\u003e\n\u003cdiv class=\"large-3 medium-6 columns\"\u003e\u003cspan class=\"span-spec-name\"\u003e\u003cstrong\u003eArm\u003c\/strong\u003e\u003c\/span\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"large-9 medium-6 columns\"\u003e\u003cspan class=\"span-spec-value\"\u003eDesign: Parallelogram design; Material: Aluminum; Connecting: Brass bushings\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"row spring-options\"\u003e\n\u003cdiv class=\"large-3 medium-6 columns\"\u003e\u003cspan class=\"span-spec-name\"\u003e\u003cstrong\u003eSpring Options\u003c\/strong\u003e\u003c\/span\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"large-9 medium-6 columns\"\u003e\u003cspan class=\"span-spec-value\"\u003eMedium (rider weight 70-95KG)\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"row suggested-category\"\u003e\n\u003cdiv class=\"large-3 medium-6 columns\"\u003e\u003cspan class=\"span-spec-name\"\u003e\u003cstrong\u003eSuggested Category\u003c\/strong\u003e\u003c\/span\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"large-9 medium-6 columns\"\u003e\n\u003cspan class=\"span-spec-value\"\u003eTrekking City\u003c\/span\u003e\u003ca href=\"https:\/\/www.srsuntour.com\/support\/download-area\/consumer-downloads\/seatpost\/seatpost-exploded-views\/ncx\/sp25-ncx\/\" rel=\"noopener noreferrer\" target=\"_blank\"\u003e\u003ci class=\"fi-link large test-3\"\u003e\u003c\/i\u003e\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n                    window.addEventListener(\"DOMContentLoaded\", (event) =\u003e {\n                        const classesToFormat = [\"travel\", \"feature\", \"air-sleeve-options\", \"formatted-travel\", \"air-volume-descriptions\", \"frame\", \"post\", \"arm\", \"spring-options\", \"spring\"];\n\n                        const category = \"Seatposts\";\n                        if (category == \"Forks\") {\n                            return;\n                        }\n\n                        classesToFormat.forEach(cls =\u003e {\n                            let rows = document.querySelectorAll(\".\" + cls);\n                            rows.forEach(row =\u003e {\n                                let valueElement;\n                                if (cls === \"formatted-travel\") {\n                                    valueElement = row; \/\/ because the \"formatted-travel\" class is directly on the value element\n                                } else {\n                                    valueElement = row.querySelector(\".span-spec-value\");\n                                }\n\n                                if (valueElement) {\n                                    let separator = \"\";\n                                    switch(cls) {\n                                        case \"post\":\n                                        case \"arm\":\n                                        case \"spring-options\":\n                                        case \"spring\":\n                                            separator = \";\";\n                                            break;\n                                        case \"travel\":\n                                        case \"formatted-travel\":\n                                            separator = \"mm\";\n                                            break;\n                                        case \"feature\":\n                                        case \"air-sleeve-options\":\n                                        case \"air-volume-descriptions\":\n                                            separator = \".\";\n                                            break;\n                                        case \"frame\":\n                                        case \"seat-clamp\":\n                                            separator = \",\"\n                                            break;\n                                    }\n                                    let values = valueElement.textContent.split(separator);\n                                    let formattedValue = values.map((value, index, array) =\u003e {\n                                        value = value.trim();\n                                        return index \u003c array.length - 1 ? value + separator : value; \/\/ Add separator only if not last item\n                                    }).join(\"\u003cbr\u003e\");\n\n                                }\n                            });\n                        });\n                    });\n                \u003c\/script\u003e\n\u003c\/div\u003e\n                        \u003c\/div\u003e\n                    \u003c\/div\u003e","brand":"Dragon Sports","offers":[{"title":"Default Title","offer_id":49788261171437,"sku":"SPOS-00316-PZR6","price":1799.99,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0682\/7383\/2173\/files\/NCX25.jpg?v=1776323383","url":"https:\/\/abcycles.co.za\/products\/suntour-sp25-seatpost-ncx-31-6mm-x-350mm","provider":"Alpha Beta Cycles ","version":"1.0","type":"link"}