91³Ô¹ÏÍø

Watch CBS News

Eden Prairie woman paralyzed after being hit by car while competing in Florida triathlon

In just the past few years, Ashleigh Whitton of Eden Prairie, Minnesota, had begun competing in triathlons. After colliding with a car that ended up in her racing path on Sunday, she's been left paralyzed from the neck down. 

Whitton was in West Palm Beach, Florida, to participate in the BillBone Olympic Triathlon. According to Palm Beach County Sheriff's Deputies, a 74-year-old driver moved across a lane that had been shut down to vehicular traffic for the race. The driver was trying to enter a park, creating an "unavoidable" crash. Whitton and a second cyclist hit the passenger side of the car. Whitton was airlifted to a hospital with severe injuries. 

Her family is now at her side. Sophia Yoerks, Whitton's daughter, got to West Palm Beach as quickly as she could once she heard the news. Yoerks said that her mom has always been an inspiration not just to her but to everyone who met her. 

While Whitton has a full-time job, her hobby and true passion is physical fitness. She's known as a "warrior" at the Life Time gym in Eden Prairie where she teaches a no-nonsense fitness class. 

"Whenever I'm at school or going to the gym myself or meeting new people, I'm like, 'Ok, what would mom do?'" Yoerks said. 

In just the past few days, Yoerks said there have been positive signs. Whitton has been able to move her eyes and begin to breathe unassisted. 

"I have never met anybody stronger than her," Yoerks said. "She's pushing through this." 

So far, the driver is not facing any charges. The sheriff's office did not respond to WCCO's specific questions about what happened. 

Bill Bone, the organizer for the triathlon, also did not respond in time for publishing, though there is a statement on Bone's , which says, "On behalf of the cycling and multisport community, we are all in shock about the incident which occurred during the race. As a triathlete myself, this was not something I imagined could happen and my thoughts and heart are with the two athletes and their families as they fight to recover. The Sherrif's office is conducting an investigation, so it is not appropriate for us to speculate what happened at this stage." 

Friends and family say they are focused on recovery. So far, an online fundraiser has raised more than $62,000. The goal to handle medical expenses is at least $90,000. 

Christine Dahl, a close friend of Whitton's and a fellow trainer at Life Time, said that she isn't surprised by the outpouring of support and that she has seen Whitton change lives by spreading the love of movement.

"She'd look around at everyone and say, 'Isn't it exciting to move your body?'" Dahl said. "She is like the joy of movement human being. She's incredible." 

Dahl said that Whitton's goal was to run a full IRONMAN competition this summer. For now, everyone is just hoping to see more "baby steps" in the right direction.    

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=296763317a51cab90faa73f1bb146d5c'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });