Connect with us

Kentucky

Kentucky football recaps historic win at Ole Miss

Published

on

Kentucky football recaps historic win at Ole Miss


Saturday in Oxford could have been a movie, Kentucky defeating No. 6 Ole Miss as three-score underdogs and doing so in Oscar-worthy fashion — backs against the wall and against all odds with a mix of good fortune and guts being enough to take down the best offense in college football.

That’s why UK Sports Video turned it into a cinematic experience for Big Blue Nation to sit back and enjoy with some popcorn and a soda for a minute — eight, to be specific.

The video starts with the lead-up, pulling soundbites from the College GameDay crew picking the Rebels in a clean sweep.

“I’ve got Ole Miss big in this one,” co-host Desmond Howard says. “Are we going against the spread or what?”

Advertisement

Then we peek into the locker room where Mark Stoops stresses the Wildcats needed to “line up, lock in, focus, execute: “You’ve got to go take it, you’ve got to go make plays. We will. Believe it.”

We see Willie Rodriguez’s bone-crushing hit on the opening kick, followed by Ole Miss’ quick score and Kentucky’s response with a field goal the other way, then Dane Key’s touchdown grab to take a 10-7 lead going into the half.

“It’s your grit that got you to this point. It’s got to be our toughness and our grit to bring us home and finish this thing,” Stoops told the team. “You put it in your mind, do whatever you have to do on every single solitary play and get that grit and toughness. We deserve it. You are better, go play better and finish it — but one play at a time.”

One play at a time, they did just that, the defense putting on a clinic in the second half while the offense hit on some explosives to help solidify the 20-17 win — the missed game-tying field goal in the final minute being the icing on the cake.

Celebration, crowdsurfing, victory.

Advertisement

Want to know what it’s like to be in that other locker room? Ole Miss shared a behind-the-scenes look at the loss through the Rebels’ eyes — weird if you ask me, but hey, I’m happy to drink up Lane Kiffin’s tears.

“That’s what’s going to happen, man, when you play in this league,” Kiffin told the team. “It’s good good players and good teams. You let them hang around, OK? You had great momentum, you did great things in the third quarter, but you have to finish them off. This is a great lesson.”

It sure was, buddy.

Advertisement

Go Cats.



Source link

Kentucky

A Kentucky Derby fixture steps away: Mike Battaglia retires as oddsmaker

Published

on

A Kentucky Derby fixture steps away: Mike Battaglia retires as oddsmaker


LOUISVILLE, Ky. (AP) — Mike Battaglia, who set the morning-line odds for every Kentucky Derby since 1974, is retiring ahead of next month’s 152nd edition.

Battaglia correctly identified the Kentucky Derby favorite 39 times in 51 runnings for a success rate of 76.5%.

He also served as Churchill Downs’ announcer from 1977-97 and later as simulcast host from 1997-2007.

Advertisement

“I’m very appreciative of everyone at Churchill Downs for the opportunity over the years,” Battaglia said Friday in a release from the track. ”It’s been a great run, but I felt like it was the right time to step away and let someone else take it forward.”

The track has named Nick Tammaro to succeed Battaglia. Tammaro currently works in a variety of industry roles: morning-line oddsmaker at Keeneland, track announcer at Sam Houston racetrack, and handicapper at TwinSpires.

“It’s an honor to take over for Mike,” Tammaro said. “He’s a legend in our industry and someone I’ve looked up to for a long time. I just hope to do his line justice.”


AP horse racing: https://apnews.com/hub/horse-racing

Top Sports Stories on WDRB.com

Advertisement

Copyright 2026 The Associated Press. All rights reserved. This material may not be published, broadcast, rewritten or redistributed without permission.



Source link

Continue Reading

Kentucky

Kentucky Derby Festival Block Party returns to Norton Healthcare Sports & Learning Center

Published

on

Kentucky Derby Festival Block Party returns to Norton Healthcare Sports & Learning Center


Kentucky Derby Festival Block Party returns to Norton Healthcare Sports & Learning Center

Advertisement

Advertisement

Kentucky Derby Festival Block Party returns to Norton Healthcare Sports & Learning Center

Updated: 9:28 PM EDT Apr 4, 2026

Editorial Standards

Advertisement

The Kentucky Derby Festival Block Party returned to the Norton Healthcare Sports & Learning Center Saturday.Guests were able to stop by and enjoy an afternoon filled with of food, live entertainment, and family-friendly activities.The party also featured over 50 minority-owned businesses from MELANnaire Marketplace that were showing off the items they had for sale.”Well, here you get local makers, who are making all types of fascinators. They make clothing, artwork. We got a food drive, I mean everything. It’s all kinds of amazing products, and we’re so happy to be able to showcase them,” said Nachane Trapue, the founder of MELANnaire Marketplace.Norton Healthcare was also on site providing wellness tips, and the Heuser Hearing Institute offered free hearing screenings.

The Kentucky Derby Festival Block Party returned to the Norton Healthcare Sports & Learning Center Saturday.

Guests were able to stop by and enjoy an afternoon filled with of food, live entertainment, and family-friendly activities.

Advertisement

The party also featured over 50 minority-owned businesses from MELANnaire Marketplace that were showing off the items they had for sale.

“Well, here you get local makers, who are making all types of fascinators. They make clothing, artwork. We got a food drive, I mean everything. It’s all kinds of amazing products, and we’re so happy to be able to showcase them,” said Nachane Trapue, the founder of MELANnaire Marketplace.

Norton Healthcare was also on site providing wellness tips, and the Heuser Hearing Institute offered free hearing screenings.

Advertisement
Advertisement

`;
}

function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}

function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;

function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});

clickedElement.classList.add(‘open’);
clickedElement.setAttribute(‘aria-selected’, ‘true’);

Advertisement

container.querySelectorAll(‘[data-content-id]’).forEach(function(content) {
content.style.display = ‘none’;
content.setAttribute(‘hidden’, ‘true’);
});

var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}

function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}

var location = { zip: window.DEFAULT_ZIPCODE };

try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}

Advertisement

var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;

if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}

function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;

var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);

if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.wlky.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘mobile-weather’, “https://www.wlky.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}

Advertisement

function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;

var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}

var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}

var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}

var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}

Advertisement

var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}

updateWeatherBackground(weatherData.current.icon_name);
}
}

function updateWeatherBackground(iconName) {
try {
var bgPath = weatherImages.backgrounds[iconName] || weatherImages.backgrounds.unknown;
container.style.backgroundImage=”url(” + bgPath + ‘)’;
} catch (e) {
console.log(‘Error updating weather background:’, e);
}
}

function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;

if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);

Advertisement

for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex

`;
}

function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}

function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;

function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});

Advertisement

clickedElement.classList.add(‘open’);
clickedElement.setAttribute(‘aria-selected’, ‘true’);

container.querySelectorAll(‘[data-content-id]’).forEach(function(content) {
content.style.display = ‘none’;
content.setAttribute(‘hidden’, ‘true’);
});

var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}

function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}

var location = { zip: window.DEFAULT_ZIPCODE };

Advertisement

try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}

var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;

if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}

function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;

var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);

Advertisement

if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.wlky.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘sidelist-weather’, “https://www.wlky.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}

function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;

var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}

var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}

var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}

Advertisement

var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}

var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}

updateWeatherBackground(weatherData.current.icon_name);
}
}

function updateWeatherBackground(iconName) {
try {
var bgPath = weatherImages.backgrounds[iconName] || weatherImages.backgrounds.unknown;
container.style.backgroundImage=”url(” + bgPath + ‘)’;
} catch (e) {
console.log(‘Error updating weather background:’, e);
}
}

function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;

Advertisement

if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);

for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex

Loading more articles…



Source link

Advertisement
Continue Reading

Kentucky

Florence neighbor rebuilding man’s dream home after fire, terminal diagnosis

Published

on

Florence neighbor rebuilding man’s dream home after fire, terminal diagnosis


A Northern Kentucky community is coming together to help one man rebuild his home.On Saturday, a fire tore through a house at the end of Brittany Lane, leaving behind heavy damage and years of work nearly destroyed.But for Richard Reinhart, the loss goes far beyond the structure itself.“This was his big project,” neighbor Danielle Armstrong said. “He bought the land and then just built the house and built the house for years and years and years.”Armstrong was the one who called 911 after noticing smoke pouring from the home. She said flames quickly spread, leaving the house badly damaged.Reinhart and his wife were able to make it out safely.Still, the home holds deep meaning. Armstrong said Reinhart spent decades building it by hand, carefully crafting a space meant to bring generations of family together. Just months before the fire, Reinhart was diagnosed with glioblastoma, an aggressive form of brain cancer with no known cure.“He doesn’t have long to live,” Armstrong said.Now, what was once a long-term dream has become something far more urgent.Reinhart’s goal is no longer just to build the home, but to return to it.“My goal with the GoFundMe is to raise funds so that we can rebuild this house together for Richard, so that he can leave it to his family,” Armstrong said. “This is his final place that he wants to be.”Armstrong said her motivation is simple.“I don’t have a lot in life, and Richard’s always been there for me through a lot,” she said. “So you do that for friends that really care about you.”The two have known each other for decades — even living as neighbors twice over the years — a connection Armstrong says makes this effort even more meaningful.Now, she’s leading the charge to help rebuild the home, starting a GoFundMe and helping organize local fundraisers. Longnecks Sports Grill in Hebron will host a Dine and Dinner event at all its locations April 11 from 5 to 9 p.m. For Armstrong, the goal is clear: to help Reinhart return to the home he built — and the place he hopes to spend his final days.“This was his dream,” she said. “And I want his dream to come true.”

A Northern Kentucky community is coming together to help one man rebuild his home.

On Saturday, a fire tore through a house at the end of Brittany Lane, leaving behind heavy damage and years of work nearly destroyed.

Advertisement

But for Richard Reinhart, the loss goes far beyond the structure itself.

“This was his big project,” neighbor Danielle Armstrong said. “He bought the land and then just built the house and built the house for years and years and years.”

Armstrong was the one who called 911 after noticing smoke pouring from the home. She said flames quickly spread, leaving the house badly damaged.

Advertisement

Reinhart and his wife were able to make it out safely.

Still, the home holds deep meaning. Armstrong said Reinhart spent decades building it by hand, carefully crafting a space meant to bring generations of family together.

Just months before the fire, Reinhart was diagnosed with glioblastoma, an aggressive form of brain cancer with no known cure.

“He doesn’t have long to live,” Armstrong said.

Now, what was once a long-term dream has become something far more urgent.

Advertisement

Reinhart’s goal is no longer just to build the home, but to return to it.

“My goal with the GoFundMe is to raise funds so that we can rebuild this house together for Richard, so that he can leave it to his family,” Armstrong said. “This is his final place that he wants to be.”

Armstrong said her motivation is simple.

“I don’t have a lot in life, and Richard’s always been there for me through a lot,” she said. “So you do that for friends that really care about you.”

The two have known each other for decades — even living as neighbors twice over the years — a connection Armstrong says makes this effort even more meaningful.

Advertisement

Now, she’s leading the charge to help rebuild the home, starting a GoFundMe and helping organize local fundraisers.

Longnecks Sports Grill in Hebron will host a Dine and Dinner event at all its locations April 11 from 5 to 9 p.m.

For Armstrong, the goal is clear: to help Reinhart return to the home he built — and the place he hopes to spend his final days.

“This was his dream,” she said. “And I want his dream to come true.”

Advertisement



Source link

Continue Reading

Trending