Connect with us

Iowa

Tornadoes and hail reported across northern Iowa counties

Published

on

Tornadoes and hail reported across northern Iowa counties


Tornadoes and hail reported across northern Iowa counties

Advertisement

KCCI EIGHT NEWS AT TEN STARTS NOW. GOOD EVENING. IT HAS BEEN AN ACTIVE EVENING IN NORTHERN IOWA. ACTIVE WEATHER EVENING. THIS PICTURE SENT TO US BY STEVE FITCHETT SHOWS A TORNADO ON THE GROUND NEAR GILLETT GROVE. YOU CAN SEE THE DEBRIS KICK UP THERE. THIS WAS IN CLAY COUNTY. THIS WAS A TORNADO WARNED STORM NEAR THAT AREA. TONIGHT. A TORNADO WARNED STORM ALSO MOVED THROUGH KOSSUTH COUNTY THIS EVENING. THAT’S A LIVE LOOK RIGHT NOW FROM ALGONA. THANKFULLY THE TORNADO WATCH FOR THE COUNTY JUST EXPIRED AT THE TOP OF THE HOUR, SO IT SHOULD BE A MUCH CALMER NIGHT AHEAD. THE STORM ROLLED THROUGH SANBORN THIS AFTERNOON. TAKE A LOOK AT THIS. ALYSSA BECKER SENT US THESE PICTURES OF THE HAIL THAT FELL THERE TODAY. THAT’S A BIG HAIL AND DOES SOME DAMAGE. ABSOLUTELY. WE SAW EVEN THE LIVE LOOK FROM ALGONA. YOU SAW SOME LIGHTNING THERE. SO EVEN FOR THESE AREAS THAT ARE OUT OF KIND OF THE ROUGH STUFF THERE, JASON, STILL A LITTLE BIT OF A, YOU KNOW, I DON’T KNOW, THINGS THAT CATCHES THEIR EYE TONIGHT. ABSOLUTELY. THERE’S

Advertisement

Tornadoes and hail reported across northern Iowa counties

Updated: 11:16 PM CDT Apr 13, 2026

Editorial Standards

Advertisement

Severe storms swept through northern Iowa Monday evening, bringing tornadoes and hail to several counties.A tornado was spotted on the ground near Gillett Grove in Clay County, as shown in a photo sent by Steve Fitchett. The area experienced a tornado-warned storm Monday night. A tornado-warned storm also moved through Kossuth County this evening. A live view from Algona showed the conditions, and the tornado watch for the county expired at 10 p.m.Earlier in the day, the storm rolled through Sandborn, bringing hail to the area. Alyssa Becker shared pictures of the hail from the scene.

Severe storms swept through northern Iowa Monday evening, bringing tornadoes and hail to several counties.

Advertisement

A tornado was spotted on the ground near Gillett Grove in Clay County, as shown in a photo sent by Steve Fitchett. The area experienced a tornado-warned storm Monday night.

A tornado-warned storm also moved through Kossuth County this evening. A live view from Algona showed the conditions, and the tornado watch for the county expired at 10 p.m.

Earlier in the day, the storm rolled through Sandborn, bringing hail to the area. Alyssa Becker shared pictures of the hail from the scene.

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.kcci.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘mobile-weather’, “https://www.kcci.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.kcci.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘sidelist-weather’, “https://www.kcci.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

Iowa

Iowa City Man who ran over people in homeless encampment sentenced to nearly two decades in prison

Published

on

Iowa City Man who ran over people in homeless encampment sentenced to nearly two decades in prison


IOWA CITY, Iowa (KCRG) – An Iowa City man who pleaded guilty to driving into five people at a homeless encampment last August has been sentenced to serve nearly two decades in prison.

On August 15, 2025, Roman Aguilar Ventura drove his vehicle while under the influence through an encampment near Shelter House, an organization that assists homeless people.

Ventura pleaded guilty to several charges in March, including Operating While Under the Influence, two counts of Willful Injury Resulting in Bodily Injury, and three counts of Assault with a Dangerous Weapon. He also pleaded guilty to Driving While Barred and Driving While License Denied or Revoked.

In addition to his sentence, Ventura will also be subject to a six-year suspension of his drivers license, in addition to substance abuse treatment.

Advertisement

Copyright 2026 KCRG. All rights reserved.



Source link

Continue Reading

Iowa

Where is Iowa State football placed in USA TODAY’s Big 12 rankings?

Published

on

Where is Iowa State football placed in USA TODAY’s Big 12 rankings?


play

For the second straight year, the Big 12 Conference did not release preseason football rankings for the upcoming season, but that didn’t stop the USA TODAY Sports Network from making its own predicted order of finish for the 2026 season as well as a preseason All-Big 12 team.

Sports writers who cover the Big 12 throughout the network voted on the predicted order of finish for all 16 teams.

Advertisement

Iowa State lost the winningest coach in program history, Matt Campbell, and had a massive roster rebuild after finishing 8-4 last season. With a team loaded with more than 60 newcomers and a coach who is new to the power-conference level in Jimmy Rogers, the Cyclones were tabbed to finish in last place in the USA TODAY Sports’ preseason Big 12 rankings.

Texas Tech, which won its first Big 12 title in school history last season and reached the quarterfinals of the College Football Playoff, is projected to repeat and finish on top. BYU, which lost to the Red Raiders in the Big 12 championship game last season, is predicted to finish in second place. Utah, Houston and Arizona round out the top five of the USA TODAY Sports Network’s preseason Big 12 prediction.

For the USA TODAY Sports Network preseason All-Big 12 team, the Cyclones didn’t have any players selected, but they did have a few honorable mentions.

Running back Aiden Flora, kicker Kyle Konrardy and defensive end Isaac Terrell were chosen as honorable mentions for the USA TODAY Sports Network preseason All-Big 12 team.

Advertisement

Flora and Konrardy are returning All-Big 12 selections. Flora was an all-conference second-team returner last season, and Konrardy was named All-Big 12 honorable mention.

Terrell is one of the Cyclones’ promising newcomers. He was named the Pac-12 Defensive Line Top Performer of the Year and had a team-high seven sacks at Washington State last season.

2026 USA TODAY Sports Network Big 12 football preseason predicted order of finish

  1. Texas Tech
  2. BYU
  3. Utah
  4. Houston
  5. Arizona
  6. TCU
  7. Kansas State
  8. Arizona State
  9. Oklahoma State
  10. Baylor
  11. UCF
  12. Kansas
  13. Cincinnati
  14. West Virginia
  15. Colorado
  16. Iowa State

2026 USA TODAY Sports Network Preseason All-Big 12 award winners

Offensive Player of the Year: L.J. Martin, RB, BYU

(Also receiving votes: Noah Fifita, QB, Arizona; Drew Mestemaker, QB, Oklahoma State; Amare Thomas, WR, Houston)

Advertisement

Defensive Player of the Year: Ben Roberts, LB, Texas Tech

(Also receiving votes: A.J. Holmes, DL, Texas Tech; Brice Pollock, DB, Texas Tech; Austin Romaine, LB, Texas Tech)

Newcomer of the Year: Drew Mestemaker, QB, Oklahoma State

(Also receiving votes: Caleb Hawkins, RB, Oklahoma State; Cam Cook, RB, West Virginia; Adam Trick, DL, Texas Tech)

2026 USA TODAY Sports Network Preseason All-Big 12 football team

Offense:

Advertisement
  • QB: Noah Fifita, Arizona
  • RB: L.J. Martin, BYU
  • RB: Caleb Hawkins, Oklahoma State
  • WR: Amare Thomas, Houston
  • WR: Omarion Miller, Arizona State
  • WR: Wyatt Young, Oklahoma State
  • TE: Terrance Carter Jr., Texas Tech
  • OL: Evan Tengesdahl, Cincinnati
  • OL: Bruce Mitchell, BYU
  • OL: Shadre Hurst, Houston
  • OL: John Pastore, Kansas State
  • OL: Howard Sampson, Texas Tech

Defense:

  • DL: A.J. Holmes, Texas Tech
  • DL: Wendell Gregory, Kansas State
  • DL: Adam Trick, Texas Tech
  • DL: Mateen Ibirogba, Texas Tech
  • LB: Ben Roberts, Texas Tech
  • LB: Austin Romaine, Texas Tech
  • LB: Cade Uluave, BYU
  • DB: Brice Pollock, Texas Tech
  • DB: Faletau Satuala, BYU
  • DB: Jamel Johnson, TCU
  • DB: Will James, Houston

Special teams:

  • K: Stone Harrington, Texas Tech
  • P: Palmer Williams, Baylor
  • KR/PR: J’Koby Williams, Texas Tech

Honorable mentions:

  • Arizona: DB Jay’vion Cole; LB Taye Brown
  • Arizona State: WR Reed Harris, DL CJ Fite
  • BYU: QB Bear Bachmeier, DL Keanu Tanuvasa, LB Isaiah Glasker, DB Evan Johnson
  • Cincinnati: OL Joe Cotton, OL Taran Tyo, DB MJ Cannon, P Max Fletcher, K Stephen Rusnak
  • Colorado: WR Danny Scudero, LB Gideon ESPN Lampron, KR Quentin Gibson
  • Houston: OL Drew Terrill
  • Iowa State: DL Isaac Terrell, K Kyle Konrady, KR Aiden Flora
  • Kansas: DL Leroy Harris III, LB Trey Lathan, KR Dylan Edwards
  • Kansas State: TE Garrett Oakley
  • Oklahoma State: QB Drew Mestemaker, LB Ethan Wesloski
  • TCU: WR Jordan Dwyer, OL Ben Taylor-Whitfield, P John Hoyet Chance
  • Texas Tech: RB Cameron Dickey, WR Coy Eakin, WR Malcolm Simmons, OL Sheridan Wilson, DB Brenden Jordan, DL Trey White
  • Utah: RB Wayshawn Parker, DB Jackson Bennee, KR Mana Carvalho
  • West Virginia: RB Cam Cook, P Bryan Hansen

Eugene Rapay covers Iowa State athletics for the Des Moines Register. Contact Eugene at erapay@gannett.com. Follow him on Twitter at @erapay5.





Source link

Continue Reading

Iowa

Julien Dubuque Bridge fully closed until August, free shuttle offered

Published

on

Julien Dubuque Bridge fully closed until August, free shuttle offered


DUBUQUE, Iowa (KCRG) — The Julien Dubuque Bridge is closed for the next month for repairs.

More than 18,000 drivers used the U.S. Highway 20 bridge daily, according to Iowa DOT traffic data. The closure forces drivers looking to cross the Mississippi River between Iowa and Illinois to use the Dubuque-Wisconsin Bridge.

Mollie Smith, a Dubuque resident, said she used the bridge several times a week to travel to East Dubuque and Galena to shop, spend time at her family’s lake house and visit with friends.

Smith said she has no plans to visit Illinois in July.

Advertisement

“I’m trying to avoid it at all costs,” she said.

The highway detour is rerouting traffic to the Locust Street Connector, leading to rush hour backups extending to Highway 20.

Smith said the closure is also changing how she drives within Dubuque.

“Just to come here to the river walk, I ended up taking Asbury [Road] and kind of went that route through town rather than taking the highway. I just won’t do it,” Smith said.

While the full closure is expected to end in August, eastbound traffic from Dubuque to Illinois will not reopen until the project is finished in September. Depending on the project’s progress, Iowa DOT may enforce additional closures.

Advertisement

Smith said the wait will be worth it.

“We don’t need it collapsing,” she said.

Iowa DOT is offering a free shuttle between Dubuque and East Dubuque during the closure by reservation.

Pickup and drop-off locations are the Dubuque Intermodal Transportation Center and the East Dubuque Public Library. Reservations can be made by calling 563-589-4196.

Copyright 2026 KCRG. All rights reserved.

Advertisement



Source link

Continue Reading
Advertisement

Trending