In a flashy Independence Day address that departed from tradition, President Donald Trump paid tribute to the US military and celebrated the country's 243-year-long history while urging Americans to fight for a better future.
Mr Trump, who on Thursday became the first president in almost 70 years to make a Fourth of July address at the monument-studded National Mall of Washington DC, recounted the achievements of military heroes and historical figures to the thousands gathered.
"We will always be the people who defeated a tyrant, crossed a continent, harnessed science, took to the skies and soared into the heavens," he said in a hour-long speech bookended by ferocious rain, a flyover and fireworks.
All five branches of the military were lauded, as Mr Trump paused during each segment for the military band to play the official songs of the Air Force, Army, Coast Guard, Marine Corps and Navy, and for fighter jets to fly overhead.
"Together, we are part of one of the greatest stories ever told - the story of America," said Mr Trump, from behind rain-streaked bulletproof glass at the Lincoln Memorial, where Martin Luther King Jr delivered his "I Have a Dream" speech 56 years ago.
"As long as we stay true to our cause, as long as we remember our great history, and as long as we never stop fighting for a better future, then there will be nothing that America cannot do," he added.
US presidents do not traditionally address crowds at the National Mall on July 4, and Thursday's unorthodox parade - inspired by France's Bastille Day show which Mr Trump attended in 2017 - drew brickbats from Democrats who accused him of putting himself at the centre of a national holiday.
Former vice-president and 2020 presidential hopeful Joe Biden tweeted before the event that it was "designed more to stroke (Mr Trump's) ego than celebrate American ideals".
Mr Trump was also criticised for deploying military hardware, including tanks, in a civilian celebration. The White House has not yet released the bill for the event, but media reports estimated its cost at millions of dollars.
Others had feared that a celebration of the national holiday would devolve into the kind of partisan rally speech the pugilistic Mr Trump is known for giving at his campaign rallies. But the President stayed on script in a lofty speech devoid of the usual jabs at his political opponents or praise of his political allies, and aired none of his regular grievances against the media.
However, he stumbled on history when he talked about "airports" during the American Revolution. "Our Army manned the air, it rammed the ramparts, it took over airports," Mr Trump said of the fighting force in 1775. There was, of course, no air travel in the 18th century.
The same could not be said for the crowd, decked in the red, white and blue of the US flag and the occasional MAGA cap harking back to Mr Trump's Make America Great Again campaign slogan in 2016.
But protesters set up an inflatable balloon of a diaper-wearing baby Trump and handed out mini-balloons, though the 6m-high blimp itself had been grounded.
Earlier, leftist protesters burned a US flag in front of the White House and clashed with Trump supporters, including members of the Proud Boys, a far-right group with ties to white nationalism. Two individuals were arrested, said the Secret Service in a statement.