1<!doctype html> 2<html class="no-js" lang="en" dir="ltr"> 3<head><meta charset="utf-8"> 4<meta name="viewport" content="width=device-width,initial-scale=1"> 5<title>Your Shopping Cart – Cahaba Cycles</title><link rel="canonical" href="https://www.cahabacycles.com/cart"><link rel="icon" href="//www.cahabacycles.com/cdn/shop/files/Cahaba-Icon-Square.svg?crop=center&height=48&v=1737391386&width=48" type="image/svg+xml"> 6 <link rel="apple-touch-icon" href="//www.cahabacycles.com/cdn/shop/files/Cahaba-Icon-Square.svg?crop=center&height=180&v=1737391386&width=180"><meta property="og:site_name" content="Cahaba Cycles"> 7<meta property="og:url" content="https://www.cahabacycles.com/cart"> 8<meta property="og:title" content="Your Shopping Cart"> 9<meta property="og:type" content="website"> 10<meta property="og:description" content="Discover Cahaba Cycles, your trusted local bike shop offering expert bike fittings, top brands, free tune-ups, trade-ins, and exceptional service. Explore our wide selection of bikes and accessories for every rider. Ride with confidenceâshop Cahaba Cycles today!"><meta name="twitter:card" content="summary_large_image"> 11<meta name="twitter:title" content="Your Shopping Cart"> 12<meta name="twitter:description" content="Discover Cahaba Cycles, your trusted local bike shop offering expert bike fittings, top brands, free tune-ups, trade-ins, and exceptional service. Explore our wide selection of bikes and accessories for every rider. Ride with confidenceâshop Cahaba Cycles today!"> 13<style>@font-face { 14 font-family: Roboto; 15 font-weight: 400; 16 font-style: normal; 17 font-display: fallback; 18 src: url("//www.cahabacycles.com/cdn/fonts/roboto/roboto_n4.2019d890f07b1852f56ce63ba45b2db45d852cba.woff2") format("woff2"), 19 url("//www.cahabacycles.com/cdn/fonts/roboto/roboto_n4.238690e0007583582327135619c5f7971652fa9d.woff") format("woff"); 20} 21@font-face { 22 font-family: Roboto; 23 font-weight: 700; 24 font-style: normal; 25 font-display: fallback; 26 src: url("//www.cahabacycles.com/cdn/fonts/roboto/roboto_n7.f38007a10afbbde8976c4056bfe890710d51dec2.woff2") format("woff2"), 27 url("//www.cahabacycles.com/cdn/fonts/roboto/roboto_n7.94bfdd3e80c7be00e128703d245c207769d763f9.woff") format("woff"); 28} 29@font-face { 30 font-family: Roboto; 31 font-weight: 500; 32 font-style: normal; 33 font-display: fallback; 34 src: url("//www.cahabacycles.com/cdn/fonts/roboto/roboto_n5.250d51708d76acbac296b0e21ede8f81de4e37aa.woff2") format("woff2"), 35 url("//www.cahabacycles.com/cdn/fonts/roboto/roboto_n5.535e8c56f4cbbdea416167af50ab0ff1360a3949.woff") format("woff"); 36} 37@font-face { 38 font-family: Roboto; 39 font-weight: 400; 40 font-style: italic; 41 font-display: fallback; 42 src: url("//www.cahabacycles.com/cdn/fonts/roboto/roboto_i4.57ce898ccda22ee84f49e6b57ae302250655e2d4.woff2") format("woff2"), 43 url("//www.cahabacycles.com/cdn/fonts/roboto/roboto_i4.b21f3bd061cbcb83b824ae8c7671a82587b264bf.woff") format("woff"); 44} 45@font-face { 46 font-family: Roboto; 47 font-weight: 700; 48 font-style: italic; 49 font-display: fallback; 50 src: url("//www.cahabacycles.com/cdn/fonts/roboto/roboto_i7.7ccaf9410746f2c53340607c42c43f90a9005937.woff2") format("woff2"), 51 url("//www.cahabacycles.com/cdn/fonts/roboto/roboto_i7.49ec21cdd7148292bffea74c62c0df6e93551516.woff") format("woff"); 52} 53@font-face { 54 font-family: "Fjalla One"; 55 font-weight: 400; 56 font-style: normal; 57 font-display: fallback; 58 src: url("//www.cahabacycles.com/cdn/fonts/fjalla_one/fjallaone_n4.262edaf1abaf5ed669f7ecd26fc3e24707a0ad85.woff2") format("woff2"), 59 url("//www.cahabacycles.com/cdn/fonts/fjalla_one/fjallaone_n4.f67f40342efd2b34cae019d50b4b5c4da6fc5da7.woff") format("woff"); 60} 61@font-face { 62 font-family: "Fjalla One"; 63 font-weight: 400; 64 font-style: normal; 65 font-display: fallback; 66 src: url("//www.cahabacycles.com/cdn/fonts/fjalla_one/fjallaone_n4.262edaf1abaf5ed669f7ecd26fc3e24707a0ad85.woff2") format("woff2"), 67 url("//www.cahabacycles.com/cdn/fonts/fjalla_one/fjallaone_n4.f67f40342efd2b34cae019d50b4b5c4da6fc5da7.woff") format("woff"); 68} 69@font-face { 70 font-family: Roboto; 71 font-weight: 400; 72 font-style: normal; 73 font-display: fallback; 74 src: url("//www.cahabacycles.com/cdn/fonts/roboto/roboto_n4.2019d890f07b1852f56ce63ba45b2db45d852cba.woff2") format("woff2"), 75 url("//www.cahabacycles.com/cdn/fonts/roboto/roboto_n4.238690e0007583582327135619c5f7971652fa9d.woff") format("woff"); 76} 77@font-face { 78 font-family: Roboto; 79 font-weight: 600; 80 font-style: normal; 81 font-display: fallback; 82 src: url("//www.cahabacycles.com/cdn/fonts/roboto/roboto_n6.3d305d5382545b48404c304160aadee38c90ef9d.woff2") format("woff2"), 83 url("//www.cahabacycles.com/cdn/fonts/roboto/roboto_n6.bb37be020157f87e181e5489d5e9137ad60c47a2.woff") format("woff"); 84} 85:root { 86 --page-container-width: 1480px; 87 --reading-container-width: 720px; 88 --divider-opacity: 0.14; 89 --gutter-large: 30px; 90 --gutter-desktop: 20px; 91 --gutter-mobile: 16px; 92 --section-padding: 50px; 93 --larger-section-padding: 80px; 94 --larger-section-padding-mobile: 60px; 95 --largest-section-padding: 110px; 96 --aos-animate-duration: 0.6s; 97 98 --base-font-family: Roboto, sans-serif;
99 --base-font-weight: 400; 100 --base-font-style: normal; 101 --heading-font-family: "Fjalla One", sans-serif; 102 --heading-font-weight: 400; 103 --heading-font-style: normal; 104 --heading-font-letter-spacing: normal; 105 --logo-font-family: "Fjalla One", sans-serif; 106 --logo-font-weight: 400; 107 --logo-font-style: normal; 108 --nav-font-family: Roboto, sans-serif; 109 --nav-font-weight: 400; 110 --nav-font-style: normal; 111 112 --base-text-size:14px; 113 --base-line-height: 1.6; 114 --input-text-size:16px; 115 --smaller-text-size-1:11px; 116 --smaller-text-size-2:14px; 117 --smaller-text-size-3:11px; 118 --smaller-text-size-4:10px; 119 --larger-text-size:30px; 120 --super-large-text-size:53px; 121 --super-large-mobile-text-size:24px; 122 --larger-mobile-text-size:24px; 123 --logo-text-size:24px;--btn-letter-spacing: normal; 124 --btn-text-transform: none; 125 --button-text-size: 14px; 126 --quickbuy-button-text-size: 14px; 127 --small-feature-link-font-size: 1em; 128 --input-btn-padding-top: 1em; 129 --input-btn-padding-bottom: 1em;--heading-text-transform:uppercase; 130 --nav-text-size: 16px; 131 --mobile-menu-font-weight: 600; 132 133 --body-bg-color: 255 255 255; 134 --bg-color: 255 255 255; 135 --body-text-color: 109 113 117; 136 --text-color: 109 113 117; 137 138 --header-text-col: #1c1c1c;--header-text-hover-col: var(--header-text-col);--header-bg-col: #ffe802; 139 --heading-color: 32 34 35; 140 --body-heading-color: 32 34 35; 141 --heading-divider-col: #e2e2e2; 142 143 --logo-col: #202223; 144 --main-nav-bg: #202223; 145 --main-nav-link-col: #ffffff; 146 --main-nav-link-hover-col: #e2e2e2; 147 --main-nav-link-featured-col: #c4293d; 148 149 --link-color: 32 34 35; 150 --body-link-color: 32 34 35; 151 152 --btn-bg-color: 28 28 28; 153 --btn-bg-hover-color: 32 34 35; 154 --btn-border-color: 28 28 28; 155 --btn-border-hover-color: 32 34 35; 156 --btn-text-color: 255 255 255; 157 --btn-text-hover-color: 255 255 255;--btn-alt-bg-color: 255 232 2; 158 --btn-alt-text-color: 32 34 35; 159 --btn-alt-border-color: 32 34 35; 160 --btn-alt-border-hover-color: 32 34 35;--btn-ter-bg-color: 235 235 235; 161 --btn-ter-text-color: 60 62 64; 162 --btn-ter-bg-hover-color: 28 28 28; 163 --btn-ter-text-hover-color: 255 255 255;--btn-border-radius: 3px;--color-scheme-default: #ffffff; 164 --color-scheme-default-color: 255 255 255; 165 --color-scheme-default-text-color: 109 113 117; 166 --color-scheme-default-head-color: 32 34 35; 167 --color-scheme-default-link-color: 32 34 35; 168 --color-scheme-default-btn-text-color: 255 255 255; 169 --color-scheme-default-btn-text-hover-color: 255 255 255; 170 --color-scheme-default-btn-bg-color: 28 28 28; 171 --color-scheme-default-btn-bg-hover-color: 32 34 35; 172 --color-scheme-default-btn-border-color: 28 28 28; 173 --color-scheme-default-btn-border-hover-color: 32 34 35; 174 --color-scheme-default-btn-alt-text-color: 32 34 35; 175 --color-scheme-default-btn-alt-bg-color: 255 232 2; 176 --color-scheme-default-btn-alt-border-color: 32 34 35; 177 --color-scheme-default-btn-alt-border-hover-color: 32 34 35; 178 179 --color-scheme-1: #333333; 180 --color-scheme-1-color: 51 51 51; 181 --color-scheme-1-text-color: 246 246 246; 182 --color-scheme-1-head-color: 255 255 255; 183 --color-scheme-1-link-color: 255 255 255; 184 --color-scheme-1-btn-text-color: 51 51 51; 185 --color-scheme-1-btn-text-hover-color: 51 51 51; 186 --color-scheme-1-btn-bg-color: 255 232 2; 187 --color-scheme-1-btn-bg-hover-color: 217 198 11; 188 --color-scheme-1-btn-border-color: 255 232 2; 189 --color-scheme-1-btn-border-hover-color: 217 198 11; 190 --color-scheme-1-btn-alt-text-color: 28 28 28; 191 --color-scheme-1-btn-alt-bg-color: 255 255 255; 192 --color-scheme-1-btn-alt-border-color: 28 28 28; 193 --color-scheme-1-btn-alt-border-hover-color: 28 28 28; 194 195 --color-scheme-2: #f6f6f6; 196 --color-scheme-2-color: 246 246 246; 197 --color-scheme-2-text-color: 109 113 117; 198 --color-scheme-2-head-color: 32 34 35; 199 --color-scheme-2-link-color: 32 34 35; 200 --color-scheme-2-btn-text-color: 255 255 255; 201 --color-scheme-2-btn-text-hover-color: 255 255 255; 202 --color-scheme-2-btn-bg-color: 28 28 28; 203 --color-scheme-2-btn-bg-hover-color: 32 34 35; 204 --color-scheme-2-btn-border-color: 28 28 28; 205 --color-scheme-2-btn-border-hover-color: 32 34 35; 206 --color-scheme-2-btn-alt-text-color: 28 28 28; 207 --color-scheme-2-btn-alt-bg-color: 255 255 255; 208 --color-scheme-2-btn-alt-border-color: 28 28 28; 209 --color-scheme-2-btn-alt-border-hover-color: 28 28 28; 210 211 /* Shop Pay payment terms */ 212 --payment-terms-background-color: #ffffff;--quickbuy-bg: 51 51 51;--body-input-background-color: rgb(var(--body-bg-color)); 213 --input-background-color: rgb(var(--body-bg-color)); 214 --body-input-text-color: var(--body-text-color); 215 --input-text-color: var(--body-text-color); 216 --body-input-border-color: rgb(219, 220, 221); 217 --input-border-color: rgb(219, 220, 221); 218 --input-border-color-hover: rgb(175, 177, 179); 219 --input-border-color-active: rgb(109, 113, 117); 220 221 --swatch-cross-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 24 24' fill='none' stroke='rgb(219, 220, 221)' stroke-width='0.09' preserveAspectRatio='none' %3E%3Cline x1='24' y1='0' x2='0' y2='24'%3E%3C/line%3E%3C/svg%3E"); 222 --swatch-cross-hover: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 24 24' fill='none' stroke='rgb(175, 177, 179)' stroke-width='0.09' preserveAspectRatio='none' %3E%3Cline x1='24' y1='0' x2='0' y2='24'%3E%3C/line%3E%3C/svg%3E"); 223 --swatch-cross-active: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 24 24' fill='none' stroke='rgb(109, 113, 117)' stroke-width='0.09' preserveAspectRatio='none' %3E%3Cline x1='24' y1='0' x2='0' y2='24'%3E%3C/line%3E%3C/svg%3E"); 224 225 --footer-divider-col: #bababa; 226 --footer-text-col: 255 255 255; 227 --footer-heading-col: 255 255 255; 228 --footer-bg: #1c1c1c;--product-label-overlay-justify: flex-start;--product-label-overlay-align: flex-end;--product-label-overlay-reduction-text: #c4293d; 229 --product-label-overlay-reduction-bg: #ffffff; 230 --product-label-overlay-stock-text: #6d7175; 231 --product-label-overlay-stock-bg: #ffffff; 232 --product-label-overlay-new-text: #1c1c1c; 233 --product-label-overlay-new-bg: #ffe802; 234 --product-label-overlay-meta-text: #ffffff; 235 --product-label-overlay-meta-bg: #202223; 236 --product-label-sale-text: #c4293d; 237 --product-label-sold-text: #202223; 238 --product-label-preorder-text: #60a57e; 239 240 --product-block-crop-align: center; 241 242 243 --product-block-price-align: flex-start; 244 --product-block-price-item-margin-start: initial; 245 --product-block-price-item-margin-end: .5rem; 246 247 248 --collection-block-image-position: center center; 249 250 --swatch-picker-image-size: 60px; 251 --swatch-crop-align: center center; 252 253 --image-overlay-text-color: 255 255 255;--image-overlay-bg: rgba(28, 28, 28, 0.14); 254 --image-overlay-shadow-start: rgb(0 0 0 / 0.25); 255 --image-overlay-box-opacity: 1.0;--product-inventory-ok-box-color: #f2faf0; 256 --product-inventory-ok-text-color: #108043; 257 --product-inventory-ok-icon-box-fill-color: #fff; 258 --product-inventory-low-box-color: #fcf1cd; 259 --product-inventory-low-text-color: #dd9a1a; 260 --product-inventory-low-icon-box-fill-color: #fff; 261 --product-inventory-low-text-color-channels: 16, 128, 67; 262 --product-inventory-ok-text-color-channels: 221, 154, 26; 263 264 --rating-star-color: 246 165 41;--overlay-align-left: start; 265 --overlay-align-right: end;}html[dir=rtl] { 266 --overlay-right-text-m-left: 0; 267 --overlay-right-text-m-right: auto;
268 --overlay-left-shadow-left-left: 15%; 269 --overlay-left-shadow-left-right: -50%; 270 --overlay-left-shadow-right-left: -85%; 271 --overlay-left-shadow-right-right: 0; 272}.image-overlay--bg-box .text-overlay .text-overlay__text { 273 --image-overlay-box-bg: 255 255 255; 274 --heading-color: var(--body-heading-color); 275 --text-color: var(--body-text-color); 276 --link-color: var(--body-link-color); 277 }::selection { 278 background: rgb(var(--body-heading-color)); 279 color: rgb(var(--body-bg-color)); 280 } 281 ::-moz-selection { 282 background: rgb(var(--body-heading-color)); 283 color: rgb(var(--body-bg-color)); 284 }.navigation .h1 { 285 color: inherit !important; 286}.use-color-scheme--default { 287 --product-label-sale-text: #c4293d; 288 --product-label-sold-text: #202223; 289 --product-label-preorder-text: #60a57e; 290 --input-background-color: rgb(var(--body-bg-color)); 291 --input-text-color: var(--body-input-text-color); 292 --input-border-color: rgb(219, 220, 221); 293 --input-border-color-hover: rgb(175, 177, 179); 294 --input-border-color-active: rgb(109, 113, 117); 295}.use-color-scheme--1 { 296 --product-label-sale-text: currentColor; 297 --product-label-sold-text: currentColor; 298 --product-label-preorder-text: currentColor; 299 --input-background-color: transparent; 300 --input-text-color: 246 246 246; 301 --input-border-color: rgb(110, 110, 110); 302 --input-border-color-hover: rgb(158, 158, 158); 303 --input-border-color-active: rgb(246, 246, 246); 304}</style> 305 306 <link href="//www.cahabacycles.com/cdn/shop/t/7/assets/main.css?v=88795067765305977381763070532" rel="stylesheet" type="text/css" media="all" /> 307<link rel="preload" as="font" href="//www.cahabacycles.com/cdn/fonts/roboto/roboto_n4.2019d890f07b1852f56ce63ba45b2db45d852cba.woff2" type="font/woff2" crossorigin><link rel="preload" as="font" href="//www.cahabacycles.com/cdn/fonts/fjalla_one/fjallaone_n4.262edaf1abaf5ed669f7ecd26fc3e24707a0ad85.woff2" type="font/woff2" crossorigin>
307<script> 308 document.documentElement.className = document.documentElement.className.replace('no-js', 'js'); 309 310 window.theme = { 311 info: { 312 name: 'Symmetry', 313 version: '7.4.0' 314 }, 315 device: { 316 hasTouch: window.matchMedia('(any-pointer: coarse)').matches, 317 hasHover: window.matchMedia('(hover: hover)').matches 318 }, 319 mediaQueries: { 320 md: '(min-width: 768px)', 321 productMediaCarouselBreak: '(min-width: 1041px)' 322 }, 323 routes: { 324 base: 'https://www.cahabacycles.com', 325 cart: '/cart', 326 cartAdd: '/cart/add.js', 327 cartUpdate: '/cart/update.js', 328 predictiveSearch: '/search/suggest' 329 }, 330 strings: { 331 cartTermsConfirmation: "You must agree to the terms and conditions before continuing.", 332 cartItemsQuantityError: "You can only add [QUANTITY] of this item to your cart.", 333 generalSearchViewAll: "View all search results", 334 noStock: "Sold out", 335 noVariant: "Unavailable", 336 productsProductChooseA: "Choose a", 337 generalSearchPages: "Pages", 338 generalSearchNoResultsWithoutTerms: "Sorry, we couldnʼt find any results", 339 shippingCalculator: { 340 singleRate: "There is one shipping rate for this destination:", 341 multipleRates: "There are multiple shipping rates for this destination:", 342 noRates: "We do not ship to this destination." 343 } 344 }, 345 settings: { 346 moneyWithCurrencyFormat: "${{amount}} USD", 347 cartType: "drawer", 348 afterAddToCart: "notification", 349 quickbuyStyle: "button", 350 externalLinksNewTab: true, 351 internalLinksSmoothScroll: true 352 } 353 } 354 355 theme.inlineNavigationCheck = function() { 356 var pageHeader = document.querySelector('.pageheader'), 357 inlineNavContainer = pageHeader.querySelector('.logo-area__left__inner'), 358 inlineNav = inlineNavContainer.querySelector('.navigation--left'); 359 if (inlineNav && getComputedStyle(inlineNav).display != 'none') { 360 var inlineMenuCentered = document.querySelector('.pageheader--layout-inline-menu-center'), 361 logoContainer = document.querySelector('.logo-area__middle__inner'); 362 if(inlineMenuCentered) { 363 var rightWidth = document.querySelector('.logo-area__right__inner').clientWidth, 364 middleWidth = logoContainer.clientWidth, 365 logoArea = document.querySelector('.logo-area'), 366 computedLogoAreaStyle = getComputedStyle(logoArea), 367 logoAreaInnerWidth = logoArea.clientWidth - Math.ceil(parseFloat(computedLogoAreaStyle.paddingLeft)) - Math.ceil(parseFloat(computedLogoAreaStyle.paddingRight)), 368 availableNavWidth = logoAreaInnerWidth - Math.max(rightWidth, middleWidth) * 2 - 40; 369 inlineNavContainer.style.maxWidth = availableNavWidth + 'px'; 370 } 371 372 var firstInlineNavLink = inlineNav.querySelector('.navigation__item:first-child'), 373 lastInlineNavLink = inlineNav.querySelector('.navigation__item:last-child'); 374 if (lastInlineNavLink) { 375 var inlineNavWidth = null; 376 if(document.querySelector('html[dir=rtl]')) { 377 inlineNavWidth = firstInlineNavLink.offsetLeft - lastInlineNavLink.offsetLeft + firstInlineNavLink.offsetWidth; 378 } else { 379 inlineNavWidth = lastInlineNavLink.offsetLeft - firstInlineNavLink.offsetLeft + lastInlineNavLink.offsetWidth; 380 } 381 if (inlineNavContainer.offsetWidth >= inlineNavWidth) { 382 pageHeader.classList.add('pageheader--layout-inline-permitted'); 383 var tallLogo = logoContainer.clientHeight > lastInlineNavLink.clientHeight + 20; 384 if (tallLogo) { 385 inlineNav.classList.add('navigation--tight-underline'); 386 } else { 387 inlineNav.classList.remove('navigation--tight-underline'); 388 } 389 } else { 390 pageHeader.classList.remove('pageheader--layout-inline-permitted'); 391 } 392 } 393 } 394 }; 395 396 theme.setInitialHeaderHeightProperty = () => { 397 const section = document.querySelector('.section-header'); 398 if (section) { 399 document.documentElement.style.setProperty('--theme-header-height', Math.ceil(section.clientHeight) + 'px'); 400 } 401 }; 402 </script>
402 403 404
404<script src="//www.cahabacycles.com/cdn/shop/t/7/assets/main.js?v=74462154655922143831744306941" defer></script>
404 405
405<script src="//www.cahabacycles.com/cdn/shop/t/7/assets/animate-on-scroll.js?v=15249566486942820451744306941" defer></script>
405 406 <link href="//www.cahabacycles.com/cdn/shop/t/7/assets/animate-on-scroll.css?v=116824741000487223811744306941" rel="stylesheet" type="text/css" media="all" /> 407 408 409
409<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
409<meta name="facebook-domain-verification" content="s5c66b11ofywof2iofh8lcziqo2pj9"> 410<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/65007157302/digital_wallets/dialog"> 411<meta id="in-context-paypal-metadata" data-shop-id="65007157302" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD"> 412<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
412<script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script>
412 413<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
414<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&shop_id=65007157302" crossorigin="anonymous"></script>
vendor: 1 bytes, line 414
414
415<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":65007157302,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/65007157302","merchantName":"Cahaba Cycles","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Cahaba Cycles","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 415
415
416<script id="shopify-features" type="application/json">{"accessToken":"d97396daafce29961cfe9edfd2481531","betas":["rich-media-storefront-analytics"],"domain":"www.cahabacycles.com","predictiveSearch":true,"shopId":65007157302,"locale":"en"}</script>
vendor: 1 bytes, line 416
416
417<script>var Shopify = Shopify || {}; 418Shopify.shop = "cahaba-cycles.myshopify.com"; 419Shopify.locale = "en"; 420Shopify.currency = {"active":"USD","rate":"1.0"}; 421Shopify.country = "US"; 422Shopify.theme = {"name":"Symmetry-Cahaba\/bike-shipping-msg-updates","id":139222908982,"schema_name":"Symmetry","schema_version":"7.4.0","theme_store_id":null,"role":"main"}; 423Shopify.theme.handle = "null"; 424Shopify.theme.style = {"id":null,"handle":null}; 425Shopify.cdnHost = "www.cahabacycles.com/cdn"; 426Shopify.routes = Shopify.routes || {}; 427Shopify.routes.root = "/"; 428Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 429Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 430Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 431Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 431
431
432<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 432
432
433<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
vendor: 1 bytes, line 433
433
434<script> 435 window.ShopifyPay = window.ShopifyPay || {}; 436 window.ShopifyPay.apiHost = "shop.app\/pay"; 437 window.ShopifyPay.redirectState = null; 438</script>
vendor: 1 bytes, line 438
438
439<script> 440 window.Shopify = window.Shopify || {}; 441 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 442 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 443 window.Shopify.SignInWithShop.eligible = true; 444</script>
vendor: 1 bytes, line 444
444
445<script id="shop-js-analytics" type="application/json">{"pageType":"cart"}</script>
vendor: 1 bytes, line 445
445
446<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
vendor: 1 bytes, line 446
446
447<script type="module"> 448 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 449 450 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 451 452</script>
vendor: 1 bytes, line 452
452
453<script> 454 window.Shopify = window.Shopify || {}; 455 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 456 window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"]}; 457</script>
vendor: 1 bytes, line 457
457
458<script>(function() { 459 var isLoaded = false; 460 function asyncLoad() { 461 if (isLoaded) return; 462 isLoaded = true; 463 var urls = ["https:\/\/searchanise-ef84.kxcdn.com\/widgets\/shopify\/init.js?a=1T4B6e4K0r\u0026shop=cahaba-cycles.myshopify.com"]; 464 for (var i = 0; i < urls.length; i++) { 465 var s = document.createElement('script'); 466 s.type = 'text/javascript'; 467 s.async = true; 468 s.src = urls[i]; 469 var x = document.getElementsByTagName('script')[0]; 470 x.parentNode.insertBefore(s, x); 471 } 472 }; 473 if(window.attachEvent) { 474 window.attachEvent('onload', asyncLoad); 475 } else { 476 window.addEventListener('load', asyncLoad, false); 477 } 478})();</script>
vendor: 1 bytes, line 478
478
479<script id="__st">var __st={"a":65007157302,"offset":-14400,"reqid":"da16f504-c0e8-4d44-a394-7250d3e5a357-1790423016","pageurl":"www.cahabacycles.com\/cart","u":"47ed3f68dd7c","p":"cart"};</script>
vendor: 1 bytes, line 479
479
480<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 480
480
481<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
vendor: 1 bytes, line 481
481
482<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.cahabacycles.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 482
482
483<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//www.cahabacycles.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
483<script crossorigin="anonymous" defer="defer" src="//www.cahabacycles.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 483
483
484<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 484
484
485<script> 486 window.Shopify = window.Shopify || {}; 487 window.Shopify.MCP = window.Shopify.MCP || {}; 488 window.Shopify.MCP.enabled = true; 489 window.Shopify.MCP.shop = "cahaba-cycles.myshopify.com"; 490 window.Shopify.MCP.mcpEndpoint = "https:\/\/www.cahabacycles.com\/api\/mcp"; 491 window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n - What is your return policy?\n - What is your shipping policy?\n - What is your phone number?\n - What are your hours of operation?\"\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."}},"required":["query"]}}]; 492</script>
vendor: 1 bytes, line 492
492
493<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/www.cahabacycles.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 494</script>
vendor: 1 bytes, line 494
494
495<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://www.cahabacycles.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 496</script>
vendor: 1 bytes, line 496
496
497<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 498 function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent); 499</script>
vendor: 1 bytes, line 499
499
500<script> 501 function portableWalletsCleanup(e){e&&e.src&&console.error("Failed to load portable wallets script "+e.src);var t=document.querySelectorAll("shopify-accelerated-checkout .shopify-payment-button__skeleton, shopify-accelerated-checkout-cart .wallet-cart-button__skeleton"),e=document.getElementById("shopify-buyer-consent");for(let e=0;e<t.length;e++)t[e].remove();e&&e.remove()}function portableWalletsNotLoadedAsModule(e){e instanceof ErrorEvent&&"string"==typeof e.message&&e.message.includes("import.meta")&&"string"==typeof e.filename&&e.filename.includes("portable-wallets")&&(window.removeEventListener("error",portableWalletsNotLoadedAsModule),window.Shopify.PaymentButton.failedToLoad=e,"loading"===document.readyState?document.addEventListener("DOMContentLoaded",window.Shopify.PaymentButton.init):window.Shopify.PaymentButton.init())}window.addEventListener("error",portableWalletsNotLoadedAsModule); 502</script>
502 503
504<script type="module" src="https://www.cahabacycles.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js" onError="portableWalletsCleanup(this)" crossorigin="anonymous"></script>
vendor: 1 bytes, line 504
504
505<script nomodule> 506 document.addEventListener("DOMContentLoaded", portableWalletsCleanup); 507</script>
507 508 509<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://www.cahabacycles.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 510<style id="shopify-accelerated-checkout-cart"> 511 #shopify-buyer-consent { 512 margin-top: 1em; 513 display: inline-block; 514 width: 100%; 515} 516 517#shopify-buyer-consent.hidden { 518 display: none; 519} 520 521#shopify-subscription-policy-button { 522 background: none; 523 border: none; 524 padding: 0; 525 text-decoration: underline; 526 font-size: inherit; 527 cursor: pointer; 528} 529 530#shopify-subscription-policy-button::before { 531 box-shadow: none; 532} 533 534 </style> 535
536<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
536 537<!-- CC Custom Head Start --><!-- CC Custom Head End --><!-- BEGIN app block: shopify://apps/simprosys-google-shopping-feed/blocks/core_settings_block/1f0b859e-9fa6-4007-97e8-4513aff5ff3b --><!-- BEGIN: GSF App Core Tags & Scripts by Simprosys Google Shopping Feed --> 538 539 540 541 542 543 544 545 546 547<!-- END: GSF App Core Tags & Scripts by Simprosys Google Shopping Feed --> 548<!-- END app block --><!-- BEGIN app block: shopify://apps/hoppy-popups/blocks/Email_collection_Bar/0403c282-cb2c-4202-b054-d6c540cb0df9 --><link href="//cdn.shopify.com/extensions/01a0d240-a117-76b1-bbd8-a70af3ad113a/hoppy-popups-251/assets/Email_collection_Bar.css" rel="stylesheet" type="text/css" media="all" /> 549<link href="https://cdn.shopify.com/extensions/01a0d240-a117-76b1-bbd8-a70af3ad113a/hoppy-popups-251/assets/script.js" as="script" rel="preload"> 550 551 552 553
554<script async> 555 556 window.EMAIL_POPUP_METAFIELD_NAMESPACE = "hoppy-apps"; 557 558 window.EMAIL_POPUP_CSS_CLASS = "futureblink-popup";window.firstCartItem = {"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"USD","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0} 559 560 window.hoppy_bundles_productRecommendations=[] 561 window.futureBlink_money_format = "${{amount}}"; 562 563 window.EmailCollectionMeta = { 564 collections: [], 565 shopLanguage: "en", 566 567 productId: "", 568 pageId: "", 569 pageHandle: "" 570 }; 571 572 573 window.futureblink_free_shipping_upsellProd = null; 574 575 576 577 // Customer info (if logged in) 578 579 window.futureblink_popup_customerInfo = null; 580 581window.emailCollectionBarData = { emailPopups: [{"scheduled":{"start":null,"end":null},"trigger":{"type":"time","show_popup":5,"show_popup_condition_value":"","display_freq":"limitfreq","freq_limit":"1"},"image":{"id":"","url":"","alt":""},"mobileImage":{"id":"gid:\/\/shopify\/MediaImage\/30279977336886","url":"https:\/\/cdn.shopify.com\/s\/files\/1\/0650\/0715\/7302\/files\/2026_Checkpoint_ALR_Lifestyle_JPG14.png?v=1772765577","alt":""},"desktopImage":{"id":"gid:\/\/shopify\/MediaImage\/30279977336886","url":"https:\/\/cdn.shopify.com\/s\/files\/1\/0650\/0715\/7302\/files\/2026_Checkpoint_ALR_Lifestyle_JPG14.png?v=1772765577","alt":""},"logo":{"id":"","url":"","alt":""},"countdown":{"type":"none","date":1787668572259,"start_hours":10,"start_minutes":30,"end_hours":11,"end_minutes":30,"duration_hours":5,"duration_days":0,"duration_minutes":25,"label_days":"Days","label_hours":"Hrs","label_minutes":"Mins","label_seconds":"Secs"},"upsell":{"upsell_type":"freq_bought","recommendation_type":"related","auto_slide":true,"slide_interval":5,"max_products":3,"cta_type":"add_to_cart","cta_text_before":"Add to Cart","cta_text_after":"Add Another","upsell_prod":[],"number_of_columns_desktop":3,"number_of_columns_mobile":2},"design":{"slice_1_color":"#FFEDD5","error_size":"16","error_color":"#B00020","slice_2_color":"#FDBA74","slice_label_color":"#431407","wheel_color":"#EA580C","arrow_color":"#EA580C","center_circle_color":"#EA580C","floating_button_border_radius":10,"floating_button_background_color":"#202223","floating_button_color":"#FFE804","floating_button_font_size":13,"floating_button_shape":"pill","floating_button_border_color":"#202223","floating_button_shadow":"medium","popup_animation":"fade","popup_background":"dim_background","slice_label_font":"","slice_label_size":16,"slice_message_font":"","slice_message_color":"#8B4513","slice_message_size":16,"title_font":"","description_font":"","error_font":"","timer_font":"","label_font":"","input_color":"#202223","input_bg_color":"#FFFFFF","input_border_color":"#202223","button_text_font":"","close_icon_size":"small","success_title_color":"#000000","success_title_size":24,"success_title_font":"","success_description_color":"#202223","success_description_size":16,"success_description_font":"","success_button_color":"#202223","success_button_text_color":"#FFFFFF","success_button_text_size":14,"success_button_text_font":"","success_button_corner_radius":4,"auto_discount_text_color":"#202223","auto_discount_text_size":16,"auto_discount_text_font":"","custom_css_applied":false,"custom_css":".futureblink-popup { \n\n }\n .futureblink-popup .title {\n\n }\n .futureblink-popup.mobile .title {\n\n }\n .futureblink-popup .description { \n\n }\n .futureblink-popup.mobile .description { \n\n }\n .futureblink-popup .cta-button {\n\n }\n .futureblink-popup.mobile .cta-button {\n\n }\n .futureblink-popup .close-btn {\n\n }\n .futureblink-popup.mobile .close-btn {\n\n }\n ","position":"center","visibility":"Desktop and Mobile","sticky":false,"template":"custom","gradient":false,"initial_color":"#DDDDDD","final_color":"#FFFFFF","angle":10,"color":"#FFFFFF","bar_corner_radius":7,"border_size":0,"border_color":"#c5c8d1","font":"","title_size":32,"title_color":"#202223","description_size":"16","description_color":"#202223","button_color":"#FFE804","button_text_size":14,"button_text_color":"#000000","button_corner_radius":4,"close_icon_color":"#6d7175","arrow_icon_color":"#6d7175","coupon_code_size":14,"coupon_code_color":"#202223","popup_size":"medium","overlay_color":"#141414","image_layout":"left","image_scale":"fill","image_size":"Medium","coupon_border_color":"#202223","coupon_border_style":"dashed","coupon_text_color":"#202223","coupon_background":"#ffff","timer_style":"plain","timer_size":20,"timer_color":"#202223","timer_bg_color":"#FFFFFF","label_color":"#202223","label_size":20},"placement":{"pages_type":"all","exclude_pages_type":"none","exclude_pages":[],"visibility_by_login":"all","customer_display":"all","specific_tag_for_display":"","specific_amt_for_display":"","customer_hide":"none","specific_tag_for_hide":"","specific_amt_for_hide":"","allowed_all_location":true,"locations":[],"pages":[]},"_id":"6a8c579d8c24b7e02ff7f2b9","user":"[email protected]","shop":"
581cahaba-cycles.myshopify.com","name":"Opt-in popup","duration":2,"email_type":"popup","created_by_sidekick":false,"closable":true,"visitors":[],"allow_utm_source":false,"utm_code":"","content":[{"default_phone_code":{"name":"United States","dialCode":"+1","isoCode":"US","flag":"https:\/\/cdn.kcak11.com\/CountryFlags\/countries\/us.svg"},"discount":{"id":"gid:\/\/shopify\/DiscountCodeNode\/1095856652342","title":"WELCOME11","type":"code","code":"WELCOME11"},"title":"Get 11% OFF your order","description":"Sign up and unlock your instant discount. (Excludes bikes \u0026 select items)","placeholder":"Enter your email","phone_number_placeholder":"Enter your phone number","error_message":"Please enter a valid email address.","phone_error_message":"Please enter a valid phone number.","show_email_collection_field":true,"show_phone_number_field":false,"cta_type":"button","couponCode":"WELCOME11","discount_application_mode":"auto","auto_discount_text":"Discount applied to your cart. It will automatically appear at checkout.","showCouponCode":"yes","show_success_button":"no","success_button_text":"Shop Now","success_button_link":"","messageReturningCustomer":"Welcome Back!","messageNewCustomer":"Discount unlocked ð","description_returning_customer":"Use the code below to get a 15% off on your next purchase:","description_new_customer":"Use the code below to get a 11% off on your next purchase:","optInCheckout":false,"optInText":"opt-in","opt_in_error_message":"Please check the opt-in checkbox to proceed.","cta_link":"https:\/\/cahaba-cycles.myshopify.com","button_click_behavior":"link","cta_button_text":"CLAIM DISCOUNT","slices":[{"label":"$3 OFF","code":"","probability":20,"message":"","discount":null},{"label":"FREE SHIP","code":"","probability":20,"message":"","discount":null},{"label":"7% OFF","code":"","probability":20,"message":"","discount":null},{"label":"$8 OFF","code":"","probability":20,"message":"","discount":null},{"label":"NO LUCK","code":"","probability":10,"message":"Try again next timeâ¦","discount":null},{"label":"12% OFF","code":"","probability":10,"message":"","discount":null}],"custom_fields":[],"_id":"6a8c579d8c24b7e02ff7f2ba"}],"make_image_clickable":false,"imageLink":"","published":true,"floating_action_button":"floating_action_button_bottom_left","floating_action_button_text":"Get 11% Off","translations":[],"id":"7e3ccf43-1eda-472b-a414-1fdf010db963","createdAt":"2026-08-24T14:39:25.376Z","updatedAt":"2026-08-24T14:42:13.958Z","__v":0}] };console.log("[HoppyPopups] Liquid config injected:", { 582 metafieldNamespace: window.EMAIL_POPUP_METAFIELD_NAMESPACE, 583 popupCssClass: window.EMAIL_POPUP_CSS_CLASS, 584 metafieldDataLoaded: !!window.emailCollectionBarData, 585 popupCount: window.emailCollectionBarData?.emailPopups?.length || 0, 586 }); 587 588</script>
588 589
590<script src="https://cdn.shopify.com/extensions/01a0d240-a117-76b1-bbd8-a70af3ad113a/hoppy-popups-251/assets/purify.min.js" defer></script>
vendor: 1 bytes, line 590
590
591<script src="https://cdn.shopify.com/extensions/01a0d240-a117-76b1-bbd8-a70af3ad113a/hoppy-popups-251/assets/tracker.js" defer></script>
vendor: 1 bytes, line 591
591
592<script src="https://cdn.shopify.com/extensions/01a0d240-a117-76b1-bbd8-a70af3ad113a/hoppy-popups-251/assets/script.js" defer></script>
vendor: 1 bytes, line 592
592
593<script src="https://cdn.shopify.com/extensions/01a0d240-a117-76b1-bbd8-a70af3ad113a/hoppy-popups-251/assets/interceptor.js" defer></script>
593 594 595 596<!-- END app block -->
596<script src="https://cdn.shopify.com/extensions/019ff3bb-25d7-7a4f-8fa0-9400e66f2c3b/syfmarketingapp-24/assets/syf-unifi.js" type="text/javascript" defer="defer"></script>
596 597<link href="https://cdn.shopify.com/extensions/019ff3bb-25d7-7a4f-8fa0-9400e66f2c3b/syfmarketingapp-24/assets/syf-unifi.css" rel="stylesheet" type="text/css" media="all">
598<script src="https://cdn.shopify.com/extensions/01a0d3c8-47fc-7e04-8716-42ec62ed3877/lb-upsell-449/assets/lb-selleasy.js" type="text/javascript" defer="defer"></script>
598 599<link href="https://cdn.shopify.com/extensions/01a0d240-a117-76b1-bbd8-a70af3ad113a/hoppy-popups-251/assets/Email_collection_Bar.css" rel="stylesheet" type="text/css" media="all"> 600<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
601<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 65007157302,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "cart"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 601
601
602<script> 603 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 604</script>
vendor: 1 bytes, line 604
604
605<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
605).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 65007157302,storefrontBaseUrl: "https://www.cahabacycles.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://www.cahabacycles.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"2543812662","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"6e6b2e32fe6866115b7e49e2ae3c75b2","type":"APP","apiClientId":5940125,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]}
605,"dataSharingState":"unrestricted"},{"id":"2441740342","configuration":"{\"accountID\":\"selleasy-metrics-track\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"50acfdcd7b118f50e52df83f64624d06","type":"APP","apiClientId":5519923,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"1247903798","configuration":"{\"account_ID\":\"1031239\",\"google_analytics_tracking_tag\":\"1\",\"measurement_id\":\"2\",\"api_secret\":\"3\",\"shop_settings\":\"{\\\"custom_pixel_script\\\":\\\"https:\\\\\\\/\\\\\\\/storage.googleapis.com\\\\\\\/gsf-scripts\\\\\\\/custom-pixels\\\\\\\/cahaba-cycles.js\\\"}\"}","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"dbf16afd37d7bda963909dd4e886232e","type":"APP","apiClientId":1558137,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"730431542","configuration":"{\"pixel_id\":\"1340113893978753\",\"pixel_type\":\"facebook_pixel\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"96420dbe9ea96c426a1b7f364f977719","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"612302902","configuration":"{\"apiKey\":\"1T4B6e4K0r\",\"host\":\"searchserverapi1.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"5559ea45e47b67d15b30b79e7c6719da","type":"APP","apiClientId":578825,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"92176438","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Simprosys Pixel"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Cahaba Cycles","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"cahaba-cycles.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/www.cahabacycles.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://www.cahabacycles.com/cdn","c8540278we853e1abpb62b2c4amde256306",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"139222908982","themePublished":"true","eventMetadataId":"1e98248a-bb02-4d02-8282-a153c6f2cdce","pageType":"cart","shopId":"65007157302","storefrontBaseUrl":"https:\/\/www.cahabacycles.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"c8540278we853e1abpb62b2c4amde256306","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
605<script> 606 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 607 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 608 window.ShopifyAnalytics.meta.currency = 'USD'; 609 var meta = {"page":{"pageType":"cart","requestId":"da16f504-c0e8-4d44-a394-7250d3e5a357-1790423016"}}; 610 for (var attr in meta) { 611 window.ShopifyAnalytics.meta[attr] = meta[attr]; 612 } 613</script>
vendor: 1 bytes, line 613
613
614<script class="analytics"> 615 (function () { 616 var customDocumentWrite = function(content) { 617 var jquery = null; 618 619 if (window.jQuery) { 620 jquery = window.jQuery; 621 } else if (window.Checkout && window.Checkout.$) { 622 jquery = window.Checkout.$; 623 } 624 625 if (jquery) { 626 jquery('body').append(content); 627 } 628 }; 629 630 var hasLoggedConversion = function(token) { 631 if (token) { 632 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 633 } 634 return false; 635 } 636 637 var setCookieIfConversion = function(token) { 638 if (token) { 639 var twoMonthsFromNow = new Date(Date.now()); 640 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 641 642 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 643 } 644 } 645 646 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 647 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 648 if (trekkie.integrations) { 649 return; 650 } 651 trekkie.methods = [ 652 'identify', 653 'page', 654 'ready', 655 'track', 656 'trackForm', 657 'trackLink' 658 ]; 659 trekkie.factory = function(method) { 660 return function() { 661 var args = Array.prototype.slice.call(arguments); 662 args.unshift(method); 663 trekkie.push(args); 664 if (method == 'track' || method == 'page') { 665 var pageUrl; 666 try { 667 pageUrl = window.location.href; 668 } catch (e) {} 669 var pageReferrer; 670 try { 671 pageReferrer = document.referrer; 672 } catch (e) {} 673 try { 674 if (window.__TREKKIE_SHIM_QUEUE == null) { 675 window.__TREKKIE_SHIM_QUEUE = []; 676 } 677 window.__TREKKIE_SHIM_QUEUE.push({ 678 from: 'trekkie-stub', 679 method: method, 680 args: args.slice(1), 681 pageContext: { 682 url: pageUrl, 683 referrer: pageReferrer 684 } 685 }); 686 } catch (e) { 687 // no-op 688 } 689 } 690 return trekkie; 691 }; 692 }; 693 for (var i = 0; i < trekkie.methods.length; i++) { 694 var key = trekkie.methods[i]; 695 trekkie[key] = trekkie.factory(key); 696 } 697 trekkie.load = function(config) { 698 trekkie.config = config || {}; 699 trekkie.config.initialDocumentCookie = document.cookie; 700 var first = document.getElementsByTagName('script')[0]; 701var script = document.createElement('script'); 702script.type = 'text/javascript'; 703script.onerror = function(e) { 704 var scriptFallback = document.createElement('script'); 705 scriptFallback.type = 'text/javascript'; 706 scriptFallback.onerror = function(error) { 707 var Monorail = { 708 produce: function produce(monorailDomain, schemaId, payload) { 709 var currentMs = new Date().getTime(); 710 var event = { 711 schema_id: schemaId, 712 payload: payload, 713 metadata: { 714 event_created_at_ms: currentMs, 715 event_sent_at_ms: currentMs 716 } 717 }; 718 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 719 }, 720 sendRequest: function sendRequest(endpointUrl, payload) { 721 // Try the sendBeacon API 722 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 723 var blobData = new window.Blob([payload], { 724 type: 'text/plain' 725 }); 726 727 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 728 return true; 729 } // sendBeacon was not successful 730 731 } // XHR beacon 732 733 var xhr = new XMLHttpRequest(); 734 735 try { 736 xhr.open('POST', endpointUrl); 737 xhr.setRequestHeader('Content-Type', 'text/plain'); 738 xhr.send(payload); 739 } catch (e) { 740 console.log(e); 741 } 742 743 return false; 744 }, 745 isIos12: function isIos12() { 746 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 747 } 748 }; 749 Monorail.produce('monorail-edge.shopifysvc.com', 750 'trekkie_storefront_load_errors/1.1', 751 {shop_id: 65007157302, 752 theme_id: 139222908982, 753 app_name: "storefront", 754 context_url: window.location.href, 755 source_url: "//www.cahabacycles.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js"}); 756 757 }; 758 scriptFallback.async = true; 759 scriptFallback.src = '//www.cahabacycles.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js'; 760 first.parentNode.insertBefore(scriptFallback, first); 761}; 762script.async = true; 763script.src = '//www.cahabacycles.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js'; 764first.parentNode.insertBefore(script, first); 765 766 }; 767 trekkie.load( 768 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":65007157302,"isMerchantRequest":null,"themeId":139222908982,"themeCityHash":"14605010055173344779","contentLanguage":"en","currency":"USD","eventMetadataId":"1e98248a-bb02-4d02-8282-a153c6f2cdce"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 769 ); 770 771 var loaded = false;
772 trekkie.ready(function() { 773 if (loaded) return; 774 loaded = true; 775 776 window.ShopifyAnalytics.lib = window.trekkie; 777 778 var originalDocumentWrite = document.write; 779 document.write = customDocumentWrite; 780 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 781 document.write = originalDocumentWrite; 782 783 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 784 var token = match? match[1]: undefined; 785 if (!hasLoggedConversion(token)) { 786 setCookieIfConversion(token); 787 788 } 789 }); 790 791 window.ShopifyAnalytics.lib.page(null,{"pageType":"cart","requestId":"da16f504-c0e8-4d44-a394-7250d3e5a357-1790423016","shopifyEmitted":true}); 792 793 var eventsListenerScript = document.createElement('script'); 794 eventsListenerScript.async = true; 795 eventsListenerScript.src = "//www.cahabacycles.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 796 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 797})();</script>
vendor: 1 bytes, line 797
797
798<script 799 defer 800 src="https://www.cahabacycles.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 801 data-application="storefront-renderer" 802 data-shop-id="65007157302" 803 data-render-region="gcp-us-central1" 804 data-page-type="cart" 805 data-theme-instance-id="139222908982" 806 data-theme-name="Symmetry" 807 data-theme-version="7.4.0" 808 data-monorail-region="shop_domain" 809 data-resource-timing-sampling-rate="10" 810 data-shs="true" 811 data-shs-beacon="true" 812 data-shs-export-with-fetch="true" 813 data-shs-logs-sample-rate="1" 814 data-shs-beacon-endpoint="https://www.cahabacycles.com/api/collect" 815></script>
815 816<meta name="shopify-y" content="6e882fd8-03a2-4e8e-8c79-8c3f957548ec" data-expiration="1821980616000"><meta name="shopify-s" content="e312e008-5fdc-49d0-9c59-3a9b3fc0af21" data-expiration="1790424816000"><meta name="new-cookie-storage-activated" content="t"> 817</head> 818 819<body class="template-cart 820 swatch-source-native swatch-method-swatches swatch-style-icon_square 821 cc-animate-enabled"> 822 823 <a class="skip-link visually-hidden" href="#content" data-cs-role="skip">Skip to content</a><!-- BEGIN sections: header-group --> 824<div id="shopify-section-sections--17836868796470__announcement-bar" class="shopify-section shopify-section-group-header-group section-announcement-bar"> 825 826<announcement-bar id="section-id-sections--17836868796470__announcement-bar" class="announcement-bar announcement-bar--with-announcement"> 827 <style data-shopify> 828#section-id-sections--17836868796470__announcement-bar { 829 --bg-color: #333333; 830 --bg-gradient: ; 831 --heading-color: 255 255 255; 832 --text-color: 255 255 255; 833 --link-color: 255 255 255; 834 --announcement-font-size: 14px; 835 } 836 </style> 837<div class="container container--no-max relative"> 838 <div class="announcement-bar__left desktop-only"> 839 840 </div> 841 842 <div class="announcement-bar__middle"><div class="announcement-bar__announcements"><div 843 class="announcement" 844 style="--heading-color: 255 255 255; 845 --text-color: 255 255 255; 846 --link-color: 255 255 255; 847 " 848 ><div class="announcement__text"> 849 <a href="/pages/online-shopping-policies" title="Online Shopping Policies"><strong>Free Shipping When You Spend $99 or More!</strong></a> 850 851 852 </div> 853 </div></div> 854 <div class="announcement-bar__announcement-controller"> 855 <button class="announcement-button announcement-button--previous" aria-label="Previous"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-left" aria-hidden="true" focusable="false" role="presentation"><path d="m15 18-6-6 6-6"/></svg></button><button class="announcement-button announcement-button--next" aria-label="Next"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-right" aria-hidden="true" focusable="false" role="presentation"><path d="m9 18 6-6-6-6"/></svg></button> 856 </div></div> 857 858 <div class="announcement-bar__right desktop-only"> 859 860 861 <div class="header-localization"> 862 863
864<script src="//www.cahabacycles.com/cdn/shop/t/7/assets/custom-select.js?v=165097283151564761351744306941" defer="defer"></script>
864<form method="post" action="/localization" id="annbar-localization" accept-charset="UTF-8" class="form localization no-js-hidden" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/cart" /><div class="localization__grid"></div>
864<script> 865 customElements.whenDefined('custom-select').then(() => { 866 if (!customElements.get('country-selector')) { 867 class CountrySelector extends customElements.get('custom-select') { 868 constructor() { 869 super(); 870 this.loaded = false; 871 } 872 873 async showListbox() { 874 if (this.loaded) { 875 super.showListbox(); 876 return; 877 } 878 879 this.button.classList.add('is-loading'); 880 this.button.setAttribute('aria-disabled', 'true'); 881 882 try { 883 const response = await fetch('?section_id=country-selector'); 884 if (!response.ok) throw new Error(response.status); 885 886 const tmpl = document.createElement('template'); 887 tmpl.innerHTML = await response.text(); 888 889 const el = tmpl.content.querySelector('.custom-select__listbox'); 890 this.listbox.innerHTML = el.innerHTML; 891 892 this.options = this.querySelectorAll('.custom-select__option'); 893 894 this.popular = this.querySelectorAll('[data-popular]'); 895 if (this.popular.length) { 896 this.popular[this.popular.length - 1].closest('.custom-select__option') 897 .classList.add('custom-select__option--visual-group-end'); 898 } 899 900 this.selectedOption = this.querySelector('[aria-selected="true"]'); 901 if (!this.selectedOption) { 902 this.selectedOption = this.listbox.firstElementChild; 903 } 904 905 this.loaded = true; 906 } catch { 907 this.listbox.innerHTML = '<li>Error fetching countries, please try again.</li>'; 908 } finally { 909 super.showListbox(); 910 this.button.classList.remove('is-loading'); 911 this.button.setAttribute('aria-disabled', 'false'); 912 } 913 } 914 915 setButtonWidth() { 916 return; 917 } 918 } 919 920 customElements.define('country-selector', CountrySelector); 921 } 922 }); 923 </script>
923<script> 924 document.getElementById('annbar-localization').addEventListener('change', (evt) => { 925 const input = evt.target.closest('.localization__selector').firstElementChild; 926 if (input && input.tagName === 'INPUT') { 927 input.value = evt.detail ? evt.detail.selectedValue : evt.target.value; 928 evt.currentTarget.submit(); 929 } 930 }); 931 </script>
931</form> 932 </div> 933 934 </div> 935 </div> 936 </announcement-bar> 937</div><div id="shopify-section-sections--17836868796470__header" class="shopify-section shopify-section-group-header-group section-header"><style data-shopify> 938 .logo img { 939 width: 280px; 940 } 941 .logo-area__middle--logo-image { 942 max-width: 280px; 943 } 944 @media (max-width: 767.98px) { 945 .logo img { 946 width: 100px; 947 } 948 }.section-header { 949 position: -webkit-sticky; 950 position: sticky; 951 }</style> 952<page-header data-section-id="sections--17836868796470__header"> 953 <div id="pageheader" class="pageheader pageheader--layout-inline-menu-left pageheader--sticky"> 954 <div class="logo-area container container--no-max"> 955 <div class="logo-area__left"> 956 <div class="logo-area__left__inner"> 957 <button class="mobile-nav-toggle" aria-label="Menu" aria-controls="main-nav"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-menu" aria-hidden="true" focusable="false" role="presentation"><path d="M3 12h18M3 6h18M3 18h18"/></svg></button> 958 959 <a class="show-search-link" href="/search" aria-label="Search"> 960 <span class="show-search-link__icon"><svg class="icon" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation"><g transform="translate(3 3)" stroke="currentColor" stroke-width="1.5" fill="none" fill-rule="evenodd"><circle cx="7.824" cy="7.824" r="7.824"/><path stroke-linecap="square" d="m13.971 13.971 4.47 4.47"/></g></svg></span> 961 <span class="show-search-link__text visually-hidden">Search</span> 962 </a> 963 964 965 <div id="proxy-nav" class="navigation navigation--left" role="navigation" aria-label="Primary"> 966 <div class="navigation__tier-1-container"> 967 <ul class="navigation__tier-1"> 968 969<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu"> 970 <a href="/collections/bikes" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-1">Bikes</a> 971 </li> 972 973<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu"> 974 <a href="/collections/pre-owned-bikes" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-2">Pre-Owned</a> 975 </li> 976 977<li class="navigation__item navigation__item--with-children navigation__item--with-mega-menu"> 978 <a href="/collections/all" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-3">Components</a> 979 </li> 980 981<li class="navigation__item navigation__item--with-children navigation__item--with-mega-menu"> 982 <a href="#" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-4">Accessories</a> 983 </li> 984 985<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu"> 986 <a href="/pages/services" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-5">Services</a> 987 </li> 988 989<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu"> 990 <a href="/pages/rentals" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-6">Rentals</a> 991 </li> 992 993<li class="navigation__item"> 994 <a href="/pages/gift-cards" class="navigation__link" >Gift Cards</a> 995 </li> 996 997<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu"> 998 <a href="/pages/community" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-8">Community</a> 999 </li> 1000 1001<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu"> 1002 <a href="/pages/ride-lists/mountain-bike-trails" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-9">Places To Ride</a> 1003 </li> 1004 1005<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu"> 1006 <a href="/pages/locations/cahaba-heights" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-10">Locations</a> 1007 </li> 1008 1009 </ul> 1010 </div> 1011 </div> 1012 1013 </div> 1014 </div> 1015 1016 <div class="logo-area__middle logo-area__middle--logo-image"> 1017 <div class="logo-area__middle__inner"> 1018 <div class="logo"><a class="logo__link" href="/" title="Cahaba Cycles"><img class="logo__image" src="//www.cahabacycles.com/cdn/shop/files/Cahaba-Logo-Horizontal-Blk.svg?v=1737391145&width=560" alt="Cahaba Cycles" itemprop="logo" width="625" height="94" loading="eager" /></a></div> 1019 </div> 1020 </div> 1021 1022 <div class="logo-area__right"> 1023 <div class="logo-area__right__inner"> 1024 1025 1026 <a class="header-account-link" href="https://www.cahabacycles.com/customer_authentication/redirect?locale=en®ion_country=US" aria-label="Account">
1027 <span class="header-account-link__text visually-hidden">Account</span> 1028 <span class="header-account-link__icon"><svg class="icon" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation"><g fill="none" fill-rule="evenodd"><path d="M12 2a5 5 0 1 1 0 10 5 5 0 0 1 0-10Zm0 1.429a3.571 3.571 0 1 0 0 7.142 3.571 3.571 0 0 0 0-7.142Z" fill="currentColor"/><path d="M3 18.25c0-2.486 4.542-4 9.028-4 4.486 0 8.972 1.514 8.972 4v3H3v-3Z" stroke="currentColor" stroke-width="1.5"/><circle stroke="currentColor" stroke-width="1.5" cx="12" cy="7" r="4.25"/></g></svg></span> 1029 </a> 1030 1031 1032 1033 <a class="show-search-link" href="/search"> 1034 <span class="show-search-link__text visually-hidden">Search</span> 1035 <span class="show-search-link__icon"><svg class="icon" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation"><g transform="translate(3 3)" stroke="currentColor" stroke-width="1.5" fill="none" fill-rule="evenodd"><circle cx="7.824" cy="7.824" r="7.824"/><path stroke-linecap="square" d="m13.971 13.971 4.47 4.47"/></g></svg></span> 1036 </a> 1037 1038<a href="/cart" class="cart-link" data-hash="e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"> 1039 <span class="cart-link__label visually-hidden">Cart</span> 1040 <span class="cart-link__icon"><svg class="icon" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation"><g fill="none" fill-rule="evenodd" stroke="currentColor" stroke-width="1.5"><path d="M2 9.25h20l-4 12H6z"/><path stroke-linecap="square" d="M12 9V3"/></g></svg><span class="cart-link__count"></span> 1041 </span> 1042 </a> 1043 </div> 1044 </div> 1045 </div>
1045<script src="//www.cahabacycles.com/cdn/shop/t/7/assets/main-search.js?v=76809749390081725741744306941" defer></script>
1045 1046 <main-search class="main-search " 1047 data-quick-search="true" 1048 data-quick-search-meta="false"> 1049 1050 <div class="main-search__container container"> 1051 <button class="main-search__close" aria-label="Close"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-x" aria-hidden="true" focusable="false" role="presentation"><path d="M18 6 6 18M6 6l12 12"/></svg></button> 1052 1053 <form class="main-search__form" action="/search" method="get" autocomplete="off"> 1054 <div class="main-search__input-container"> 1055 <input class="main-search__input" type="text" name="q" autocomplete="off" placeholder="Search our store" aria-label="Search" /> 1056 <button class="main-search__button" type="submit" aria-label="Search"><svg class="icon" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation"><g transform="translate(3 3)" stroke="currentColor" stroke-width="1.5" fill="none" fill-rule="evenodd"><circle cx="7.824" cy="7.824" r="7.824"/><path stroke-linecap="square" d="m13.971 13.971 4.47 4.47"/></g></svg></button> 1057 </div>
1057<script src="//www.cahabacycles.com/cdn/shop/t/7/assets/search-suggestions.js?v=101886753114502501091744306941" defer></script>
1057 1058 <search-suggestions></search-suggestions></form> 1059 1060 <div class="main-search__results"></div> 1061 1062 1063 </div> 1064 </main-search></div> 1065 1066 <main-navigation id="main-nav" class="desktop-only" data-proxy-nav="proxy-nav"> 1067 <div class="navigation navigation--main" role="navigation" aria-label="Primary"> 1068 <div class="navigation__tier-1-container"> 1069 <ul class="navigation__tier-1"> 1070 1071<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu"> 1072 <a href="/collections/bikes" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-1">Bikes</a> 1073 1074 1075 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 1076 1077 <div id="NavigationTier2-1" class="navigation__tier-2-container navigation__child-tier"><div class="container"> 1078 <ul class="navigation__tier-2"> 1079 1080 1081 <li class="navigation__item"> 1082 <a href="/collections/mountain-bikes-1" class="navigation__link" >Mountain Bikes</a> 1083 1084 1085 1086 </li> 1087 1088 <li class="navigation__item"> 1089 <a href="/collections/road-bikes-1" class="navigation__link" >Road Bikes</a> 1090 1091 1092 1093 </li> 1094 1095 <li class="navigation__item"> 1096 <a href="/collections/gravel-bikes" class="navigation__link" >Gravel Bikes</a> 1097 1098 1099 1100 </li> 1101 1102 <li class="navigation__item"> 1103 <a href="/collections/e-bikes" class="navigation__link" >E-Bikes</a> 1104 1105 1106 1107 </li> 1108 1109 <li class="navigation__item"> 1110 <a href="/collections/fitness-bike" class="navigation__link" >Fitness Bikes</a> 1111 1112 1113 1114 </li> 1115 1116 <li class="navigation__item"> 1117 <a href="/collections/hybrid-bikes-1" class="navigation__link" >Hybrid Bikes</a> 1118 1119 1120 1121 </li> 1122 1123 <li class="navigation__item"> 1124 <a href="/collections/comfort-bikes" class="navigation__link" >Comfort Bikes</a> 1125 1126 1127 1128 </li> 1129 1130 <li class="navigation__item"> 1131 <a href="/collections/kids-bikes-1" class="navigation__link" >Kids Bikes</a> 1132 1133 1134 1135 </li> 1136 1137 <li class="navigation__item"> 1138 <a href="/collections/adult-trikes-recumbents" class="navigation__link" >Adult Trikes/Recumbents</a> 1139 1140 1141 1142 </li> 1143 1144 1145 1146 1147</ul> 1148 </div></div> 1149 1150 </li> 1151 1152<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu"> 1153 <a href="/collections/pre-owned-bikes" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-2">Pre-Owned</a> 1154 1155 1156 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 1157 1158 <div id="NavigationTier2-2" class="navigation__tier-2-container navigation__child-tier"><div class="container"> 1159 <ul class="navigation__tier-2"> 1160 1161 1162 <li class="navigation__item"> 1163 <a href="/collections/2026-demo-bike-sale" class="navigation__link" >
11632026 Demo Bike Sale</a> 1164 1165 1166 1167 </li> 1168 1169 1170 1171 1172</ul> 1173 </div></div> 1174 1175 </li> 1176 1177<li class="navigation__item navigation__item--with-children navigation__item--with-mega-menu"> 1178 <a href="/collections/all" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-3">Components</a> 1179 1180 1181 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 1182 1183 <div id="NavigationTier2-3" class="navigation__tier-2-container navigation__child-tier"><div class="container"> 1184 <ul class="navigation__tier-2 navigation__columns navigation__columns--count-6 navigation__columns--over-5-cols"> 1185 1186 1187 <li class="navigation__item navigation__item--with-children navigation__column"> 1188 <a href="/collections/drivetrain" class="navigation__link navigation__column-title" aria-haspopup="true" aria-expanded="false">Drivetrain</a> 1189 1190 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 1191 1192 1193 1194 <div class="navigation__tier-3-container navigation__child-tier"> 1195 <ul class="navigation__tier-3"> 1196 1197 <li class="navigation__item"> 1198 <a class="navigation__link" href="/collections/bottom-brackets">Bottom Brackets</a> 1199 </li> 1200 1201 <li class="navigation__item"> 1202 <a class="navigation__link" href="/collections/cassettes">Cassettes</a> 1203 </li> 1204 1205 <li class="navigation__item"> 1206 <a class="navigation__link" href="/collections/chainrings">Chainrings</a> 1207 </li> 1208 1209 <li class="navigation__item"> 1210 <a class="navigation__link" href="/collections/chains">Chains</a> 1211 </li> 1212 1213 <li class="navigation__item"> 1214 <a class="navigation__link" href="/collections/cranksets">Cranksets</a> 1215 </li> 1216 1217 <li class="navigation__item"> 1218 <a class="navigation__link" href="/collections/derailleurs">Derailleurs</a> 1219 </li> 1220 1221 <li class="navigation__item"> 1222 <a class="navigation__link" href="/collections/shifters">Shifters</a> 1223 </li> 1224 1225 </ul> 1226 </div> 1227 1228 </li> 1229 1230 <li class="navigation__item navigation__item--with-children navigation__column"> 1231 <a href="/collections/brakes" class="navigation__link navigation__column-title" aria-haspopup="true" aria-expanded="false">Brakes</a> 1232 1233 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 1234 1235 1236 1237 <div class="navigation__tier-3-container navigation__child-tier"> 1238 <ul class="navigation__tier-3"> 1239 1240 <li class="navigation__item"> 1241 <a class="navigation__link" href="/collections/disc-brakes">Disc Brakes</a> 1242 </li> 1243 1244 <li class="navigation__item"> 1245 <a class="navigation__link" href="/collections/brake-pads">Brake Pads</a> 1246 </li> 1247 1248 <li class="navigation__item"> 1249 <a class="navigation__link" href="/collections/rotors">Brake Rotors</a> 1250 </li> 1251 1252 <li class="navigation__item"> 1253 <a class="navigation__link" href="/collections/hoses-parts">
1253Hoses & Parts</a> 1254 </li> 1255 1256 </ul> 1257 </div> 1258 1259 </li> 1260 1261 <li class="navigation__item navigation__item--with-children navigation__column"> 1262 <a href="/collections/controls" class="navigation__link navigation__column-title" aria-haspopup="true" aria-expanded="false">Controls</a> 1263 1264 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 1265 1266 1267 1268 <div class="navigation__tier-3-container navigation__child-tier"> 1269 <ul class="navigation__tier-3"> 1270 1271 <li class="navigation__item"> 1272 <a class="navigation__link" href="/collections/dropper-post">Dropper Post</a> 1273 </li> 1274 1275 <li class="navigation__item"> 1276 <a class="navigation__link" href="/collections/driver-post-remote">Dropper Post Remote</a> 1277 </li> 1278 1279 <li class="navigation__item"> 1280 <a class="navigation__link" href="/collections/grips-tape">Grips</a> 1281 </li> 1282 1283 <li class="navigation__item"> 1284 <a class="navigation__link" href="/collections/handlebars">Handlebars</a> 1285 </li> 1286 1287 <li class="navigation__item"> 1288 <a class="navigation__link" href="/collections/headsets">Headsets</a> 1289 </li> 1290 1291 <li class="navigation__item"> 1292 <a class="navigation__link" href="/collections/saddles">Saddles</a> 1293 </li> 1294 1295 <li class="navigation__item"> 1296 <a class="navigation__link" href="/collections/stems">Stems</a> 1297 </li> 1298 1299 </ul> 1300 </div> 1301 1302 </li> 1303 1304 <li class="navigation__item navigation__item--with-children navigation__column"> 1305 <a href="/collections/tires" class="navigation__link navigation__column-title" aria-haspopup="true" aria-expanded="false">Tires</a> 1306 1307 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 1308 1309 1310 1311 <div class="navigation__tier-3-container navigation__child-tier"> 1312 <ul class="navigation__tier-3"> 1313 1314 <li class="navigation__item"> 1315 <a class="navigation__link" href="/collections/maxxis-tires">Maxxis Tires</a> 1316 </li> 1317 1318 <li class="navigation__item"> 1319 <a class="navigation__link" href="/collections/schwalbe-tires">Schwalbe Tires</a> 1320 </li> 1321 1322 <li class="navigation__item"> 1323 <a class="navigation__link" href="/collections/michelin-tires">Michelin Tires</a> 1324 </li> 1325 1326 <li class="navigation__item"> 1327 <a class="navigation__link" href="/collections/27-5-tires">27.5" Tires</a> 1328 </li> 1329 1330 <li class="navigation__item"> 1331 <a class="navigation__link" href="/collections/29-tires">29" Tires</a> 1332 </li> 1333 1334 <li class="navigation__item"> 1335 <a class="navigation__link" href="/collections/700c-tires">700C Tires</a> 1336 </li> 1337 1338 </ul> 1339 </div> 1340 1341 </li> 1342 1343 <li class="navigation__item navigation__item--with-children navigation__column"> 1344 <a href="/collections/wheels" class="navigation__link navigation__column-title" aria-haspopup="true" aria-expanded="false">Wheels</a> 1345 1346 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 1347 1348 1349 1350 <div class="navigation__tier-3-container navigation__child-tier"> 1351 <ul class="navigation__tier-3"> 1352 1353 <li class="navigation__item"> 1354 <a class="navigation__link" href="/collections/hubs">Hubs</a> 1355 </li> 1356 1357 <li class="navigation__item"> 1358 <a class="navigation__link" href="/collections/rims">Rims</a> 1359 </li> 1360 1361 <li class="navigation__item"> 1362 <a class="navigation__link" href="/collections/spokes-nipples">Spokes</a> 1363 </li> 1364 1365 <li class="navigation__item"> 1366 <a class="navigation__link" href="/collections/tubes">Tubes</a> 1367 </li> 1368 1369 <li class="navigation__item"> 1370 <a class="navigation__link" href="/collections/wheels-1">Wheels</a> 1371 </li> 1372 1373 </ul> 1374 </div> 1375 1376 </li> 1377 1378 <li class="navigation__item navigation__item--with-children navigation__column"> 1379 <a href="/collections/suspension-forks" class="navigation__link navigation__column-title" aria-haspopup="true" aria-expanded="false">Suspension</a> 1380 1381 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 1382 1383 1384 1385 <div class="navigation__tier-3-container navigation__child-tier"> 1386 <ul class="navigation__tier-3"> 1387 1388 <li class="navigation__item"> 1389 <a class="navigation__link" href="/collections/suspension-forks-1">Forks</a> 1390 </li> 1391 1392 <li class="navigation__item"> 1393 <a class="navigation__link" href="/collections/rear-shocks">Rear Shocks</a> 1394 </li> 1395 1396 <li class="navigation__item"> 1397 <a class="navigation__link" href="/collections/rear-shock-s
1397prings">Rear Shock Springs</a> 1398 </li> 1399 1400 <li class="navigation__item"> 1401 <a class="navigation__link" href="/collections/service-parts">Service Parts</a> 1402 </li> 1403 1404 </ul> 1405 </div> 1406 1407 </li> 1408 1409 1410 1411 1412</ul> 1413 </div></div> 1414 1415 </li> 1416 1417<li class="navigation__item navigation__item--with-children navigation__item--with-mega-menu"> 1418 <a href="#" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-4">Accessories</a> 1419 1420 1421 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 1422 1423 <div id="NavigationTier2-4" class="navigation__tier-2-container navigation__child-tier"><div class="container"> 1424 <ul class="navigation__tier-2 navigation__columns navigation__columns--count-2"> 1425 1426 1427 <li class="navigation__item navigation__item--with-children navigation__column"> 1428 <a href="#" class="navigation__link navigation__column-title" aria-haspopup="true" aria-expanded="false">Apparel</a> 1429 1430 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 1431 1432 1433 1434 <div class="navigation__tier-3-container navigation__child-tier"> 1435 <ul class="navigation__tier-3"> 1436 1437 <li class="navigation__item"> 1438 <a class="navigation__link" href="/collections/cahaba-hats">Cahaba Hats</a> 1439 </li> 1440 1441 <li class="navigation__item"> 1442 <a class="navigation__link" href="/collections/cahaba-ts">Cahaba T's</a> 1443 </li> 1444 1445 <li class="navigation__item"> 1446 <a class="navigation__link" href="/collections/gloves">Gloves</a> 1447 </li> 1448 1449 <li class="navigation__item"> 1450 <a class="navigation__link" href="/collections/helmets">Helmets</a> 1451 </li> 1452 1453 <li class="navigation__item"> 1454 <a class="navigation__link" href="/collections/jerseys">Jerseys</a> 1455 </li> 1456 1457 <li class="navigation__item"> 1458 <a class="navigation__link" href="/collections/shoes">Shoes</a> 1459 </li> 1460 1461 <li class="navigation__item"> 1462 <a class="navigation__link" href="/collections/shorts">Shorts and Pants</a> 1463 </li> 1464 1465 <li class="navigation__item"> 1466 <a class="navigation__link" href="/collections/socks">Socks</a> 1467 </li> 1468 1469 </ul> 1470 </div> 1471 1472 </li> 1473 1474 <li class="navigation__item navigation__item--with-children navigation__column"> 1475 <a href="#" class="navigation__link navigation__column-title" aria-haspopup="true" aria-expanded="false"> Accessories</a> 1476 1477 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 1478 1479 1480 1481 <div class="navigation__tier-3-container navigation__child-tier"> 1482 <ul class="navigation__tier-3"> 1483 1484 <li class="navigation__item"> 1485 <a class="navigation__link" href="/collections/car-racks-1">Car Racks</a> 1486 </li> 1487 1488 <li class="navigation__item"> 1489 <a class="navigation__link" href="/collections/hydration">Hydration</a> 1490 </li> 1491 1492 <li class="navigation__item"> 1493 <a class="navigation__link" href="/collections/indoor-cycling-trainers">Indoor Cycling/Trainers</a> 1494 </li> 1495 1496 <li class="navigation__item"> 1497 <a class="navigation__link" href="/collections/pumps-inflation">Pumps/Inflation</a> 1498 </li> 1499 1500 <li class="navigation__item"> 1501 <a class="navigation__link" href="/collections/bike-lights">Bike Lights</a> 1502 </li> 1503 1504 <li class="navigation__item"> 1505 <a class="navigation__link" href="/collections/tools-maintenance">Tools/Maintenance</a> 1506 </li> 1507 1508 </ul> 1509 </div> 1510 1511 </li> 1512 1513 1514 1515 1516</ul> 1517 </div></div> 1518 1519 </li> 1520 1521<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu"> 1522 <a href="/pages/services" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-5">Services</a> 1523 1524 1525 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 1526 1527 <div id="NavigationTier2-5" class="navigation__tier-2-container navigation__child-tier"><div class="container"> 1528 <ul class="navigation__tier-2"> 1529 1530 1531 <li class="navigation__item"> 1532 <a href="/pages/services" class="navigation__link" >Bike Repair & Service</a> 1533 1534 1535 1536 </li> 1537 1538 <li class="navigation__item"> 1539 <a href="/pages/cahaba-cycles-service-plan" class="navigation__link" >Cahaba Cycles Service Plan</a> 1540 1541 1542 1543 </li> 1544 1545 <li class="navigation__item"> 1546 <a href="/pages/find-your-size" class="navigation__link" >Find Your Size</a> 1547 1548 1549 1550 </li> 1551 1552 <li class="navigation__item"> 1553 <a href="/pages/cahaba-fitting" class="navigation__link" >Bike Fitting</a> 1554 1555 1556 1557 </li> 1558 1559 <li class="navigation__item"> 1560 <a href="/pages/cahaba-rewards" class="navigation__link" >Cahaba Rewards</a> 1561 1562 1563 1564 </li> 1565 1566 <li class="navigation__item">
1567 <a href="/pages/demo-bikes" class="navigation__link" >Bikes Available to Demo</a> 1568 1569 1570 1571 </li> 1572 1573 <li class="navigation__item"> 1574 <a href="/pages/cahaba-kids-bike-guide" class="navigation__link" >Kid's Bike Buying Guide</a> 1575 1576 1577 1578 </li> 1579 1580 <li class="navigation__item"> 1581 <a href="/pages/cahaba-trade-in" class="navigation__link" >Cahaba Trade-In</a> 1582 1583 1584 1585 </li> 1586 1587 <li class="navigation__item"> 1588 <a href="https://www.trekbikes.com/us/en_US/project-one/#comp_ProjectOne2023_1Up2" class="navigation__link" >Trek Project One Custom Bikes</a> 1589 1590 1591 1592 </li> 1593 1594 <li class="navigation__item"> 1595 <a href="https://www.trekbikes.com/us/en_US/financing/" class="navigation__link" >Ride Now, Pay Later - Trek</a> 1596 1597 1598 1599 </li> 1600 1601 <li class="navigation__item"> 1602 <a href="/pages/ride-now-pay-later-synchrony" class="navigation__link" >Ride Now, Pay Later - Synchrony</a> 1603 1604 1605 1606 </li> 1607 1608 1609 1610 1611</ul> 1612 </div></div> 1613 1614 </li> 1615 1616<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu"> 1617 <a href="/pages/rentals" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-6">Rentals</a> 1618 1619 1620 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 1621 1622 <div id="NavigationTier2-6" class="navigation__tier-2-container navigation__child-tier"><div class="container"> 1623 <ul class="navigation__tier-2"> 1624 1625 1626 <li class="navigation__item"> 1627 <a href="/pages/rentals" class="navigation__link" >Rentals</a> 1628 1629 1630 1631 </li> 1632 1633 <li class="navigation__item"> 1634 <a href="/pages/demo-bikes" class="navigation__link" >Bikes Available to Demo</a> 1635 1636 1637 1638 </li> 1639 1640 1641 1642 1643</ul> 1644 </div></div> 1645 1646 </li> 1647 1648<li class="navigation__item"> 1649 <a href="/pages/gift-cards" class="navigation__link" >Gift Cards</a> 1650 1651 1652 </li> 1653 1654<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu"> 1655 <a href="/pages/community" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-8">Community</a> 1656 1657 1658 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 1659 1660 <div id="NavigationTier2-8" class="navigation__tier-2-container navigation__child-tier"><div class="container"> 1661 <ul class="navigation__tier-2"> 1662 1663 1664 <li class="navigation__item"> 1665 <a href="/pages/community" class="navigation__link" >Our Community</a> 1666 1667 1668 1669 </li> 1670 1671 <li class="navigation__item"> 1672 <a href="/pages/why-cahaba" class="navigation__link" >Why Cahaba?</a> 1673 1674 1675 1676 </li> 1677 1678 <li class="navigation__item"> 1679 <a href="/pages/giving-back" class="navigation__link" >Giving Back</a> 1680 1681 1682 1683 </li> 1684 1685 <li class="navigation__item"> 1686 <a href="/pages/cahaba-support" class="navigation__link" >Cahaba Support</a> 1687 1688 1689 1690 </li> 1691 1692 <li class="navigation__item"> 1693 <a href="/pages/cahaba-events" class="navigation__link" >Events Calendar</a> 1694 1695 1696 1697 </li> 1698 1699 <li class="navigation__item"> 1700 <a href="/pages/little-hammies" class="navigation__link" >Little Hammies</a> 1701 1702 1703 1704 </li> 1705 1706 <li class="navigation__item"> 1707 <a href="/pages/tour-de-cahaba-2026" class="navigation__link" >Tour De Cahaba 2026</a> 1708 1709 1710 1711 </li> 1712 1713 1714 1715 1716</ul> 1717 </div></div> 1718 1719 </li> 1720 1721<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu"> 1722 <a href="/pages/ride-lists/mountain-bike-trails" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-9">Places To Ride</a> 1723 1724 1725 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 1726 1727 <div id="NavigationTier2-9" class="navigation__tier-2-container navigation__child-tier"><div class="container"> 1728 <ul class="navigation__tier-2"> 1729 1730 1731 <li class="navigation__item"> 1732 <a href="/pages/ride-lists/mountain-bike-trails" class="navigation__link" >Mountain Bike Trails</a> 1733 1734 1735 1736 </li> 1737 1738 <li class="navigation__item"> 1739 <a href="/pages/ride-lists/paths" class="navigation__link" >Paths</a> 1740 1741 1742 1743 </li> 1744 1745 1746 1747 1748</ul> 1749 </div></div> 1750 1751 </li> 1752 1753<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu"> 1754 <a href="/pages/locations/cahaba-heights" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-10">Locations</a> 1755 1756 1757 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 1758 1759 <div id="NavigationTier2-10" class="navigation__tier-2-container navigation__child-tier"><div class="container"> 1760 <ul class="navigation__tier-2"> 1761 1762 1763 <li class="navigation__item"> 1764 <a href="/pages/locations/cahaba-heights" class="navigation__link" >Cahaba Heights</a> 1765 1766 1767 1768 </li> 1769 1770 <li class="navigation__item"> 1771 <a href="/pages/locations/gadsden" class="navigation__link" >Gadsden</a> 1772 1773 1774 1775 </li> 1776 1777 <li class="navigation__item"> 1778 <a href="/pages/locations/homewood" class="navigation__link" >Homewood</a> 1779 1780 1781 1782 </li> 1783 1784 <li class="navigation__item">
1785 <a href="/pages/locations/oak-mountain" class="navigation__link" >Oak Mountain</a> 1786 1787 1788 1789 </li> 1790 1791 <li class="navigation__item"> 1792 <a href="/pages/locations/trussville" class="navigation__link" >Trussville</a> 1793 1794 1795 1796 </li> 1797 1798 <li class="navigation__item"> 1799 <a href="/pages/mobile-service" class="navigation__link" >Mobile Service</a> 1800 1801 1802 1803 </li> 1804 1805 <li class="navigation__item"> 1806 <a href="/pages/demo-center-at-ridebhm" class="navigation__link" >Demo Center at RideBHM</a> 1807 1808 1809 1810 </li> 1811 1812 1813 1814 1815</ul> 1816 </div></div> 1817 1818 </li> 1819 1820</ul> 1821 </div> 1822 </div>
1822<script class="mobile-navigation-drawer-template" type="text/template"> 1823 <div class="mobile-navigation-drawer" data-mobile-expand-with-entire-link="true"> 1824 <div class="navigation navigation--main" role="navigation" aria-label="Primary"> 1825 <div class="navigation__tier-1-container"> 1826 <div class="navigation__mobile-header"> 1827 <a href="#" class="mobile-nav-back has-ltr-icon" aria-label="Back"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-left" aria-hidden="true" focusable="false" role="presentation"><path d="m15 18-6-6 6-6"/></svg></a> 1828 <span class="mobile-nav-title"></span> 1829 <a href="#" class="mobile-nav-toggle" aria-label="Close"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-x" aria-hidden="true" focusable="false" role="presentation"><path d="M18 6 6 18M6 6l12 12"/></svg></a> 1830 </div> 1831 <ul class="navigation__tier-1"> 1832 1833<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu"> 1834 <a href="/collections/bikes" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-1-mob">Bikes</a> 1835 1836 1837 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 1838 1839 <div id="NavigationTier2-1-mob" class="navigation__tier-2-container navigation__child-tier"><div class="container"> 1840 <ul class="navigation__tier-2"> 1841 1842 1843 <li class="navigation__item"> 1844 <a href="/collections/mountain-bikes-1" class="navigation__link" >Mountain Bikes</a> 1845 1846 1847 1848 </li> 1849 1850 <li class="navigation__item"> 1851 <a href="/collections/road-bikes-1" class="navigation__link" >Road Bikes</a> 1852 1853 1854 1855 </li> 1856 1857 <li class="navigation__item"> 1858 <a href="/collections/gravel-bikes" class="navigation__link" >Gravel Bikes</a> 1859 1860 1861 1862 </li> 1863 1864 <li class="navigation__item"> 1865 <a href="/collections/e-bikes" class="navigation__link" >E-Bikes</a> 1866 1867 1868 1869 </li> 1870 1871 <li class="navigation__item"> 1872 <a href="/collections/fitness-bike" class="navigation__link" >Fitness Bikes</a> 1873 1874 1875 1876 </li> 1877 1878 <li class="navigation__item"> 1879 <a href="/collections/hybrid-bikes-1" class="navigation__link" >Hybrid Bikes</a> 1880 1881 1882 1883 </li> 1884 1885 <li class="navigation__item"> 1886 <a href="/collections/comfort-bikes" class="navigation__link" >Comfort Bikes</a> 1887 1888 1889 1890 </li> 1891 1892 <li class="navigation__item"> 1893 <a href="/collections/kids-bikes-1" class="navigation__link" >Kids Bikes</a> 1894 1895 1896 1897 </li> 1898 1899 <li class="navigation__item"> 1900 <a href="/collections/adult-trikes-recumbents" class="navigation__link" >Adult Trikes/Recumbents</a> 1901 1902 1903 1904 </li> 1905 1906 1907 1908 1909</ul> 1910 </div></div> 1911 1912 </li> 1913 1914<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu"> 1915 <a href="/collections/pre-owned-bikes" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-2-mob">Pre-Owned</a> 1916 1917 1918 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 1919 1920 <div id="NavigationTier2-2-mob" class="navigation__tier-2-container navigation__child-tier"><div class="container"> 1921 <ul class="navigation__tier-2"> 1922 1923 1924 <li class="navigation__item"> 1925 <a href="/collections/2026-demo-bike-sale" class="navigation__link" >
19252026 Demo Bike Sale</a> 1926 1927 1928 1929 </li> 1930 1931 1932 1933 1934</ul> 1935 </div></div> 1936 1937 </li> 1938 1939<li class="navigation__item navigation__item--with-children navigation__item--with-mega-menu"> 1940 <a href="/collections/all" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-3-mob">Components</a> 1941 1942 1943 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 1944 1945 <div id="NavigationTier2-3-mob" class="navigation__tier-2-container navigation__child-tier"><div class="container"> 1946 <ul class="navigation__tier-2 navigation__columns navigation__columns--count-6 navigation__columns--over-5-cols"> 1947 1948 1949 <li class="navigation__item navigation__item--with-children navigation__column"> 1950 <a href="/collections/drivetrain" class="navigation__link navigation__column-title" aria-haspopup="true" aria-expanded="false">Drivetrain</a> 1951 1952 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 1953 1954 1955 1956 <div class="navigation__tier-3-container navigation__child-tier"> 1957 <ul class="navigation__tier-3"> 1958 1959 <li class="navigation__item"> 1960 <a class="navigation__link" href="/collections/bottom-brackets">Bottom Brackets</a> 1961 </li> 1962 1963 <li class="navigation__item"> 1964 <a class="navigation__link" href="/collections/cassettes">Cassettes</a> 1965 </li> 1966 1967 <li class="navigation__item"> 1968 <a class="navigation__link" href="/collections/chainrings">Chainrings</a> 1969 </li> 1970 1971 <li class="navigation__item"> 1972 <a class="navigation__link" href="/collections/chains">Chains</a> 1973 </li> 1974 1975 <li class="navigation__item"> 1976 <a class="navigation__link" href="/collections/cranksets">Cranksets</a> 1977 </li> 1978 1979 <li class="navigation__item"> 1980 <a class="navigation__link" href="/collections/derailleurs">Derailleurs</a> 1981 </li> 1982 1983 <li class="navigation__item"> 1984 <a class="navigation__link" href="/collections/shifters">Shifters</a> 1985 </li> 1986 1987 </ul> 1988 </div> 1989 1990 </li> 1991 1992 <li class="navigation__item navigation__item--with-children navigation__column"> 1993 <a href="/collections/brakes" class="navigation__link navigation__column-title" aria-haspopup="true" aria-expanded="false">Brakes</a> 1994 1995 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 1996 1997 1998 1999 <div class="navigation__tier-3-container navigation__child-tier"> 2000 <ul class="navigation__tier-3"> 2001 2002 <li class="navigation__item"> 2003 <a class="navigation__link" href="/collections/disc-brakes">Disc Brakes</a> 2004 </li> 2005 2006 <li class="navigation__item"> 2007 <a class="navigation__link" href="/collections/brake-pads">Brake Pads</a> 2008 </li> 2009 2010 <li class="navigation__item"> 2011 <a class="navigation__link" href="/collections/rotors">Brake Rotors</a> 2012 </li> 2013 2014 <li class="navigation__item"> 2015 <a class="navigation__link" href="/collections/hoses-parts">
2015Hoses & Parts</a> 2016 </li> 2017 2018 </ul> 2019 </div> 2020 2021 </li> 2022 2023 <li class="navigation__item navigation__item--with-children navigation__column"> 2024 <a href="/collections/controls" class="navigation__link navigation__column-title" aria-haspopup="true" aria-expanded="false">Controls</a> 2025 2026 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 2027 2028 2029 2030 <div class="navigation__tier-3-container navigation__child-tier"> 2031 <ul class="navigation__tier-3"> 2032 2033 <li class="navigation__item"> 2034 <a class="navigation__link" href="/collections/dropper-post">Dropper Post</a> 2035 </li> 2036 2037 <li class="navigation__item"> 2038 <a class="navigation__link" href="/collections/driver-post-remote">Dropper Post Remote</a> 2039 </li> 2040 2041 <li class="navigation__item"> 2042 <a class="navigation__link" href="/collections/grips-tape">Grips</a> 2043 </li> 2044 2045 <li class="navigation__item"> 2046 <a class="navigation__link" href="/collections/handlebars">Handlebars</a> 2047 </li> 2048 2049 <li class="navigation__item"> 2050 <a class="navigation__link" href="/collections/headsets">Headsets</a> 2051 </li> 2052 2053 <li class="navigation__item"> 2054 <a class="navigation__link" href="/collections/saddles">Saddles</a> 2055 </li> 2056 2057 <li class="navigation__item"> 2058 <a class="navigation__link" href="/collections/stems">Stems</a> 2059 </li> 2060 2061 </ul> 2062 </div> 2063 2064 </li> 2065 2066 <li class="navigation__item navigation__item--with-children navigation__column"> 2067 <a href="/collections/tires" class="navigation__link navigation__column-title" aria-haspopup="true" aria-expanded="false">Tires</a> 2068 2069 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 2070 2071 2072 2073 <div class="navigation__tier-3-container navigation__child-tier"> 2074 <ul class="navigation__tier-3"> 2075 2076 <li class="navigation__item"> 2077 <a class="navigation__link" href="/collections/maxxis-tires">Maxxis Tires</a> 2078 </li> 2079 2080 <li class="navigation__item"> 2081 <a class="navigation__link" href="/collections/schwalbe-tires">Schwalbe Tires</a> 2082 </li> 2083 2084 <li class="navigation__item"> 2085 <a class="navigation__link" href="/collections/michelin-tires">Michelin Tires</a> 2086 </li> 2087 2088 <li class="navigation__item"> 2089 <a class="navigation__link" href="/collections/27-5-tires">27.5" Tires</a> 2090 </li> 2091 2092 <li class="navigation__item"> 2093 <a class="navigation__link" href="/collections/29-tires">29" Tires</a> 2094 </li> 2095 2096 <li class="navigation__item"> 2097 <a class="navigation__link" href="/collections/700c-tires">700C Tires</a> 2098 </li> 2099 2100 </ul> 2101 </div> 2102 2103 </li> 2104 2105 <li class="navigation__item navigation__item--with-children navigation__column"> 2106 <a href="/collections/wheels" class="navigation__link navigation__column-title" aria-haspopup="true" aria-expanded="false">Wheels</a> 2107 2108 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 2109 2110 2111 2112 <div class="navigation__tier-3-container navigation__child-tier"> 2113 <ul class="navigation__tier-3"> 2114 2115 <li class="navigation__item"> 2116 <a class="navigation__link" href="/collections/hubs">Hubs</a> 2117 </li> 2118 2119 <li class="navigation__item"> 2120 <a class="navigation__link" href="/collections/rims">Rims</a> 2121 </li> 2122 2123 <li class="navigation__item"> 2124 <a class="navigation__link" href="/collections/spokes-nipples">Spokes</a> 2125 </li> 2126 2127 <li class="navigation__item"> 2128 <a class="navigation__link" href="/collections/tubes">Tubes</a> 2129 </li> 2130 2131 <li class="navigation__item"> 2132 <a class="navigation__link" href="/collections/wheels-1">Wheels</a> 2133 </li> 2134 2135 </ul> 2136 </div> 2137 2138 </li> 2139 2140 <li class="navigation__item navigation__item--with-children navigation__column"> 2141 <a href="/collections/suspension-forks" class="navigation__link navigation__column-title" aria-haspopup="true" aria-expanded="false">Suspension</a> 2142 2143 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 2144 2145 2146 2147 <div class="navigation__tier-3-container navigation__child-tier"> 2148 <ul class="navigation__tier-3"> 2149 2150 <li class="navigation__item"> 2151 <a class="navigation__link" href="/collections/suspension-forks-1">Forks</a> 2152 </li> 2153 2154 <li class="navigation__item"> 2155 <a class="navigation__link" href="/collections/rear-shocks">Rear Shocks</a> 2156 </li> 2157 2158 <li class="navigation__item"> 2159 <a class="navigation__link" href="/collections/rear-shock-s
2159prings">Rear Shock Springs</a> 2160 </li> 2161 2162 <li class="navigation__item"> 2163 <a class="navigation__link" href="/collections/service-parts">Service Parts</a> 2164 </li> 2165 2166 </ul> 2167 </div> 2168 2169 </li> 2170 2171 2172 2173 2174</ul> 2175 </div></div> 2176 2177 </li> 2178 2179<li class="navigation__item navigation__item--with-children navigation__item--with-mega-menu"> 2180 <a href="#" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-4-mob">Accessories</a> 2181 2182 2183 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 2184 2185 <div id="NavigationTier2-4-mob" class="navigation__tier-2-container navigation__child-tier"><div class="container"> 2186 <ul class="navigation__tier-2 navigation__columns navigation__columns--count-2"> 2187 2188 2189 <li class="navigation__item navigation__item--with-children navigation__column"> 2190 <a href="#" class="navigation__link navigation__column-title" aria-haspopup="true" aria-expanded="false">Apparel</a> 2191 2192 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 2193 2194 2195 2196 <div class="navigation__tier-3-container navigation__child-tier"> 2197 <ul class="navigation__tier-3"> 2198 2199 <li class="navigation__item"> 2200 <a class="navigation__link" href="/collections/cahaba-hats">Cahaba Hats</a> 2201 </li> 2202 2203 <li class="navigation__item"> 2204 <a class="navigation__link" href="/collections/cahaba-ts">Cahaba T's</a> 2205 </li> 2206 2207 <li class="navigation__item"> 2208 <a class="navigation__link" href="/collections/gloves">Gloves</a> 2209 </li> 2210 2211 <li class="navigation__item"> 2212 <a class="navigation__link" href="/collections/helmets">Helmets</a> 2213 </li> 2214 2215 <li class="navigation__item"> 2216 <a class="navigation__link" href="/collections/jerseys">Jerseys</a> 2217 </li> 2218 2219 <li class="navigation__item"> 2220 <a class="navigation__link" href="/collections/shoes">Shoes</a> 2221 </li> 2222 2223 <li class="navigation__item"> 2224 <a class="navigation__link" href="/collections/shorts">Shorts and Pants</a> 2225 </li> 2226 2227 <li class="navigation__item"> 2228 <a class="navigation__link" href="/collections/socks">Socks</a> 2229 </li> 2230 2231 </ul> 2232 </div> 2233 2234 </li> 2235 2236 <li class="navigation__item navigation__item--with-children navigation__column"> 2237 <a href="#" class="navigation__link navigation__column-title" aria-haspopup="true" aria-expanded="false"> Accessories</a> 2238 2239 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 2240 2241 2242 2243 <div class="navigation__tier-3-container navigation__child-tier"> 2244 <ul class="navigation__tier-3"> 2245 2246 <li class="navigation__item"> 2247 <a class="navigation__link" href="/collections/car-racks-1">Car Racks</a> 2248 </li> 2249 2250 <li class="navigation__item"> 2251 <a class="navigation__link" href="/collections/hydration">Hydration</a> 2252 </li> 2253 2254 <li class="navigation__item"> 2255 <a class="navigation__link" href="/collections/indoor-cycling-trainers">Indoor Cycling/Trainers</a> 2256 </li> 2257 2258 <li class="navigation__item"> 2259 <a class="navigation__link" href="/collections/pumps-inflation">Pumps/Inflation</a> 2260 </li> 2261 2262 <li class="navigation__item"> 2263 <a class="navigation__link" href="/collections/bike-lights">Bike Lights</a> 2264 </li> 2265 2266 <li class="navigation__item"> 2267 <a class="navigation__link" href="/collections/tools-maintenance">Tools/Maintenance</a> 2268 </li> 2269 2270 </ul> 2271 </div> 2272 2273 </li> 2274 2275 2276 2277 2278</ul> 2279 </div></div> 2280 2281 </li> 2282 2283<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu"> 2284 <a href="/pages/services" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-5-mob">Services</a> 2285 2286 2287 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 2288 2289 <div id="NavigationTier2-5-mob" class="navigation__tier-2-container navigation__child-tier"><div class="container"> 2290 <ul class="navigation__tier-2"> 2291 2292 2293 <li class="navigation__item"> 2294 <a href="/pages/services" class="navigation__link" >Bike Repair & Service</a> 2295 2296 2297 2298 </li> 2299 2300 <li class="navigation__item"> 2301 <a href="/pages/cahaba-cycles-service-plan" class="navigation__link" >Cahaba Cycles Service Plan</a> 2302 2303 2304 2305 </li> 2306 2307 <li class="navigation__item"> 2308 <a href="/pages/find-your-size" class="navigation__link" >Find Your Size</a> 2309 2310 2311 2312 </li> 2313 2314 <li class="navigation__item"> 2315 <a href="/pages/cahaba-fitting" class="navigation__link" >Bike Fitting</a> 2316 2317 2318 2319 </li> 2320 2321 <li class="navigation__item"> 2322 <a href="/pages/cahaba-rewards" class="navigation__link" >Cahaba Rewards</a> 2323 2324 2325 2326 </li> 2327 2328 <li class="navigation__item">
2329 <a href="/pages/demo-bikes" class="navigation__link" >Bikes Available to Demo</a> 2330 2331 2332 2333 </li> 2334 2335 <li class="navigation__item"> 2336 <a href="/pages/cahaba-kids-bike-guide" class="navigation__link" >Kid's Bike Buying Guide</a> 2337 2338 2339 2340 </li> 2341 2342 <li class="navigation__item"> 2343 <a href="/pages/cahaba-trade-in" class="navigation__link" >Cahaba Trade-In</a> 2344 2345 2346 2347 </li> 2348 2349 <li class="navigation__item"> 2350 <a href="https://www.trekbikes.com/us/en_US/project-one/#comp_ProjectOne2023_1Up2" class="navigation__link" >Trek Project One Custom Bikes</a> 2351 2352 2353 2354 </li> 2355 2356 <li class="navigation__item"> 2357 <a href="https://www.trekbikes.com/us/en_US/financing/" class="navigation__link" >Ride Now, Pay Later - Trek</a> 2358 2359 2360 2361 </li> 2362 2363 <li class="navigation__item"> 2364 <a href="/pages/ride-now-pay-later-synchrony" class="navigation__link" >Ride Now, Pay Later - Synchrony</a> 2365 2366 2367 2368 </li> 2369 2370 2371 2372 2373</ul> 2374 </div></div> 2375 2376 </li> 2377 2378<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu"> 2379 <a href="/pages/rentals" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-6-mob">Rentals</a> 2380 2381 2382 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 2383 2384 <div id="NavigationTier2-6-mob" class="navigation__tier-2-container navigation__child-tier"><div class="container"> 2385 <ul class="navigation__tier-2"> 2386 2387 2388 <li class="navigation__item"> 2389 <a href="/pages/rentals" class="navigation__link" >Rentals</a> 2390 2391 2392 2393 </li> 2394 2395 <li class="navigation__item"> 2396 <a href="/pages/demo-bikes" class="navigation__link" >Bikes Available to Demo</a> 2397 2398 2399 2400 </li> 2401 2402 2403 2404 2405</ul> 2406 </div></div> 2407 2408 </li> 2409 2410<li class="navigation__item"> 2411 <a href="/pages/gift-cards" class="navigation__link" >Gift Cards</a> 2412 2413 2414 </li> 2415 2416<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu"> 2417 <a href="/pages/community" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-8-mob">Community</a> 2418 2419 2420 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 2421 2422 <div id="NavigationTier2-8-mob" class="navigation__tier-2-container navigation__child-tier"><div class="container"> 2423 <ul class="navigation__tier-2"> 2424 2425 2426 <li class="navigation__item"> 2427 <a href="/pages/community" class="navigation__link" >Our Community</a> 2428 2429 2430 2431 </li> 2432 2433 <li class="navigation__item"> 2434 <a href="/pages/why-cahaba" class="navigation__link" >Why Cahaba?</a> 2435 2436 2437 2438 </li> 2439 2440 <li class="navigation__item"> 2441 <a href="/pages/giving-back" class="navigation__link" >Giving Back</a> 2442 2443 2444 2445 </li> 2446 2447 <li class="navigation__item"> 2448 <a href="/pages/cahaba-support" class="navigation__link" >Cahaba Support</a> 2449 2450 2451 2452 </li> 2453 2454 <li class="navigation__item"> 2455 <a href="/pages/cahaba-events" class="navigation__link" >Events Calendar</a> 2456 2457 2458 2459 </li> 2460 2461 <li class="navigation__item"> 2462 <a href="/pages/little-hammies" class="navigation__link" >Little Hammies</a> 2463 2464 2465 2466 </li> 2467 2468 <li class="navigation__item"> 2469 <a href="/pages/tour-de-cahaba-2026" class="navigation__link" >Tour De Cahaba 2026</a> 2470 2471 2472 2473 </li> 2474 2475 2476 2477 2478</ul> 2479 </div></div> 2480 2481 </li> 2482 2483<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu"> 2484 <a href="/pages/ride-lists/mountain-bike-trails" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-9-mob">Places To Ride</a> 2485 2486 2487 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 2488 2489 <div id="NavigationTier2-9-mob" class="navigation__tier-2-container navigation__child-tier"><div class="container"> 2490 <ul class="navigation__tier-2"> 2491 2492 2493 <li class="navigation__item"> 2494 <a href="/pages/ride-lists/mountain-bike-trails" class="navigation__link" >Mountain Bike Trails</a> 2495 2496 2497 2498 </li> 2499 2500 <li class="navigation__item"> 2501 <a href="/pages/ride-lists/paths" class="navigation__link" >Paths</a> 2502 2503 2504 2505 </li> 2506 2507 2508 2509 2510</ul> 2511 </div></div> 2512 2513 </li> 2514 2515<li class="navigation__item navigation__item--with-children navigation__item--with-small-menu"> 2516 <a href="/pages/locations/cahaba-heights" class="navigation__link" aria-haspopup="true" aria-expanded="false" aria-controls="NavigationTier2-10-mob">Locations</a> 2517 2518 2519 <a class="navigation__children-toggle" href="#" aria-label="Show links"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-chevron-down" aria-hidden="true" focusable="false" role="presentation"><path d="m6 9 6 6 6-6"/></svg></a> 2520 2521 <div id="NavigationTier2-10-mob" class="navigation__tier-2-container navigation__child-tier"><div class="container"> 2522 <ul class="navigation__tier-2"> 2523 2524 2525 <li class="navigation__item"> 2526 <a href="/pages/locations/cahaba-heights" class="navigation__link" >Cahaba Heights</a> 2527 2528 2529 2530 </li> 2531 2532 <li class="navigation__item"> 2533 <a href="/pages/locations/gadsden" class="navigation__link" >Gadsden</a> 2534 2535 2536 2537 </li> 2538 2539 <li class="navigation__item"> 2540 <a href="/pages/locations/homewood" class="navigation__link" >Homewood</a> 2541 2542 2543 2544 </li> 2545 2546 <li class="navigation__item">
2547 <a href="/pages/locations/oak-mountain" class="navigation__link" >Oak Mountain</a> 2548 2549 2550 2551 </li> 2552 2553 <li class="navigation__item"> 2554 <a href="/pages/locations/trussville" class="navigation__link" >Trussville</a> 2555 2556 2557 2558 </li> 2559 2560 <li class="navigation__item"> 2561 <a href="/pages/mobile-service" class="navigation__link" >Mobile Service</a> 2562 2563 2564 2565 </li> 2566 2567 <li class="navigation__item"> 2568 <a href="/pages/demo-center-at-ridebhm" class="navigation__link" >Demo Center at RideBHM</a> 2569 2570 2571 2572 </li> 2573 2574 2575 2576 2577</ul> 2578 </div></div> 2579 2580 </li> 2581 2582</ul> 2583 2584 </div> 2585 </div> 2586 <div class="mobile-navigation-drawer__footer"></div> 2587 </div> 2588 </script>
2588 2589 </main-navigation> 2590 2591 <a href="#" class="header-shade mobile-nav-toggle" aria-label="Close"></a> 2592</page-header> 2593
2594<script> 2595 theme.inlineNavigationCheck(); 2596 setTimeout(theme.setInitialHeaderHeightProperty, 0); 2597</script>
2597<script type="application/ld+json"> 2598 { 2599 "@context": "http://schema.org", 2600 "@type": "Organization", 2601 "name": "Cahaba Cycles", 2602 "logo": "https:\/\/www.cahabacycles.com\/cdn\/shop\/files\/Cahaba-Logo-Horizontal-Blk.svg?v=1737391145\u0026width=625", 2603 2604 "sameAs": [ 2605 2606"https:\/\/www.facebook.com\/CahabaCycles","https:\/\/www.instagram.com\/cahabacycles\/" 2607 ], 2608 "url": "https:\/\/www.cahabacycles.com" 2609 } 2610</script>
2610 2611 2612 2613<style> #shopify-section-sections--17836868796470__header .logo-area {border-bottom: none;} #shopify-section-sections--17836868796470__header .navigation {border-bottom: none;} </style></div><div id="shopify-section-sections--17836868796470__store-messages" class="shopify-section shopify-section-group-header-group section-store-messages"> 2614<div id="section-id-sections--17836868796470__store-messages"> 2615 <style data-shopify> 2616 #section-id-sections--17836868796470__store-messages { 2617 --background: #f4f6f8; 2618 --text-1: #171717; 2619 --text-2: #4c4c4b; 2620 } 2621 </style> 2622 <div class="store-messages messages-4 desktop-only"> 2623 <div class="container"><div class="message message-1"> 2624 2625 <a href="/collections/all"> 2626 2627 2628 2629 <h2 class="title">Top Brands</h2> 2630 2631 2632 <span class="tagline">Over 10K products</span> 2633 2634 2635 2636 </a> 2637 2638 2639 2640 </div><div class="message message-2"> 2641 2642 <a href="/pages/online-shopping-policies"> 2643 2644 2645 2646 <h2 class="title">Fast & Free</h2> 2647 2648 2649 <span class="tagline">30 day returns / Free Shipping over $99</span> 2650 2651 2652 2653 </a> 2654 2655 2656 <div class="fluff"></div> 2657 </div><div class="message message-3"> 2658 2659 <a href="/pages/services"> 2660 2661 2662 2663 <h2 class="title">Expert Help</h2> 2664 2665 2666 <span class="tagline">Bike mechanics on standby</span> 2667 2668 2669 2670 </a> 2671 2672 2673 <div class="fluff"></div> 2674 </div><div class="message message-4"> 2675 2676 <a href="/pages/why-cahaba"> 2677 2678 2679 2680 <h2 class="title">Locally Owned</h2> 2681 2682 2683 <span class="tagline">Rider Operated</span> 2684 2685 2686 2687 </a> 2688 2689 2690 <div class="fluff"></div> 2691 </div></div> 2692 </div></div> 2693</div> 2694<!-- END sections: header-group --><main id="content" role="main"> 2695 <div class="container cf"> 2696 2697 <div id="shopify-section-template--17836873580598__17544216447af57675" class="shopify-section section-apps"><div class="fully-spaced-row--medium"><div class="container"><div id="shopify-block-AdnlET1ovM1AvTFpib__synchrony_marketing_messaging_syf_unifi_YBNbj4" class="shopify-block shopify-app-block">�
2697<script> 2698 var _syfProductAttributesObj = [ 2699 2700]; 2701 </script>
2701 2702 2703 2704 2705 2706 2707 2708<link href="https://cdn.shopify.com/extensions/019ff3bb-25d7-7a4f-8fa0-9400e66f2c3b/syfmarketingapp-24/assets/syf-unifi.js" as="script" rel="preload">
2709<script> 2710 var syfAssetBase = "https://cdn.shopify.com/extensions/019ff3bb-25d7-7a4f-8fa0-9400e66f2c3b/syfmarketingapp-24/assets"; 2711 var syfStoreUrl = "cahaba-cycles.myshopify.com"; 2712 var syfPriceVaries = ""; 2713 var syfCurrentTemplate = "CART"; 2714 var syfTemplateName = "cart"; 2715 var syfProductAttributes = {}; 2716 var syfTimeZone = "-0400"; 2717 var syfPdpPrice = "$0.00 USD"; 2718 var syfCartPrice = null; 2719 var syfThemeAppSupport = "Yes"; 2720 var syfThemeAppBlock = "widget"; 2721 var syfPromoTag = ""; 2722 var syfPromoCode = ""; 2723 2724 syfCartPrice = 0 2725 syfProductAttributes = _syfProductAttributesObj; 2726 2727</script>
2727 2728</div> 2729</div></div> 2730 2731</div><div id="shopify-section-template--17836873580598__main" class="shopify-section page-section-spacing">
2731<script src="//www.cahabacycles.com/cdn/shop/t/7/assets/cart-note.js?v=126131321468449833931744306941" defer="defer"></script>
2731<div class="container fully-spaced-row" data-ajax-update="true" style="--page-container-width: 1200px;"> 2732 <cart-form data-section-id="template--17836873580598__main" data-ajax-update="true"> 2733 2734 <div data-merge="page-heading" data-cc-animate></div> 2735 2736<div class="slim-container align-center" data-cc-animate></div><form action="/cart" method="post" id="cartform" class="cart-form"> 2737 <div class="cart-item-list"> 2738 <div class="cart-item-list__body" data-merge-list="cart-items"> 2739 2740 <div data-merge-list-item="item-key:empty" > 2741 <div class="fully-spaced-row--large align-centre" data-cc-animate> 2742 <div class="align-center"><div class="lightly-spaced-row"><span class="icon--large"><svg class="icon" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false" role="presentation"><g fill="none" fill-rule="evenodd" stroke="currentColor" stroke-width="1.5"><path d="M2 9.25h20l-4 12H6z"/><path stroke-linecap="square" d="M12 9V3"/></g></svg></span></div><h1 class="majortitle">Your cart is empty</h1><div class="button-row"> 2743 <a class="btn btn--primary button-row__btn" href="/collections/all">Start shopping</a> 2744 </div></div> 2745 </div> 2746 </div> 2747 2748 2749 2750 </div> 2751 </div> 2752 2753 <div data-cc-animate> 2754 <div class="checkout-subtotal-container spaced-row hidden" data-merge-attributes="subtotal-container"> 2755 <div class="flexible-layout"> 2756 <div class="checkout-subtotal-container__left column column--half"> 2757 2758 <cart-note class="cart-note block lightly-spaced-row"> 2759 <label class="block" for="note">Order note</label> 2760 <textarea id="note" name="note"></textarea> 2761 </cart-note> 2762 2763 2764 2765 </div> 2766 2767 <div class="checkout-subtotal-container__right column column--half"> 2768 <div data-merge="total"><h2 class="subtotal h2"> 2769 Subtotal: 2770 <span class="theme-money">$0.00</span> 2771 </h2><div class="cart-policies rte">Taxes, discounts and shipping calculated at checkout.</div></div> 2772 2773 2774 2775 <div class="checkout-col"> 2776 <div class="checkout-buttons"> 2777 <span class="update-cart-container"> 2778 <button type="submit" name="update">Update cart</button> 2779 </span> 2780 2781 <button type="submit" class="btn btn--large" id="update-cart" name="checkout">Checkout</button> 2782 2783 2784 <div class="additional-checkout-buttons mt-2"> 2785 <div class="dynamic-checkout__content" id="dynamic-checkout-cart" data-shopify="dynamic-checkout-cart"> <shopify-accelerated-checkout-cart wallet-configs="[{"supports_subs":true,"supports_def_opts":false,"name":"shop_pay","wallet_params":{"shopId":65007157302,"merchantName":"Cahaba Cycles","personalized":true}},{"supports_subs":true,"supports_def_opts":false,"name":"paypal","wallet_params":{"shopId":65007157302,"countryCode":"US","merchantName":"Cahaba Cycles","phoneRequired":true,"companyRequired":false,"shippingType":"shipping","shopifyPaymentsEnabled":true,"hasManagedSellingPlanState":false,"requiresBillingAgreement":false,"gatewayType":"MANAGED","merchantId":"F9QXR9Y8PC7DW","sdkUrl":"https://www.paypal.com/sdk/js?components=buttons\u0026commit=false\u0026currency=USD\u0026locale=en_US\u0026client-id=AbasDhzlU0HbpiStJiN1KRJ_cNJJ7xYBip7JJoMO0GQpLi8ePNgdbLXkC7_KMeyTg8tnAKW4WKrh9qmf\u0026merchant-id=F9QXR9Y8PC7DW\u0026intent=authorize","serviceableCountryCodes":["AE","AT","AU","BE","CA","CH","CZ","DE","DK","ES","FI","FR","GB","HK","IE","IL","IT","JP","KR","MY","NL","NO","NZ","PL","PT","SE","SG","US"]}}]" access-token="d97396daafce29961cfe9edfd2481531" buyer-country="US" buyer-locale="en" buyer-currency="USD" shop-id="65007157302" cart-id="c22ac441aa25694ee198d14dd226ac4a" enabled-flags="["1172c16a","a1d1f9a1","f5afabb3","370070f3"]" > <div class="wallet-button-wrapper"> <ul class='wallet-cart-grid wallet-cart-grid--skeleton' role="list" data-shopify-buttoncontainer="true"> <li data-testid='grid-cell' class='wallet-cart-button-container'><div class='wallet-cart-button wallet-cart-button__skeleton' role='button' disabled aria-hidden='true'> </div></li><li data-testid='grid-cell' class='wallet-cart-button-container'><div class='wallet-cart-button wallet-cart-button__skeleton' role='button' disabled aria-hidden='true'> </div></li> </ul> </div> </shopify-accelerated-checkout-cart> </div> 2786 </div> 2787 2788 </div><a class="continue-shopping underline block lightly-spaced-row-above" href="">Continue shopping</a></div> 2789 </div> 2790 </div> 2791 </div> 2792 </div> 2793 </form> 2794 </cart-form> 2795</div> 2796 2797 2798 2799</div> 2800 2801 </div> 2802 </main><div id="pagefooter"><!-- BEGIN sections: footer-group --> 2803<div id="shopify-section-sections--17836868665398__footer_location_columns_hzAjpU" class="shopify-section shopify-section-group-footer-group section-footer-location-columns"><div id="section-id-sections--17836868665398__footer_location_columns_hzAjpU" class="use-color-scheme use-color-scheme--2 fully-padded-row--medium"> 2804 <style data-shopify> 2805 #section-id-sections--17836868665398__footer_location_columns_hzAjpU .text-column__image { 2806 max-width: 700px; 2807 } 2808 </style> 2809 2810 <div class="container"> 2811 2812 2813 <div class="flexible-layout flexible-layout--variable-columns align-ltr-center"> 2814 2815<div id="block-id-text_block_m9x49Q" class="column text-column fade-in-up" data-cc-animate data-cc-animate-delay="0.15s"> 2816 2817 2818 2819 <h3 class="text-column__title">Cahaba Heights</h3> 2820 2821 2822 2823 <div class="text-column__text rte"><p>3179 Cahaba Heights Rd.<br/>Birmingham, AL 35243</p><p><a href="tel:205-967-2003">(205) 967-2003</a></p></div> 2824 2825 2826 2827 <div class="text-column__button-row text-column__button-row--primary"> 2828 <a style="text-decoration: underline;" href="/pages/locations/cahaba-heights">Directions & Hours</a> 2829 </div> 2830 2831 </div> 2832 2833<div id="block-id-text_block_hemYQk" class="column text-column fade-in-up" data-cc-animate data-cc-animate-delay="0.3s"> 2834 2835 2836 2837 <h3 class="text-column__title">Gadsden</h3> 2838 2839 2840 2841 <div class="text-column__text rte"><p>1000 Noccalula Rd<br/>Gadsden, AL 35904</p><p><a href="tel:205-615-3177">(205) 615-3177</a></p></div> 2842 2843 2844 2845 <div class="text-column__button-row text-column__button-row--primary"> 2846 <a style="text-decoration: underline;" href="/pages/locations/gadsden">Directions & Hours</a> 2847 </div> 2848 2849 </div> 2850
2851<div id="block-id-text_block_nJwyAn" class="column text-column fade-in-up" data-cc-animate data-cc-animate-delay="0.45s"> 2852 2853 2854 2855 <h3 class="text-column__title">Homewood</h3> 2856 2857 2858 2859 <div class="text-column__text rte"><p>724 27th Court South St<br/>Homewood, AL 35209</p><p><a href="tel:205-879-3244">(205) 879-3244</a></p></div> 2860 2861 2862 2863 <div class="text-column__button-row text-column__button-row--primary"> 2864 <a style="text-decoration: underline;" href="/pages/locations/homewood">Directions & Hours</a> 2865 </div> 2866 2867 </div> 2868 2869<div id="block-id-text_block_4KdjMV" class="column text-column fade-in-up" data-cc-animate data-cc-animate-delay="0.6s"> 2870 2871 2872 2873 <h3 class="text-column__title">Oak Mountain</h3> 2874 2875 2876 2877 <div class="text-column__text rte"><p>2300 Canopy Trail<br/>Pelham, AL 35124Â </p><p><a href="tel:205-987-4043">(205) 987-4043</a></p></div> 2878 2879 2880 2881 <div class="text-column__button-row text-column__button-row--primary"> 2882 <a style="text-decoration: underline;" href="/pages/locations/oak-mountain">Directions & Hours</a> 2883 </div> 2884 2885 </div> 2886 2887<div id="block-id-text_block_BHqQYf" class="column text-column fade-in-up" data-cc-animate data-cc-animate-delay="0.75s"> 2888 2889 2890 2891 <h3 class="text-column__title">Trussville</h3> 2892 2893 2894 2895 <div class="text-column__text rte"><p>183 Main St.<br/>Trussville, AL 35173</p><p><a href="tel:205-655-6090">(205) 655-6090</a></p></div> 2896 2897 2898 2899 <div class="text-column__button-row text-column__button-row--primary"> 2900 <a style="text-decoration: underline;" href="/pages/locations/trussville">Directions & Hours</a> 2901 </div> 2902 2903 </div> 2904 2905 </div> 2906 </div> 2907</div> 2908 2909 2910 2911</div><div id="shopify-section-sections--17836868665398__cross-page-promos" class="shopify-section shopify-section-group-footer-group"> 2912 <div id="section-id-sections--17836868665398__cross-page-promos" class="cross-page-promos"> 2913 <div class="container"> 2914 <div class="flexible-layout "><div class="column column--third align-center block-id-1478526632862" > 2915 <div class="relative"> 2916 2917 <a class="block" href="/pages/online-shopping-policies"> 2918 2919 2920 2921 2922 <div class="icon-with-caption"> 2923 <div class="icon-with-caption__icon"><svg class="icon icon--medium icon--type-truck" stroke-width="1" aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="currentColor" d="M15.64 6.92L9.5 5.12V4a.5.5 0 00-.5-.5H1a.5.5 0 00-.5.5v8.5c0 .28.22.5.5.5h1.27a2.1 2.1 0 004.06 0h3.94a2.1 2.1 0 004.06 0h1.17a.5.5 0 00.5-.5V7.4a.5.5 0 00-.36-.48zM4.3 13.6a1.1 1.1 0 110-2.2 1.1 1.1 0 010 2.2zM6.33 12a2.1 2.1 0 00-4.06 0H1.5V4.5h7V12H6.33zm5.97 1.6a1.1 1.1 0 110-2.2 1.1 1.1 0 010 2.2zM15 12h-.67a2.1 2.1 0 00-4.06 0H9.5V6.17l5.5 1.6V12z"/></svg></div> 2924 2925 2926 <div class="icon-with-caption__text"> 2927 <div class="heading-font h6 align-center">Free delivery!</div> 2928 </div> 2929 2930 </div> 2931 2932 2933 2934 2935 </a> 2936 2937 </div> 2938 </div><div class="column column--third align-center block-id-1478526647261" > 2939 <div class="relative"> 2940 2941 <a class="block" href="/pages/gift-cards"> 2942 2943 2944 2945 2946 <div class="icon-with-caption"> 2947 <div class="icon-with-caption__icon"><svg class="icon icon--medium icon--type-price_tag" stroke-width="1" aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="currentColor" d="M7.59 1.34a1 1 0 01.7-.29h5.66a1 1 0 011 1v5.66a1 1 0 01-.3.7L7.6 15.5a1 1 0 01-1.42 0L.52 9.83a1 1 0 010-1.42l7.07-7.07zm6.36 6.37l-7.07 7.07-5.66-5.66L8.3 2.05h5.66v5.66z" fill-rule="evenodd"/>
2948 <path fill="currentColor" d="M9.7 6.3a1 1 0 101.42-1.42 1 1 0 00-1.41 1.41zM9 7a2 2 0 102.83-2.83A2 2 0 009 7z" fill-rule="evenodd"/></svg></div> 2949 2950 2951 <div class="icon-with-caption__text"> 2952 <div class="heading-font h6 align-center">Gift cards</div> 2953 </div> 2954 2955 </div> 2956 2957 2958 2959 2960 </a> 2961 2962 </div> 2963 </div><div class="column column--third align-center block-id-1478527611164" > 2964 <div class="relative"> 2965 2966 <a class="block" href="/pages/cahaba-support"> 2967 2968 2969 2970 2971 <div class="icon-with-caption"> 2972 <div class="icon-with-caption__icon"><svg class="icon icon--medium icon--type-award" stroke-width="1" aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><circle stroke="currentColor" fill="none" cx="8.1081667" cy="5.6658235" r="4.3742652"/> 2973 <polyline stroke="currentColor" fill="none" points="8.21 13.89 7 23 12 20 17 23 15.79 13.88" transform="matrix(0.624895,0,0,0.624895,0.60942571,0.66666362)" /></svg></div> 2974 2975 2976 <div class="icon-with-caption__text"> 2977 <div class="heading-font h6 align-center">Military discount</div> 2978 </div> 2979 2980 </div> 2981 2982 2983 2984 2985 </a> 2986 2987 </div> 2988 </div></div> 2989 </div> 2990 </div><style data-shopify> 2991 #section-id-sections--17836868665398__cross-page-promos { 2992 --bg-color: #ffe802; 2993 --text-color: #454564; 2994 }</style> 2995 2996 2997 2998</div><div id="shopify-section-sections--17836868665398__footer" class="shopify-section shopify-section-group-footer-group section-footer"> 2999 <div class="container container--no-max section-footer__row-container"> 3000 <div class="section-footer__row section-footer__row--blocks" data-num-blocks="4"> 3001 3002 3003 <div class="section-footer__row__col section-footer__text-block section-footer__text-block--with-text" > 3004 3005<div class="section-footer__title heading-font h6">Discover the Cahaba Cycles Difference</div> 3006 3007 3008 3009 <div class="section-footer__text rte"><p>At Cahaba Cycles, weâre more than just a bike shopâweâre your partner in every ride. From expert bike fittings and tune-ups to trade-in programs and comprehensive warranties, weâre dedicated to providing an exceptional cycling experience for all. </p><p>Whether youâre a casual rider or a seasoned cyclist, weâre here to keep you safe, comfortable, and ready for adventure.</p></div> 3010 3011 3012 3013 3014 3015 <div class="section-footer__text-block__social"><ul class="social inline-flex flex-wrap "><li> 3016 <a class="social__link flex items-center justify-center" href="https://www.facebook.com/CahabaCycles" target="_blank" rel="noopener" title="Cahaba Cycles on Facebook"><svg aria-hidden="true" class="icon icon-facebook" viewBox="2 2 16 16" focusable="false" role="presentation"><path fill="currentColor" d="M18 10.049C18 5.603 14.419 2 10 2c-4.419 0-8 3.603-8 8.049C2 14.067 4.925 17.396 8.75 18v-5.624H6.719v-2.328h2.03V8.275c0-2.017 1.195-3.132 3.023-3.132.874 0 1.79.158 1.79.158v1.98h-1.009c-.994 0-1.303.621-1.303 1.258v1.51h2.219l-.355 2.326H11.25V18c3.825-.604 6.75-3.933 6.75-7.951Z"/></svg><span class="visually-hidden">Facebook</span> 3017 </a> 3018 </li><li> 3019 <a class="social__link flex items-center justify-center" href="https://www.instagram.com/cahabacycles/" target="_blank" rel="noopener" title="Cahaba Cycles on Instagram"><svg class="icon" width="48" height="48" viewBox="0 0 48 48" aria-hidden="true" focusable="false" role="presentation"><path d="M24 0c-6.518 0-7.335.028-9.895.144-2.555.117-4.3.523-5.826 1.116-1.578.613-2.917 1.434-4.25 2.768C2.693 5.362 1.872 6.701 1.26 8.28.667 9.806.26 11.55.144 14.105.028 16.665 0 17.482 0 24s.028 7.335.144 9.895c.117 2.555.523 4.3 1.116 5.826.613 1.578 1.434 2.917 2.768 4.25 1.334 1.335 2.673 2.156 4.251 2.77 1.527.592 3.271.998 5.826 1.115 2.56.116 3.377.144 9.895.144s7.335-.028 9.895-.144c2.555-.117 4.3-.523 5.826-1.116 1.578-.613 2.917-1.434 4.25-2.768 1.335-1.334 2.156-2.673 2.77-4.251.592-1.527.998-3.271 1.115-5.826.116-2.56.144-3.377.144-9.895s-.028-7.335-.144-9.895c-.117-2.555-.523-4.3-1.116-5.826-.613-1.5
301978-1.434-2.917-2.768-4.25-1.334-1.335-2.673-2.156-4.251-2.769-1.527-.593-3.271-1-5.826-1.116C31.335.028 30.518 0 24 0Zm0 4.324c6.408 0 7.167.025 9.698.14 2.34.107 3.61.498 4.457.827 1.12.435 1.92.955 2.759 1.795.84.84 1.36 1.64 1.795 2.76.33.845.72 2.116.827 4.456.115 2.53.14 3.29.14 9.698s-.025 7.167-.14 9.698c-.107 2.34-.498 3.61-.827 4.457-.435 1.12-.955 1.92-1.795 2.759-.84.84-1.64 1.36-2.76 1.795-.845.33-2.116.72-4.456.827-2.53.115-3.29.14-9.698.14-6.409 0-7.168-.025-9.698-.14-2.34-.107-3.61-.498-4.457-.827-1.12-.435-1.92-.955-2.759-1.795-.84-.84-1.36-1.64-1.795-2.76-.33-.845-.72-2.116-.827-4.456-.115-2.53-.14-3.29-.14-9.698s.025-7.167.14-9.698c.107-2.34.498-3.61.827-4.457.435-1.12.955-1.92 1.795-2.759.84-.84 1.64-1.36 2.76-1.795.845-.33 2.116-.72 4.456-.827 2.53-.115 3.29-.14 9.698-.14Zm0 7.352c-6.807 0-12.324 5.517-12.324 12.324 0 6.807 5.517 12.324 12.324 12.324 6.807 0 12.324-5.517 12.324-12.324 0-6.807-5.517-12.324-12.324-12.324ZM24 32a8 8 0 1 1 0-16 8 8 0 0 1 0 16Zm15.691-20.811a2.88 2.88 0 1 1-5.76 0 2.88 2.88 0 0 1 5.76 0Z" fill="currentColor" fill-rule="evenodd"/></svg><span class="visually-hidden">Instagram</span> 3020 </a> 3021 </li></ul> 3022</div> 3023 3024</div> 3025 3026 3027 3028 3029 <div class="section-footer__row__col section-footer__menu-block" role="navigation" aria-label="Secondary" > 3030 3031<div class="section-footer__title heading-font h6 no-wrap">Quick links</div> 3032 3033 3034 3035 <ul class="section-footer__menu-block__menu" > 3036 3037 <li> 3038 <a href="/" class="no-wrap">
3038Home</a> 3039 </li> 3040 3041 <li> 3042 <a href="/collections/trek-bikes" class="no-wrap">Bikes</a> 3043 </li> 3044 3045 <li> 3046 <a href="/collections/all" class="no-wrap">Components</a> 3047 </li> 3048 3049 <li> 3050 <a href="/pages/services" class="no-wrap">Services</a> 3051 </li> 3052 3053 <li> 3054 <a href="/pages/rentals" class="no-wrap">Rentals</a> 3055 </li> 3056 3057 <li> 3058 <a href="/pages/locations/cahaba-heights" class="no-wrap">Locations</a> 3059 </li> 3060 3061 <li> 3062 <a href="https://shopify.com/65007157302/account/orders" class="no-wrap">Start a Return</a> 3063 </li> 3064 3065 </ul> 3066 3067 </div> 3068 3069 3070 3071 3072 <div class="section-footer__row__col section-footer__menu-block" role="navigation" aria-label="Secondary" > 3073 3074<div class="section-footer__title heading-font h6 no-wrap">Resources</div> 3075 3076 3077 3078 <ul class="section-footer__menu-block__menu" > 3079 3080 <li> 3081 <a href="/pages/why-cahaba" class="no-wrap">Why Choose Cahaba</a> 3082 </li> 3083 3084 <li> 3085 <a href="/pages/cahaba-rewards" class="no-wrap">Cahaba Rewards</a> 3086 </li> 3087 3088 <li> 3089 <a href="/pages/services" class="no-wrap">Cahaba Service Plans</a> 3090 </li> 3091 3092 <li> 3093 <a href="/pages/bike-assembly-videos" >How to Assemble Your New Bike</a> 3094 </li> 3095 3096 <li> 3097 <a href="/pages/sponsorship-request" class="no-wrap">Sponsorship Requests</a> 3098 </li> 3099 3100 <li> 3101 <a href="/pages/work-at-cahaba" class="no-wrap">Careers</a> 3102 </li> 3103 3104 <li> 3105 <a href="/pages/online-shopping-policies" class="no-wrap">Online Shopping Policies</a> 3106 </li> 3107 3108 </ul> 3109 3110 </div> 3111 3112 3113 3114 3115 <div class="section-footer__row__col section-footer__newsletter-block" > 3116 3117<div class="section-footer__title heading-font h6">Stay Up To Date!</div> 3118 3119 3120 3121 <div class="section-footer__text rte"> 3122 <p>Get great deals, event announcements and more delivered to your inbox.</p> 3123 </div> 3124 3125 3126 <div class="signup-form"> 3127 <form method="post" action="/contact#contact_form" id="contact_form" accept-charset="UTF-8" class="contact-form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="â" /> 3128 3129<input type="hidden" name="contact[tags]" value="prospect,newsletter"/> 3130 <p> 3131 <input type="email" 3132 placeholder="Your email" 3133 class="signup-form__email" 3134 value="" 3135 name="contact[email]" 3136 aria-label="Email" 3137 3138 required /> 3139 </p> 3140 <button class="btn btn--secondary signup-form__button" type="submit">Subscribe</button> 3141 3142 </form> 3143</div> 3144 3145 3146 3147 </div> 3148 3149 3150 3151 </div> 3152 </div> 3153 3154<div class="container container--no-max section-footer__row-container "> 3155 <div class="section-footer__row section-footer__row-lower"> 3156 <div class="section-footer__row__col"> 3157 3158 <div class="section-footer__payment-icons"> 3159 3160 <svg class="section-footer__payment-icon" xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" fill="none" aria-labelledby="pi-american_express"><title id="pi-american_express">American Express</title><rect x=".5" y=".5" width="37" height="23" rx="2.5" stroke="#000" stroke-opacity=".07" fill="none"/><path d="M35 0H3C1.3 0 0 1.3 0 3V21C0 22.7 1.4 24 3 24H35C36.7 24 38 22.7 38 21V3C38 1.3 36.6 0 35 0Z" fill="#0071CE" style="fill:#0071CE;fill:color(display-p3 0.0000 0.4431 0.8078);fill-opacity:1;"/>
3160<path d="M3 0.5H35C36.3348 0.5 37.5 1.58692 37.5 3V21C37.5 22.4239 36.4239 23.5 35 23.5H3C1.66524 23.5 0.5 22.4131 0.5 21V3C0.5 1.57614 1.57614 0.5 3 0.5Z" stroke="black" stroke-opacity="0.07" style="stroke:black;stroke-opacity:0.07;"/><path d="M25.8662 6.33203V3H31L31.8662 5.5332L32.7334 3H37V14.2002H36.7998L34.8672 16.2656L36.7998 18.3594H37V21.2666H33.5996L31.9336 19.3994L30.2002 21.2666H19.4668V12.666H16L20.2666 3H24.4004L25.8662 6.33203ZM20.5996 20.2656H27V18.5322H22.666V17.3994H26.8662V15.666H22.666V14.5322H27V12.7988H20.5996V20.2656ZM30.5332 16.5322L27 20.2656H29.5996L31.8662 17.8662L34.0664 20.2656H36.7324L33.1992 16.4658L36.7324 12.7988H34.1328L31.8662 15.1992L29.7324 12.7988H27L30.5332 16.5322ZM17.666 11.7324H19.9326L20.5332 10.1992H23.999L24.666 11.7324H26.999L23.666 4.19922H20.999L17.666 11.7324ZM33.5996 4.19922L31.9326 8.86621L30.1992 4.19922H27V11.666H29.0664V6.39941L31 11.666H32.7998L34.7324 6.39941V11.666H36.7324V4.13281L33.5996 4.19922ZM23.2656 8.46582H21.2656L22.2656 5.99902L23.2656 8.46582Z" fill="white" style="fill:white;fill-opacity:1;"/></svg> 3161 3162 3163 <svg class="section-footer__payment-icon" version="1.1" xmlns="http://www.w3.org/2000/svg" role="img" x="0" y="0" width="38" height="24" viewBox="0 0 165.521 105.965" xml:space="preserve" aria-labelledby="pi-apple_pay"><title id="pi-apple_pay">Apple Pay</title><path fill="#000" d="M150.698 0H14.823c-.566 0-1.133 0-1.698.003-.477.004-.953.009-1.43.022-1.039.028-2.087.09-3.113.274a10.51 10.51 0 0 0-2.958.975 9.932 9.932 0 0 0-4.35 4.35 10.463 10.463 0 0 0-.975 2.96C.113 9.611.052 10.658.024 11.696a70.22 70.22 0 0 0-.022 1.43C0 13.69 0 14.256 0 14.823v76.318c0 .567 0 1.132.002 1.699.003.476.009.953.022 1.43.028 1.036.09 2.084.275 3.11a10.46 10.46 0 0 0 .974 2.96 9.897 9.897 0 0 0 1.83 2.52 9.874 9.874 0 0 0 2.52 1.83c.947.483 1.917.79 2.96.977 1.025.183 2.073.245 3.112.273.477.011.953.017 1.43.02.565.004 1.132.004 1.698.004h135.875c.565 0 1.132 0 1.697-.004.476-.002.952-.009 1.431-.02 1.037-.028 2.085-.09 3.113-.273a10.478 10.478 0 0 0 2.958-.977 9.955 9.955 0 0 0 4.35-4.35c.483-.947.789-1.917.974-2.96.186-1.026.246-2.074.274-3.11.013-.477.02-.954.022-1.43.004-.567.004-1.132.004-1.699V14.824c0-.567 0-1.133-.004-1.699a63.067 63.067 0 0 0-.022-1.429c-.028-1.038-.088-2.085-.274-3.112a10.4 10.4 0 0 0-.974-2.96 9.94 9.94 0 0 0-4.35-4.35A10.52 10.52 0 0 0 156.939.3c-1.028-.185-2.076-.246-3.113-.274a71.417 71.417 0 0 0-1.431-.022C151.83 0 151.263 0 150.698 0z" /><path fill="#FFF" d="M150.698 3.532l1.672.003c.452.003.905.008 1.36.02.793.022 1.719.065 2.583.22.75.135 1.38.34 1.984.648a6.392 6.392 0 0 1 2.804 2.807c.306.6.51 1.226.645 1.983.154.854.197 1.783.218 2.58.013.45.019.9.02 1.36.005.557.005 1.113.005 1.671v76.318c0 .558 0 1.114-.004 1.682-.002.45-.008.9-.02 1.35-.022.796-.065 1.725-.221 2.589a6.855 6.855 0 0 1-.645 1.975 6.397 6.397 0 0 1-2.808 2.807c-.6.306-1.228.511-1.971.645-.881.157-1.847.2-2.574.22-.457.01-.912.017-1.379.019-.555.004-1.113.004-1.669.004H14.801c-.55 0-1.1 0-1.66-.004a74.993 74.993 0 0 1-1.35-.018c-.744-.02-1.71-.064-2.584-.22a6.938 6.938 0 0 1-1.986-.65 6.337 6.337 0 0 1-1.622-1.18 6.355 6.355 0 0 1-1.178-1.623 6.935 6.935 0 0 1-.646-1.985c-.156-.863-.2-1.788-.22-2.578a66.088 66.088 0 0 1-.02-1.355l-.003-1.327V14.474l.002-1.325a66.7 66.7 0 0 1 .02-1.357c.022-.792.065-1.717.222-2.587a6.924 6.924 0 0 1 .646-1.981c.304-.598.7-1.144 1.18-1.623a6.386 6.386 0 0 1 1.624-1.18 6.96 6.96 0 0 1 1.98-.646c.865-.155 1.792-.198 2.586-.22.452-.012.905-.017 1.354-.02l1.677-.003h135.875" /><g><g><path fill="#000" d="M43.508 35.77c1.404-1.755 2.356-4.112 2.105-6.52-2.054.102-4.56 1.355-6.012 3.112-1.303 1.504-2.456 3.959-2.156 6.266 2.306.2 4.61-1.152 6.063-2.858" /><path fill="#000" d="M45.587 39.079c-3.35-.2-6.196 1.9-7.795 1.9-1.6 0-4.049-1.8-6.698-1.751-3.447.05-6.645 2-8.395 5.1-3.598 6.2-.95 15.4 2.55 20.45 1.699 2.5 3.747 5.25 6.445 5.151 2.55-.1 3.549-1.65 6.647-1.65 3.097 0 3.997 1.65 6.696 1.6 2.798-.05 4.548-2.5 6.247-5 1.95-2.85 2.747-5.6 2.797-5.75-.05-.05-5.396-2.101-5.446-8.251-.05-5.15 4.198-7.6 4.398-7.751-2.399-3.548-6.147-3.948-7.447-4.048" /></g><g><path fill="#000" d="M78.973 32.11c7.278 0 12.347 5.017 12.347 12.321 0 7.33-5.173 12.373-12.529 12.373h-8.058V69.62h-5.822V32.11h14.062zm-8.24 19.807h6.68c5.07 0 7.954-2.729 7.954-7.46 0-4.73-2.885-7.434-7.928-7.434h-6.706v14.894z" />
3163<path fill="#000" d="M92.764 61.847c0-4.809 3.665-7.564 10.423-7.98l7.252-.442v-2.08c0-3.04-2.001-4.704-5.562-4.704-2.938 0-5.07 1.507-5.51 3.82h-5.252c.157-4.86 4.731-8.395 10.918-8.395 6.654 0 10.995 3.483 10.995 8.89v18.663h-5.38v-4.497h-.13c-1.534 2.937-4.914 4.782-8.579 4.782-5.406 0-9.175-3.222-9.175-8.057zm17.675-2.417v-2.106l-6.472.416c-3.64.234-5.536 1.585-5.536 3.95 0 2.288 1.975 3.77 5.068 3.77 3.95 0 6.94-2.522 6.94-6.03z" /><path fill="#000" d="M120.975 79.652v-4.496c.364.051 1.247.103 1.715.103 2.573 0 4.029-1.09 4.913-3.899l.52-1.663-9.852-27.293h6.082l6.863 22.146h.13l6.862-22.146h5.927l-10.216 28.67c-2.34 6.577-5.017 8.735-10.683 8.735-.442 0-1.872-.052-2.261-.157z" /></g></g></svg> 3164 3165 3166 <svg class="section-footer__payment-icon" viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" role="img" width="38" height="24" aria-labelledby="pi-diners_club"><title id="pi-diners_club">Diners Club</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path d="M12 12v3.7c0 .3-.2.3-.5.2-1.9-.8-3-3.3-2.3-5.4.4-1.1 1.2-2 2.3-2.4.4-.2.5-.1.5.2V12zm2 0V8.3c0-.3 0-.3.3-.2 2.1.8 3.2 3.3 2.4 5.4-.4 1.1-1.2 2-2.3 2.4-.4.2-.4.1-.4-.2V12zm7.2-7H13c3.8 0 6.8 3.1 6.8 7s-3 7-6.8 7h8.2c3.8 0 6.8-3.1 6.8-7s-3-7-6.8-7z" fill="#3086C8"/></svg> 3167 3168 <svg class="section-footer__payment-icon" viewBox="0 0 38 24" width="38" height="24" role="img" aria-labelledby="pi-discover" fill="none" xmlns="http://www.w3.org/2000/svg"><title id="pi-discover">Discover</title><path fill="#000" opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32z" fill="#fff"/><path d="M3.57 7.16H2v5.5h1.57c.83 0 1.43-.2 1.96-.63.63-.52 1-1.3 1-2.11-.01-1.63-1.22-2.76-2.96-2.76zm1.26 4.14c-.34.3-.77.44-1.47.44h-.29V8.1h.29c.69 0 1.11.12 1.47.44.37.33.59.84.59 1.37 0 .53-.22 1.06-.59 1.39zm2.19-4.14h1.07v5.5H7.02v-5.5zm3.69 2.11c-.64-.24-.83-.4-.83-.69 0-.35.34-.61.8-.61.32 0 .59.13.86.45l.56-.73c-.46-.4-1.01-.61-1.62-.61-.97 0-1.72.68-1.72 1.58 0 .76.35 1.15 1.35 1.51.42.15.63.25.74.31.21.14.32.34.32.57 0 .45-.35.78-.83.78-.51 0-.92-.26-1.17-.73l-.69.67c.49.73 1.09 1.05 1.9 1.05 1.11 0 1.9-.74 1.9-1.81.02-.89-.35-1.29-1.57-1.74zm1.92.65c0 1.62 1.27 2.87 2.9 2.87.46 0 .86-.09 1.34-.32v-1.26c-.43.43-.81.6-1.29.6-1.08 0-1.85-.78-1.85-1.9 0-1.06.79-1.89 1.8-1.89.51 0 .9.18 1.34.62V7.38c-.47-.24-.86-.34-1.32-.34-1.61 0-2.92 1.28-2.92 2.88zm12.76.94l-1.47-3.7h-1.17l2.33 5.64h.58l2.37-5.64h-1.16l-1.48 3.7zm3.13 1.8h3.04v-.93h-1.97v-1.48h1.9v-.93h-1.9V8.1h1.97v-.94h-3.04v5.5zm7.29-3.87c0-1.03-.71-1.62-1.95-1.62h-1.59v5.5h1.07v-2.21h.14l1.48 2.21h1.32l-1.73-2.32c.81-.17 1.26-.72 1.26-1.56zm-2.16.91h-.31V8.03h.33c.67 0 1.03.28 1.03.82 0 .55-.36.85-1.05.85z" fill="#231F20"/><path d="M20.16 12.86a2.931 2.931 0 100-5.862 2.931 2.931 0 000 5.862z" fill="url(#pi-paint0_linear)"/><path opacity=".65" d="M20.16 12.86a2.931 2.931 0 100-5.862 2.931 2.931 0 000 5.862z" fill="url(#pi-paint1_linear)"/><path d="M36.57 7.506c0-.1-.07-.15-.18-.15h-.16v.48h.12v-.19l.14.19h.14l-.16-.2c.06-.01.1-.06.1-.13zm-.2.07h-.02v-.13h.02c.06 0 .09.02.09.06 0 .05-.03.07-.09.07z" fill="#231F20"/><path d="M36.41 7.176c-.23 0-.42.19-.42.42 0 .23.19.42.42.42.23 0 .42-.19.42-.42 0-.23-.19-.42-.42-.42zm0 .77c-.18 0-.34-.15-.34-.35 0-.19.15-.35.34-.35.18 0 .33.16.33.35 0 .19-.15.35-.33.35z" fill="#231F20"/><path d="M37 12.984S27.09 19.873 8.976 23h26.023a2 2 0 002-1.984l.024-3.02L37 12.985z" fill="#F48120"/><defs><linearGradient id="pi-paint0_linear" x1="21.657" y1="12.275" x2="19.632" y2="9.104" gradientUnits="userSpaceOnUse"><stop stop-color="#F89F20"/><stop offset=".25" stop-color="#F79A20"/><stop offset=".533" stop-color="#F68D20"/><stop offset=".62" stop-color="#F58720"/><stop offset=".723" stop-color="#F48120"/><stop offset="1" stop-color="#F37521"/></linearGradient><linearGradient id="pi-paint1_linear" x1="21.338" y1="12.232" x2="18.378" y2="6.446" gradientUnits="userSpaceOnUse"><stop stop-color="#F58720"/><stop offset=".359" stop-color="#E16F27"/><stop offset=".703" stop-color="#D4602C"/><stop offset=".982" stop-color="#D05B2E"/></linearGradient></defs></svg> 3169 3170 <svg class="section-footer__payment-icon" xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-google_pay"><title id="pi-google_pay">Google Pay</title><path d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" fill="#000" opacity=".07"/><path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32" fill="#FFF"/><path d="M18.093 11.976v3.2h-1.018v-7.9h2.691a2.447 2.447 0 0 1 1.747.692 2.28 2.28 0 0 1 .11 3.224l-.11.116c-.47.447-1.098.69-1.747.674l-1.673-.006zm0-3.732v2.788h1.698c.377.012.741-.135 1.005-.404a1.391 1.391 0 0 0-1.005-2.354l-1.698-.03zm6.484 1.348c.65-.03 1.286.188 1.778.613.445.43.682 1.03.65 1.649v3.334h-.969v-.766h-.049a1.93 1.93 0 0 1-1.673.931 2.17 2.17 0 0 1-1.496-.533 1.667 1.667 0 0 1-.613-1.324 1.606 1.606 0 0 1 .613-1.336 2.746 2.746 0 0 1 1.698-.515c.517-.02 1.03.093 1.49.331v-.208a1.134 1.134 0 0 0-.417-.901 1.416 1.416 0 0 0-.98-.368 1.545 1.545 0 0 0-1.319.717l-.895-.564a2.488 2.488 0 0 1 2.182-1.
317006zM23.29 13.52a.79.79 0 0 0 .337.662c.223.176.5.269.785.263.429-.001.84-.17 1.146-.472.305-.286.478-.685.478-1.103a2.047 2.047 0 0 0-1.324-.374 1.716 1.716 0 0 0-1.03.294.883.883 0 0 0-.392.73zm9.286-3.75l-3.39 7.79h-1.048l1.281-2.728-2.224-5.062h1.103l1.612 3.885 1.569-3.885h1.097z" fill="#5F6368"/><path d="M13.986 11.284c0-.308-.024-.616-.073-.92h-4.29v1.747h2.451a2.096 2.096 0 0 1-.9 1.373v1.134h1.464a4.433 4.433 0 0 0 1.348-3.334z" fill="#4285F4"/><path d="M9.629 15.721a4.352 4.352 0 0 0 3.01-1.097l-1.466-1.14a2.752 2.752 0 0 1-4.094-1.44H5.577v1.17a4.53 4.53 0 0 0 4.052 2.507z" fill="#34A853"/><path d="M7.079 12.05a2.709 2.709 0 0 1 0-1.735v-1.17H5.577a4.505 4.505 0 0 0 0 4.075l1.502-1.17z" fill="#FBBC04"/><path d="M9.629 8.44a2.452 2.452 0 0 1 1.74.68l1.3-1.293a4.37 4.37 0 0 0-3.065-1.183 4.53 4.53 0 0 0-4.027 2.5l1.502 1.171a2.715 2.715 0 0 1 2.55-1.875z" fill="#EA4335"/></svg> 3171 3172 3173 <svg class="section-footer__payment-icon" xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" fill="none" aria-labelledby="pi-master"><title id="pi-master">Mastercard</title><rect x=".5" y=".5" width="37" height="23" rx="2.5" stroke="#000" stroke-opacity=".07" fill="none"/><path d="M35 0H3C1.3 0 0 1.3 0 3V21C0 22.7 1.4 24 3 24H35C36.7 24 38 22.7 38 21V3C38 1.3 36.6 0 35 0Z" fill="#1C1C1C" style="fill:#1C1C1C;fill:color(display-p3 0.1098 0.1098 0.1098);fill-opacity:1;"/><path d="M35 1C36.1 1 37 1.9 37 3V21C37 22.1 36.1 23 35 23H3C1.9 23 1 22.1 1 21V3C1 1.9 1.9 1 3 1H35Z" fill="#232323" style="fill:#232323;fill:color(display-p3 0.1373 0.1373 0.1373);fill-opacity:1;"/><path d="M14.6364 19.2727C18.8538 19.2727 22.2727 15.8538 22.2727 11.6364C22.2727 7.41892 18.8538 4 14.6364 4C10.4189 4 7 7.41892 7 11.6364C7 15.8538 10.4189 19.2727 14.6364 19.2727Z" fill="#EB001B" style="fill:#EB001B;fill:color(display-p3 0.9216 0.0000 0.1059);fill-opacity:1;"/><path d="M23.3637 19.2727C27.5811 19.2727 31 15.8538 31 11.6364C31 7.41892 27.5811 4 23.3637 4C19.1462 4 15.7273 7.41892 15.7273 11.6364C15.7273 15.8538 19.1462 19.2727 23.3637 19.2727Z" fill="#F79E1B" style="fill:#F79E1B;fill:color(display-p3 0.9686 0.6196 0.1059);fill-opacity:1;"/><path d="M22.2727 11.6362C22.2727 9.01797 20.9637 6.72706 19 5.41797C17.0364 6.83615 15.7273 9.12706 15.7273 11.6362C15.7273 14.1452 17.0364 16.5452 19 17.8543C20.9637 16.5452 22.2727 14.2543 22.2727 11.6362Z" fill="#FF5F00" style="fill:#FF5F00;fill:color(display-p3 1.0000 0.3725 0.0000);fill-opacity:1;"/></svg> 3174 3175 3176 <svg class="section-footer__payment-icon" viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" width="38" height="24" role="img" aria-labelledby="pi-paypal"><title id="pi-paypal">PayPal</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path fill="#003087" d="M23.9 8.3c.2-1 0-1.7-.6-2.3-.6-.7-1.7-1-3.1-1h-4.1c-.3 0-.5.2-.6.5L14 15.6c0 .2.1.4.3.4H17l.4-3.4 1.8-2.2 4.7-2.1z"/><path fill="#3086C8" d="M23.9 8.3l-.2.2c-.5 2.8-2.2 3.8-4.6 3.8H18c-.3 0-.5.2-.6.5l-.6 3.9-.2 1c0 .2.1.4.3.4H19c.3 0 .5-.2.5-.4v-.1l.4-2.4v-.1c0-.2.3-.4.5-.4h.3c2.1 0 3.7-.8 4.1-3.2.2-1 .1-1.8-.4-2.4-.1-.5-.3-.7-.5-.8z"/><path fill="#012169" d="M23.3 8.1c-.1-.1-.2-.1-.3-.1-.1 0-.2 0-.3-.1-.3-.1-.7-.1-1.1-.1h-3c-.1 0-.2
31760-.2.1-.2.1-.3.2-.3.4l-.7 4.4v.1c0-.3.3-.5.6-.5h1.3c2.5 0 4.1-1 4.6-3.8v-.2c-.1-.1-.3-.2-.5-.2h-.1z"/></svg> 3177 3178 <svg class="section-footer__payment-icon" xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-shopify_pay"><title id="pi-shopify_pay">Shop Pay</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" fill="#000"/><path d="M35.889 0C37.05 0 38 .982 38 2.182v19.636c0 1.2-.95 2.182-2.111 2.182H2.11C.95 24 0 23.018 0 21.818V2.182C0 .982.95 0 2.111 0H35.89z" fill="#5A31F4"/><path d="M9.35 11.368c-1.017-.223-1.47-.31-1.47-.705 0-.372.306-.558.92-.558.54 0 .934.238 1.225.704a.079.079 0 00.104.03l1.146-.584a.082.082 0 00.032-.114c-.475-.831-1.353-1.286-2.51-1.286-1.52 0-2.464.755-2.464 1.956 0 1.275 1.15 1.597 2.17 1.82 1.02.222 1.474.31 1.474.705 0 .396-.332.582-.993.582-.612 0-1.065-.282-1.34-.83a.08.08 0 00-.107-.035l-1.143.57a.083.083 0 00-.036.111c.454.92 1.384 1.437 2.627 1.437 1.583 0 2.539-.742 2.539-1.98s-1.155-1.598-2.173-1.82v-.003zM15.49 8.855c-.65 0-1.224.232-1.636.646a.04.04 0 01-.069-.03v-2.64a.08.08 0 00-.08-.081H12.27a.08.08 0 00-.08.082v8.194a.08.08 0 00.08.082h1.433a.08.08 0 00.081-.082v-3.594c0-.695.528-1.227 1.239-1.227.71 0 1.226.521 1.226 1.227v3.594a.08.08 0 00.081.082h1.433a.08.08 0 00.081-.082v-3.594c0-1.51-.981-2.577-2.355-2.577zM20.753 8.62c-.778 0-1.507.24-2.03.588a.082.082 0 00-.027.109l.632 1.088a.08.08 0 00.11.03 2.5 2.5 0 011.318-.366c1.25 0 2.17.891 2.17 2.068 0 1.003-.736 1.745-1.669 1.745-.76 0-1.288-.446-1.288-1.077 0-.361.152-.657.548-.866a.08.08 0 00.032-.113l-.596-1.018a.08.08 0 00-.098-.035c-.799.299-1.359 1.018-1.359 1.984 0 1.46 1.152 2.55 2.76 2.55 1.877 0 3.227-1.313 3.227-3.195 0-2.018-1.57-3.492-3.73-3.492zM28.675 8.843c-.724 0-1.373.27-1.845.746-.026.027-.069.007-.069-.029v-.572a.08.08 0 00-.08-.082h-1.397a.08.08 0 00-.08.082v8.182a.08.08 0 00.08.081h1.433a.08.08 0 00.081-.081v-2.683c0-.036.043-.054.069-.03a2.6 2.6 0 001.808.7c1.682 0 2.993-1.373 2.993-3.157s-1.313-3.157-2.993-3.157zm-.271 4.929c-.956 0-1.681-.768-1.681-1.783s.723-1.783 1.681-1.783c.958 0 1.68.755 1.68 1.783 0 1.027-.713 1.783-1.681 1.783h.001z" fill="#fff"/></svg> 3179 3180 3181 <svg class="section-footer__payment-icon" xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" fill="none" aria-labelledby="pi-visa"><title id="pi-visa">Visa</title><rect x=".5" y=".5" width="37" height="23" rx="2.5" stroke="#000" stroke-opacity=".07" fill="none"/><path d="M35 0H3C1.3 0 0 1.3 0 3V21C0 22.7 1.4 24 3 24H35C36.7 24 38 22.7 38 21V3C38 1.3 36.6 0 35 0Z" fill="#142FBD" style="fill:#142FBD;fill:color(display-p3 0.0784 0.1843 0.7412);fill-opacity:1;"/><path d="M35 1C36.1 1 37 1.9 37 3V21C37 22.1 36.1 23 35 23H3C1.9 23 1 22.1 1 21V3C1 1.9 1.9 1 3 1H35Z" fill="#1532CB" style="fill:#1532CB;fill:color(display-p3 0.0824 0.1961 0.7961);fill-opacity:1;"/><path d="M29.5944 10.2167H29.2778C28.8556 11.2722 28.5389 11.8 28.2222 13.3833H30.2278C29.9111 11.8 29.9111 11.0611 29.5944 10.2167V10.2167ZM32.6556 16.4444H30.8611C30.7556 16.4444 30.7556 16.4444 30.65 16.3389L30.4389 15.3889L30.3333 15.1778H27.8C27.6944 15.1778 27.5889 15.1778 27.5889 15.3889L27.2722 16.3389C27.2722 16.4444 27.1667 16.4444 27.1667 16.4444H24.95L25.1611 15.9167L28.2222 8.73889C28.2222 8.21111 28.5389 8 29.0667 8H30.65C30.7556 8 30.8611 8 30.8611 8.21111L32.3389 15.0722C32.4444 15.4944 32.55 15.8111 32.55 16.2333C32.6556 16.3389 32.6556 16.3389 32.6556 16.4444V16.4444ZM18.5111 16.1278L18.9333 14.2278C19.0389 14.2278 19.1444 14.3333 19.1444 14.3333C19.8833 14.65 20.6222 14.8611 21.3611 14.7556C21.5722 14.7556 21.8889 14.65 22.1 14.5444C22.6278 14.3333 22.6278 13.8056 22.2056 13.3833C21.9944 13.1722 21.6778 13.0667 21.3611 12.8556C20.9389 12.6444 20.5167 12.4333 20.2 12.1167C18.9333 11.0611 19.3556 9.58333 20.0944 8.84444C20.7278 8.42222 21.0444 8 21.8889 8C23.1556 8 24.5278 8 25.1611 8.21111H25.2667C25.1611 8.84444 25.0556 9.37222 24.8444 10.0056C24.3167 9.79444 23.7889 9.58333 23.2611 9.58333C22.9444 9.58333 22.6278 9.58333 22.3111 9.68889C22.1 9.68889 21.9944 9.79444 21.8889 9.9C21.6778 10.1111 21.6778 10.4278 21.8889 10.6389L22.4167 11.0611C22.8389 11.2722 23.2611 11.4833 23.5778 11.6944C24.1056 12.0111 24.6333 12.5389 24.7389 13.1722C24.95 14.1222 24.6333 14.9667 23.7889 15.6C23.2611 16.0222 23.05 16.2333 22.3111 16.2333C20.8333 16.2333 19.6722 16.3389 18.7222 16.0222C18.6167 16.2333 18.6167 16.2333 18.5111 16.1278V16.1278ZM14.8167 16.4444C14.9222 15.7056 14.9222 15.7056 15.0278 15.3889C15.5556 13.0667 16.0833 10.6389 16.5056 8.31667C16.6111 8.10556 16.6111 8 16.8222 8H18.7222C18.5111 9.26667 18.3 10.2167 17.9833 11.3778C17.6667 12.9611 17.35 14.5444 16.9278 16.1278C16.9278 16.3389 16.8222 16.3389 16.6111 16.3389L14.8167 16.4444ZM5 8.21111C5 8.10556 5.21111 8 5.31667 8H8.90556C9.43333 8 9.85556 8.31667 9.96111 8.84444L10.9111 13.4889C10.9111 13.5944 10.9111 13.5944 11.0167 13.7C11.0167 13.5944 11.1222 13.5944 11.1222 13.5944L13.3389 8.21111C13.2333 8.10556 13.3389 8 13.4444 8H15.6611C15.6611 8.10556 15.6611 8.10556 15.5556 8.21111L12.2833 15.9167C12.1778 16.1278 12.1778
318116.2333 12.0722 16.3389C11.9667 16.4444 11.7556 16.3389 11.5444 16.3389H9.96111C9.85556 16.3389 9.75 16.3389 9.75 16.1278L8.06111 9.58333C7.85 9.37222 7.53333 9.05556 7.11111 8.95C6.47778 8.63333 5.31667 8.42222 5.10556 8.42222L5 8.21111Z" fill="white" style="fill:white;fill-opacity:1;"/></svg> 3182 3183 3184 </div> 3185 3186 3187 3188 <div class="section-footer__lower-menu" role="navigation"> 3189 <ul class="section-footer__lower-menu__list" aria-label="Secondary"> 3190 3191 <li> 3192 <a href="/pages/online-shopping-policies">Policies</a> 3193 </li> 3194 3195 <li> 3196 <a href="/policies/privacy-policy">Privacy</a> 3197 </li> 3198 3199 <li> 3200 <a href="/pages/accessibility-statement">Accessibility</a> 3201 </li> 3202 3203 </ul> 3204 </div> 3205 3206 </div> 3207 <div class="section-footer__row__col"> 3208 3209 <div class="section-footer__localization"> 3210 3211
3212<script src="//www.cahabacycles.com/cdn/shop/t/7/assets/custom-select.js?v=165097283151564761351744306941" defer="defer"></script>
3212<form method="post" action="/localization" id="footer-localization" accept-charset="UTF-8" class="form localization no-js-hidden" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/cart" /><div class="localization__grid"></div>
3212<script> 3213 customElements.whenDefined('custom-select').then(() => { 3214 if (!customElements.get('country-selector')) { 3215 class CountrySelector extends customElements.get('custom-select') { 3216 constructor() { 3217 super(); 3218 this.loaded = false; 3219 } 3220 3221 async showListbox() { 3222 if (this.loaded) { 3223 super.showListbox(); 3224 return; 3225 } 3226 3227 this.button.classList.add('is-loading'); 3228 this.button.setAttribute('aria-disabled', 'true'); 3229 3230 try { 3231 const response = await fetch('?section_id=country-selector'); 3232 if (!response.ok) throw new Error(response.status); 3233 3234 const tmpl = document.createElement('template'); 3235 tmpl.innerHTML = await response.text(); 3236 3237 const el = tmpl.content.querySelector('.custom-select__listbox'); 3238 this.listbox.innerHTML = el.innerHTML; 3239 3240 this.options = this.querySelectorAll('.custom-select__option'); 3241 3242 this.popular = this.querySelectorAll('[data-popular]'); 3243 if (this.popular.length) { 3244 this.popular[this.popular.length - 1].closest('.custom-select__option') 3245 .classList.add('custom-select__option--visual-group-end'); 3246 } 3247 3248 this.selectedOption = this.querySelector('[aria-selected="true"]'); 3249 if (!this.selectedOption) { 3250 this.selectedOption = this.listbox.firstElementChild; 3251 } 3252 3253 this.loaded = true; 3254 } catch { 3255 this.listbox.innerHTML = '<li>Error fetching countries, please try again.</li>'; 3256 } finally { 3257 super.showListbox(); 3258 this.button.classList.remove('is-loading'); 3259 this.button.setAttribute('aria-disabled', 'false'); 3260 } 3261 } 3262 3263 setButtonWidth() { 3264 return; 3265 } 3266 } 3267 3268 customElements.define('country-selector', CountrySelector); 3269 } 3270 }); 3271 </script>
3271<script> 3272 document.getElementById('footer-localization').addEventListener('change', (evt) => { 3273 const input = evt.target.closest('.localization__selector').firstElementChild; 3274 if (input && input.tagName === 'INPUT') { 3275 input.value = evt.detail ? evt.detail.selectedValue : evt.target.value; 3276 evt.currentTarget.submit(); 3277 } 3278 }); 3279 </script>
3279</form> 3280 </div> 3281 3282 3283 <div class="copyright"><span class="copy">© 2026 <a href="/">Cahaba Cycles</a>.</span> 3284 3285 3286 3287 </div> 3288 </div> 3289 3290 </div> 3291</div> 3292 3293 3294 3295</div> 3296<!-- END sections: footer-group --></div><!-- BEGIN sections: overlay-group --> 3297<div id="shopify-section-sections--17836869976118__cart-drawer" class="shopify-section shopify-section-group-overlay-group section-cart-drawer"> 3298</div> 3299<!-- END sections: overlay-group --><a href="#" class="page-shade" aria-label="Close"></a> 3300 <div class="overlay fixed top-0 right-0 bottom-0 left-0 js-overlay"></div>
3300<script src="//www.cahabacycles.com/cdn/shop/t/7/assets/added-notification.js?v=2949756483766986951744306941" defer></script>
3300 3301 <template id="AddedNotification"> 3302 <added-notification class="added-notification added-notification--hidden"> 3303 <div class="added-notification__message-area"> 3304 <div class="added-notification__message-title"></div> 3305 <div class="added-notification__message-text underline-child">Added to your <a href="/cart">Cart</a></div> 3306 </div> 3307 <div class="added-notification__button-area"> 3308 <button type="button" class="added-notification__close" aria-label="Close"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon feather feather-x" aria-hidden="true" focusable="false" role="presentation"><path d="M18 6 6 18M6 6l12 12"/></svg></button> 3309 </div> 3310 </added-notification> 3311 </template>
3311<script>(function(e,o){if(e.ikeono){console.error("Ikeono embed already included");return}e.ikeono={};var n=["init"];e.ikeono._beforeLoadCallQueue=[];n.forEach(o=>{e.ikeono[o]=function(){e.ikeono._beforeLoadCallQueue.push([o,arguments])}});var t=o.createElement("script");t.type="text/javascript";t.async=true;t.src="https://widget.ikeono.com/ikwshim.js";var i=o.getElementsByTagName("script")[0];i.parentNode.insertBefore(t,i)})(window,document);ikeono.init('ade77254-73bf-4ea8-aa0e-729da18c79ef', '#000000', true, 'bottom_right_corner', 0, []);</script>
3311 3312 3313 3314 3315 3316 3317<style> </style> 3318<div id="shopify-block-AdmdXU3VUQ3hMTm1rN__8764476057892802672" class="shopify-block shopify-app-block"><link rel="preconnect" href="https://app.restockrocket.io" crossorigin><link rel="preconnect" href="https://cahaba-cycles.myshopify.com" crossorigin><!-- Config and setup JS -->
3319<script id="RestockRocketConfig"> 3320 window._RestockRocketConfig = window._RestockRocketConfig || {} 3321 window._RestockRocket = window._RestockRocket || {} 3322 window._Stoq = window._RestockRocket 3323 window._StoqConfig = window._RestockRocketConfig 3324 try { window._RestockRocket.inlineRanAt = performance.now(); } catch (e) { } 3325 function normalizeLocale(locale) { 3326 if (!locale || locale.trim() === '') { 3327 return ''; 3328 } 3329 return locale.toString().toLowerCase().replace(/-/g, '_'); 3330 } 3331 3332 window._RestockRocketConfig.locale = 'en'; 3333 window._RestockRocketConfig.normalizedLocale = normalizeLocale('en'); 3334 window._RestockRocketConfig.shop = 'cahaba-cycles.myshopify.com'; 3335 window._RestockRocketConfig.pageType = 'cart'; 3336 window._RestockRocketConfig.liquidRenderedAt = 1790423016;window._RestockRocketConfig.marketId = 26427686966;window._RestockRocketConfig.countryName = 'United States'; 3337 window._RestockRocketConfig.countryIsoCode = 'US';window._RestockRocketConfig.languageIsoCode = 'en';window._RestockRocketConfig.cartInventoryQuantity = {}; 3338 if (!window._RestockRocketConfig.cartToken) { 3339 try { 3340 const m = document.cookie.match(/(?:^|;\s*)cart=([^;]+)/); 3341 if (m && m[1]) window._RestockRocketConfig.cartToken = decodeURIComponent(m[1]); 3342 } catch (e) { } 3343 } 3344window._RestockRocketConfig.cachedSettings = {"id":62639,"shop_id":62619,"currency":"USD","created_at":"2026-05-14T22:33:57.085Z","updated_at":"2026-08-12T18:10:35.001Z","enable_app":true,"enable_signup_widget":true,"storefront_button_text":"Notify me when available","storefront_button_text_color":"#FFFFFF","storefront_button_background_color":"#202223","storefront_form_header":"Notify me","storefront_form_description":"Get a notification as soon as this product is back in stock by signing up below!","storefront_form_button_text":"Notify me when available","storefront_form_button_text_color":"#FFFFFF","storefront_form_button_background_color":"#202223","storefront_form_terms":"Promise we won't spam. You'll only receive notifications for this product.","storefront_form_error":"Please enter a valid email address","storefront_form_success":"Thank you! We will notify you when the product is available.","enable_powered_by":true,"show_button_on_preorder":false,"sms_enabled":false,"email_enabled":true,"storefront_button_disable_tag":"rocket-hide","theme_config":{},"storefront_form_email_placeholder":"Email address","storefront_form_phone_placeholder":"SMS","storefront_form_phone_label":"Phone number","storefront_form_email_label":"Email","storefront_form_phone_error":"Please enter a valid phone number","storefront_form_customer_name_placeholder":"Name","storefront_form_customer_name_error":"Please enter your name","storefront_form_did_you_mean_error":"Did you mean %{suggested_email}? Or use %{current_email}","form_customer_name_enabled":false,"form_customer_name_required":false,"css_config":"","js_config":null,"collect_promotion_consent":false,"storefront_form_promotion_consent_label":"Notify me about other news, sales, discounts & offers too!","show_button_on_collection":false,"sms_default_country":"us","sms_allowed_countries":[],"sms_restrict_country":false,"sms_default_channel":true,"optin_required":false,"optin_custom_domain_enabled":false,"optin_success_text":"Registration confirmed! You'll receive an alert when the product is restocked.","storefront_button_border_radius":0,"storefront_button_disable_tag_hides_button":true,"storefront_button_disable_tag_enabled":false,"quantity_required":false,"storefront_form_quantity_label":"Quantity","enable_alerts":true,"sms_allowed":false,"email_allowed":true,"collect_promotion_consent_default":true,"insert_button_after_selector":".btn.btn--large","insert_button_after_selector_type":"afterend","storefront_button_position_type":"float-right","storefront_form_duplicate_error":"You've already subscribed for alerts to this product.","storefront_mixed_cart_error":"Preorders must be purchased
3344separately from regular items. Please complete your current order first, or clear your cart to continue.","storefront_error_heading":"Error","default_locale":"en","collection_page_button_text_color":"#FFFFFF","collection_page_button_background_color":"#202223","show_button_if_any_out_of_stock":false,"show_button_if_any_variant_out_of_stock_collection":false,"show_button_on_index":false,"insert_button_after_selector_collection":".product-grid .product-block__detail","insert_button_after_selector_index":".product-grid .product-block__detail","push_enabled":false,"push_allowed":false,"storefront_form_push_label":"Push","storefront_form_push_description":"Click 'Allow' to be notified via push notification","storefront_form_push_error":"Permission rejected! Please review notification settings and try again.","storefront_font_family":"OpenSans","insert_button_after_selector_collection_type":"afterend","show_channel_selector":false,"storefront_form_empty_error":"Please fill in one or more of the options above","storefront_form_push_input":"Send push notification","insert_button_after_selector_page":".product-grid .product-block__detail","show_button_on_page":false,"insert_button_after_selector_search":".product-grid .product-block__detail","show_button_on_search":false,"app_proxy_path_prefix":"/apps/restockrocket-production","collection_link_selector":".product-link","index_link_selector":".product-link","page_link_selector":".product-link","search_link_selector":".product-link","collection_check_link_visibility":true,"collection_buttons_container":".product-grid","index_buttons_container":".product-grid","page_buttons_container":".product-grid","search_buttons_container":".product-grid","extension_enable_url_variant_detection":true,"extension_enable_value_variant_detection":true,"extension_value_variant_selector":"[name='id']","resubscribe_text":"This product is out of stock. Get notified when itâs restocked again by entering your details below!","preorder_enabled":false,"preorder_buy_button_selector":".shopify-payment-button__button","preorder_add_to_cart_button_selector":"buy-buttons button","preorder_badge_selector":"","preorder_button_out_of_stock_text":"Out of stock","preorder_button_add_to_cart_text":"Add to cart","preorder_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_enabled":false,"preorder_collection_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_index_enabled":false,"preorder_index_form_selector":"form[action*=\"/cart/add\"]","preorder_index_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_page_enabled":false,"preorder_page_form_selector":"form[action*=\"/cart/add\"]","preorder_page_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_search_enabled":false,"preorder_search_form_selector":"form[action*=\"/cart/add\"]","preorder_search_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_collection_badge_selector":".product-block__image .theme-img","preorder_index_badge_selector":".product-block__image .theme-img","preorder_page_badge_selector":".product-block__image .theme-img","preorder_search_badge_selector":".product-block__image .theme-img","preorder_badge_selector_type":"afterend","preorder_collection_badge_selector_type":"afterend","preorder_button_child_selector":"span","preorder_button_disclaimer_insert_selector":"buy-buttons button","preorder_button_disclaimer_insert_selector_type":"afterend","preorder_payment_insert_selector":"","preorder_payment_insert_selector_type":"afterend","preorder_price_container_selector":"","preorder_price_container_selector_insert_type":"afterend","preorder_terms_insert_selector":"","preorder_terms_insert_selector_type":"afterend","preorder_original_price_selector":".price__current","preorder_price_format":"{{amount}} {{currency}}","show_badge_if_any_variant_is_preorder":false,"enable_console_debug":false,"inline_form_enabled":false,"inline_form_selector":"buy-buttons .form.js-product-form","inline_form_selector_type":"afterend","storefront_form_prefill_customer":true,"storefront_form_show_image":false,"storefront_form_text_color":"#202223","storefront_form_background_color":"#FFFFFF","storefront_form_border_radius":10,"market_setup_type":"single_market","shopify_app_id":5940125,"preorder_progress_bar_insert_selector":"","preorder_progress_bar_insert_selector_type":"beforebegin","countdown_timer_insert_selector":"","countdown_timer_insert_selector_type":"afterend","configure_notify_me_enabled":false,"restock_note_insert_selector":null,"restock_note_insert_selector_type":"afterend","restock_note_background_color":"#f3f4f6","restock_note_text_color":"#202223","restock_note_border_radius":4,"preorder_modal_continue_button_text":"Continue","preorder_modal_cancel_button_text":"Cancel","meta_pixel_enabled":false,"meta_pixel_id":null,"cache":true,"cached_at":"2026-08-12T18:10:35.036Z","multi_language_enabled":false,"translation_locale":"en","disable_refresh_on_stale_liquid":false};window._RestockRocketConfig.storefrontAccessToken = "d12676621883390c0bd220ed0e0f8a7a"; 3345 window._RestockRocketConfig.metafieldNamespace = 'restockrocket_production'; 3346 window._RestockRocketConfig.storefrontApiVersion = '2026-07';window._RestockRocketConfig.cachedPreorderVariantIds = { preorder_variant_ids: [] };window._RestockRocketConfig.cachedInStockVariantIds = { in_stock_variant_ids: [] };window._RestockRocketConfig.cachedOutOfStockVariantIds = { out_of_stock_variant_ids: [] };window._RestockRocketConfig.cachedVariantPreorderLimits = { variant_preorder_limits: {} };window._RestockRocketConfig.cachedVariantShippingTexts = { variant_shipping_texts: {} }; 3347window._RestockRocketConfig.sellingPlans = [];(function() { 3348 const cachedData = {"plans":[],"disabled_plan_ids":[2129166390],"has_in_stock_offer":false,"has_preorder_offer":false,"read_flags":{"enable_storefront_product_reads":true,"enable_storefront_integrations_read":true,"enable_storefront_selling_plans_read":true},"cached_at":"2026-09-21T17:23:05Z"}; 3349 3350 if (cachedData && typeof cachedData === 'object' && cachedData.cached_at) { 3351 window._RestockRocketConfig.readFlags = cachedData.read_flags || {}; 3352 const oldPlans = window._RestockRocketConfig.sellingPlans; 3353 const maxUpdatedAt = Array.isArray(oldPlans) && oldPlans.length > 0 3354 ? oldPlans.reduce(function(max, plan) { 3355 if (plan.updated_at) { 3356 const planDate = new Date(plan.updated_at); 3357 const maxDate = max ? new Date(max) : null; 3358 return (!maxDate || (planDate && !isNaN(planDate) && planDate > maxDate)) ? plan.updated_at : max; 3359 } 3360 return max; 3361 }, '') 3362 : null; 3363 const cachedDate = new Date(cachedData.cached_at); 3364 const maxDate = maxUpdatedAt ? new Date(maxUpdatedAt) : null; 3365 const useCached = !maxUpdatedAt || (cachedDate && !isNaN(cachedDate) && (!maxDate || cachedDate > maxDate)); 3366 3367 if (useCached) { 3368 if (Array.isArray(cachedData.plans)) {
3369 window._RestockRocketConfig.sellingPlans = cachedData.plans; 3370 window._RestockRocketConfig.disabledSellingPlanIds = cachedData.disabled_plan_ids || []; 3371 console.debug('[RR] Using selling plans from cachedSellingPlans (cached_at: ' + cachedData.cached_at + ')'); 3372 } 3373 } else { 3374 window._RestockRocketConfig.disabledSellingPlanIds = []; 3375 console.debug('[RR] Using selling plans from old format (max updated_at: ' + maxUpdatedAt + ')'); 3376 } 3377 } 3378 })();window._RestockRocketConfig.enabledNotifyMeVariantIds = [];window._RestockRocketConfig.disabledNotifyMeVariantIds = [];window._RestockRocketConfig.backInStockTemplates = [];window._RestockRocketConfig.restockNotes = {};window._RestockRocketConfig.integrations = []; 3379 try { 3380 var _sqCfg = window._RestockRocketConfig; 3381 var _sqPlanEnabled = Array.isArray(_sqCfg.sellingPlans) && 3382 _sqCfg.sellingPlans.some(function (p) { return p && p.enabled; }); 3383 var _sqPreCount = ((_sqCfg.cachedPreorderVariantIds && 3384 _sqCfg.cachedPreorderVariantIds.preorder_variant_ids) || []).length; 3385 _sqCfg.preordersConfigured = !!(_sqPlanEnabled && _sqPreCount); 3386 } catch (e) { } 3387 try { 3388 var _sqc = window._RestockRocketConfig; 3389 var _sqOn = !(_sqc.cachedSettings && _sqc.cachedSettings.block_accelerated_checkout === false); 3390 var _sqPre = (_sqc.cachedPreorderVariantIds && 3391 _sqc.cachedPreorderVariantIds.preorder_variant_ids) || []; 3392 var _sqArm = false; 3393 if (_sqOn && _sqc.preordersConfigured) { 3394 if (_sqc.pageType === 'product' && _sqc.product && _sqc.product.variants) { 3395 _sqArm = _sqc.product.variants.some(function (v) { return _sqPre.indexOf(Number(v.id)) !== -1; }); 3396 } else { 3397 _sqArm = (_sqc.integrations || []).some(function (i) { 3398 return i && i.type === 'featured_product' && i.enabled && 3399 Array.isArray(i.page_types) && i.page_types.indexOf(_sqc.pageType) !== -1; 3400 }); 3401 } 3402 } 3403 if (_sqArm && document.documentElement) { 3404 _sqc.acceleratedGateArmed = true; 3405 document.documentElement.classList.add('stoq-buy-now-pending'); 3406 setTimeout(function () { 3407 document.documentElement.classList.remove('stoq-buy-now-pending'); 3408 }, 6000); 3409 } 3410 } catch (e) { } 3411 3412 window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/01a0dccd-84c7-7d11-aeff-acb24262db84/restockrocket-1-596/assets/restockrocket-product.js' 3413 window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/01a0dccd-84c7-7d11-aeff-acb24262db84/restockrocket-1-596/assets/restockrocket-collection.js' 3414 window._RestockRocketConfig.scriptUrlProductBis = 'https://cdn.shopify.com/extensions/01a0dccd-84c7-7d11-aeff-acb24262db84/restockrocket-1-596/assets/restockrocket-product-bis.js' 3415 window._RestockRocketConfig.scriptUrlCollectionBis = 'https://cdn.shopify.com/extensions/01a0dccd-84c7-7d11-aeff-acb24262db84/restockrocket-1-596/assets/restockrocket-collection-bis.js' 3416 window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProduct.substring(0, window._RestockRocketConfig.scriptUrlProduct.lastIndexOf('/') + 1) 3417 window._RestockRocketConfig.host = (window._RestockRocketConfig.cachedSettings && window._RestockRocketConfig.cachedSettings.api_host) || 'https://app.restockrocket.io' 3418 try { 3419 const _stoqVersionMatch = window._RestockRocketConfig.scriptHost.match(/(\d+)\/?(?:assets\/?)?$/); 3420 window._RestockRocketConfig.appVersion = (_stoqVersionMatch && _stoqVersionMatch[1]) || ''; 3421 } catch (e) { 3422 window._RestockRocketConfig.appVersion = ''; 3423 } 3424 const SETTINGS_CACHE_DURATION = 15 * 60 * 1000; 3425 const LIQUID_CACHE_MAX_AGE = 15 * 60; 3426 const liquidRenderedAt = window._RestockRocketConfig.liquidRenderedAt; 3427 if (!liquidRenderedAt || typeof liquidRenderedAt !== 'number' || isNaN(liquidRenderedAt)) { 3428 console.debug('STOQ - Invalid or missing liquidRenderedAt timestamp, assuming fresh'); 3429 window._RestockRocketConfig.isLiquidCacheFresh = true; 3430 window._RestockRocketConfig.liquidCacheAge = null; 3431 } else { 3432 const now = Math.floor(Date.now() / 1000);
3433 const liquidCacheAge = now - liquidRenderedAt; 3434 window._RestockRocketConfig.liquidCacheAge = Math.max(0, liquidCacheAge); 3435 if (liquidCacheAge < 0) { 3436 console.debug(`STOQ - Client clock appears ahead of server by ${Math.abs(Math.round(liquidCacheAge / 60))} minutes, assuming cache fresh`); 3437 window._RestockRocketConfig.isLiquidCacheFresh = true; 3438 } else if (liquidCacheAge <= LIQUID_CACHE_MAX_AGE) { 3439 console.debug(`STOQ - Liquid cache is fresh (${Math.round(liquidCacheAge / 60)} minutes old)`); 3440 window._RestockRocketConfig.isLiquidCacheFresh = true; 3441 } else { 3442 console.debug(`STOQ - Liquid cache is stale (${Math.round(liquidCacheAge / 60)} minutes old, max ${Math.round(LIQUID_CACHE_MAX_AGE / 60)} minutes)`); 3443 window._RestockRocketConfig.isLiquidCacheFresh = false; 3444 } 3445 } 3446 3447 function checkSettingsExpiry(settings) { 3448 try { 3449 if (!settings || !settings.updated_at) { 3450 console.debug('STOQ - Invalid settings data structure'); 3451 return null; 3452 } 3453 3454 if (!settings.cache) { 3455 console.debug('STOQ - settings caching disabled'); 3456 return null; 3457 } 3458 if (settings.multi_language_enabled) { 3459 if (!settings.translations) { 3460 console.debug('STOQ - multi-language enabled but no translation data in cache, fetching fresh'); 3461 return null; 3462 } 3463 if (window._RestockRocketConfig.normalizedLocale && 3464 !Object.prototype.hasOwnProperty.call(settings.translations, window._RestockRocketConfig.normalizedLocale)) { 3465 console.debug('STOQ - locale not explicitly translated, will use default language from cache'); 3466 } 3467 } 3468 3469 const updatedAt = new Date(settings.updated_at); 3470 if (isNaN(updatedAt.getTime())) { 3471 console.debug('STOQ - Invalid updated_at date format in settings'); 3472 return null; 3473 } 3474 3475 const age = Date.now() - updatedAt.getTime(); 3476 if (age < SETTINGS_CACHE_DURATION) { 3477 console.debug('STOQ - settings changed recently, skipping cache'); 3478 return null; 3479 } 3480 3481 return settings; 3482 } catch (error) { 3483 console.debug('STOQ - Error checking settings cache:', error); 3484 return null; 3485 } 3486 } 3487 3488 function createRestockRocketContainer() { 3489 const restockRocketContainer = document.createElement('div'); 3490 restockRocketContainer.id = 'restock-rocket'; 3491 document.body.appendChild(restockRocketContainer); 3492 } 3493 3494 function createRestockRocketScript(scriptUrl) { 3495 const restockRocketScriptElement = document.createElement('script'); 3496 restockRocketScriptElement.setAttribute('defer', 'defer'); 3497 restockRocketScriptElement.src = scriptUrl; 3498 document.body.appendChild(restockRocketScriptElement); 3499 } 3500 3501 createRestockRocketContainer() 3502 3503 console.debug('STOQ - extension activated') 3504 try { 3505 const _stoqInitConfig = window._RestockRocketConfig; 3506 const _stoqDetectedVariantIds = (_stoqInitConfig.product && Array.isArray(_stoqInitConfig.product.variants)
3506) 3507 ? _stoqInitConfig.product.variants.map(function(v) { return v.id }) 3508 : []; 3509 const _stoqSelectedVariantId = _stoqInitConfig.selected_variant_id; 3510 var _stoqPageSeq = 0; 3511 try { 3512 _stoqPageSeq = (parseInt(window.sessionStorage.getItem('_stoq_pls') || '0', 10) || 0) + 1; 3513 window.sessionStorage.setItem('_stoq_pls', String(_stoqPageSeq)); 3514 } catch (e) { } 3515 Shopify?.analytics?.publish?.('stoq_initialized', { 3516 cart_token: _stoqInitConfig.cartToken || '', 3517 page_url: window.location.href, 3518 page_type: _stoqInitConfig.pageType || '', 3519 shop_domain: _stoqInitConfig.shop || '', 3520 market_id: _stoqInitConfig.marketId || '', 3521 country_code: _stoqInitConfig.countryIsoCode || '', 3522 detected_variant_ids: _stoqDetectedVariantIds, 3523 selected_variant_id: _stoqSelectedVariantId || '', 3524 page_load_seq: _stoqPageSeq, 3525 liquid_rendered_at: _stoqInitConfig.liquidRenderedAt || 0, 3526 app_version: _stoqInitConfig.appVersion || '', 3527 liquid_cache_age: _stoqInitConfig.liquidCacheAge, 3528 inventory_policy: (_stoqInitConfig.variantsInventoryPolicy || {})[_stoqSelectedVariantId] || '', 3529 inventory_quantity: (_stoqInitConfig.variantsInventoryQuantity || {})[_stoqSelectedVariantId], 3530 }); 3531 } catch (e) { 3532 console.debug('STOQ - stoq_initialized publish failed:', e); 3533 } 3534 try { 3535 var _sqTrack = window._RestockRocketConfig; 3536 if (_sqTrack.preordersConfigured) { 3537 document.addEventListener('click', function (e) { 3538 try { 3539 var t = e.target; 3540 if (!t || !t.closest) return; 3541 var host = t.closest('.shopify-payment-button, shopify-payment-terms'); 3542 if (!host) return; 3543 var channel = host.matches && host.matches('shopify-payment-terms') 3544 ? 'shop_pay_installments' : 'buy_now'; 3545 var form = host.closest('form'); 3546 var vidEl = form && form.querySelector('[name="id"]'); 3547 var variantId = (vidEl && vidEl.value) || _sqTrack.selected_variant_id || ''; 3548 var _sqVidNum = Number(variantId); 3549 var _sqPlan = null; 3550 var _sqPlans = Array.isArray(_sqTrack.sellingPlans) ? _sqTrack.sellingPlans : []; 3551 var _sqMktId = Number(_sqTrack.marketId); 3552 var _sqForVariant = function (pl) { 3553 return pl && pl.enabled && Array.isArray(pl.variant_ids) && 3554 pl.variant_ids.indexOf(_sqVidNum) !== -1; 3555 }; 3556 _sqPlans.forEach(function (pl) { 3557 if (!_sqPlan && _sqForVariant(pl) && pl.markets_enabled && 3558 Array.isArray(pl.shopify_market_ids) && 3559 pl.shopify_market_ids.indexOf(_sqMktId) !== -1) { _sqPlan = pl; } 3560 }); 3561 if (!_sqPlan) { 3562 _sqPlans.forEach(function (pl) { 3563 if (!_sqPlan && _sqForVariant(pl) && !pl.markets_enabled) { _sqPlan = pl; } 3564 }); 3565 } 3566 Shopify?.analytics?.publish?.('stoq_accelerated_checkout_clicked', { 3567 variant_id: variantId, 3568 product_id: (_sqTrack.product && _sqTrack.product.id) || '', 3569 channel: channel, 3570 market_id: _sqTrack.marketId || '', 3571 country_code: _sqTrack.countryIsoCode || '', 3572 page_type: _sqTrack.pageType || '', 3573 cart_token: _sqTrack.cartToken || '', 3574 page_url: (window.location && window.location.href) || '', 3575 properties: { 3576 is_preorder_variant: (function () { 3577 var vid = Number(variantId); 3578 var has = function (a) { return Array.isArray(a) && a.indexOf(vid) !== -1; }; 3579 return has(_sqTrack.preorderVariantIds) || 3580 has(_sqTrack.cachedPreorderVariantIds && 3581 _sqTrack.cachedPreorderVariantIds.preorder_variant_ids); 3582 })(), 3583 in_enabled_plan: !!_sqPlan, 3584 is_instock_variant: (function () { 3585 var has = function (a) { return Array.isArray(a) && a.indexOf(_sqVidNum) !== -1; }; 3586 return has(_sqTrack.inStockVariantIds) || 3587 has(_sqTrack.cachedInStockVariantIds && 3588 _sqTrack.cachedInStockVariantIds.in_stock_variant_ids); 3589 })(), 3590 enrolled_plan_id: (_sqPlan && (_sqPlan.shopify_selling_plan_id || _sqPlan.shopify_selling_plan_group_id)) || '', 3591 enrolled_plan_provider: (_sqPlan && _sqPlan.inventory_provider) || '', 3592 block_enabled: !(_sqTrack.cachedSettings && _sqTrack.cachedSettings.block_accelerated_checkout === false), 3593 gate_armed: !!_sqTrack.acceleratedGateArmed, 3594 gate_active_at_click: !!(document.documentElement && 3595 document.documentElement.classList.contains('stoq-buy-now-pending')), 3596 blocked: (function () { 3597 try { 3598 var rr = window._RestockRocket; 3599 return !!(rr && typeof rr.willBlockAcceleratedCl
3599ick === 'function' && 3600 rr.willBlockAcceleratedClick(e)); 3601 } catch (err) { return false; } 3602 })(), 3603 }, 3604 }); 3605 } catch (err) { } 3606 }, true); 3607 } 3608 } catch (e) { } 3609 function applyTranslations(settings) { 3610 try { 3611 if (!settings || !settings.multi_language_enabled) { 3612 return settings; 3613 } 3614 3615 if (!settings.translations) { 3616 console.debug('STOQ - No translations found, skipping translation'); 3617 return settings; 3618 } 3619 3620 const normalizedLocale = window._RestockRocketConfig.normalizedLocale; 3621 const translations = settings.translations; 3622 3623 if (!normalizedLocale) { 3624 console.debug('STOQ - No matching locale for translations. Available:', Object.keys(translations || {})); 3625 delete settings.translations; 3626 return settings; 3627 } 3628 3629 console.debug(`STOQ - Applying translations for normalized locale: ${normalizedLocale} (original: ${window._RestockRocketConfig.locale})`); 3630 3631 const translatedFields = translations[normalizedLocale]; 3632 if (translatedFields && typeof translatedFields === 'object') { 3633 Object.keys(translatedFields).forEach(function(key) { 3634 const value = translatedFields[key]; 3635 if (value !== null && value !== undefined && value !== '') { 3636 settings[key] = value; 3637 } 3638 }); 3639 } else { 3640 console.debug('STOQ - No translated fields found for locale:', normalizedLocale); 3641 } 3642 3643 delete settings.translations; 3644 return settings; 3645 } catch (e) { 3646 console.debug('STOQ - error applying translations:', e); 3647 return settings; 3648 } 3649 } 3650 function setupCartSellingPlanUpdater(settings) { 3651 window.addEventListener('stoq:inventory-data-loaded', function(event) { 3652 console.debug('STOQ - Inventory data loaded, updating cart selling plans'); 3653 if (window._RestockRocket && window._RestockRocket.updateCartSellingPlans) { 3654 window._RestockRocket.updateCartSellingPlans() 3655 .then(hasUpdates => { 3656 if (hasUpdates) { 3657 console.debug('STOQ - cart selling plans updated successfully'); 3658 } else { 3659 console.debug('STOQ - no cart selling plan updates needed'); 3660 } 3661 }) 3662 .catch(error => { 3663 console.error('STOQ - error updating cart selling plans:', error); 3664 }); 3665 } 3666 }); 3667 } 3668 function storefrontGraphql(query, variables) { 3669 const cfg = window._RestockRocketConfig; 3670 if (!cfg.storefrontAccessToken || cfg.disableStorefrontApi === true) { 3671 return Promise.reject(new Error('Storefront API unavailable')); 3672 } 3673 return fetch( 3674 `https://${cfg.shop}/api/${cfg.storefrontApiVersion}/graphql.json`, 3675 { 3676 method: 'POST', 3677 headers: { 3678 'Content-Type': 'application/json', 3679 'X-Shopify-Storefront-Access-Token': cfg.storefrontAccessToken, 3680 }, 3681 body: JSON.stringify({ query: query, variables: variables }), 3682 } 3683 ) 3684 .then(function(response) { 3685 if (!response.ok) { throw new Error('Storefront API HTTP ' + response.status); } 3686 return response.json(); 3687 }) 3688 .then(function(body) { 3689 if (body && body.errors && body.errors.length) { 3690 throw new Error('Storefront API errors: ' + body.errors.map(function(e) { return e && e.message; }).join(', ')); 3691 } 3692 return body && body.data; 3693 }); 3694 } 3695 function fetchStorefrontShopMetafield(key) { 3696 const cfg = window._RestockRocketConfig; 3697 const query = 'query StoqShopMetafield($namespace: String!, $key: String!) { shop { metafield(namespace: $namespace, key: $key) { value } } }'; 3698 return storefrontGraphql(query, { namespace: cfg.metafieldNamespace, key: key }) 3699 .then(function(data) { 3700 const value = data && data.shop && data.shop.metafield && data.shop.metafield.value; 3701 if (!value) { throw new Error('Storefront API returned no ' + key + ' metafield value'); } 3702 return JSON.parse(value); 3703 }); 3704 } 3705 (function loadStorefrontSettings() { 3706 const cfg = window._RestockRocketConfig; 3707 if (!cfg.storefrontAccessToken || cfg.disableStorefrontApi === true) return; 3708 function run() { 3709 // The live-settings read is one more shop-level metafield fetch, so it 3710 // shares fetchStorefrontShopMetafield with the integrations/selling_plans 3711 // reads rather than re-issuing the same query + parse. 3712 fetchStorefrontShopMetafield('settings') 3713 .then(function(settings) { 3714 cfg.storefrontSettings = settings; 3715 console.debug('STOQ - stored live settings from Storefront API on config.storefrontSettings'); 3716 }) 3717 .catch(function(e) { 3718 console.debug('STOQ - Storefront settings fetch failed (non-fatal):', e && e.message); 3719 }); 3720 } 3721 3722 if (typeof window.requestIdleCallback === 'function') { 3723 window.requestIdleCallback(run, { timeout: 5000 }); 3724 } else { 3725 setTimeout(run, 0); 3726 } 3727 })(); 3728 const cachedSettings = window._RestockRocketConfig.cachedSettings; 3729 const validCachedSettings = cachedSettings ? checkSettingsExpiry(cachedSettings) : null; 3730 3731 if (validCachedSettings) { 3732 console.debug('STOQ - using cached settings'); 3733 initializeScripts(validCachedSettings); 3734 } else { 3735 console.debug('STOQ - fetching fresh settings'); 3736 const headers = { 3737 'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop, 3738 'ngrok-skip-browser-warning': 'skip' 3739 }; 3740 3741 if (window.Shopify?.theme?.role === 'main') { 3742 headers['X-Shopify-Theme-Schema-Name'] = window.Shopify.theme.schema_name; 3743 headers['X-Shopify-Theme-Schema-Version'] = window.Shopify.theme.schema_version; 3744 headers['X-Shopify-Theme-Store-Id'] = window.Shopify.theme.theme_store_id; 3745 } 3746 3747 fetch( 3748 `${window._RestockRocketConfig.host}/api/v1/setting.json?translation_locale=${window._RestockRocketConfig.normalizedLocale}`, 3749 { headers } 3750 ) 3751 .then(function(response) { 3752 if (!response.ok) { 3753 throw new Error('Network response was not ok'); 3754 } 3755 return response.json(); 3756 }) 3757 .then(function(settings) { 3758 initializeScripts(settings); 3759 }) 3760 .catch(function(error) { 3761 if (cachedSettings) { 3762 console.debug('STOQ - using expired cached settings as fallback'); 3763 initializeScripts(cachedSettings); 3764 } else { 3765 console.error('STOQ - failed to load settings:', error); 3766 } 3767 }) 3768 .catch(function(e) { 3769 console.error(e) 3770 }) 3771 } 3772 3773 function fetchEmbedConfig(endpoint, apply) { 3774 return fetch( 3775 `${window._RestockRocketConfig.host}/api/v1/embed/${endpoint}.json`, 3776 { 3777 headers: { 3778 'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop, 3779 'ngrok-skip-browser-warning': 'skip' 3780 } 3781 } 3782 ) 3783 .then(function(response) { 3784 if (!response.ok) throw new Error(`Failed to fetch ${endpoint}`); 3785 return response.json(); 3786 }) 3787 .then(function(data) {
3788 try { 3789 apply(data); 3790 } catch (applyError) { 3791 console.error('STOQ - apply failed for ' + endpoint + ':', applyError); 3792 throw applyError; 3793 } 3794 }) 3795 .catch(function(error) { 3796 console.debug(`STOQ - using cached ${endpoint}:`, error.message); 3797 }); 3798 } 3799 function refreshShopConfig(source) { 3800 const cfg = window._RestockRocketConfig; 3801 const viaEmbed = function() { return fetchEmbedConfig(source.endpoint, source.apply); }; 3802 const flagOn = !!cfg.readFlags && cfg.readFlags[source.flag] === true; 3803 if (!flagOn || source.embedOnly === true) { return viaEmbed(); } 3804 3805 return fetchStorefrontShopMetafield(source.metafieldKey) 3806 .then(function(value) { 3807 if (!source.isValid(value)) { throw new Error(source.metafieldKey + ' metafield is not a valid ' + source.endpoint + ' payload'); } 3808 source.apply(value); 3809 console.debug('STOQ - refreshed ' + source.endpoint + ' from the Storefront API'); 3810 }) 3811 .catch(function(error) { 3812 console.debug('STOQ - Storefront ' + source.endpoint + ' read failed, using embed:', error.message); 3813 return viaEmbed(); 3814 }); 3815 } 3816 function refreshIntegrations() { 3817 const cfg = window._RestockRocketConfig; 3818 return refreshShopConfig({ 3819 endpoint: 'integrations', 3820 metafieldKey: 'integrations', 3821 flag: 'enable_storefront_integrations_read', 3822 isValid: function(value) { return Array.isArray(value); }, 3823 apply: function(data) { 3824 cfg.integrations = data; 3825 } 3826 }); 3827 } 3828 function refreshSellingPlans(embedOnly) { 3829 const cfg = window._RestockRocketConfig; 3830 return refreshShopConfig({ 3831 embedOnly: embedOnly === true, 3832 endpoint: 'selling_plans', 3833 metafieldKey: 'cachedSellingPlans', 3834 flag: 'enable_storefront_selling_plans_read', 3835 isValid: function(value) { return !!value && Array.isArray(value.plans); }, 3836 apply: function(data) { 3837 cfg.sellingPlans = data.plans; 3838 cfg.disabledSellingPlanIds = data.disabled_plan_ids || []; 3839 if (data && data.read_flags && typeof data.read_flags === 'object' && !Array.isArray(data.read_flags)) { 3840 cfg.readFlags = data.read_flags; 3841 } 3842 } 3843 }); 3844 } 3845 3846 function initializeScripts(settings) { 3847 settings = applyTranslations(settings); 3848 window._RestockRocketConfig.settings = settings; 3849 console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`); 3850 const forceEmbedSellingPlans = settings.force_embed_selling_plans === true; 3851 const staleRefresh = !window._RestockRocketConfig.isLiquidCacheFresh && !settings.disable_refresh_on_stale_liquid; 3852 if (forceEmbedSellingPlans || staleRefresh) { 3853 console.debug('STOQ - refreshing selling_plans' + (staleRefresh ? ' + integrations (Liquid cache stale)' : ' (force_embed_selling_plans)')); 3854 const refreshes = [refreshSellingPlans(forceEmbedSellingPlans)]; 3855 if (staleRefresh) { refreshes.push(refreshIntegrations()); } 3856 Promise.race([ 3857 Promise.all(refreshes), 3858 new Promise(function(resolve) { setTimeout(resolve, 1000); }) 3859 ]).then(function() { loadScripts(settings); }); 3860 return; 3861 } 3862 3863 loadScripts(settings); 3864 } 3865 3866 function loadScripts(settings) { 3867 setupCartSellingPlanUpdater(settings); 3868 3869 if(settings.enable_app) { 3870 const hijackIntegration = window._RestockRocketConfig.integrations.find(function(integration) { 3871 return integration.type === 'hijack' && integration.enabled && integration.page_types.includes(window._RestockRocketConfig.pageType); 3872 }) 3873 const hasEnabledOffer = Array.isArray(window._RestockRocketConfig.sellingPlans) 3874 && window._RestockRocketConfig.sellingPlans.some(function(plan) { return plan && plan.enabled; }); 3875 const hasDisabledPlanIds = Array.isArray(window._RestockRocketConfig.disabledSellingPlanIds) 3876 && window._RestockRocketConfig.disabledSellingPlanIds.length > 0; 3877 const usePreorderBuild = settings.preorder_enabled || hasEnabledOffer || hasDisabledPlanIds; 3878 3879 const collectionScriptUrl = usePreorderBuild 3880 ? window._RestockRocketConfig.scriptUrlCollection 3881 : window._RestockRocketConfig.scriptUrlCollectionBis; 3882 const productScriptUrl = usePreorderBuild 3883 ? window._RestockRocketConfig.scriptUrlProduct 3884 : window._RestockRocketConfig.scriptUrlProductBis; 3885 3886 const pageType = window._RestockRocketConfig.pageType; 3887 const collectionPageTypes = ['collection', 'index', 'search', 'page']; 3888
3889 if(collectionPageTypes.indexOf(pageType) !== -1 && (settings[`show_button_on_${pageType}`] || settings[`preorder_${pageType}_enabled`])) { 3890 createRestockRocketScript(collectionScriptUrl); 3891 } else if(pageType === 'product') { 3892 createRestockRocketScript(productScriptUrl); 3893 } else if(hijackIntegration) { 3894 createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); 3895 } else if(usePreorderBuild) { 3896 createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); 3897 } else { 3898 console.debug(`STOQ - no scripts enabled for ${pageType}`); 3899 } 3900 const appLoadedEvent = new CustomEvent('stoq:loaded', { 3901 detail: { 3902 pageType: window._RestockRocketConfig.pageType, 3903 enabled: settings.enable_app, 3904 settings: settings, 3905 preorderEnabled: settings.preorder_enabled 3906 } 3907 }); 3908 console.debug('STOQ - dispatching app loaded event'); 3909 window.dispatchEvent(appLoadedEvent); 3910 } 3911 } 3912</script>
3912<style id="RestockRocketStyle">html.stoq-buy-now-pending .shopify-payment-button{pointer-events:none!important}</style> 3913 3914 3915</div><div id="shopify-block-ATDFoK3grcS9nQUszU__881952305448416657" class="shopify-block shopify-app-block">�
3915<script> 3916 var _syfProductAttributesObj = [ 3917 3918]; 3919 </script>
3919 3920 3921 3922<link href="https://cdn.shopify.com/extensions/019ff3bb-25d7-7a4f-8fa0-9400e66f2c3b/syfmarketingapp-24/assets/syf-unifi.js" as="script" rel="preload">
3923<script> 3924 var syfAssetBase = "https://cdn.shopify.com/extensions/019ff3bb-25d7-7a4f-8fa0-9400e66f2c3b/syfmarketingapp-24/assets"; 3925 var syfStoreUrl = "cahaba-cycles.myshopify.com"; 3926 var syfPriceVaries = ""; 3927 var syfCurrentTemplate = "CART"; 3928 var syfTemplateName = "cart"; 3929 var syfProductAttributes = {}; 3930 var syfTimeZone = "-0400"; 3931 var syfPdpPrice = "$0.00 USD"; 3932 var syfCartPrice = null; 3933 var syfThemeAppSupport = "No"; 3934 var syfThemeAppBlock = "widget"; 3935 var syfPromoTag = ""; 3936 var syfPromoCode = ""; 3937 3938 syfCartPrice = 0 3939 syfProductAttributes = _syfProductAttributesObj; 3940 3941</script>
3941 3942</div><div id="shopify-block-AM05QbkZpaG5MWU93V__18228966181090706294" class="shopify-block shopify-app-block"> 3943 3944 3945
3945<script> 3946 window.lbupsellVersion = 2; 3947 </script>
3947 3948 3949 3950
3951<script> 3952 3953 3954 window.lbupsellToken = "b6b548e1c4c8b903123408c6b11afad8" 3955 3956 3957</script>
3957 3958
3959<script> 3960 3961 window.lbInitMode = "immediate"; 3962 3963 window.lbComponentSrc = "https://cdn.shopify.com/extensions/01a0d3c8-47fc-7e04-8716-42ec62ed3877/lb-upsell-449/assets/lb-upsell-components.esm.js";</script>
3963 3964
3965<script type="text/javascript" src="https://cdn.shopify.com/extensions/01a0d3c8-47fc-7e04-8716-42ec62ed3877/lb-upsell-449/assets/lb-utils.js" defer="defer"></script>
3965 3966 3967</div><!-- Failed to render app block "4015264832934714879": app block path "shopify://apps/ecomsend-popups/blocks/app/a5670cf8-5705-4b01-ad9e-447033feae26" does not exist -->
3967<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
3967 3968</body> 3969</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.