{"product_id":"3-day-thanksgiving-camp-2026","title":"LearnToRide Dirt Bikes 3-Day Thanksgiving Camp | Nov 23-25, 2026 | Presented by The MX Factory","description":"\u003cstyle\u003e\n  @font-face {\n    font-family: 'IT Jellivox';\n    src: url('https:\/\/cdn.shopify.com\/s\/files\/1\/0328\/4582\/4139\/files\/ITJELLIVOXDEMO-Italic.otf?v=1778199680') format('opentype');\n    font-style: italic; font-display: swap;\n  }\n  .ltr-tg {\n    --cream: #fbf3e4; --cream-2: #f5e6c8; --bark: #2a1a0f; --bark-2: #3b2415;\n    --ink: #2a1a0f; --ink-soft: #5b4332;\n    --pumpkin: #c8561b; --orange: #e07a2e; --gold: #e8a33d; --cranberry: #9e2a2b; --sage: #6b7a3a;\n    --ff-display: 'Fjalla One', Impact, 'Arial Narrow Bold', sans-serif;\n    --ff-bubble: 'IT Jellivox', 'Bagel Fat One', Impact, sans-serif;\n    --ff-eyebrow: 'Barlow Condensed', 'Barlow', sans-serif;\n    --ff-body: 'Barlow', system-ui, -apple-system, sans-serif;\n    --ff-meta: 'JetBrains Mono', ui-monospace, monospace;\n    background: var(--cream); color: var(--ink); font-family: var(--ff-body);\n    -webkit-font-smoothing: antialiased; line-height: 1.55; font-size: 17px;\n    width: 100vw; max-width: 100vw; position: relative; left: 50%; right: 50%;\n    margin-left: -50vw; margin-right: -50vw; overflow-x: hidden;\n  }\n  .ltr-tg *, .ltr-tg *::before, .ltr-tg *::after { box-sizing: border-box; }\n  .ltr-tg .container { max-width: 1180px; margin: 0 auto; padding: 0 clamp(16px, 5vw, 56px); }\n  .ltr-tg section { padding: clamp(56px, 8vw, 104px) 0; }\n  .ltr-tg .eyebrow { font-family: var(--ff-eyebrow); font-weight: 700; font-size: clamp(12px, 1vw, 14px); letter-spacing: .3em; text-transform: uppercase; color: var(--pumpkin); display: inline-flex; align-items: center; gap: 10px; margin-bottom: 14px; }\n  .ltr-tg .eyebrow::before { content: \"\"; width: 14px; height: 14px; background: currentColor; clip-path: path('M7 0C8 3 10 3 11 2C11 4 12 5 14 5C12 7 12 8 13 10C11 10 9 10 8 12L7 14L6 12C5 10 3 10 1 10C2 8 2 7 0 5C2 5 3 4 3 2C4 3 6 3 7 0Z'); }\n  .ltr-tg h2 { font-family: var(--ff-display); text-transform: uppercase; letter-spacing: -.01em; line-height: .95; font-size: clamp(36px, 6vw, 80px); margin: 0 0 18px; color: var(--ink); font-weight: 400; }\n  .ltr-tg h2 em { font-style: normal; color: var(--pumpkin); }\n  .ltr-tg .lead { font-size: clamp(17px, 1.4vw, 20px); max-width: 720px; color: var(--ink-soft); margin: 0 0 32px; }\n  .ltr-tg .btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 58px; padding: 16px 28px; font-family: var(--ff-display); font-size: clamp(16px, 1.5vw, 20px); letter-spacing: .06em; text-transform: uppercase; text-decoration: none; line-height: 1; border: 3px solid var(--bark); box-shadow: 5px 5px 0 var(--bark); transition: transform .12s, box-shadow .12s; background: var(--pumpkin); color: var(--cream); }\n  .ltr-tg .btn:hover { transform: translate(-2px,-2px); box-shadow: 7px 7px 0 var(--bark); }\n  .ltr-tg .btn-gold { background: var(--gold); color: var(--bark); }\n\n  \/* HERO *\/\n  .ltr-tg .hero { background: var(--bark); color: var(--cream); padding: clamp(48px, 7vw, 110px) 0; position: relative; overflow: hidden; border-bottom: 6px solid var(--gold); }\n  .ltr-tg .hero::before { content: \"\"; position: absolute; inset: 0; background: radial-gradient(ellipse at 85% 10%, rgba(224,122,46,.35), transparent 55%), radial-gradient(ellipse at 0% 100%, rgba(158,42,43,.35), transparent 50%); pointer-events: none; }\n  .ltr-tg .hero .container { position: relative; display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(28px, 4vw, 56px); align-items: center; }\n  .ltr-tg .hero .eyebrow { color: var(--gold); }\n  .ltr-tg .stamp { display: inline-block; font-family: var(--ff-meta); font-weight: 700; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; background: var(--cranberry); color: var(--cream); padding: 7px 12px; border: 2px solid var(--gold); margin-bottom: 18px; }\n  .ltr-tg .hero h1 { font-family: var(--ff-display); font-weight: 400; text-transform: uppercase; font-size: clamp(54px, 9vw, 140px); line-height: .88; letter-spacing: -.02em; margin: 0; color: var(--cream); }\n  .ltr-tg .hero h1 em { display: block; font-style: italic; font-family: var(--ff-bubble); color: var(--orange); font-size: .52em; line-height: 1.1; -webkit-text-stroke: 1.5px var(--bark); text-transform: none; letter-spacing: 0; }\n  .ltr-tg .hero p { font-size: clamp(17px, 1.4vw, 20px); color: var(--cream-2); max-width: 600px; margin: 22px 0 26px; }\n  .ltr-tg .hero p strong { color: var(--gold); }\n  .ltr-tg .price { display: inline-flex; flex-wrap: wrap; gap: 8px 22px; align-items: baseline; background: var(--cream); color: var(--ink); border: 3px solid var(--gold); box-shadow: 6px 6px 0 var(--pumpkin); padding: 16px 22px; margin-bottom: 26px; }\n  .ltr-tg .price .amt { font-family: var(--ff-display); font-size: clamp(40px, 5vw, 60px); line-height: 1; }\n  .ltr-tg .price .meta { font-family: var(--ff-meta); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-soft); }\n  .ltr-tg .price .meta b { color: var(--pumpkin); }\n  .ltr-tg .hero-photo { position: relative; border: 6px solid var(--cream); box-shadow: 10px 10px 0 var(--pumpkin); transform: rotate(1.5deg); background: var(--cream); }\n  .ltr-tg .hero-photo img { display: block; width: 100%; height: auto; aspect-ratio: 3\/4; object-fit: cover; }\n  .ltr-tg .hero-photo figcaption { font-family: var(--ff-meta); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-soft); padding: 10px 6px 4px; }\n\n  \/* STATS *\/\n  .ltr-tg .stats { background: var(--gold); border-bottom: 4px solid var(--bark); padding: 0; }\n  .ltr-tg .stats .container { display: grid; grid-template-columns: repeat(4, 1fr); }\n  .ltr-tg .stat { padding: 22px 10px; text-align: center; border-right: 3px solid var(--bark); }\n  .ltr-tg .stat:last-child { border-right: 0; }\n  .ltr-tg .stat b { display: block; font-family: var(--ff-display); font-weight: 400; font-size: clamp(34px, 4vw, 56px); line-height: 1; color: var(--bark); }\n  .ltr-tg .stat span { font-family: var(--ff-eyebrow); font-weight: 700; letter-spacing: .18em; text-transform: uppercase; font-size: 13px; color: var(--bark-2); }\n\n  \/* WHY *\/\n  .ltr-tg .cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }\n  .ltr-tg .card { background: #fff; border: 3px solid var(--bark); box-shadow: 6px 6px 0 var(--gold); padding: 26px 24px; }\n  .ltr-tg .card .n { font-family: var(--ff-meta); font-weight: 700; color: var(--pumpkin); font-size: 13px; letter-spacing: .2em; }\n  .ltr-tg .card h3 { font-family: var(--ff-display); font-weight: 400; text-transform: uppercase; font-size: 28px; line-height: 1; margin: 10px 0; }\n  .ltr-tg .card p { margin: 0; color: var(--ink-soft); }\n\n  \/* DAYS *\/\n  .ltr-tg .days-sec { background: var(--cream-2); border-top: 4px solid var(--bark); border-bottom: 4px solid var(--bark); }\n  .ltr-tg .days { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }\n  .ltr-tg .day { background: var(--cream); border: 3px solid var(--bark); overflow: hidden; }\n  .ltr-tg .day header { padding: 18px 22px; color: var(--cream); }\n  .ltr-tg .day:nth-child(1) header { background: var(--sage); }\n  .ltr-tg .day:nth-child(2) header { background: var(--pumpkin); }\n  .ltr-tg .day:nth-child(3) header { background: var(--cranberry); }\n  .ltr-tg .day .when { font-family: var(--ff-meta); font-size: 12px; letter-spacing: .18em; text-transform: uppercase; opacity: .9; }\n  .ltr-tg .day h3 { font-family: var(--ff-display); font-weight: 400; text-transform: uppercase; font-size: 34px; line-height: 1; margin: 6px 0 0; }\n  .ltr-tg .day .body { padding: 18px 22px 22px; }\n  .ltr-tg .day .body p { margin: 0 0 12px; color: var(--ink-soft); }\n  .ltr-tg .day ul { margin: 0; padding: 0; list-style: none; }\n  .ltr-tg .day li { padding: 7px 0 7px 26px; border-top: 1px dashed rgba(42,26,15,.2); position: relative; }\n  .ltr-tg .day li::before { content: \"\\2713\"; position: absolute; left: 2px; color: var(--pumpkin); font-weight: 700; }\n\n  \/* WHO *\/\n  .ltr-tg .who { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 28px; margin-top: 10px; }\n  .ltr-tg .who div { display: flex; gap: 12px; align-items: flex-start; padding: 14px 0; border-bottom: 2px solid var(--cream-2); }\n  .ltr-tg .who i { font-style: normal; flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--sage); color: var(--cream); display: grid; place-items: center; font-weight: 700; font-size: 15px; }\n  .ltr-tg .note { margin-top: 22px; background: var(--bark); color: var(--cream); padding: 16px 20px; border-left: 8px solid var(--gold); }\n\n  \/* FLEET *\/\n  .ltr-tg .fleet-sec { background: var(--bark); color: var(--cream); }\n  .ltr-tg .fleet-sec h2 { color: var(--cream); }\n  .ltr-tg .fleet-sec .lead { color: var(--cream-2); }\n  .ltr-tg .fleet { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; margin-bottom: 34px; }\n  .ltr-tg .bike { border: 3px solid var(--gold); padding: 18px 12px; text-align: center; background: rgba(251,243,228,.05); }\n  .ltr-tg .bike b { display: block; font-family: var(--ff-display); font-weight: 400; font-size: 40px; line-height: 1; color: var(--gold); }\n  .ltr-tg .bike span { display: block; font-family: var(--ff-meta); font-size: 12px; letter-spacing: .1em; margin-top: 8px; color: var(--cream-2); }\n  .ltr-tg .kit { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }\n  .ltr-tg .kit \u003e div { background: var(--cream); color: var(--ink); border: 3px solid var(--gold); padding: 22px 24px; }\n  .ltr-tg .kit h3 { font-family: var(--ff-display); font-weight: 400; text-transform: uppercase; font-size: 26px; margin: 0 0 10px; color: var(--pumpkin); }\n  .ltr-tg .kit ul { margin: 0; padding-left: 20px; }\n  .ltr-tg .kit li { margin: 4px 0; }\n\n  \/* WHERE *\/\n  .ltr-tg .where { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: start; }\n  .ltr-tg .dates { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }\n  .ltr-tg .date { border: 3px solid var(--bark); text-align: center; padding: 14px 6px; background: #fff; }\n  .ltr-tg .date small { display: block; font-family: var(--ff-eyebrow); font-weight: 700; letter-spacing: .24em; color: var(--pumpkin); }\n  .ltr-tg .date b { display: block; font-family: var(--ff-display); font-weight: 400; font-size: 34px; line-height: 1.05; }\n  .ltr-tg .addr { font-size: 18px; }\n  .ltr-tg .addr strong { font-family: var(--ff-display); font-weight: 400; font-size: 26px; text-transform: uppercase; display: block; }\n\n  \/* FAQ *\/\n  .ltr-tg .faq-sec { background: var(--cream-2); border-top: 4px solid var(--bark); }\n  .ltr-tg details { background: var(--cream); border: 3px solid var(--bark); margin-bottom: 12px; }\n  .ltr-tg summary { cursor: pointer; list-style: none; padding: 18px 54px 18px 20px; font-family: var(--ff-display); text-transform: uppercase; font-size: 20px; position: relative; }\n  .ltr-tg summary::-webkit-details-marker { display: none; }\n  .ltr-tg summary::after { content: \"+\"; position: absolute; right: 20px; top: 12px; font-size: 30px; color: var(--pumpkin); }\n  .ltr-tg details[open] summary::after { content: \"\\2212\"; }\n  .ltr-tg details \u003e div { padding: 0 20px 18px; color: var(--ink-soft); }\n  .ltr-tg details p { margin: 0 0 8px; }\n\n  \/* FINAL *\/\n  .ltr-tg .final { background: var(--pumpkin); color: var(--cream); text-align: center; border-top: 6px solid var(--bark); }\n  .ltr-tg .final h2 { color: var(--cream); }\n  .ltr-tg .final h2 em { color: var(--bark); }\n  .ltr-tg .final p { font-size: 19px; margin: 0 auto 28px; max-width: 640px; }\n\n\u003c!--EB--\u003e  \/* EARLY BIRD (auto-hides after Sep 30 11:59 PM CT; no-JS shows standard price) *\/\n  .ltr-tg:not(.eb-live) .eb-on { display: none !important; }\n  .ltr-tg.eb-live .eb-off { display: none !important; }\n  .ltr-tg .eb-bar { position: fixed; left: 0; right: 0; top: 0; z-index: 9999; background: var(--cranberry); color: var(--cream); padding: 10px 16px; font-family: var(--ff-eyebrow); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; font-size: clamp(13px, 1.2vw, 16px); border-bottom: 3px solid var(--gold); box-shadow: 0 4px 14px rgba(0,0,0,.25); display: flex; align-items: center; justify-content: center; gap: 8px 18px; flex-wrap: wrap; text-align: center; line-height: 1.3; }\n  .ltr-tg .eb-bar b { color: var(--gold); font-weight: 700; }\n  .ltr-tg .eb-clock { display: inline-flex; gap: 6px; font-family: var(--ff-meta); letter-spacing: .04em; }\n  .ltr-tg .eb-clock span { background: var(--bark); color: var(--gold); padding: 3px 7px; border: 1px solid var(--gold); min-width: 42px; text-align: center; }\n  .ltr-tg .eb-bar a { color: var(--bark); background: var(--gold); padding: 6px 12px; text-decoration: none; border: 2px solid var(--bark); font-family: var(--ff-display); letter-spacing: .06em; }\n  .ltr-tg .eb-spacer { height: 0; }\n\u003c!--\/EB--\u003e  .ltr-tg .price s { color: var(--ink-soft); opacity: .7; font-family: var(--ff-display); font-size: clamp(22px, 2.4vw, 30px); }\n\u003c!--EB--\u003e  .ltr-tg .price.eb-on { display: inline-grid; grid-template-columns: auto auto; column-gap: 16px; row-gap: 8px; align-items: baseline; }\n  .ltr-tg .price.eb-on .eb-tag, .ltr-tg .price.eb-on .meta { grid-column: 1 \/ -1; justify-self: start; }\n\u003c!--\/EB--\u003e  .ltr-tg .eb-tag { display: inline-block; background: var(--cranberry); color: var(--cream); font-family: var(--ff-meta); font-size: 11px; letter-spacing: .16em; padding: 4px 8px; text-transform: uppercase; }\n\n  @media (max-width: 900px) {\n    .ltr-tg .hero .container, .ltr-tg .where, .ltr-tg .kit { grid-template-columns: 1fr; }\n    .ltr-tg .hero-photo { max-width: 460px; transform: none; }\n    .ltr-tg .cards, .ltr-tg .days { grid-template-columns: 1fr; }\n    .ltr-tg .fleet { grid-template-columns: repeat(2, 1fr); }\n    .ltr-tg .stats .container { grid-template-columns: repeat(2, 1fr); padding: 0; }\n    .ltr-tg .stat:nth-child(2) { border-right: 0; }\n    .ltr-tg .stat:nth-child(-n+2) { border-bottom: 3px solid var(--bark); }\n    .ltr-tg .who { grid-template-columns: 1fr; }\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"ltr-tg\"\u003e\n\n\u003c!--EB--\u003e  \u003cdiv class=\"eb-bar eb-on\" role=\"region\" aria-label=\"Early bird offer\"\u003e\n    \u003cspan\u003eGet \u003cb\u003e$100 off\u003c\/b\u003e when you register before the end of the month · No code needed\u003c\/span\u003e\n    \u003cspan class=\"eb-clock\" aria-live=\"off\"\u003e\u003cspan data-d\u003e0d\u003c\/span\u003e\u003cspan data-h\u003e00h\u003c\/span\u003e\u003cspan data-m\u003e00m\u003c\/span\u003e\u003cspan data-s\u003e00s\u003c\/span\u003e\u003c\/span\u003e\n    \u003ca href=\"#\"\u003eRegister\u003c\/a\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"eb-spacer eb-on\"\u003e\u003c\/div\u003e\n\u003c!--\/EB--\u003e\n  \u003csection class=\"hero\"\u003e\n    \u003cdiv class=\"container\"\u003e\n      \u003cdiv\u003e\n        \u003cdiv class=\"stamp\"\u003eThanksgiving Break · Nov 23 to 25\u003c\/div\u003e\n        \u003cdiv class=\"eyebrow\"\u003eAustin's Moto School · Lockhart, TX\u003c\/div\u003e\n        \u003ch1\u003eLearn To Ride\u003cem\u003ebefore the turkey.\u003c\/em\u003e\n\u003c\/h1\u003e\n        \u003cp\u003eSchool's out Monday through Wednesday of Thanksgiving week. Give your kid \u003cstrong\u003ethree days of learn-to-ride coaching\u003c\/strong\u003e at our Lockhart track. We bring the bike, the gear, and the coaches. They bring home a new skill to talk about at the Thanksgiving table.\u003c\/p\u003e\n        \u003cdiv class=\"price eb-off\"\u003e\n          \u003cspan class=\"amt\"\u003eFrom $595\u003c\/span\u003e\n          \u003cspan class=\"meta\"\u003e3 days · bring your own bike\u003cbr\u003e\u003cb\u003e$975 with a rental bike\u003c\/b\u003e\u003c\/span\u003e\n        \u003c\/div\u003e\n\u003c!--EB--\u003e        \u003cdiv class=\"price eb-on\"\u003e\n          \u003cspan class=\"eb-tag\"\u003eEarly bird · ends Sep 30\u003c\/span\u003e\n          \u003cspan class=\"amt\"\u003eFrom $495\u003c\/span\u003e \u003cs\u003e$595\u003c\/s\u003e\n          \u003cspan class=\"meta\"\u003e3 days · bring your own bike\u003cbr\u003e\u003cb\u003e$875 with a rental bike\u003c\/b\u003e (reg. $975)\u003c\/span\u003e\n        \u003c\/div\u003e\n\u003c!--\/EB--\u003e\n        \u003cdiv\u003e\u003ca class=\"btn\" href=\"#\"\u003eReserve My Kid's Spot →\u003c\/a\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cfigure class=\"hero-photo\"\u003e\n        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0328\/4582\/4139\/files\/ltr-thanksgiving-camp-riders-spoaks.jpg?v=1790353923\" alt=\"Learn-to-ride riders lined up on their bikes at the MX Factory track in Lockhart, Texas\" loading=\"eager\"\u003e\n        \u003cfigcaption\u003eRiders at our Lockhart track\u003c\/figcaption\u003e\n      \u003c\/figure\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"stats\"\u003e\n    \u003cdiv class=\"container\"\u003e\n      \u003cdiv class=\"stat\"\u003e\n\u003cb\u003e3\u003c\/b\u003e\u003cspan\u003eDay Camp\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n\u003cb\u003e8\u003c\/b\u003e\u003cspan\u003eRider Cap\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n\u003cb\u003e15\u003c\/b\u003e\u003cspan\u003eCoaching Hours\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"stat\"\u003e\n\u003cb\u003e130\u003c\/b\u003e\u003cspan\u003e5-Star Google Reviews\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection\u003e\n    \u003cdiv class=\"container\"\u003e\n      \u003cdiv class=\"eyebrow\"\u003eWhy a camp, not a lesson\u003c\/div\u003e\n      \u003ch2\u003eThree days \u003cem\u003emakes it stick.\u003c\/em\u003e\n\u003c\/h2\u003e\n      \u003cp class=\"lead\"\u003eOne 90-minute lesson is a taste. Three days in a row is where the skills actually take hold. Your kid sleeps on what they learned, rides it again the next morning, and locks it in.\u003c\/p\u003e\n      \u003cdiv class=\"cards\"\u003e\n        \u003cdiv class=\"card\"\u003e\n\u003cdiv class=\"n\"\u003e01\u003c\/div\u003e\n\u003ch3\u003eSkills Build.\u003c\/h3\u003e\n\u003cp\u003eWhat they drill Monday gets sharper Tuesday and feels natural by Wednesday. Repetition close together is how it sticks.\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"card\"\u003e\n\u003cdiv class=\"n\"\u003e02\u003c\/div\u003e\n\u003ch3\u003eSame Crew.\u003c\/h3\u003e\n\u003cp\u003eCapped at 8 riders. Fifteen hours with the same kids and the same coaches, in a controlled environment at our own track.\u003c\/p\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"card\"\u003e\n\u003cdiv class=\"n\"\u003e03\u003c\/div\u003e\n\u003ch3\u003eBreak, Sorted.\u003c\/h3\u003e\n\u003cp\u003eDrop off at 9 AM, pick up at 2 PM. Three days of the break planned, with Thursday and Friday free for family.\u003c\/p\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"days-sec\" id=\"days\"\u003e\n    \u003cdiv class=\"container\"\u003e\n      \u003cdiv class=\"eyebrow\"\u003e3 days. 1 plan.\u003c\/div\u003e\n      \u003ch2\u003eDay by \u003cem\u003eday.\u003c\/em\u003e\n\u003c\/h2\u003e\n      \u003cp class=\"lead\"\u003eEach day builds on the last. Every rider goes home Wednesday with a coach debrief and a practice plan.\u003c\/p\u003e\n      \u003cdiv class=\"days\"\u003e\n        \u003cdiv class=\"day\"\u003e\n          \u003cheader\u003e\u003cdiv class=\"when\"\u003eDay 1 · Mon Nov 23 · 9 AM to 2 PM\u003c\/div\u003e\n\u003ch3\u003eFundamentals.\u003c\/h3\u003e\u003c\/header\u003e\n          \u003cdiv class=\"body\"\u003e\n\u003cp\u003eBike fit, gear up, and the three things that change everything: body position, throttle, and brakes.\u003c\/p\u003e\n            \u003cul\u003e\n\u003cli\u003eBike and gear sizing\u003c\/li\u003e\n\u003cli\u003eThrottle and clutch control\u003c\/li\u003e\n\u003cli\u003eBody position on the pegs\u003c\/li\u003e\n\u003cli\u003eBraking technique\u003c\/li\u003e\n\u003cli\u003eComfortable laps\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"day\"\u003e\n          \u003cheader\u003e\u003cdiv class=\"when\"\u003eDay 2 · Tue Nov 24 · 9 AM to 2 PM\u003c\/div\u003e\n\u003ch3\u003eCornering \u0026amp; Flow.\u003c\/h3\u003e\u003c\/header\u003e\n          \u003cdiv class=\"body\"\u003e\n\u003cp\u003eNow we add pace. Real cornering, standing in attack position, and small rollers for riders who are ready.\u003c\/p\u003e\n            \u003cul\u003e\n\u003cli\u003eCornering technique\u003c\/li\u003e\n\u003cli\u003eInside and outside lines\u003c\/li\u003e\n\u003cli\u003eStanding in attack position\u003c\/li\u003e\n\u003cli\u003eSmall rollers and rhythm\u003c\/li\u003e\n\u003cli\u003eLinking a full lap\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"day\"\u003e\n          \u003cheader\u003e\u003cdiv class=\"when\"\u003eDay 3 · Wed Nov 25 · 9 AM to 2 PM\u003c\/div\u003e\n\u003ch3\u003eFun Day.\u003c\/h3\u003e\u003c\/header\u003e\n          \u003cdiv class=\"body\"\u003e\n\u003cp\u003ePut it all together before the holiday. Moto games, friendly relays, and a family ride-by at pickup.\u003c\/p\u003e\n            \u003cul\u003e\n\u003cli\u003eMoto games and relays\u003c\/li\u003e\n\u003cli\u003eFull track ride-around\u003c\/li\u003e\n\u003cli\u003ePut-it-together drills\u003c\/li\u003e\n\u003cli\u003eCoach debrief\u003c\/li\u003e\n\u003cli\u003eTake-home practice plan\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cp style=\"margin-top:34px\"\u003e\u003ca class=\"btn btn-gold\" href=\"#\"\u003eReserve My Kid's Spot →\u003c\/a\u003e\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection\u003e\n    \u003cdiv class=\"container\"\u003e\n      \u003cdiv class=\"eyebrow\"\u003eWho it's for\u003c\/div\u003e\n      \u003ch2\u003eBuilt for \u003cem\u003efirst-timers.\u003c\/em\u003e\n\u003c\/h2\u003e\n      \u003cp class=\"lead\"\u003eIf your kid has never touched a dirt bike, this is the place to start. We size every rider at drop-off, from our 50cc up to our 300cc.\u003c\/p\u003e\n      \u003cdiv class=\"who\"\u003e\n        \u003cdiv\u003e\n\u003ci\u003e✓\u003c\/i\u003e\u003cspan\u003eThey can ride a bicycle and have never been on a dirt bike.\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv\u003e\n\u003ci\u003e✓\u003c\/i\u003e\u003cspan\u003eThey've ridden a few times and want real coaching.\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv\u003e\n\u003ci\u003e✓\u003c\/i\u003e\u003cspan\u003eThey want to learn to corner, brake, and ride with control on a real track.\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv\u003e\n\u003ci\u003e✓\u003c\/i\u003e\u003cspan\u003eYou want them outside and off screens for three days of the break.\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv\u003e\n\u003ci\u003e✓\u003c\/i\u003e\u003cspan\u003eSiblings or cousins in town for the holiday want to learn together.\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv\u003e\n\u003ci\u003e✓\u003c\/i\u003e\u003cspan\u003eThey can handle a 9 AM to 2 PM day: packed lunch, bathroom breaks, listening to coaches.\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"note\"\u003e\n\u003cstrong\u003eThe one requirement:\u003c\/strong\u003e riders must be at least 3 ft tall and already able to ride a bicycle. We teach dirt bike skills, not balance.\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"fleet-sec\"\u003e\n    \u003cdiv class=\"container\"\u003e\n      \u003cdiv class=\"eyebrow\" style=\"color:var(--gold)\"\u003eThe fleet\u003c\/div\u003e\n      \u003ch2\u003eA bike for \u003cem\u003eevery size.\u003c\/em\u003e\n\u003c\/h2\u003e\n      \u003cp class=\"lead\"\u003eRental bikes are limited, so the size your kid needs can sell out first. Got your own bike? Pick \"Bringing Own Bike\" at checkout.\u003c\/p\u003e\n      \u003cdiv class=\"fleet\"\u003e\n        \u003cdiv class=\"bike\"\u003e\n\u003cb\u003e50\u003c\/b\u003e\u003cspan\u003e3' to 4'3\"\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"bike\"\u003e\n\u003cb\u003e110\u003c\/b\u003e\u003cspan\u003e4'3\" to 4'11\"\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"bike\"\u003e\n\u003cb\u003e125\u003c\/b\u003e\u003cspan\u003e4'11\" to 5'7\"\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"bike\"\u003e\n\u003cb\u003e230\u003c\/b\u003e\u003cspan\u003e5'7\"+ · up to 200 lbs\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"bike\"\u003e\n\u003cb\u003e300\u003c\/b\u003e\u003cspan\u003e5'9\"+ · up to 300 lbs\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"kit\"\u003e\n        \u003cdiv\u003e\n\u003ch3\u003eWe provide\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe bike (rental option)\u003c\/li\u003e\n\u003cli\u003eHelmet\u003c\/li\u003e\n\u003cli\u003eGloves\u003c\/li\u003e\n\u003cli\u003eGoggles\u003c\/li\u003e\n\u003cli\u003eCoaches certified by The MX Factory\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n        \u003cdiv\u003e\n\u003ch3\u003eYou bring\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLunch, snacks, and a water bottle\u003c\/li\u003e\n\u003cli\u003eClosed-toe shoes (boots if you have them)\u003c\/li\u003e\n\u003cli\u003eLong pants and a long-sleeve shirt or jersey\u003c\/li\u003e\n\u003cli\u003eA warm layer. November mornings in Lockhart can start cool.\u003c\/li\u003e\n\u003cli\u003eSunscreen\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection\u003e\n    \u003cdiv class=\"container where\"\u003e\n      \u003cdiv\u003e\n        \u003cdiv class=\"eyebrow\"\u003eWhere \u0026amp; when\u003c\/div\u003e\n        \u003ch2\u003eLockhart, TX.\u003cbr\u003e\u003cem\u003eThanksgiving week.\u003c\/em\u003e\n\u003c\/h2\u003e\n        \u003cp class=\"addr\"\u003e\u003cstrong\u003eSpoaks Moto Park\u003c\/strong\u003e1930 Barth Rd, Lockhart, TX 78644\u003cbr\u003eAbout 30 minutes south of Austin. Easy drive from Round Rock, Cedar Park, San Marcos, and San Antonio.\u003c\/p\u003e\n        \u003cp\u003e9 AM drop-off · 2 PM pickup each day. Parents are welcome to stay and watch. Bring a chair.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"dates\"\u003e\n        \u003cdiv class=\"date\"\u003e\n\u003csmall\u003eMON\u003c\/small\u003e\u003cb\u003eNov 23\u003c\/b\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"date\"\u003e\n\u003csmall\u003eTUE\u003c\/small\u003e\u003cb\u003eNov 24\u003c\/b\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"date\"\u003e\n\u003csmall\u003eWED\u003c\/small\u003e\u003cb\u003eNov 25\u003c\/b\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"faq-sec\"\u003e\n    \u003cdiv class=\"container\"\u003e\n      \u003cdiv class=\"eyebrow\"\u003eBefore you book\u003c\/div\u003e\n      \u003ch2\u003eCommon \u003cem\u003equestions.\u003c\/em\u003e\n\u003c\/h2\u003e\n\u003c!--EB--\u003e      \u003cdetails class=\"eb-on\"\u003e\u003csummary\u003eHow does the early bird work?\u003c\/summary\u003e\u003cdiv\u003e\u003cp\u003eBook by Wednesday, September 30 at 11:59 PM Central and $100 comes off each rider automatically at checkout. That makes it $875 with a rental bike or $495 bringing your own. After that, regular pricing applies.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003c!--\/EB--\u003e      \u003cdetails\u003e\u003csummary\u003eMy kid has never been on a dirt bike. Is this too much?\u003c\/summary\u003e\u003cdiv\u003e\u003cp\u003eNo. This camp is built for total beginners. The one prerequisite: they already know how to ride a bicycle.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n      \u003cdetails\u003e\u003csummary\u003eWhat ages is this for?\u003c\/summary\u003e\u003cdiv\u003e\u003cp\u003eAge isn't the real gate. Size and bicycle skills are. Riders need to be at least 3 ft tall to fit our smallest bike and already able to ride a bicycle. We size everyone at drop-off.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n      \u003cdetails\u003e\u003csummary\u003eCan my kid bring their own bike?\u003c\/summary\u003e\u003cdiv\u003e\u003cp\u003eYes. Choose \"Bringing Own Bike\" at checkout for the $595 rate. The bike needs to be in good running order. Helmet, gloves, and goggles are still provided.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n      \u003cdetails\u003e\u003csummary\u003eCan siblings or visiting cousins sign up?\u003c\/summary\u003e\u003cdiv\u003e\u003cp\u003eYes. Book one spot per rider and pick each rider's bike size. The camp is capped at 8 riders total, so book early if you need several spots.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n      \u003cdetails\u003e\u003csummary\u003eWhat's your cancellation policy?\u003c\/summary\u003e\u003cdiv\u003e\n\u003cp\u003eMore than 30 days out: full refund or free reschedule.\u003c\/p\u003e\n\u003cp\u003eInside 30 days (but more than 48 hours): we credit your tuition toward a future camp or a weekend session.\u003c\/p\u003e\n\u003cp\u003eInside 48 hours or no-show: the spot is forfeit.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/details\u003e\n      \u003cdetails\u003e\u003csummary\u003eWhat if it rains?\u003c\/summary\u003e\u003cdiv\u003e\u003cp\u003eWe ride in light rain. Heavy rain or lightning shuts riding down, and we'll credit the missed time toward a future camp or weekend session at no extra charge.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n      \u003cdetails\u003e\u003csummary\u003eWill it be cold?\u003c\/summary\u003e\u003cdiv\u003e\u003cp\u003eLate-November mornings in Central Texas can start cool and warm up by midday. Dress in layers they can shed. Riding warms them up fast.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"final\"\u003e\n    \u003cdiv class=\"container\"\u003e\n      \u003cdiv class=\"eyebrow\" style=\"color:var(--bark)\"\u003eThanksgiving Break · Lockhart, TX\u003c\/div\u003e\n      \u003ch2\u003ePack a lunch. \u003cem\u003eGrab a spot.\u003c\/em\u003e\n\u003c\/h2\u003e\n      \u003cp class=\"eb-off\"\u003eFrom $595 · Nov 23 to 25, 2026 · 9 AM to 2 PM · 8-rider cap with limited rental bikes.\u003c\/p\u003e\n\u003c!--EB--\u003e      \u003cp class=\"eb-on\"\u003eEarly bird: $100 off through Wed, Sep 30 at 11:59 PM CT. From $495 · Nov 23 to 25, 2026 · 9 AM to 2 PM · 8-rider cap with limited rental bikes.\u003c\/p\u003e\n\u003c!--\/EB--\u003e\n      \u003ca class=\"btn btn-gold\" href=\"#\"\u003eReserve My Kid's Spot →\u003c\/a\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n\u003c!--EB--\u003e  (function () {\n    var root = document.querySelector('.ltr-tg');\n    var END = Date.parse('2026-10-01T04:59:59Z'); \/* Wed Sep 30 11:59:59 PM CT *\/\n    if (!root || Date.now() \u003e= END) return;\n    root.classList.add('eb-live');\n    var bar = root.querySelector('.eb-bar'), spacer = root.querySelector('.eb-spacer');\n    function pad(n) { return (n \u003c 10 ? '0' : '') + n; }\n    function themeHeader() {\n      var sels = ['sticky-header', '.shopify-section-header-sticky', '#shopify-section-header', '.shopify-section-group-header-group', '.header-wrapper', 'header[role=\"banner\"]', 'header'];\n      for (var i = 0; i \u003c sels.length; i++) { var el = document.querySelector(sels[i]); if (el \u0026\u0026 el.offsetHeight \u003e 0 \u0026\u0026 !el.closest('.ltr-tg')) return el; }\n      return null;\n    }\n    var header = themeHeader();\n    function place() {\n      var top = 0;\n      if (header) { var b = header.getBoundingClientRect().bottom; if (b \u003e 0) top = b; }\n      bar.style.top = top + 'px';\n      spacer.style.height = bar.offsetHeight + 'px';\n    }\n    function tick() {\n      var ms = END - Date.now();\n      if (ms \u003c= 0) { root.classList.remove('eb-live'); return; }\n      var t = Math.floor(ms \/ 1000);\n      bar.querySelector('[data-d]').textContent = Math.floor(t \/ 86400) + 'd';\n      bar.querySelector('[data-h]').textContent = pad(Math.floor(t % 86400 \/ 3600)) + 'h';\n      bar.querySelector('[data-m]').textContent = pad(Math.floor(t % 3600 \/ 60)) + 'm';\n      bar.querySelector('[data-s]').textContent = pad(t % 60) + 's';\n      setTimeout(tick, 1000);\n    }\n    tick(); place();\n    window.addEventListener('scroll', place, { passive: true });\n    window.addEventListener('resize', place, { passive: true });\n  })();\n\u003c!--\/EB--\u003e  (function () {\n    function findProductForm() {\n      return document.querySelector('form[action*=\"\/cart\/add\"], [data-product-form], .product-single, .product__form, #ProductSection');\n    }\n    document.addEventListener('click', function (e) {\n      var a = e.target.closest('.ltr-tg a[href=\"#\"]');\n      if (!a) return;\n      e.preventDefault();\n      var t = findProductForm();\n      if (t) t.scrollIntoView({ behavior: 'smooth', block: 'center' });\n      else window.scrollTo({ top: 0, behavior: 'smooth' });\n    });\n  })();\n\u003c\/script\u003e\n","brand":"The MX Factory","offers":[{"title":"Nov 23-25, 2026 \/ 50 Size: 3'-4'3\"","offer_id":50538716135578,"sku":null,"price":975.0,"currency_code":"USD","in_stock":true},{"title":"Nov 23-25, 2026 \/ 110 Size: 4'3\"-4'11\"","offer_id":50538716168346,"sku":null,"price":975.0,"currency_code":"USD","in_stock":true},{"title":"Nov 23-25, 2026 \/ 125 Size: 4'11\"-5'7\"","offer_id":50538716201114,"sku":null,"price":975.0,"currency_code":"USD","in_stock":true},{"title":"Nov 23-25, 2026 \/ 230 Size: 5'7\"+ up to 200 lbs","offer_id":50538716233882,"sku":null,"price":975.0,"currency_code":"USD","in_stock":true},{"title":"Nov 23-25, 2026 \/ 300 Size: 5'9\"+ up to 300 lbs","offer_id":50538716266650,"sku":null,"price":975.0,"currency_code":"USD","in_stock":true},{"title":"Nov 23-25, 2026 \/ Bringing Own Bike (No Rental Bike)","offer_id":50538716299418,"sku":null,"price":595.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0328\/4582\/4139\/files\/ltr-thanksgiving-camp-nov23-25-2026-poster-v2.png?v=1790359275","url":"https:\/\/themxfactory.com\/products\/3-day-thanksgiving-camp-2026","provider":"The MX Factory","version":"1.0","type":"link"}