Even before Tuesday's primary set the ballot for November, Minnesota's 8th District was expected to be one of the most hotly contested congressional races in the country.
Incumbent Democrat Rep. Rick Nolan announced earlier this year he would not run for re-election, and Republicans are keen to flip a U.S. House seat in what has been a reliably blue district.
• Full coverage: Election 2018
Democrats held Minnesota's 8th District seat from the late 1940s until 2010 when Republican Chip Cravaack upset longtime incumbent Jim Oberstar. Cravaack lost to Democrat Nolan two years later.
But the district, which runs from the northern Twin Cities suburbs through the Iron Range to the Canadian border, is changing politically.
The district is getting older, with a median age of 38 in 2000, 39 in 2006, and 43 today, making it the oldest congressional district in Minnesota.
And the population is shifting south. St. Louis County is still the largest population, but grew little since 2000, while Chisago county grew by 33-percent in the same period.
Nolan edged out a narrow victory in 2016 as President Trump won the district by 15 points.
"This is not only one of the most competitive races in Minnesota, but it's one of the most competitive races in the country," said University of Minnesota associate professor Kathryn Pearson. "And as Democrats nationally look at the 23 seats they need to take majority party control, they also have to factor in that it's possible Democrats could lose some seats and this could be one of them."
The importance of the 8th District was underscored in June, when President Trump held a rally in Duluth, and again Wednesday when he tweeted an endorsement of Pete Stauber.
.@PeteStauber won big last night in Minnesota. A big star in Hockey, he will be an even bigger star in politics. It all begins with a win in November. Pete has my complete and total Endorsement!— Donald J. Trump (@realDonaldTrump) August 15, 2018
Stauber and his Democratic opponent Joe Radinovich both expect a lot of national attention and outside money between now and November, but both think the race will be won in the trenches, talking to voters.
Radinovich sees the district as about a third Republican and a third Democrat.
"And the rest are somewhere in the middle and I think that that's really where campaigns are waged, talking to those folks who may be undecided or may be dissatisfied with the direction of our country and what's happening in Washington D.C. It's about appealing to them," he said.
"The national attention that this race is going to get and has gotten so far, that's good, that means Minnesota is on the map and the 8th District is important," said Stauber, "But all elections are local. I can go into any cafe or small business and talk to people about what I believe in and it's resonating."
Stauber is a well-known retired police officer and St. Louis County commissioner. He says Republican tax cuts were good for the 8th District and he supports the president's economic agenda.
Radinovich grew up on the Iron Range, served in the state Legislature and recently worked for Minneapolis Mayor Jacob Frey.
As they shift into high gear for a general election campaign, both candidates identify the economy and jobs as the top issue on voters' minds.
And central to that debate will be mining; a hot-button issue in a district with abundant mineral resources and popular wilderness areas.
Controversial proposals for copper-nickel mining have divided communities in the 8th District.
"The constituents understand that my support for mining is unwavering. I support iron ore and copper-nickel mining and there's not a candidate in the race that can say that, not even my loyal opposition Joe can say that without having to look behind and see who's listening," said Stauber.
"If Mr. Stauber wants to talk about how we differ on mining, that's something that I'm very happy to talk about," said Radinovich. "Unregulated mining might be his position and that's just fine for, you know, some folks but I think that most people are reasonable and understanding that we have to do two things. We have to find things that we need for life in the 21st century and that means minerals and other things, and we also have to make sure that we protect the environment."
Other key issues identified by Radinovich are protecting Medicare and Social Security for an aging population, and improving the health care system.
Stauber hears a lot about the opioid crisis and health care on the campaign trail.
Independence party candidate Ray "Skip" Sandman did not respond to an interview request for this story.
Demographic data provided by the APM Research Lab.