Connect with us

Kentucky

Depth Charts: Louisville vs. Kentucky

Published

on

Depth Charts: Louisville vs. Kentucky


LOUISVILLE, Ky. – Rivalry week has finally arrived. The Louisville and Kentucky football program are set to do battle once again, facing off in Lexington for the annual Battle for the Governor’s Cup.

Here are the depth charts for both the Cardinals and Wildcats:

Changes from Louisville’s Depth Chart vs. Pitt:

Quarterback

Advertisement

9 Tyler Shough (6-5, 230, Gr.)
10 Pierce Clarkson (6-1, 190, R-Fr.)
OR 15 Harrison Bailey (6-5, 230, R-Sr.)
OR 12 Brady Allen (6-6, 220, R-So)

Running Back

25 Isaac Brown (5-9, 190, Fr.)
21 Donald Chaney Jr. (5-10, 210, R-Jr.)
26 Duke Watson (6-0, 180, Fr.)
22 Keyjuan Brown (5-10, 210, R-Fr.)

Wide Receiver

0 Chris Bell (6-2, 220, Jr.)
81 Cataurus Hicks (5-10, 180, R-Fr.)

Advertisement

Wide Receiver

1 Ja’Corey Brooks (6-3, 195, R-Sr.)
49 Kris Hughes (5-11, 190, R-Fr.)
82 Jahlil McClain (5-11, 180, R-Fr.)

Wide Receiver

81 Cataurus Hicks (5-10, 180, R-Fr.)
24 Ahmari Huggins-Bruce (5-11, 180, Sr.)
0 Chris Bell (6-2, 220, Jr.)

Tight End

Advertisement

83 Mark Redman (6-6, 255, Gr.)
85 Nate Kurisky (6-3, 240, R-So.)
88 Jaleel Skinner (6-5, 225, So.)

Left Tackle

71 Monroe Mills (6-7, 315, Jr.)
70 Trevonte Sylvester (6-6, 280, R-Jr.)

Left Guard

68 Michael Gonzalez (6-4, 305, Sr.)
73 Madden Sanker (6-5, 310, R-Fr.)

Advertisement

Center

50 Pete Nygra (6-4, 300, R-Jr.)
73 Madden Sanker (6-5, 310, R-Fr.)

Right Guard

56 Renato Brown (6-4, 315, R-Sr.)
OR 51 Austin Collins (6-3, 295, R-Jr)

Right Tackle

Advertisement

70 Trevonte Sylvester (6-6, 280, R-Jr._

Defensive End

9 Ashton Gillotte (6-3, 275, Sr)
41 Ramon Puryear (6-3, 275, R-Sr.)
91 Richard Kinley II (6-3, 235, R-Sr.)

Nose Tackle

99 Dezmond Tell (6-1, 295, Sr.)
90 Rene Konga (6-4, 290, R-Sr.)
55 William Spencer (6-5, 305, R-Fr.)

Advertisement

Defensive Tackle

93 Jared Dawson (6-2, 305, R-Jr.)
50 Thor Griffith (6-2, 320, Gr.)

Leo (DE/LB)

19 Tramel Logan (6-4, 247, R-Sr.)
33 Myles Jernigan (6-3, 235, R-Sr.)
98 Adonijah Green (6-6, 240, R-Fr.)

Middle Linebacker

Advertisement

34 T.J. Quinn (6-1, 230, R-Jr.)
32 Jurriente Davis (6-1, 235, R-Sr.)
18 T.J. Capers (6-2, 220, R-Fr.)

Weakside Linebacker

6 Stanquan Clark (6-3, 230, So.)
15 Dan Foster Jr. (6-3, 225, R-Sr.)

STAR (LB/S)

35 Antonio Watts (6-2, 225, Jr.)
OR 10 Benjamin Perry (6-3, 205, R-Jr.)

Advertisement

Cornerback

3 Quincy Riley (6-0, 185, R-Sr.)
23 Tahveon Nicholson (5-11, 180, Sr.)

Cornerback

14 Corey Thornton (6-1, 190, Sr.)
OR 23 Tahveon Nicholson (5-11, 180, Sr.)

Free Safety

Advertisement

12 Tamarion McDonald (6-2, 195, Sr.)
OR 21 D’Angelo Hutchinson (6-3, 195, Jr.)

26 M.J. Griffin (6-1, 200, R-Sr.)
21 D’Angelo Hutchinson (6-3, 195, Jr.)

Punter

93 Brady Hodges (6-1, 200, Sr.)
39 Carter Schwartz (6-4, 230, R-Fr.)

Placekicker

Advertisement

38 Brock Travelstead (6-1, 205, Sr.)
98 Nick Keller (6-1, 200, R-So.)

Holder

93 Brady Hodges (6-1, 200, Sr.)
39 Carter Schwartz (6-4, 230, R-Fr.)

Long Snapper

48 Shai Kochav (6-3, 230, R-Jr.)
46 Brady McEnaney (6-2, 225, Fr.)

Advertisement

Kick Returner

1 Ja’Corey Brooks (6-3, 195, R-Sr.)
25 Isaac Brown (5-9, 190, Fr.)

Punt Returner

24 Ahmari Huggins-Bruce (5-11, 180, Sr.)
3 Quincy Riley (6-0, 195, R-Sr.)

Left Tackle

Advertisement

69 Marques Cox (6-5, 318, Sr-1L)
71 Malachi Wood (6-8, 320, Fr-RS)

Left Guard

62 Jager Burton (6-4, 316, Jr-2L,)
53 Aba Selm (6-4, 303, Fr-HS)

Center

75 Eli Cox (6-4, 309, Sr-4L)
50 Koby Keenum (6-4, 302, Fr-RS)

Advertisement

Right Guard

52 Jalen Farmer (6-5, 314, So-Tr)
73 Dylan Ray (6-6, 310, Jr-1L)

Right Tackle

71 Malachi Wood (6-8, 320, Fr-RS,)
78 Anfernee Crease (6-6, 315, So-Tr)

Wide Receiver (F)

Advertisement

9 Ja’Mori Maclin (5-11, 190, Jr-Tr)
5 Anthony Brown-Stephens (5-10, 176, So-1L)

Wide Receiver (X)

7 Barion Brown (6-1, 182, Jr-2L)
13 Fred Farrier II (6-1, 182, Jr-Tr)

Wide Receiver (Z)

6 Dane Key (6-3, 210, Jr-2L)
13 Fred Farrier II (6-1, 182, Jr-Tr)

Advertisement

Tight End (Y)

84 Josh Kattus (6-4, 246, Jr-2L)
81 Willie Rodriguez (6-4, 245, Fr-HS)

Tight End (F)

85 Jordan Dingle (6-4, 238, So-1L)
15 Khamari Anderson (6-5, 252, So-1L)

Quarterback

Advertisement

12 Brock Vandagriff (6-3, 217, Jr-Tr)
8 Cutter Boley (6-5, 214, Fr-HS)
or 2 Gavin Wimsatt (6-3, 227, Jr-Tr)

Running Back

0 Demie Sumo-Karngbaye (6-0, 210, Sr-1L)
10 Jamarion Wilcox (5-10, 197, Fr-RS)

Defensive End

90 Tre’vonn Rybka (6-4, 284, Sr-3L)
8 Octavious Oxendine (6-1, 278, Sr-4L)

Advertisement

Nose Guard

9 Keeshawn Silver (6-4, 336, Jr-1L)
99 Kendrick Gilbert (6-5, 275, Fr-RS)

Defensive Tackle

0 Deone Walker (6-6, 345, Jr-2L)
92 Kahlil Saunders (6-5, 291, Jr-2L)

Strongside Linebacker

Advertisement

3 Alex Afari Jr. (6-2, 222, Jr-2L)
or 42 Tyreese Fearbry (6-5, 242, So-1L)

Outside Linebacker

13 J.J. Weaver (6-5, 255, Sr-4L)
55 Noah Matthews (6-5, 254, So-1L)
2 Jamon Dumas-Johnson (6-1,245, Sr-Tr)
22 Grant Godfrey (6-3, 225, Fr-RS)

Middle Linebacker

2 Jamon Dumas-Johnson (6-1,245, Sr-Tr)
22 Grant Godfrey (6-3, 225, Fr-RS)

Advertisement

Weakside Linebacker

3 Alex Afari Jr. (6-2, 222, Jr-2L)
34 Jayvant Brown (6-0, 225, So-1L)

Field Cornerback

6 JQ Hardaway (6-3, 191, Jr-1L)
or 10 Jantzen Dunn (6-0, 185, Jr-1L)

Boundary Cornerback

Advertisement

1 Maxwell Hairston (6-1, 186, Jr-2L)
5 DJ Waller Jr. (6-3, 202, So-Tr)
or 21 Nasir Addison (6-0, 199, So-1L)

Strong Safety

11 Zion Childress (6-0, 195, Sr-2L)
4 Kristian Story (6-1, 213, Sr-Tr)

Free Safety

25 Jordan Lovett (6-2, 205, Jr-2L)
or 14 Ty Bryant (6-0, 197, So-1L)

Advertisement

Kicker

16 Alex Raynor (6-0, 185, Sr-1L)
91 Jacob Kauwe (6-1, 206 (Fr-HS)

Kickoffs

48 Aidan Laros (6-2, 212, Jr-Tr)
91 Jacob Kauwe (6-1, 206, Fr-HS)

Punter

Advertisement

48 Aidan Laros (6-2, 212, Jr-Tr)
93 Wilson Berry (6-4, 217, Jr-1L)

Long Snapper

42 Alex McLaughlin (5-10, 229, Jr-Tr)
56 Walker Himebauch (6-1, 223, So-1L)

Short Snapper

56 Walker Himebauch (6-1, 223, So-1L)
42 Alex McLaughlin (5-10, 229, Jr-Tr)

Advertisement

Holder

93 Wilson Berry (6-4, 217, Jr-1L)
48 Aidan Laros (6-2, 212, Jr-Tr)

Kickoff Return

7 Barion Brown (6-1, 182, Jr-2L)
0 Demie Sumo-Karngbaye (6-0, 210, Sr-1L)

Punt Return

Advertisement

9 Ja’Mori Maclin (5-11, 190, Jr-Tr)
or 7 Barion Brown (6-1, 182, Jr-2L)
6 Dane Key (6-3, 210, Jr-2L)

*Depth chart from Kentucky’s last game vs. Texas. Their DT vs. Louisville has yet to be released.

(Photo of Ashton Gillotte: Matt Stone – The Courier Journal / USA TODAY NETWORK)

You can follow Louisville Cardinals On SI for future coverage by liking us on Facebook, Twitter/X and Instagram:

Facebook – @LouisvilleOnSI
Twitter/X – @LouisvilleOnSI
Instagram – @louisvilleonsi

Advertisement

You can also follow Deputy Editor Matthew McGavic at @Matt_McGavic on Twitter/X





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