Clergy in robes. A woman handing out flowers. Black Lives Matter activists. Armed militia members. Students. Angry anti-fascist protesters.
The diverse group of people who came to oppose a weekend gathering of white nationalists in this Virginia college town seemed to outnumber the rally-goers. The counter-protesting groups didn't organize collectively. Instead, it was a largely organic effort among groups who shared the same mission: showing that hate wasn't welcome.
"They just wanted to come out and say no. They wanted to come out and show a robust love for community and what America is meant to stand for," said Lisa Woolfork, a University of Virginia professor and 17-year Charlottesville resident. "And I find that very heartening, very encouraging."
Officials have not provided a crowd estimate, but there appeared to be at least 500 people supporting the rally sparked by Charlottesville's decision to remove a Confederate monument. At least twice as many appeared to be there to oppose them.
The violence between the groups erupted well before the event was supposed to start.
Neo-Nazis, skinheads, Ku Klux Klan members, and other white supremacists made their way to the park at the same time as counter-protesters, and the two sides clashed. People threw punches, screamed, set off smoke bombs, hurled water bottles and unleashed chemical sprays. Some came prepared for a fight, with body armor and helmets. Others darted around, trying to avoid the chaos.
"I've never seen that kind of hatred up front. It was pretty raw, pretty coarse," scholar and activist Cornel West, one of the most high-profile counter-protesters, told The Associated Press in an interview Sunday.
There were pockets of peaceful resistance, too. One woman quietly handed out flowers. A group stood in a circle, hands uplifted, singing hymns. One man toted a tuba.
Volunteer medics bobbed in and out of the fray, helping people who had been sprayed with chemicals, and others passed out water and snacks.
Walt Heinecke, another University of Virginia professor, obtained city permits for events in two nearby parks, and counter-protesters used the sites as a place of respite.
Professor Heinecke said he was surprised to see members of an armed leftist group who stationed themselves nearby, providing protection for people there.
Meanwhile, many of the rally attendees stood behind barriers officials had put up, waiting for the event to get underway. But the speakers never got the chance.
As the chaos grew, authorities declared it an unlawful assembly and forced the crowd to disperse. The rally leaders, including organizer Jason Kessler – a local right-wing blogger and activist – urged supporters to go home.
Mr. Kessler blamed the violence on police, saying they didn't do enough to maintain order and protect his group's right to free speech.
About two hours later, pockets of counter-protesters who had been marching through town converged on a downtown street. Hundreds were streaming along, cheering, and waving flags.
"There was a real feeling like we had driven them out of the town," said Ross Mittiga, a UVA researcher who recently ran an unsuccessful campaign for the state House of Delegates.
That was quickly shattered when a car plowed into the crowd, hurling people into the air. Heather Heyer, 32, was killed and 19 others were injured. Just hours later, a state police helicopter that had been deployed as part of the response crashed in a field outside of town, killing two.
In blog posts after the violence, the Daily Stormer, a leading white nationalist website that promoted the Charlottesville event, pledged to hold more events "soon."
Opponents said they'd be ready.
"We have got to keep fighting, keep the love in it, keep sacrificing for justice," Mr. West said. "We have no choice at this point."
This story was reported by The Associated Press.