The packed field of Democratic presidential candidates descended Friday night on a small, northern Iowa town, delighting a raucous crowd of voters by largely attacking President Donald Trump rather than each other.
Some of the loudest applause at the Wing Ding fundraiser came for Massachusetts Sen. Elizabeth Warren, who tailored her message to her rural surroundings, saying she'd stand up for small farmers against "big ag" interests.
"Trade war by tweet is not working for our farmers," she said of Trump's using Twitter to announce tariffs on China, which has stung international markets. "I promise you this, when I'm president, when I negotiate a trade deal there will be independent farmers at the table."
Also energizing the crowd was Mayor Pete Buttigeig of South Bend, Indiana, who accused the president of "coddling white nationalism" and mocked Trump's background in television, saying he wasn't sure if its current occupant had turned the White House into a "reality show" or a "horror show."
"What we're going to do is pick up the remote and change the channel," Buttigeig, the youngest presidential candidate, proclaimed to sustained cheers.
Once a low-key fundraiser that served up chicken wings and raised money for Democratic candidates and nearby county parties, the event has grown in stature in the state that kicks off presidential primary voting.
Sen. Amy Klobuchar of neighboring Minnesota poked fun at the parade of candidates taking the stage one after another and forcing everyone to keep their speeches short: "Last time I had 20 minutes, and this time I have 20 candidates."
Some who ran longer than their allotted five minutes — including the evening's final speaker, former Vice President Joe Biden — were subjected to musical cues trying to play them offstage, just like the Academy Awards.
The event coincides with the state fair in Des Moines, and most Democratic White House hopefuls have been crisscrossing the state for days. California Sen. Kamala Harris is on a bus tour, New York Sen. Kirsten Gillibrand is traveling via RV and former Colorado Gov. John Hickenlooper has a Winnebago. Many of Friday's speeches featured cracking voices after long stretches of campaigning.
Biden, who has consistently led in the polls, offered a long list of Trump's actions that he said had stirred up racial division before declaring: "Let's call this what it is. This is white nationalism, this is white supremacy."
The candidates overlapped with messages of how Trump had spread hate and fear nationwide. But a few also offered stern warnings that topping the president in 2020 will be tough.
Vermont Sen. Bernie Sanders said Trump will win unless Democrats have an argument that "speaks to the pain and reality of the working families of this country." Hickenlooper noted that Trump's approval rating was about 42 percent, just a tad lower than Presidents Ronald Reagan and Barack Obama before they won reelection. He also said neither Reagan nor Obama had "an economy as strong as the one today."
Hickenlooper said the Democrats need to look at the nation's history to beat Trump and swiped at the numerous senators seeking the White House, saying no senator has ever beaten a sitting president — only former governors have because they were closer to their constituents.
But most of the others played nice, a departure from two rounds of recent debates that featured frequent clashes. Things were civil behind-the-scenes, too.
As Harris spoke, Biden breezily milled through the crowd of staffers, Democratic activists and security personnel backstage. The pair has developed an increasingly testy rapport since the first debate, but Biden, with his trademark grin, was smiling and shaking hands — including with Harris aides waiting for their candidate to finish.
Iowa is also getting its first look at billionaire environmental activist Tom Steyer, who only recently joined the race. Steyer said he alone could challenge a fellow rich man like Trump, exposing his "pattern of fraud."
The candidates also consistently blamed Trump for not doing enough to prevent mass shootings like those in Ohio and Texas last week.
Former Rep. Beto O'Rourke canceled his Iowa visit to remain in his hometown of El Paso, Texas, where 22 people died. His campaign will stay suspended through the weekend and perhaps beyond.
"We've been asked a couple of times by folks when we're gonna get back on the campaign trail. We will at some point," O'Rourke said in a Facebook video from his home Friday. "We really want to be here right now for El Paso, for the families."
O'Rourke also appeared in a somber video during Friday's event.
"I'm sad that I can't be with you in person," he said. "I hope to see you in the very near future."
Associated Press writers Bill Barrow and Thomas Beaumont contributed to this report.