And Vice-President Pence declared that "President Trump believes with all his heart that love for America requires love for all its people".
Meanwhile, a supporter seated directly behind stage even wore a T-shirt that stated: "Trump & Republicans are not racist".
Then Trump took the stage.
He didn't attempt to continue the carefully choreographed messaging of the night or to narrow the ever-deepening divide between the thousands of supporters gathered in the convention centre hall before him and the thousands of protesters waiting outside.
Instead, Trump spent the first three minutes of his speech - which would drag on for 75 minutes - marvelling at his crowd size, claiming that "there aren't too many people outside protesting", predicting that the media would not broadcast shots of his "rather incredible" crowd and reminiscing about how he was "centre stage, almost from day one, in the debates".
"We love those debates - but we went to centre stage, and we never left, right?" the President said, reliving his glory days. "All of us. We did it together."
Over the next 72 minutes, the president launched into one angry rant after another, repeatedly attacking the media and providing a lengthy defence of his response to the violent clashes in Charlottesville, between white supremacists and neo-Nazis and the counterprotesters who challenged them.
He threatened to shut down the government if he doesn't receive funding for a wall along the southern border, announced that he will "probably" get rid of the North American Free Trade Agreement, attacked the state's two Republican senators, repeatedly referred to protesters as "thugs" and coyly hinted that he will pardon Joe Arpaio, the former sheriff of Maricopa County who was convicted in July of criminal contempt in Arizona for ignoring a judge's order to stop detaining people because he merely suspected them of being undocumented immigrants.
Three times, the crowd burst into chants of "USA! USA! USA!" And once, at the mention of Trump's former rival Hillary Clinton, they chanted: "Lock her up! Lock her up! Lock her up!" Several parents put their young children on their shoulders so they could get a good look at the President.
But as the night dragged on, many in the crowd lost interest in what Trump was saying.
Hundreds left early, while others plopped down on the ground, scrolled through their social media feeds or started up a conversation with their neighbours. After waiting for hours in 42C heat to get into the rally hall - where their water bottles were confiscated by security - people were tired and dehydrated and the President just wasn't keeping their attention. Although Trump has long been the master of reading the mood of a room and quickly adjusting his message to satisfy as many of his fans as possible, his rage seemed to cloud his senses.
Early in his speech, when Trump still had the attention of his followers, he recited his definition of what it means to be a Trump supporter.
"This evening, joined together with friends, we reaffirm our shared customs, traditions and values," Trump began. "We love our country. We celebrate our troops. We embrace our freedom. We respect our flag. We are proud of our history. We cherish our Constitution - including, by the way, the Second Amendment. We fully protect religious liberty. We believe in law and order. And we support the incredible men and women of law enforcement. And we pledge our allegiance to one nation under God."
Minutes later, Trump transitioned to a topic that he would return to again and again.
"What happened in Charlottesville strikes at the core of America," Trump said, appearing to read from the teleprompters placed on stage. "And tonight, this entire arena stands united in forceful condemnation of the thugs who perpetrate hatred and violence."
Many in the crowd lit up at the use of the word "thugs" and applauded. Later in the evening, Trump would repeatedly use the same word to describe the protesters who showed up to his campaign rallies.
"But the very dishonest media," Trump continued, "those people right up there, with all the cameras."
He was cut off by loud booing. He smirked and nodded in agreement. A few people shouted, "Fake news!" A young girl in the crowd, who was wearing a white Make America Great Again hat, looked down at the handmade credential round her neck that stated in blue marker: "4th grade press."
"I mean truly dishonest people in the media and the fake media, they make up stories," Trump said. "They don't report the facts. Just like they don't want to report that I spoke out forcefully against hatred, bigotry and violence and strongly condemned the neo-Nazis, the white supremacists and the KKK."
Trump reached into his suit pocket and removed a different set of talking points.
"I'm really doing this to show you how damned dishonest these people are," Trump said, promising that this would take "just a second" and would be "really fast".
Trump then took more than 16 minutes to read the various statements that he made about Charlottesville over several days, noting the use of all-caps for one word and skipping over the part where he said that "many sides" were responsible for the violence. After reading each snippet, Trump would detail why that response was not good enough for the media.
"Why did it take a day? He must be a racist," Trump said, the first of the five times he imitated people calling him a racist.
Along the way, Trump defended his use of Twitter and bragged that he went to "better schools" and lives "in a bigger, more beautiful apartment" than those who are considered elites. He said the "failing New York Times is, like, so bad", mocked CNN for its ratings and accused the Washington Post of being "a lobbying tool for Amazon" because the newspaper is owned by Jeffrey P. Bezos, who founded Amazon. The crowd repeatedly booed the reporters in their midst and chanted: "CNN sucks! CNN sucks!"
At one point, Trump was interrupted by two protesters, who were quickly led out of the arena by security, giving Trump's supporters something to videotape and share on Facebook or Snapchat.
"Don't bother," Trump said, as the crowd booed. "It's only a single voice. And not a very powerful voice."
He returned to reading aloud his own statements and recounting the resulting media coverage, which led to commenting on CNN's panels of "real lightweights", which led to him defending a surrogate who was fired by CNN this month for tweeting the Nazi salute, "Sieg Heil!"
"And they fired Jeffrey Lord. Poor Jeffrey. Jeffrey Lord," Trump said. "I guess he was getting a little fed up, and he was probably fighting back a little bit too hard."
Without even taking a breath, Trump resumed reading a statement from August 14 in which he condemned violence caused by "the KKK, neo-Nazis, white supremacists and other hate groups that are repugnant to everything we hold true as Americans". That statement came two days after the violence in Charlottesville.
"So they were having a hard time with that one, because I said everything," Trump said, then flippantly launching into a laundry list of hate groups. "I hit 'em with neo-Nazi. I hit 'em with everything. I got the white supremacists, the neo-Nazi. I got them all in there. Let's see: KKK? We have KKK. I got 'em all."
Trump eventually wrapped up this defence by saying, in part: "The words were perfect."
The President then tried to connect this lengthy self-examination to his supporters. Meanwhile, a growing number of them were calling it a night and heading to the exits.
"The media can attack me, but where I draw the line is when they attack you, which is what they do. When they attack the decency of our supporters," Trump said, without explaining what he meant. "You are honest, hard-working, taxpaying - and by the way, you're overtaxed, but we're going to get your taxes down."
Trump would return to taxes later - but first, he had to blame the media for "fomenting divisions" in the country, "trying to take away our history and our heritage" and "giving a platform to these hate groups." He called reporters "sick people" and "really, really dishonest" and accused them of turning "a blind eye" to gang violence, public school failures and "terrible, terrible trade deals."
"You would think they'd want to make our country great again, and I honestly believe they don't," he said. "I honestly believe it."
Trump took a brief detour into immigration, prompting him to ask the crowd: "By the way, I'm just curious. Do the people in this room like Sheriff Joe?"
The crowd burst into wild cheers, thinking that Trump was about to pardon Arpaio, which press secretary Sarah Huckabee Sanders had said just hours earlier would not happen that day.
"So, was Sheriff Joe convicted of doing his job?" Trump continued. "You know what? I'll make a prediction. I think he's going to be just fine, okay? But I won't do it tonight, because I don't want to cause any controversy. Is that okay?"
Back on his immigration talking points, Trump detailed a trip he made earlier that day to Yuma, Arizona, for a briefing on border security - and he casually threatened to "close down our government" to get funding for a wall along the southern border. He again called for getting rid of the filibuster rule requiring more than a simple majority - a change that congressional Republicans have said won't magically lead to the President's agenda passing. And he went after the state's two Republican senators without naming them.
"They all said, 'Mr President, your speech was so good last night. Please, please, Mr President, don't mention any names'," Trump said, referring to a Monday night speech about Afghanistan. "So I won't. I won't. No I won't. I will not mention any names. Very presidential, isn't it? Very presidential."
Trump listed what he sees as accomplishments during his first seven months, including nominating a new Supreme Court justice and 31 federal judges.
"We've ended the war on beautiful, clean coal, and it's just been announced that a second, brand-new coal mine, where they're going to take out clean coal - meaning, they're taking out coal, they're going to clean it - is opening in the state of Pennsylvania," Trump said, completely misrepresenting what clean coal is.
Trump noted that West Virginia Govenor Jim Justice switched back to being a Republican after a brief stint as a Democrat, which somehow segued into his thoughts on the removal of Confederate statues from many cities.
"They're trying to take away our culture. They are trying to take away our history," Trump said. "And our weak leaders, they do it overnight. These things have been there for 150 years, for 100 years. You go back to a university, and it's gone. Weak, weak people."
His next sentence: "We are going to protect American industry. We are going to protect the American worker."
Trump apologised that it is taking so long to renegotiate Nafta and commented that "we'll end up probably terminating Nafta at some point." He added for emphasis: "Probably." Trump talked about climate change, adding jobs to the private sector, decreasing the unemployment rate and getting rid of regulations.
He acknowledged that he has had to disband some of his business advisory board following protests of his reaction to Charlottesville - although he claimed that some of these business leaders will still meet with him privately.
"These people just don't get it. They are calling, and they're saying, 'How about getting together privately?' They like it better. Why should they be on a council?" Trump said. "You know, that's the way it is, folks. That's the way it is."
Trump finally got back to promising to pass tax legislation, along with a major infrastructure package, and called for Congress to help him with both.
"This is our moment. This is our chance," Trump said. "This is our opportunity to recapture our dynasty like never before."
He ended the rally by declaring: "Thank you, Arizona. God bless you. Thank you. Thank you."
Those who remained filed out of the convention centre, stepping outside and into what at times felt like a war zone. Hundreds of protesters shouted: "Racists go home!" Police wearing riot helmets formed a line between the two groups. Further down the street, small clumps of supporters and protesters started heated debates, with each side holding up their smartphones to record the interaction. Police released pepper balls and made three arrests. A helicopter circled overhead as police warned that those who stayed in the area risked arrest.
"Oh boy. Oh Lord," said Kelly Coombs, a 42-year-old data administrator from Phoenix, as she stepped outside, holding a pink sign saying "Women for Trump" and trying to ignore the things yelled at her. "Here we go."