Trek Madone SL 7 Gen 8
eight":1440,"width":1920,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/MadoneSL5-26-57653-D-Primary.png?v=1764428566"},"aspect_ratio":1.333,"height":1440,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/MadoneSL5-26-57653-D-Primary.png?v=1764428566","width":1920},{"alt":null,"id":68897003635071,"position":3,"preview_image":{"aspect_ratio":1.333,"height":1440,"width":1920,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/MadoneSL5-26-57653-B-Primary.png?v=1764428567"},"aspect_ratio":1.333,"height":1440,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/MadoneSL5-26-57653-B-Primary.png?v=1764428567","width":1920},{"alt":null,"id":68897003667839,"position":4,"preview_image":{"aspect_ratio":1.333,"height":1440,"width":1920,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/MadoneSL5-26-57653-C-Primary.png?v=1764428565"},"aspect_ratio":1.333,"height":1440,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/MadoneSL5-26-57653-C-Primary.png?v=1764428565","width":19 Frequently Asked Questions 20},{"alt":null,"id":68897003700607,"position":5,"preview_image":{"aspect_ratio":1.333,"height":1440,"width":1920,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/MadoneSL5-26-57653-A-Alt1.jpg?v=1764428564"},"aspect_ratio":1.333,"height":1440,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/MadoneSL5-26-57653-A-Alt1.jpg?v=1764428564","width":1920},{"alt":null,"id":68897003733375,"position":6,"preview_image":{"aspect_ratio":1.333,"height":1440,"width":1920,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/MadoneSL5-26-57653-A-Alt2.jpg?v=1764428564"},"aspect_ratio":1.333,"height":1440,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/MadoneSL5-26-57653-A-Alt2.jpg?v=1764428564","width":1920},{"alt":null,"id":68897003766143,"position":7,"preview_image":{"aspect_ratio":1.333,"height":1440,"width":1920,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/MadoneSL5-26-57653-A-Alt3.jpg?v=1764428564"},"aspect_ratio":1.333,"height":1440,"media_type":"image","src":"\/\/projektride.co.uk\/c
- 5 mb-0 py-2 pr-1 font-medium border-b-2 md:border-r-2 border-gray-10\"\u003eWeight\u003c\/dt\u003e\n\u003cdd class=\"flex-none w-full md:w-4\/5 p-2 font-normal border-b-2 border-gray-10\"\u003eML - 8.64 kg \/ 19.05 lbs (with tubes)\u003c\/dd\u003e\n\u003cdt class=\"flex-none w-full md:w-1\/5 mb-0 py-2 pr-1 font-medium border-b-2 md:border-r-2 border-gray-10\"\u003eWeight limit\u003c\/dt\u003e\n\u003cdd class=\"flex-none w-full md:w-4\/5 p-2 font-normal border-b-2 border-gray-10\"\u003eThis bike has a maximum total weight limit (combined weight of bicycle, rider and cargo) of 125 kg (275 lb).\u003c\/dd\u003e\n\u003c\/dl\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv data-v-631a2fc2=\"\" id=\"pdl-collapse-item-jogn9o\" class=\"pdl-collapse-item is-active\" data-name=\"18f2e325-0022-48d5-b9cd-83b1818e5eec\"\u003e\n\u003ch2 class=\"\"\u003e\u003cbutton id=\"pdl-collapse-head-jogn9o\" class=\"pdl-collapse-item__header font-medium is-active flex-row-reverse items-center font-heading font-
bold text-lg border-b-2 focusing\" type=\"button\" aria-expanded=\"true\" aria-controls=\"pdl-collapse-content-jogn9o\" tabindex=\"0\"\u003e\u003cspan class=\"flex items-center grow\"\u003eDrivetrain\u003c\/span\u003e\u003csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\" width=\"24px\" height=\"24px\" fill=\"currentcolor\" aria-hidden=\"true\" role=\"presentation\" class=\"pdl-icon inline-block align-middle fill-current pdl-collapse-item__icon is-active\"\u003e\u003cpath d=\"M0 0h24v24H0z\" fill=\"none\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/button\u003e\u003c\/h2\u003e\n\u003cdiv data-v-0b4f5d85=\"\" id=\"pdl-collapse-content-jogn9o\" class=\"pdl-collapse-item__wrap\" role=\"region\" aria-hidden=\"false\" aria-labelledby=\"pdl-collapse-head-jogn9o\" data-old-padding-top=\"\" data-old-padding-bottom=\"\" data-old-overflow=\"\"\u003e\n\u003cdiv class=\"pdl-collapse-item__content is-active flex-roww-full md:w-1\/5 mb-0 py-2 pr-1 font-medium border-b-2 md:border-r-2 border-gray-10\"\u003eBottom bracket\u003c\/dt\u003e\n\u003cdd class=\"flex-none w-full md:w-4\/5 font-normal\"\u003e\n\u003cdiv class=\"p-2 border-b-2 border-gray-10\"\u003e\u003ca href=\"https:\/\/www.trekbikes.com\/b2b\/gb\/en_GB\/p\/593089\" class=\"block underline\"\u003ePraxis, T47 threaded, internal bearing\u003c\/a\u003e\u003c\/div\u003e\n\u003c\/dd\u003e\n\u003cdt class=\"flex-none w-full md:w-1\/5 mb-0 py-2 pr-1 font-medium border-b-2 md:border-r-2 border-gray-10\"\u003eCassette\u003c\/dt\u003e\n\u003cdd class=\"flex-none w-full md:w-4\/5 font-normal\"\u003e\n\u003cdiv class=\"p-2 border-b-2 border-gray-10\"\u003e\n\u003cdiv\u003eShimano 105 7101, 11-34, 12-speed\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/dd\u003e\n\u003cdt class=\"flex-none w-full md:w-1\/5 mb-0 py-2 pr-1 font-medium border-b-2 md:border-r-2 border-gray-10\"\u003eChain\u003c\/dt\u003e\n\u003cdd class=\"flex-none w-full md:w-4\/5 font-normal\"\u003e\n\u003cdiv cl
ass=\"p-2 border-b-2 border-gray-10\"\u003e\n\u003cdiv\u003eShimano SLX M7100, 12-speed\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/dd\u003e\n\u003cdt class=\"flex-none w-full md:w-1\/5 mb-0 py-2 pr-1 font-medium border-b-2 md:border-r-2 border-gray-10\"\u003eMax. chainring size\u003c\/dt\u003e\n\u003cdd class=\"flex-none w-full md:w-4\/5 p-2 font-normal border-b-2 border-gray-10\"\u003e1x: 54T, 2x: 56\/43\u003c\/dd\u003e\n\u003c\/dl\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv data-v-631a2fc2=\"\" id=\"pdl-collapse-item-m2p1j\" class=\"pdl-collapse-item is-active\" data-name=\"168f4100-d725-40b3-be6f-2a97df162c34\"\u003e\n\u003ch2 class=\"\"\u003e\u003cbutton id=\"pdl-collapse-head-m2p1j\" class=\"pdl-collapse-item__header font-medium is-active flex-row-reverse items-center font-heading font-bold text-lg border-b-2 focusing\" type=\"button\" aria-expanded=\"true\" aria-controls=\"pdl-collapse-content-m2p1j\" tabindex=\"0\"\u003e\u003cspan class=\"flex items-center grow\"\u003eWheels\u003c\/span\u003e\u003csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\" width=\"24px\" height=\"24px\" fill=\"currentcolor\" aria-hidden=\"true\" role=\"presentation\" class=\"pdl-icon inline-block align-middle fill-current pdl-collapse-item__icon is-active\"\u003e\u003cpath d=\"M0 0h24v24H0z\" fill=\"none\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/button\u003e\u003c\/h2\u003e\n\u003cdiv data-v-0b4f5d85=\"\" id=\"pdl-collapse-content-m2p1j\" class=\"pdl-collapse-item__wrap\" role=\"region\" aria-hidden=\"false\" aria-labelledby=\"pdl-collapse-head-m2p1j\" data-old-padding-top=\"\" data-old-padding-bottom=\"\" data-old-overflow=\"\"\u003e\n\u003cdiv class=\"pdl-collapse-item__content is-active flex-row-reverse items-center font-heading font-bold text-lg border-b-2 focusing\"\u003e\n\u003cdl class=\"font-body flex flex-row flex-wrap text-gray-80 text-lg\" aria-label=\"Specifications\"\u003e\n\u00 3cdt class=\"flex-none w-full md:w-1\/5 mb-0 py-2 pr-1 font-medium border-b-2 md:border-r-2 border-gray-10\"\u003eHub front\u003c\/dt\u003e\n\u003cdd class=\"flex-none w-full md:w-4\/5 font-normal\"\u003e\n\u003cdiv class=\"p-2 border-b-2 border-gray-10\"\u003e\n\u003cdiv\u003eBontrager alloy, sealed bearing, CenterLock disc, 100x12 mm thru axle\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/dd\u003e\n\u003cdt class=\"flex-none w-full md:w-1\/5 mb-0 py-2 pr-1 font-medium border-b-2 md:border-r-2 border-gray-10\"\u003eSkewer front\u003c\/dt\u003e\n\u003cdd class=\"flex-none w-full md:w-4\/5 font-normal\"\u003e\n\u003cdiv class=\"p-2 border-b-2 border-gray-10\"\u003e\u003ca href=\"https:\/\/www.trekbikes.com\/b2b\/gb\/en_GB\/p\/W5312168\" class=\"block underline\"\u003eBontrager Switch chamfered thru axle\u003c\/a\u003e\u003c\/div\u003e\n\u003c\/dd\u003e\n\u003cdt class=\"flex-none w-full md:w-1\/5 mb-0 py-2 pr-1 font-medium border-b-2 md:border-r-2 border-gray-10\"\u003eHub rear\u003c\/dt\u003e\n\u003cdd class=\43263 : "",56494085276031 : "",56494085308799 : "",56494085341567 : "",56494085374335 : "",56494085407103 : "",56494085439871 : "",56494085472639 : "",56494085505407 : "",56494085538175 : "",56494085570943 : "",56494085603711 : "",}; window._RestockRocketConfig.variantsShippingTextForMarket = {56494084850047 : null,56494084882815 : null,56494084915583 : null,56494084948351 : null,56494084981119 : null,56494085013887 : null,56494085046655 : null,56494085079423 : null,56494085112191 : null,56494085144959 : null,56494085177727 : null,56494085210495 : null,56494085243263 : null,56494085276031 : null,56494085308799 : null,56494085341567 : null,56494085374335 : null,56494085407103 : null,56494085439871 : null,56494085472639 : null,56494085505407 : null,56494085538175 : null,56494085570943 : null,56494085603711 : null,}; window._RestockRocketConfig.selected_variant_id = 56494084981119; window._RestockRocketConfig.selected_variant_available = window._RestockRocketConfig.product.variants.find(function(vari ant) { return variant.id == window._RestockRocketConfig.selected_variant_id }).available;window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/019ee98f-9cd4-7dbc-8952-608e931245de/restockrocket-1-531/assets/restockrocket-product.js' window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019ee98f-9cd4-7dbc-8952-608e931245de/restockrocket-1-531/assets/restockrocket-collection.js' window._RestockRocketConfig.scriptUrlProductBis = 'https://cdn.shopify.com/extensions/019ee98f-9cd4-7dbc-8952-608e931245de/restockrocket-1-531/assets/restockrocket-product-bis.js' window._RestockRocketConfig.scriptUrlCollectionBis = 'https://cdn.shopify.com/extensions/019ee98f-9cd4-7dbc-8952-608e931245de/restockrocket-1-531/assets/restockrocket-collection-bis.js' window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProduct.substring(0, window._RestockRocketConfig.scriptUrlProduct.lastIndexOf('/') + 1) window._RestockRocketConfig.host = 'httpsnull,56494085112191 : null,56494085144959 : null,56494085177727 : null,56494085210495 : null,56494085243263 : null,56494085276031 : null,56494085308799 : null,56494085341567 : null,56494085374335 : null,56494085407103 : null,56494085439871 : null,56494085472639 : null,56494085505407 : null,56494085538175 : null,56494085570943 : null,56494085603711 : null,}; window._RestockRocketConfig.variantsPreorderMaxCount = {56494084850047 : parseInt(""),56494084882815 : parseInt(""),56494084915583 : parseInt(""),56494084948351 : parseInt(""),56494084981119 : parseInt(""),56494085013887 : parseInt(""),56494085046655 : parseInt(""),56494085079423 : parseInt(""),56494085112191 : parseInt(""),56494085144959 : parseInt(""),56494085177727 : parseInt(""),56494085210495 : parseInt(""),56494085243263 : parseInt(""),56494085276031 : parseInt(""),56494085308799 : parseInt(""),56494085341567 : parseInt(""),56494085374335 : parseInt(""),56494085407103 : parseInt(""),56494085439871 : parseInt(""),56494085472639 : parseInt(""),5649 4085505407 : parseInt(""),56494085538175 : parseInt(""),56494085570943 : parseInt(""),56494085603711 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {56494084850047 : null,56494084882815 : null,56494084915583 : null,56494084948351 : null,56494084981119 : null,56494085013887 : null,56494085046655 : null,56494085079423 : null,56494085112191 : null,56494085144959 : null,56494085177727 : null,56494085210495 : null,56494085243263 : null,56494085276031 : null,56494085308799 : null,56494085341567 : null,56494085374335 : null,56494085407103 : null,56494085439871 : null,56494085472639 : null,56494085505407 : null,56494085538175 : null,56494085570943 : null,56494085603711 : null,}; window._RestockRocketConfig.variantsShippingText = {56494084850047 : "",56494084882815 : "",56494084915583 : "",56494084948351 : "",56494084981119 : "",56494085013887 : "",56494085046655 : "",56494085079423 : "",56494085112191 : "",56494085144959 : "",56494085177727 : "",56494085210495 : "",564940852
"flex-none w-full md:w-4\/5 font-normal\"\u003e\n\u003cdiv class=\"p-2 border-b-2 border-gray-10\"\u003e\n\u003cdiv\u003eBontrager alloy, sealed bearing, CenterLock disc, Shimano 11-speed freehub, 142x12 mm thru axle\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/dd\u003e\n\u003cdt class=\"flex-none w-full md:w-1\/5 mb-0 py-2 pr-1 font-medium border-b-2 md:border-r-2 border-gray-10\"\u003eSkewer rear\u003c\/dt\u003e\n\u003cdd class=\"flex-none w-full md:w-4\/5 font-normal\"\u003e\n\u003cdiv class=\"p-2 border-b-2 border-gray-10\"\u003e\u003ca href=\"https:\/\/www.trekbikes.com\/b2b\/gb\/en_GB\/p\/W5312169\" class=\"block underline\"\u003eBontrager Switch chamfered thru axle, removable lever\u003c\/a\u003e\u003c\/div\u003e\n\u003c\/dd\u003e\n\u003cdt class=\"flex-none w-full md:w-1\/5 mb-0 py-2 pr-1 font-medium border-b-2 md:border-r-2 border-gray-10\"\u003eRim\u003c\/dt\u003e\n\u003cdd class=\"flex-none w-full md:w-4\/5 font-normal\"\u003e\n\u003cdiv class=\"p-2 border-b-2 border-gray-10\"\u003e\n\u003cdiv\u003Please get in touch with a member of the team either by phone (eBontrager Paradigm 23, Tubeless Ready, 24-hole, 23 mm width, Presta valve\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/dd\u003e\n\u003cdt class=\"flex-none w-full md:w-1\/5 mb-0 py-2 pr-1 font-medium border-b-2 md:border-r-2 border-gray-10\"\u003eSpokes\u003c\/dt\u003e\n\u003cdd class=\"flex-none w-full md:w-4\/5 font-normal\"\u003e\n\u003cdiv class=\"p-2 border-b-2 border-gray-10\"\u003e\n\u003cdiv\u003e14 g stainless steel, black\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/dd\u003e\n\u003cdt class=\"flex-none w-full md:w-1\/5 mb-0 py-2 pr-1 font-medium border-b-2 md:border-r-2 border-gray-10\"\u003eTyre\u003c\/dt\u003e\n\u003cdd class=\"flex-none w-full md:w-4\/5 font-normal\"\u003e\n\u003cdiv class=\"p-2 border-b-2 border-gray-10\"\u003e\n\u003cdiv\u003eBontrager R3 Hard-Case Lite, Tubeless Ready, aramid bead, 170 tpi, 700x28 mm\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/dd\u003e\n\u003cdt class=\"flex-none w-full md:w-1\/5 mb-0 py-2 pr-1 font-medium border-b-2 md:border-r-2 border-gray-10\"\u003eMax tyre size\u003c\/dt\u003e\n\u003cdd class=\"flex-none w-full md:w-4\/5 p-2 font-normal border-b-2 border-gray-10\"\u003e32 mm (as measured, see manual for details)\u003c\/dd\u003e\n\u003c\/dl\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv data-v-631a2fc2=\"\" id=\"pdl-collapse-item-ng8kje\" class=\"pdl-collapse-item is-active\" data-name=\"b263e934-dd5b-49a8-b3b7-d2806d445b95\"\u003e\n\u003ch2 class=\"\"\u003e\u003cbutton id=\"pdl-collapse-head-ng8kje\" class=\"pdl-collapse-item__header font-medium is-active flex-row-reverse items-center font-heading font-bold text-lg border-b-2 focusing\" type=\"button\" aria-expanded=\"true\" aria-controls=\"pdl-collapse-content-ng8kje\" tabindex=\"0\"\u003e\u003cspan class=\"flex items-center grow\"\u003eComponents\u003c\/span\u003e\u003csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\" width=\"24px\" height=\"24px\" fill=\"currentcolor\" aria-hidden=\"true\" role=\"presentation\" class=\"pdl-icon inline-block align-middle fill-cu01313745324rrent pdl-collapse-item__icon is-active\"\u003e\u003cpath d=\"M0 0h24v24H0z\" fill=\"none\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/button\u003e\u003c\/h2\u003e\n\u003cdiv data-v-0b4f5d85=\"\" id=\"pdl-collapse-content-ng8kje\" class=\"pdl-collapse-item__wrap\" role=\"region\" aria-hidden=\"false\" aria-labelledby=\"pdl-collapse-head-ng8kje\" data-old-padding-top=\"\" data-old-padding-bottom=\"\" data-old-overflow=\"\"\u003e\n\u003cdiv class=\"pdl-collapse-item__content is-active flex-row-reverse items-center font-heading font-bold text-lg border-b-2 focusing\"\u003e\n\u003cdl class=\"font-body flex flex-row flex-wrap text-gray-80 text-lg\" aria-label=\"Specifications\"\u003e\n\u003cdt class=\"flex-none w-full md:w-1\/5 mb-0 py-2 pr-1 font-medium border-b-2 md:border-r-2 border-gray-10\"\u003eSaddle\u003c\/dt\u003e\n\u003cdd class=\"flex-none w-full md:w-4\/5 font-normal\"\u003e\n\u003cdiv class=\"p-2 border-b-2 border-gray-10\"\u003e\u003ca href=\"https:\/\/www.trekbikes.com\/b2b\/gb\/en_GB\/p\/5337811\" class=\"block underline\"\u003eBontrager Aeolus Elite, austenite rails, 145 mm width\u003c\/a\u003e\u003c\/div\u003e\n\u003c\/dd\u003e\n\u003cdt class=\"flex-none w-full md:w-1\/5 mb-0 py-2 pr-1 font-medium border-b-2 md:border-r-2 border-gray-10\"\u003eSeatpost\u003c\/dt\u003e\n\u003cdd class=\"flex-none w-full md:w-4\/5 font-normal\"\u003e\n\u003cdiv class=\"p-2 border-b-2 border-gray-10\"\u003e\u003ca href=\"https:\/\/www.trekbikes.com\/b2b\/gb\/en_GB\/p\/W5316714\" class=\"block underline\"\u003eMadone aero carbon seat post, 0 mm offset, short length\u003c\/a\u003e\u003c\/div\u003e\n\u003c\/dd\u003e\n\u003cdt class=\"flex-none w-full md:w-1\/5 mb-0 py-2 pr-1 font-medium border-b-2 md:border-r-2 border-gray-10\"\u003e*Handlebar\u003c\/dt\u003e\n\u003cdd class=\"flex-none w-full md:w-4\/5 font-normal\"\u003e\n\u003cdiv class=\"p-2 border-b-2 border-gray-10\"\u003e\n\u003cspan\u003eSize:\u003c\/span\u003e\u003cspan\u0) or email (03e \u003c\/span\u003e\u003cspan\u003eXS\u003cbr\u003e\u003c\/span\u003e\u003ca href=\"https:\/\/www.trekbikes.com\/b2b\/gb\/en_GB\/p\/5307918\" class=\"block underline\"\u003eBontrager Comp, alloy, 31.8 mm, 80 mm reach, 121 mm drop, 36 cm control width, 40 cm drop width\u003c\/a\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"p-2 border-b-2 border-gray-10\"\u003e\n\u003cspan\u003eSize:\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003e\u003cspan\u003eS, M\u003cbr\u003e\u003c\/span\u003e\u003ca href=\"https:\/\/www.trekbikes.com\/b2b\/gb\/en_GB\/p\/5307557\" class=\"block underline\"\u003eBontrager Comp, alloy, 31.8 mm, 80 mm reach, 121 mm drop, 38 cm control width, 42 cm drop width\u003c\/a\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"p-2 border-b-2 border-gray-10\"\u003e\n\u003cspan\u003eSize:\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003e\u003cspan\u003eML, L\u003cbr\u003e\u003c\/span\u003e\u003ca href=\"https:\/\/www.trekbikes.com\/b2b\/gb\/en_GB\/p\/5307558\" class=\"block underline\"\u003eBontrager Comp, alloy, 31.8 mm, 80 mm reach, 121 mm drop, 40 cm control width, 44 cm drop width\u003c\/a\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"p-2 border-b-2 border-gray-10\"\u003e\n\u003cspan\u003eSize:\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003e\u003cspan\u003eXL\u003cbr\u003e\u003c\/span\u003e\u003ca href=\"https:\/\/www.trekbikes.com\/b2b\/gb\/en_GB\/p\/5307559\" class=\"block underline\"\u003eBontrager Comp, alloy, 31.8 mm, 80 mm reach, 121 mm drop, 42 cm control width, 46 cm drop width\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/dd\u003e\n\u003cdt class=\"flex-none w-full md:w-1\/5 mb-0 py-2 pr-1 font-medium border-b-2 md:border-r-2 border-gray-10\"\u003eHandlebar tape\u003c\/dt\u003e\n\u003cdd class=\"flex-none w-full md:w-4\/5 font-normal\"\u003e\n\u003cdiv class=\"p-2 border-b-2 border-gray-10\"\u003e\u003ca href=\"https:\/\/www.trekbikes.com\/b2b\/gb\/en_GB\/p\/5306316\" class=\"block underline\"\u003eTrek EcoTack\u003c\/a\u003e\u003c\/div\u003e\n\u003c\/dd\u003e\n\u003cdt class=\"flex-none w[email protected]-full md:w-1\/5 mb-0 py-2 pr-1 font-medium border-b-2 md:border-r-2 border-gray-10\"\u003e*Stem\u003c\/dt\u003e\n\u003cdd class=\"flex-none w-full md:w-4\/5 font-normal\"\u003e\n\u003cdiv class=\"p-2 border-b-2 border-gray-10\"\u003e\n\u003cspan\u003eSize:\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003e\u003cspan\u003eXS\u003cbr\u003e\u003c\/span\u003e\u003ca href=\"https:\/\/www.trekbikes.com\/b2b\/gb\/en_GB\/p\/5274582\" class=\"block underline\"\u003eTrek RCS Pro, -7-degree, 80 mm length\u003c\/a\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"p-2 border-b-2 border-gray-10\"\u003e\n\u003cspan\u003eSize:\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003e\u003cspan\u003eS, M\u003cbr\u003e\u003c\/span\u003e\u003ca href=\"https:\/\/www.trekbikes.com\/b2b\/gb\/en_GB\/p\/5274583\" class=\"block underline\"\u003eTrek RCS Pro, -7-degree, 90 mm length\u003c\/a\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"p-2 border-b-2 border-gray-10\"\u003e\n\u003cspan\u003eSize:\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003e\u003cspan\u003eML, L\u003cbr\u003e\u003c\/span\u003e\u003ca href=\"https:\/\/www.trekbikes.com\/b2b\/gb\/en_GB\/p\/5274584\" class=\"block underline\"\u003eTrek RCS Pro, -7-degree, 100 mm length\u003c\/a\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"p-2 border-b-2 border-gray-10\"\u003e\n\u003cspan\u003eSize:\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003e\u003cspan\u003eXL\u003cbr\u003e\u003c\/span\u003e\u003ca href=\"https:\/\/www.trekbikes.com\/b2b\/gb\/en_GB\/p\/5274585\" class=\"block underline\"\u003eTrek RCS Pro, -7-degree, 110 mm length\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/dd\u003e\n\u003cdt class=\"flex-none w-full md:w-1\/5 mb-0 py-2 pr-1 font-medium border-b-2 md:border-r-2 border-gray-10\"\u003eRotor size\u003c\/dt\u003e\n\u003cdd class=\"flex-none w-full md:w-4\/5 p-2 font-normal border-b-2 border-gray-10\"\u003eMax brake rotor sizes: 180 mm front, 160 mm rear\u003c\/dd\u003e\n\u003c\/dl\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp da) where on of the team will be more than happy to help.ta-v-631a2fc2=\"\" class=\"mt-2 mb-1\"\u003eWe reserve the right to make changes to the product information contained on this site at any time without notice, including with respect to equipment, specifications, models, colours, materials and pricing. Due to supply chain issues, compatible parts may be substituted at any time without notice.\u003c\/p\u003e\n\u003cp data-v-631a2fc2=\"\" class=\"mb-1\"\u003eBike and frame weights are based on pre-production painted frames at time of publication. Weights may vary in final production.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e"}; window._RestockRocketConfig.variantsInventoryPolicy = {56494084850047 : "deny",56494084882815 : "deny",56494084915583 : "deny",56494084948351 : "deny",56494084981119 : "deny",56494085013887 : "deny",56494085046655 : "deny",56494085079423 : "deny",56494085112191 : "deny",56494085144959 : "deny",56494085177727 : "deny",56494085210495 : "deny",56494085243263 : "deny",56494085276031 : "deny",56494085308799 : "deny",564940853415
67 : "deny",56494085374335 : "deny",56494085407103 : "deny",56494085439871 : "deny",56494085472639 : "deny",56494085505407 : "deny",56494085538175 : "deny",56494085570943 : "deny",56494085603711 : "deny",}; window._RestockRocketConfig.variantsInventoryQuantity = {56494084850047 : parseInt("0"),56494084882815 : parseInt("0"),56494084915583 : parseInt("0"),56494084948351 : parseInt("0"),56494084981119 : parseInt("51"),56494085013887 : parseInt("51"),56494085046655 : parseInt("12"),56494085079423 : parseInt("1"),56494085112191 : parseInt("51"),56494085144959 : parseInt("14"),56494085177727 : parseInt("51"),56494085210495 : parseInt("51"),56494085243263 : parseInt("51"),56494085276031 : parseInt("51"),56494085308799 : parseInt("51"),56494085341567 : parseInt("51"),56494085374335 : parseInt("51"),56494085407103 : parseInt("51"),56494085439871 : parseInt("51"),56494085472639 : parseInt("51"),56494085505407 : parseInt("51"),56494085538175 : parseInt("3"),56494085570943 : parseInt("0"),56494085603711 : parseInt("ProjektRide Bike Shop Edinburgh0"),}; window._RestockRocketConfig.variantsPreorderCount = {56494084850047 : parseInt(""),56494084882815 : parseInt(""),56494084915583 : parseInt(""),56494084948351 : parseInt(""),56494084981119 : parseInt(""),56494085013887 : parseInt(""),56494085046655 : parseInt(""),56494085079423 : parseInt(""),56494085112191 : parseInt(""),56494085144959 : parseInt(""),56494085177727 : parseInt(""),56494085210495 : parseInt(""),56494085243263 : parseInt(""),56494085276031 : parseInt(""),56494085308799 : parseInt(""),56494085341567 : parseInt(""),56494085374335 : parseInt(""),56494085407103 : parseInt(""),56494085439871 : parseInt(""),56494085472639 : parseInt(""),56494085505407 : parseInt(""),56494085538175 : parseInt(""),56494085570943 : parseInt(""),56494085603711 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderCountForMarket = {56494084850047 : null,56494084882815 : null,56494084915583 : null,56494084948351 : null,56494084981119 : null,56494085013887 : null,56494085046655 : null,56494085079423 :
- ://app.restockrocket.io'
// Deployed extension build number, read from the CDN asset host Shopify generates:
// https://cdn.shopify.com/extensions/
<handle>-
<version>/assets/... // Trailing digits (e.g. ".../restockrocket-1-521/assets/" -> "521"). Kept numeric to // match ParseStoqData, so funnel app_version lines up with the order-attribution // app_version. Reflects the ACTUAL deployed build. This is the SINGLE source of the // parsed version — preorder.js getAppVersion() reads it back off config rather than // re-parsing, so the regex lives in exactly one place. try { const _stoqVersionMatch = window._RestockRocketConfig.scriptHost.match(/(\d+)\/?(?:assets\/?)?$/); window._RestockRocketConfig.appVersion = (_stoqVersionMatch && _stoqVersionMatch[1]) || ''; } catch (e) { window._RestockRocketConfig.appVersion = ''; } const SETTINGS_CACHE_DURATION = 15 * 60 * 1000; // 15 minutes in milliseconds const LIQUID_CACHE_MAX_AGE = 15 * 60; // 15 minutes in seconds // Calculate Liquid cache freshness once at initialization const liquidRenderedAt = window._RestockRocketConfig.liquidRenderedAt; // Validate timestamp and calculate ca che age if (!liquidRenderedAt || typeof liquidRenderedAt !== 'number' || isNaN(liquidRenderedAt)) { console.debug('STOQ - Invalid or missing liquidRenderedAt timestamp, assuming fresh'); window._RestockRocketConfig.isLiquidCacheFresh = true; window._RestockRocketConfig.liquidCacheAge = null; } else { const now = Math.floor(Date.now() / 1000); // Current time in seconds const liquidCacheAge = now - liquidRenderedAt; // Age in seconds // Surfaced into funnel events: a stale cache means the app rendered with // outdated inventory/selling-plan data — a real "had the opportunity but // failed" cause. Negative (client clock ahead) clamps to 0. window._RestockRocketConfig.liquidCacheAge = Math.max(0, liquidCacheAge); // Handle client clock ahead of server if (liquidCacheAged 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 fetormalizedLocale = 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
translation data in metafield // Metafield hasn't been backfilled yet - force refresh console.debug('STOQ - multi-language enabled but no translation data in cache, fetching fresh'); return null; } // Translations object exists in metafield - cache is valid // If current locale isn't translated, applyTranslations will gracefully use default locale from base fields if (window._RestockRocketConfig.normalizedLocale && !Object.prototype.hasOwnProperty.call(settings.translations, window._RestockRocketConfig.normalizedLocale)) { console.debug('STOQ - locale not explicitly translated, will use default language from cache'); } // Don't return null - continue using cache even for untranslated locales } const updatedAt = new Date(settings.updated_at); if (isNaN(updatedAt.getTime())) { console.debug('STOQ - Invalid updated_at date format in settings'); return null; } const We also have a physical store, if you are local please pop in -age = Date.now() - updatedAt.getTime(); if (age

Extra Large





Belgium (EUR€)



Côte d’Ivoire (XOFFr)
Czechia (CZKKč)
Egypt (EGPج.م)