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.”
WATCH: Donald Trump posts statement after deadly shooting at Pennsylvania rally
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.
Outside the perimeter, there were stands selling food, beverages and Trump paraphernalia, as is common at the rallies. Behind the stage, separated from the field by waist-high metal barriers, another field stretched out, dotted with distant buildings. The crowd perked up when Trump's favorite playlist began, kicking off with The Village People's “YMCA.” Then Trump walked out toward the stage, wearing his familiar red hat, a black suit, white shirt unbuttoned at the neck and no tie.
He smiled and pointed at the crowd as they cheered him, waiting for the Lee Greenwood song to conclude before starting his remarks. “This is a big crowd,” Trump said. “This is a big, big beautiful crowd.”
After name-checking David McCormick, the Republican running against Pennsylvania's Democratic Sen. Bob Casey, and promising to bring him on stage later in the rally, Trump turned to one of his favorite themes. “We have millions and millions of people in our country who should not be here,” he said. “Dangerous people.”
Then he directed the audience to the projected chart of border crossings.
After the shots rang out and Trump was hustled offstage, agents in black uniforms carrying rifles, the agency's Counter-Assault team, flooded the stage. The crowd stayed down with the exception of one clutch of people standing near the left edge of the perimeter, near the sounds of gunfire.
WATCH: Witness say he saw shooter at Trump rally: 'When I turned my back, shots started'
Rico Elmore, vice chairman of the Beaver County Republican Party, was sitting in a section for special guests, facing Trump, when he heard what sounded like firecrackers. “So, everyone hesitated — and it was like, no, these are actual shots," he said in an interview. "So I yelled, ‘Get down!’”
Elmore heard someone from his left calling for a medic. While Elmore isn’t a medic, he knows first aid and CPR from his time in the military. He jumped a barricade, but when he reached the person, Elmore saw he had been shot in the head. Elmore said he held the victim’s head, but it was too late.
"I mean, it was a horror,” Elmore said.
The victim has not been identified.
WATCH: Biden says 'everybody must condemn' attack on Trump
Even as Trump was driven off, rallygoers stayed low. Some had heard the bullets ricocheting off the grandstand, severing a hydraulic line connecting to the speakers, which began to topple. Others quickly called family or looked on their phones to find out what had happened to the former president.
“Is he all right?” people began to ask. “Is he OK?”
Eventually, people began to trickle out. A small group of about a half-dozen stopped at the fenced area holding the media. “It's all your fault!” they yelled.
Police and then the Secret Service ushered everyone out. An hour after the shooting the vast field was declared a crime scene, littered with empty plastic water bottles and soggy cardboard containers that once held cheese fries.