oduct_variants_source":"custom","name":"Preorder","preorder_button_text":"Preorder","preorder_button_description":"Note: This is a preorder. Items will ship based on the estimated delivery date.","preorder_button_description_enabled":true,"preorder_button_description_background_color":"#ebebeb","preorder_button_description_text_color":"#000000","preorder_button_description_border_radius":10,"preorder_button_description_show_quantity_limit":false,"preorder_button_description_quantity_limit_suffix":" units available for preorder","preorder_button_description_shipping_text_prefix":"Shipping: ","delivery_exact_time":null,"delivery_after_n_intervals":null,"delivery_at":"2025-07-26T09:20:18.169Z","delivery_type":"asap","quantity_limit_text":"{{ quantity }} units available for preorder","preorder_button_description_show_shipping":true,"preorder_button_description_icons_enabled":true,"preorder_shipping_text":"Shipping: {{ date }}","shipping_applies_to_all_products":true,"shipping_text":"Estimated to ship within 2 mon ths","payment_type":"full","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"discount_text":"Save {{ discount }}","billing_title":"Full payment","billing_description":null,"enable_billing_widget":false,"inventory_provider":"stoq","preorder_badge_enabled":false,"preorder_badge_text":"Preorder","preorder_badge_text_color":"#FFFFFF","preorder_badge_background_color":"#000000","preorder_discounted_price_enabled":null,"payment_line_item_property_enabled":false,"shipping_line_item_property_enabled":true,"custom_line_item_property_text":null,"preorder_button_text_color":"#ffffff","preorder_button_background_color":"#565557","preorder_button_colors_enabled":true,"markets_enabled":false,"market_id":13779632354,"shopify_market_ids":[],"use_shopify_selling_plan":true,"use_simplified_shipping_text":false,"translations":{},"payment_options":[{"billing_type":"no_remainin
g_balance","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","billing_at":"2025-07-26T09:20:38.472Z","billing_after_n_intervals":7,"billing_after_interval_type":"day","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"billing_title":"Full payment","billing_description":null,"discount_text":"Save {{ discount }}","shopify_selling_plan_id":713071886719,"is_default":true,"type":"full","translations":{}}],"require_preorder_acknowledgement":false,"preorder_acknowledgement_text":"I acknowledge and agree to the preorder terms and conditions for this product.","disable_button_until_acknowledged":false,"preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"countdown_timer_style":"text","countdown_timer_text_color":"#000000","countdown_timer_background_color":"#f5f5f5","countdown_timer_border_radius":8,"countdown_timer_format":"DHMS","countdown_timer_use_schedule_dates":true,"countd own_timer_custom_start_date":null,"countdown_timer_custom_end_date":null,"countdown_timer_starts_text":null,"countdown_timer_ends_text":null,"schedule_offer":false,"schedule_start_date":null,"schedule_end_date":null,"updated_at":"2025-08-19T10:05:43.042Z","allow_mixed_cart":true,"mixed_cart_error_message":"Preorders must be purchased separately from regular items. Please complete your current order first, or clear your cart to continue.","b2b_enabled":true,"preorder_progress_bar_enabled":false,"preorder_progress_bar_text":"{{ sold }} of {{ total }} claimed","preorder_progress_bar_fill_color":"#000000","preorder_progress_bar_background_color":"#e5e5e5","preorder_progress_bar_text_color":"#FFFFFF","preorder_progress_bar_border_radius":4,"preorder_progress_bar_show_percentage":false}],"disabled_plan_ids":[713813721471,713176482175,714631872895],"cached_at":"2026-04-09T09:16:46Z"}; if (cachedData && typeof cachedData === 'object' && cachedData.cached_at) { // Find the maximum updated_at from all it
ems in old array const oldPlans = window._RestockRocketConfig.sellingPlans; const maxUpdatedAt = Array.isArray(oldPlans) && oldPlans.length > 0 ? oldPlans.reduce(function(max, plan) { // Parse dates for proper comparison (handles mixed ISO formats) if (plan.updated_at) { const planDate = new Date(plan.updated_at); const maxDate = max ? new Date(max) : null; return (!maxDate || (planDate && !isNaN(planDate) && planDate > maxDate)) ? plan.updated_at : max; } return max; }, '') : null; // Use cached if old array is empty/has no timestamps, or cached is newer // Parse dates for comparison to handle format differences (+00:00 vs .000Z) const cachedDate = new Date(cachedData.cached_at); const maxDate = maxUpdatedAt ? new Date(maxUpdatedAt) : null; const useCached = !maxUpdatedAt || (cachedDate && !isNaN(cachedDate) && (!maxDa te || cachedDate > maxDate)); if (useCached) { if (Array.isArray(cachedData.plans)) { window._RestockRocketConfig.sellingPlans = cachedData.plans; // Only use disabled_plan_ids when using cached plans window._RestockRocketConfig.disabledSellingPlanIds = cachedData.disabled_plan_ids || []; console.debug('[RR] Using selling plans from cachedSellingPlans (cached_at: ' + cachedData.cached_at + ')'); } } else { // When using old format (stale cache), don't trust disabled_plan_ids window._RestockRocketConfig.disabledSellingPlanIds = []; console.debug('[RR] Using selling plans from old format (max updated_at: ' + maxUpdatedAt + ')'); } } })();window._RestockRocketConfig.enabledNotifyMeVariantIds = [];window._RestockRocketConfig.disabledNotifyMeVariantIds = [];window._RestockRocketConfig.backInStockTemplates = [];window._RestockRocketConfig.restockNotes = {};window._RestockRocketConfig.integrations = [{"id":"15c94526-b6b8-4de1-9bc1-23b1ca52ddb0","shop_id":38436,"enabled":true,"page_types":["product","collection","index","search","page","cart","list-collections","article","blog"],"configuration":{"toastDuration":10000,"toastPosition":"bottom-right","enableXHRHijack":true,"enableFetchHijack":true,"quantityLimitDisabled":false},"type":"hijack","css_config":null,"js_config":null,"created_at":"2025-07-26T09:16:04.076Z","updated_at":"2025-07-26T09:16:04.076Z"}];window._RestockRocketConfig.obfuscateInventoryQuantity = false;window._RestockRocketConfig.product = {"id":8735147557090,"title":"Trek Émonda SL 6 Disc","handle":"trek-emonda-sl-6-disc","description":"\u003cp\u003eThe Émonda SL 6 Disc has all the advantages of an ultra-light carbon road bike, with the added benefit of aero tube shaping that will make you faster on flats and up climbs, too. A performance drive train and front and rear thru axles make it a great choice for fast roadies who want the extra confidence of disc brakes that perf orm in any conditions.\u003c\/p\u003e\n\u003carticle id=\"overview\" data-magellan-target=\"overview\" class=\"pdp-overview--upper kf-block grid-x grid-margin-x\"\u003e\n\u003cdiv class=\"kf-block--intro cell small-12 large-4 mb-4\" qaid=\"product-overview-1\"\u003e\n\u003ch3 class=\"header--md mb-1\"\u003eIt's right for you if...\u003c\/h3\u003e\n\u003cp\u003eYou're no stranger to long, fast rides. You want an ultra-light, aerodynamic bike with race-ready parts, and you favour the better modulation and extra power of disc brakes.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"kf-block--intro cell small-12 large-4 mb-4\" qaid=\"product-overview-2\"\u003e\n\u003ch3 class=\"header--md mb-1\"\u003eThe tech you get\u003c\/h3\u003e\n\u003cp\u003eA lightweight and aerodynamic 500 Series OCLV Carbon frame and fork, a full Shimano Ultegra 2x11 group set and quality Bontrager Paradigm Tubeless Ready wheels. Disc brakes give you better stopping power and more precise modulation.\u003c\/p\u003e\n\u003c\/div\u003e\
n\u003cdiv class=\"kf-block--intro cell small-12 large-4 mb-4\" qaid=\"product-overview-3\"\u003e\n\u003ch3 class=\"header--md mb-1\"\u003eThe final word\u003c\/h3\u003e\n\u003cp\u003eYes, you can have it all: The Émonda SL 6 features a super lightweight, aero frame for more speed on any terrain, exceptional handling characteristics, a race-level drivetrain and all-weather stopping power – all without the sticker shock.\u003c\/p\u003e\n\u003ch2\u003eHow tall are you?\u003c\/h2\u003e\n\u003cp\u003e\u003cbr\u003eTo measure your height, stand up straight, barefoot, with your back, heels, shoulders and head all touching a wall. While looking straight ahead, place a book or straight edge on your head and slowly push it against the wall. Your straight edge should be parallel with the floor. Mark the spot where the bottom of the book is touching the wall. The distance from the marked spot to the floor is your height.\u003c\/p\u003e\n\u003ch2\u003eWhat is your inside leg?\u003c\/h2\u003e\n\u003cp\u003e\u003cbr\u00 3eHow to measure: Stand barefoot with your back straight and against a wall. Tuck a ruler or something that extends to the floor between your legs. Using both hands, and keeping it level, pull the ruler up into your crotch as if you were sitting on the saddle. Measure the distance from the top edge of the ruler to the ground to find your inside leg measurement. Your inside leg is very important to your final bike size so please measure carefully.\u003c\/p\u003e\n\u003csection data-v-05762449=\"\" id=\"SizingComponent\" data-magellan-target=\"SizingComponent\" class=\"sizing-and-fit-aftermarket-component sizing-table grid-container mb-6\"\u003e\n\u003cdiv data-v-05762449=\"\" class=\"rider-sizing mb-2\"\u003e\n\u003cdiv data-v-4052fbf6=\"\" data-v-05762449=\"\"\u003e\n\u003cdiv data-v-4052fbf6=\"\" class=\"size-table\"\u003e\n\u003ctable data-v-3ac87600=\"\" data-v-4052fbf6=\"\" class=\"trek-table trek-table--hstripe trek-table--borderless trek-table--centered trek-table--small trek-table--sticky-headers trek-Header Imagetable--row-headers\" qaid=\"size-table\"\u003e\n\u003cthead data-v-3ac87600=\"\"\u003e\n\u003ctr data-v-3ac87600=\"\"\u003e\n\u003cth data-v-3ac87600=\"\" scope=\"col\" class=\"font-bold\" qaid=\"size-table-column-header-Size\"\u003eSize\u003c\/th\u003e\n\u003cth data-v-3ac87600=\"\" scope=\"col\" class=\"font-bold\" qaid=\"size-table-column-header-Rider Height\"\u003eRider Height\u003c\/th\u003e\n\u003cth data-v-3ac87600=\"\" scope=\"col\" class=\"font-bold\" qaid=\"size-table-column-header-Inseam\"\u003eInseam\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody data-v-3ac87600=\"\"\u003e\n\u003ctr data-v-3ac87600=\"\"\u003e\n\u003cth data-v-3ac87600=\"\" scope=\"row\" qaid=\"size-table-row-header-47\"\u003e47\u003c\/th\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e152 - 158 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e5'0\" - 5'2\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e71 - 75 cm\u003c\/p\u003e\n\u003cp cla ss=\"m-0\"\u003e28\" - 30\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-v-3ac87600=\"\"\u003e\n\u003cth data-v-3ac87600=\"\" scope=\"row\" qaid=\"size-table-row-header-50\"\u003e50\u003c\/th\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e158 - 163 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e5'2\" - 5'4\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e74 - 77 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e29\" - 30\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-v-3ac87600=\"\"\u003e\n\u003cth data-v-3ac87600=\"\" scope=\"row\" qaid=\"size-table-row-header-52\"\u003e52\u003c\/th\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e163 - 168 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e5'4\" - 5'6\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e76 - 79 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e30\" - 31\"\u003c\/p\u003e\n
\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-v-3ac87600=\"\"\u003e\n\u003cth data-v-3ac87600=\"\" scope=\"row\" qaid=\"size-table-row-header-54\"\u003e54\u003c\/th\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e168 - 174 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e5'6\" - 5'9\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e78 - 82 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e31\" - 32\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-v-3ac87600=\"\"\u003e\n\u003cth data-v-3ac87600=\"\" scope=\"row\" qaid=\"size-table-row-header-56\"\u003e56\u003c\/th\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e174 - 180 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e5'9\" - 5'11\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e81 - 85 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e32\" - 33\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ct r data-v-3ac87600=\"\"\u003e\n\u003cth data-v-3ac87600=\"\" scope=\"row\" qaid=\"size-table-row-header-58\"\u003e58\u003c\/th\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e180 - 185 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e5'11\" - 6'1\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e84 - 87 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e33\" - 34\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-v-3ac87600=\"\"\u003e\n\u003cth data-v-3ac87600=\"\" scope=\"row\" qaid=\"size-table-row-header-60\"\u003e60\u003c\/th\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e185 - 190 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e6'1\" - 6'3\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e86 - 90 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e34\" - 35\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-v-3ac87600=\"\"\u003e\n\u003cth data-v-3ac87600=\"\" scope=\"row\" qaid=\"size-table-row-header-62\"\u003e62\u003c\/th\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e190 - 195 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e6'3\" - 6'5\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e89 - 92 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e35\" - 36\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv data-v-05762449=\"\" class=\"rider-sizing__dots\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection data-v-05762449=\"\" id=\"GeometryComponent\" data-magellan-target=\"GeometryComponent\" class=\"sizing-and-fit-aftermarket-component sizing-table grid-container mb-6\"\u003e\u003c\/section\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003csection data-v-05762449=\"\" id=\"GeometryComponent\" data-magellan-target=\"GeometryComponent\" class=\" sizing-and-fit-aftermarket-component sizing-table grid-container mb-6\"\u003e\u003c\/section\u003e\n\u003csection data-v-05762449=\"\" id=\"GeometryComponent\" data-magellan-target=\"GeometryComponent\" class=\"sizing-and-fit-aftermarket-component sizing-table grid-container mb-6\"\u003e\u003c\/section\u003e\n\u003csection class=\"sizing-and-fit-aftermarket-component sizing-table grid-container mb-6\" data-magellan-target=\"GeometryComponent\" id=\"GeometryComponent\" data-v-05762449=\"\"\u003e\u003c\/section\u003e\n\u003csection class=\"sizing-and-fit-aftermarket-component sizing-table grid-container mb-6\" data-magellan-target=\"GeometryComponent\" id=\"GeometryComponent\" data-v-05762449=\"\"\u003e\u003c\/section\u003e\n\u003csection class=\"sizing-and-fit-aftermarket-component sizing-table grid-container mb-6\" data-magellan-target=\"GeometryComponent\" id=\"GeometryComponent\" data-v-05762449=\"\"\u003e\u003c\/section\u003e\n\u003csection data-v-05762449=\"\" id=\"GeometryComponent\" data-magellan-target
=\"GeometryComponent\" class=\"sizing-and-fit-aftermarket-component sizing-table grid-container mb-6\"\u003e\u003c\/section\u003e\n\u003csection data-v-05762449=\"\" id=\"GeometryComponent\" data-magellan-target=\"GeometryComponent\" class=\"sizing-and-fit-aftermarket-component sizing-table grid-container mb-6\"\u003e\u003c\/section\u003e\n\u003csection class=\"sizing-and-fit-aftermarket-component sizing-table grid-container mb-6\" data-magellan-target=\"GeometryComponent\" id=\"GeometryComponent\" data-v-05762449=\"\"\u003e\u003c\/section\u003e","published_at":"2024-10-12T16:42:48+01:00","created_at":"2024-10-12T14:14:35+01:00","vendor":"Trek","type":"Bicycles","tags":["Émonda"],"price":333450,"price_min":333450,"price_max":333450,"available":false,"price_varies":false,"compare_at_price":351000,"compare_at_price_min":351000,"compare_at_price_max":351000,"compare_at_price_varies":false,"variants":[{"id":46046855332066,"title":"52 \/ Red","option1":"52","option2":"Red","option3":null,"sku":"601753","requires_ shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Trek Émonda SL 6 Disc - 52 \/ Red","public_title":"52 \/ Red","options":["52","Red"],"price":333450,"weight":0,"compare_at_price":351000,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/projektride.co.uk\/cdn\/shop\/files\/EmondaSL6Disc_21_32561_B_Primary.webp?v=1728738969","\/\/projektride.co.uk\/cdn\/shop\/files\/EmondaSL6Disc_21_32561_B_Alt2.webp?v=1728738977","\/\/projektride.co.uk\/cdn\/shop\/files\/EmondaSL6Disc_21_32561_B_Alt8.webp?v=1728738988","\/\/projektride.co.uk\/cdn\/shop\/files\/EmondaSL6Disc_21_32561_B_Alt9.webp?v=1728739004"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/files\/EmondaSL6Disc_21_32561_B_Primary.webp?v=1728738969","options":["Size","Colour"],"media":[{"alt":null,"id":34802898993378,"position":1,"preview_image":{"aspect_ratio":1.333,"height":1080,"width":1440,"src":"\/\/
projektride.co.uk\/cdn\/shop\/files\/EmondaSL6Disc_21_32561_B_Primary.webp?v=1728738969"},"aspect_ratio":1.333,"height":1080,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/EmondaSL6Disc_21_32561_B_Primary.webp?v=1728738969","width":1440},{"alt":null,"id":34802899550434,"position":2,"preview_image":{"aspect_ratio":1.333,"height":1080,"width":1440,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/EmondaSL6Disc_21_32561_B_Alt2.webp?v=1728738977"},"aspect_ratio":1.333,"height":1080,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/EmondaSL6Disc_21_32561_B_Alt2.webp?v=1728738977","width":1440},{"alt":null,"id":34802899583202,"position":3,"preview_image":{"aspect_ratio":1.333,"height":1080,"width":1440,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/EmondaSL6Disc_21_32561_B_Alt8.webp?v=1728738988"},"aspect_ratio":1.333,"height":1080,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/EmondaSL6Disc_21_32561_B_Alt8.webp?v=1728738988","width":1440},{"alt":null,"i d":34802900730082,"position":4,"preview_image":{"aspect_ratio":1.333,"height":1080,"width":1440,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/EmondaSL6Disc_21_32561_B_Alt9.webp?v=1728739004"},"aspect_ratio":1.333,"height":1080,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/EmondaSL6Disc_21_32561_B_Alt9.webp?v=1728739004","width":1440}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp\u003eThe Émonda SL 6 Disc has all the advantages of an ultra-light carbon road bike, with the added benefit of aero tube shaping that will make you faster on flats and up climbs, too. A performance drive train and front and rear thru axles make it a great choice for fast roadies who want the extra confidence of disc brakes that perform in any conditions.\u003c\/p\u003e\n\u003carticle id=\"overview\" data-magellan-target=\"overview\" class=\"pdp-overview--upper kf-block grid-x grid-margin-x\"\u003e\n\u003cdiv class=\"kf-block--intro cell small-12 large-4 mb-4\" qaid=\"product-overv
u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e5'6\" - 5'9\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e78 - 82 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e31\" - 32\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-v-3ac87600=\"\"\u003e\n\u003cth data-v-3ac87600=\"\" scope=\"row\" qaid=\"size-table-row-header-56\"\u003e56\u003c\/th\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e174 - 180 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e5'9\" - 5'11\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e81 - 85 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e32\" - 33\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-v-3ac87600=\"\"\u003e\n\u003cth data-v-3ac87600=\"\" scope=\"row\" qaid=\"size-table-row-header-58\"\u003e58\u003c\/th\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e180 - 185 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e 5'11\" - 6'1\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e84 - 87 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e33\" - 34\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-v-3ac87600=\"\"\u003e\n\u003cth data-v-3ac87600=\"\" scope=\"row\" qaid=\"size-table-row-header-60\"\u003e60\u003c\/th\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e185 - 190 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e6'1\" - 6'3\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e86 - 90 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e34\" - 35\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-v-3ac87600=\"\"\u003e\n\u003cth data-v-3ac87600=\"\" scope=\"row\" qaid=\"size-table-row-header-62\"\u003e62\u003c\/th\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e190 - 195 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e6'3\" - 6'5\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd data-v-3ac87600=\"\"\u003e\n\u003cp class=\"m-0\"\u003e89 - 92 cm\u003c\/p\u003e\n\u003cp class=\"m-0\"\u003e35\" - 36\"\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv data-v-05762449=\"\" class=\"rider-sizing__dots\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection data-v-05762449=\"\" id=\"GeometryComponent\" data-magellan-target=\"GeometryComponent\" class=\"sizing-and-fit-aftermarket-component sizing-table grid-container mb-6\"\u003e\u003c\/section\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003csection data-v-05762449=\"\" id=\"GeometryComponent\" data-magellan-target=\"GeometryComponent\" class=\"sizing-and-fit-aftermarket-component sizing-table grid-container mb-6\"\u003e\u003c\/section\u003e\n\u003csection data-v-05762449=\"\" id=\"GeometryComponent\" data-magellan-target=\"GeometryComponent\" class=\"sizing-and-fit-aftermarket-component sizin g-table grid-container mb-6\"\u003e\u003c\/section\u003e\n\u003csection class=\"sizing-and-fit-aftermarket-component sizing-table grid-container mb-6\" data-magellan-target=\"GeometryComponent\" id=\"GeometryComponent\" data-v-05762449=\"\"\u003e\u003c\/section\u003e\n\u003csection class=\"sizing-and-fit-aftermarket-component sizing-table grid-container mb-6\" data-magellan-target=\"GeometryComponent\" id=\"GeometryComponent\" data-v-05762449=\"\"\u003e\u003c\/section\u003e\n\u003csection class=\"sizing-and-fit-aftermarket-component sizing-table grid-container mb-6\" data-magellan-target=\"GeometryComponent\" id=\"GeometryComponent\" data-v-05762449=\"\"\u003e\u003c\/section\u003e\n\u003csection data-v-05762449=\"\" id=\"GeometryComponent\" data-magellan-target=\"GeometryComponent\" class=\"sizing-and-fit-aftermarket-component sizing-table grid-container mb-6\"\u003e\u003c\/section\u003e\n\u003csection data-v-05762449=\"\" id=\"GeometryComponent\" data-magellan-target=\"GeometryComponent\" class=\"sizing-and-
fit-aftermarket-component sizing-table grid-container mb-6\"\u003e\u003c\/section\u003e\n\u003csection class=\"sizing-and-fit-aftermarket-component sizing-table grid-container mb-6\" data-magellan-target=\"GeometryComponent\" id=\"GeometryComponent\" data-v-05762449=\"\"\u003e\u003c\/section\u003e"}; window._RestockRocketConfig.variantsInventoryPolicy = {46046855332066 : "deny",}; window._RestockRocketConfig.variantsInventoryQuantity = {46046855332066 : parseInt("0"),}; window._RestockRocketConfig.variantsPreorderCount = {46046855332066 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderCountForMarket = {46046855332066 : null,}; window._RestockRocketConfig.variantsPreorderMaxCount = {46046855332066 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {46046855332066 : null,}; window._RestockRocketConfig.variantsShippingText = {46046855332066 : "",}; window._RestockRocketConfig.variantsShippingTextForMarket = {46046855332066 : null,}; window._RestockRocketConfig.selected_variant_id = 46046855332066; window._RestockRocketConfig.selected_variant_available = window._RestockRocketConfig.product.variants.find(function(variant) { return variant.id == window._RestockRocketConfig.selected_variant_id }).available;window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/019ecfe3-4ce2-7592-b7ce-9ed4a1b98146/restockrocket-1-530/assets/restockrocket-product.js' window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019ecfe3-4ce2-7592-b7ce-9ed4a1b98146/restockrocket-1-530/assets/restockrocket-collection.js' window._RestockRocketConfig.scriptUrlProductBis = 'https://cdn.shopify.com/extensions/019ecfe3-4ce2-7592-b7ce-9ed4a1b98146/restockrocket-1-530/assets/restockrocket-product-bis.js' window._RestockRocketConfig.scriptUrlCollectionBis = 'https://cdn.shopify.com/extensions/019ecfe3-4ce2-7592-b7ce-9ed4a1b98146/restockrocket-1-530/assets/restockrocket-collection-bis.js' window._RestockRock< SETTINGS_CACHE_DURATION) { console.debug('STOQ - settings changed recently, skipping cache'); return null; } return settings; } catch (error) { console.debug('STOQ - Error checking settings cache:', error); return null; } } function createRestockRocketContainer() { const restockRocketContainer = document.createElement('div'); restockRocketContainer.id = 'restock-rocket'; document.body.appendChild(restockRocketContainer); } function createRestockRocketScript(scriptUrl) { const restockRocketScriptElement = document.createElement('script'); restockRocketScriptElement.setAttribute('defer', 'defer'); restockRocketScriptElement.src = scriptUrl; document.body.appendChild(restockRocketScriptElement); } createRestockRocketContainer() console.debug('STOQ - extension activated') // Fire stoq_initialized once per page load so the funnel pipeline has a definitive // "our code ran on this page" signal independent of any cus
tomer interaction. // Detected variants: the variants present in this page's Liquid context (product page has them; // collection/index/etc. don't expose variants from Liquid). Used to disambiguate "embed didn't // load" vs "embed loaded but the variant wasn't a preorder/BIS candidate" in order debug. try { const _stoqInitConfig = window._RestockRocketConfig; const _stoqDetectedVariantIds = (_stoqInitConfig.product && Array.isArray(_stoqInitConfig.product.variants)) ? _stoqInitConfig.product.variants.map(function(v) { return v.id }) : []; const _stoqSelectedVariantId = _stoqInitConfig.selected_variant_id; Shopify?.analytics?.publish?.('stoq_initialized', { cart_token: _stoqInitConfig.cartToken || '', page_url: window.location.href, page_type: _stoqInitConfig.pageType || '', shop_domain: _stoqInitConfig.shop || '', market_id: _stoqInitConfig.marketId || '', detected_variant_ids: _stoqDetectedVariantIds, selected_variant_id: _stoqSele ctedVariantId || '', liquid_rendered_at: _stoqInitConfig.liquidRenderedAt || 0, app_version: _stoqInitConfig.appVersion || '', liquid_cache_age: _stoqInitConfig.liquidCacheAge, // Selected variant's stock posture as our app saw it at render — explains // whether we *should* have treated it as a preorder candidate. inventory_policy: (_stoqInitConfig.variantsInventoryPolicy || {})[_stoqSelectedVariantId] || '', inventory_quantity: (_stoqInitConfig.variantsInventoryQuantity || {})[_stoqSelectedVariantId], }); } catch (e) { console.debug('STOQ - stoq_initialized publish failed:', e); } function applyTranslations(settings) { try { // Skip translation logic entirely if multi-language is not enabled if (!settings || !settings.multi_language_enabled) { return settings; } if (!settings.translations) { console.debug('STOQ - No translations found, skipping translation'); return settings; } const n
ormalizedLocale = window._RestockRocketConfig.normalizedLocale; const translations = settings.translations; if (!normalizedLocale) { // No matching locale has translations; drop payload to save memory console.debug('STOQ - No matching locale for translations. Available:', Object.keys(translations || {})); delete settings.translations; return settings; } console.debug(`STOQ - Applying translations for normalized locale: ${normalizedLocale} (original: ${window._RestockRocketConfig.locale})`); const translatedFields = translations[normalizedLocale]; if (translatedFields && typeof translatedFields === 'object') { Object.keys(translatedFields).forEach(function(key) { const value = translatedFields[key]; if (value !== null && value !== undefined && value !== '') { settings[key] = value; } }); } else { console.debug('STOQ - No translated fields found for locale:', normalizedL ocale); } delete settings.translations; return settings; } catch (e) { console.debug('STOQ - error applying translations:', e); return settings; } } // Setup event listener for cart selling plan updates // This must be called before any scripts are loaded to avoid race conditions function setupCartSellingPlanUpdater(settings) { // Setup listener regardless - updateCartSellingPlans has its own guards // This ensures cleanup happens even when preorders are disabled globally // Listen for stoq:inventory-data-loaded event dispatched by api.js window.addEventListener('stoq:inventory-data-loaded', function(event) { console.debug('STOQ - Inventory data loaded, updating cart selling plans'); if (window._RestockRocket && window._RestockRocket.updateCartSellingPlans) { window._RestockRocket.updateCartSellingPlans() .then(hasUpdates => { if (hasUpdates) { console.debug('STOQ - cart selling plans update
d successfully'); } else { console.debug('STOQ - no cart selling plan updates needed'); } }) .catch(error => { console.error('STOQ - error updating cart selling plans:', error); }); } }); } // First try to get settings from metafields with expiry check const cachedSettings = window._RestockRocketConfig.cachedSettings; const validCachedSettings = cachedSettings ? checkSettingsExpiry(cachedSettings) : null; if (validCachedSettings) { console.debug('STOQ - using cached settings'); initializeScripts(validCachedSettings); } else { console.debug('STOQ - fetching fresh settings'); const headers = { 'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop, 'ngrok-skip-browser-warning': 'skip' }; if (window.Shopify?.theme?.role === 'main') { headers['X-Shopify-Theme-Schema-Name'] = window.Shopify.theme.schema_name; headers['X-Shopify-Theme-Sche ma-Version'] = window.Shopify.theme.schema_version; headers['X-Shopify-Theme-Store-Id'] = window.Shopify.theme.theme_store_id; } fetch( `${window._RestockRocketConfig.host}/api/v1/setting.json?translation_locale=${window._RestockRocketConfig.normalizedLocale}`, { headers } ) .then(function(response) { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }) .then(function(settings) { initializeScripts(settings); }) .catch(function(error) { // If request failed and we have cached settings (even if expired), use them as fallback if (cachedSettings) { console.debug('STOQ - using expired cached settings as fallback'); initializeScripts(cachedSettings); } else { console.error('STOQ - failed to load settings:', error); } }) .catch(function(e) { console.error(e) }) } function fetchEmbedConfig(endpoint, apply) { return fet
ch( `${window._RestockRocketConfig.host}/api/v1/embed/${endpoint}.json`, { headers: { 'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop, 'ngrok-skip-browser-warning': 'skip' } } ) .then(function(response) { if (!response.ok) throw new Error(`Failed to fetch ${endpoint}`); return response.json(); }) .then(function(data) { try { apply(data); } catch (applyError) { // Apply failures are programming bugs (e.g. response shape changed // server-side and the assignment threw). Surface them as console.error // so they're visible in browser logs, then re-throw to fall through // to the same Liquid-cached fallback as a fetch failure. console.error('STOQ - apply failed for ' + endpoint + ':', applyError); throw applyError; } }) .catch(function(error) { console.debug(`STOQ - using cached ${endpoint}:`, error.message); } ); } function initializeScripts(settings) { settings = applyTranslations(settings); window._RestockRocketConfig.settings = settings; console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`); // Stale-Liquid resilience (default-on, per-shop opt-out via the // `disable_refresh_on_stale_liquid` Toggle, surfaced as the negative // `disable_refresh_on_stale_liquid` flag in settings.json so that // `undefined` -- in CDN-cached metafield payloads that predate this // key -- reads as `!undefined === true` and gets default-on behavior // immediately, no metafield rewrite required). // When the Liquid CDN cache is older than LIQUID_CACHE_MAX_AGE the in-page // selling_plans / integrations metafields can be wrong; refresh both from // the API before launching scripts. Race against a 1000ms timeout so a slow // API can't block init indefinitely. If the timeout wins, the in-flight // fetches still complete and update window._Resto
y.isArray(window._RestockRocketConfig.sellingPlans) && window._RestockRocketConfig.sellingPlans.some(function(plan) { return plan && plan.enabled; }); const hasDisabledPlanIds = Array.isArray(window._RestockRocketConfig.disabledSellingPlanIds) && window._RestockRocketConfig.disabledSellingPlanIds.length > 0; const usePreorderBuild = settings.preorder_enabled || hasEnabledOffer || hasDisabledPlanIds; const collectionScriptUrl = usePreorderBuild ? window._RestockRocketConfig.scriptUrlCollection : window._RestockRocketConfig.scriptUrlCollectionBis; const productScriptUrl = usePreorderBuild ? window._RestockRocketConfig.scriptUrlProduct : window._RestockRocketConfig.scriptUrlProductBis; const pageType = window._RestockRocketConfig.pageType; const collectionPageTypes = ['collection', 'index', 'search', 'page']; if(collectionPageTypes.indexOf(pageType) !== -1 && (settings[`show_button_on_${pageType}`] || settings[`preorder_ ${pageType}_enabled`])) { createRestockRocketScript(collectionScriptUrl); } else if(pageType === 'product') { createRestockRocketScript(productScriptUrl); } else if(hijackIntegration) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(usePreorderBuild) { // cart/article/blog/list-collections: full build so the cart sweep runs. createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else { console.debug(`STOQ - no scripts enabled for ${pageType}`); } // Dispatch custom event when app is loaded // Cart selling plan updates will be triggered by stoq:inventory-data-loaded event const appLoadedEvent = new CustomEvent('stoq:loaded', { detail: { pageType: window._RestockRocketConfig.pageType, enabled: settings.enable_app, settings: settings, preorderEnabled: settings.preorder_enabled } }); consol

Trek FX Sport 5

Size
Quantity
Looking to purchase with a cycle to work scheme?

Click here to get in touch and get the ball rolling!

FX Sport 5 is a carbon fibre fitness bike for riders who want the speed of a lightweight road bike with the comfort and control of a flat handlebar. It has an upgraded high-quality drivetrain, hydraulic disc brakes and tubeless-ready rims making it perfect for everything from solo workouts to speedy group rides.

It's right for you if...

You're ready to log big miles, and you prefer the feel of a flat handlebar to the drop bars that come stock on most road bikes. You prioritise comfort and performance equally, and expect your bike to grow with you as you advance in speed and distance.

The tech you get

A lightweight 400 Series OCLV Carbon frame and fork, a 1x SRAM Apex drivetrain with a wide range of gearing, hydraulic disc brakes, hidden mudguard mounts, a lightweight tubeless-ready Bontrager Paradigm alloy wheel set, wide, fast-rolling Bontrager GR1 Expert gravel tyres and a vibration-absorbing handlebar with ergonomic grips.

The final word

The FX Sport 5 has a light and fast carbon frame and quality parts that will hold up over serious miles, including an upgraded SRAM Apex 1x drivetrain.

How tall are you?

To measure your height, stand up straight, barefoot, with your back, heels, shoulders and head all touching a wall. While looking straight ahead, place a book or straight edge on your head and slowly push it against the wall. Your straight edge should be parallel with the floor. Mark the spot where the bottom of the book is touching the wall. The distance from the marked spot to the floor is your height.

What is your inside leg?

How to measure: Stand barefoot with your back straight and against a wall. Tuck a ruler or something that extends to the floor between your legs. Using both hands, and keeping it level, pull the ruler up into your crotch as if you were sitting on the saddle. Measure the distance from the top edge of the ruler to the ground to find your inside leg measurement. Your inside leg is very important to your final bike size so please measure carefully.

Sizing

size-table
Size Rider Height Inseam
XS

147 - 155 cm

4'10" - 5'1"

69 - 73 cm

27" - 29"

S

155 - 165 cm

5'1" - 5'5"

72 - 78 cm

28" - 31"

M

165 - 175 cm

5'5" - 5'9"

77 - 83 cm

30" - 33"

L

175 - 186 cm

5'9" - 6'1"

82 - 88 cm

32" - 35"

XL

186 - 197 cm

6'1" - 6'6"

87 - 93 cm

34" - 37"


Geometry

All measurements provided in cm unless otherwise stated.

    
Sizing table
Frame size letter Wheel size A — Seat tube B — Seat tube angle C — Head tube length D — Head angle E — Effective top tube F — Bottom bracket height G — Bottom bracket drop H — Chainstay length I — Offset J — Trail K — Wheelbase L — Standover M — Frame reach N — Frame stack
XS 700c 35.6 75.0° 11.5 70.0° 52.8 28.5 6.5 44.2 5.0 7.4 104.7 70.8 38.3 54.3
S 700c 40.6 74.5° 14.0 70.5° 54.3 28.5 6.5 44.2 5.0 7.1 105.4 75.1 38.5 56.8
M 700c 45.7 74.0° 16.5 71.0° 56.3 28.5 6.5 44.2 5.0 6.8 106.5 78.7 39.3 59.4
L 700c 50.8 73.5° 19.0 71.5° 58.3 28.5 6.5 44.2 5.0 6.4 107.5 81.2 40.0 62.0
XL 700c 55.9 72.5° 21.5 72.5° 61.3 28.5 6.5 44.2 5.0 5.8 108.2 84.8 41.0 64.8

Frequently Asked Questions

  • Please get in touch with a member of the team either by phone (01313745324) or email ([email protected]) where on of the team will be more than happy to help.

    ProjektRide Bike Shop Edinburgh

  • If the item is showing in stock, we aim to post the product within 24 hours. Please allow 5 working days to receive the item.

    Postage is free on orders over £50. Orders under £50, our postage charge is £3.99.

    We also have a physical store, if you are local please pop in -

    ProjektRide Bike Shop Edinburgh

    82 Newington Road, EH91QN, Edinburgh.