BUTLER, Pa. — At 6:02 pm Saturday, to the strains of ''God Bless the U.S.A.,'' former President Donald Trump took the stage at fairgrounds in Butler, Pennsylvania, waving at the cheering crowd and settling into his regular rally speech under a scorching midsummer sun.
A few short minutes later, Trump pointed to a projection of a chart that showed a spike in illegal border crossings under the man he's running against, President Joe Biden. ''That chart's a couple of months old,'' Trump told the crowd. ''And if you want to see something really sad —''
That's when the shots rang out, at least five. Trump clutched his ear as dark-suited Secret Service agents dashed toward him. He dropped to the ground as the agents yelled, ''Get down!'' The thousands of rallygoers packed into the field in front of him moved as one, dropping down as silence spread across the grass, punctuated only by an occasional scream.
Moments later, Trump stood as the Secret Service agents crowded around him, covering his body with their own. They tried to usher the former president offstage to his left as blood trickled from his ear. ''Wait, wait, wait,'' Trump said. He pumped his fist as the crowd cheered, and seemed to mouth the word ''fight'' before agents hustled him down the stairs and to a waiting black SUV. Trump pumped his fist one more time before getting inside.
The local district attorney said the shooter and one rallygoer were dead. The FBI early Sunday identified the shooter as Thomas Matthew Crooks, 20, of Bethel Park, Pennsylvania.
In a statement issued shortly after the attack, which officials say was an apparent assassination attempt, Trump's campaign said he was ''fine.''
There were no hints of the horror to come as rallygoers assembled outside the secure Secret Service perimeter earlier that afternoon. Butler is a city of 13,000 located 33 miles north of Pittsburgh in western Pennsylvania, firmly in Trump country. It's the sort of rural Rust Belt area that helped make Trump president in 2016 and almost kept him in office in 2020 — Trump won Butler County by 32 percentage points.
The green grass of the field was slowly covered by a sea of red Make America Great Again hats as the temperature climbed to 90 degrees Fahrenheit. Local politicians occasionally spoke as rallygoers patiently waited hours, occasionally breaking into chants of ''Trump! Trump! Trump!'' At one point, a giant American flag hanging above the stage became tangled, prompting chants of ''fix the flag!'' until it was correctly unfurled.