Tens of thousands of Mexicans protested Sunday against US President Donald Trump, hitting back at his anti-Mexican rhetoric and his pledges to make their country pay for his "big, beautiful" border wall.
"Mexico must be respected, Mr Trump," said a giant banner carried by protesters in Mexico City, who waved a sea of red, white and green Mexican flags as they marched down the capital's main avenue under the watchful eyes of thousands of police.
Protester Julieta Rosas was wearing a T-shirt with a picture of Trump sporting an Adolf Hitler mustache.
"We're here to make Trump see and feel that an entire country, united, is rising up against him and his xenophobic, discriminatory and fascist stupidity," said Rosas, a literature student at the National Autonomous University of Mexico (UNAM).
In what looked set to be Mexico's biggest anti-Trump protest yet, some 20 cities joined the call to march made by a group of dozens of universities, business associations and civic organizations.
There were 20,000 demonstrators in Mexico City, according to local authorities. Marches in Guadalajara, Monterrey and Morelia also drew thousands of people -- though a planned protest in the border city of Tijuana fell flat.
US-Mexican relations have plunged to their lowest point in decades since Trump took office on January 20.
Trump, who launched his presidential campaign calling Mexican immigrants "criminals" and "rapists," has infuriated the United States' southern neighbor with his plan to stop illegal migration by building a wall on the border.
Mexican President Enrique Pena Nieto canceled a January 31 trip to Washington over Trump's insistence that Mexico pay for the wall.
"This is a time to build bridges, not walls," said 73-year-old protester Jose Antonio Sanchez, who was marching in Mexico City with his nine-year-old granddaughter.
American protester Erick Smith, who is married to a Mexican woman, marched with a sign reading "Sorry Mexico."
"I came to say that I'm ashamed of my president," he told AFP. "I don't want this wall."
Trump has also wrought havoc on the Mexican economy with his threats to terminate the country's privileged trade relationship with the United States, blaming Mexico for the loss of American jobs.
The Mexican peso has taken a beating nearly every time Trump has insisted he will renegotiate the North American Free Trade Agreement (NAFTA), attacked car-makers and other companies that manufacture in Mexico, or vowed to slap steep tariffs on Mexican-made goods.
Mexico sends 80 percent of its exports to the United States -- nearly $300 billion in goods in 2015.
The confrontation has stoked patriotic pride in Mexico, where US companies like Starbucks, Coca-Cola and McDonald's are the targets of boycotts. Many people have taken to putting the Mexican flag in their profile pictures on social media.
Not everyone is on board with Sunday's protests, however.
Some accused Pena Nieto of using them to try to bolster his own popularity -- which has taken a beating over perceptions that he has been too conciliatory toward a bullying neighbor.
The hashtag "#It'sNotTrumpIt'sPena" is trending on Twitter in Mexico.
The new nationalism appears to be giving a boost to Mexican presidential hopeful Andres Manuel Lopez Obrador, whom some political analysts call a "leftist Donald Trump" for his populist, anti-establishment rhetoric.
Lopez Obrador -- widely known by his initials, AMLO -- was the runner-up in the past two presidential elections.
He is leading in opinion polls for presidential elections in 2018 and appears to be benefiting from Trump's anti-Mexican vitriol, which has badly dented not only Pena Nieto -- who is ineligible for re-election -- but also the ruling PRI party.
Ironically, a Lopez Obrador victory next year could work to Trump's disadvantage, giving him a far more hardline counterpart to work with.
As Sunday's protests unfolded in Mexico, Lopez Obrador was visiting the United States to address both Mexicans and Americans in Los Angeles about what he called Trump's "poisonous" rhetoric.