On Oct. 27, the steps of Penn Station — and spilling out onto the surrounding streets — red “MAGA” hats went as far as the eye could see. With just over a week before Election Day, Donald Trump gave his closing remarks to the 2024 presidential campaign in front of a crowd that filled Madison Square Garden. Outside the venue, hundreds of anti-Trump protesters did their part to add to the noise, but were outnumbered by Trump rally goers.

Vendors lined the sidewalks selling Trump campaign merchandise (Credit: Adrian O’Farrill)

Rally supporters made Trump and nationalist flags to fly over the crowds. (Credit: Adrian O’Farrill)

Anti-protestors mock Trump and supporters with costumes and signs. (Credit: Adrian O’Farrill)

The steps of Penn Station were flooded with protestors and rally supporters. (Credit: Adrian O’Farrill)

Supporters clash with protestors on the steps of Penn Station (Credit: Adrian O’Farrill)

Gays for Trump supporter shouts at anti-protestors. (Credit: Adrian O’Farrill)

The main block of anti-protestors hold signs and shout back at supporters. (Credit: Adrian O’Farrill)

A man carries a child on his shoulders, both wearing “MAGA” hats. (Credit: Adrian O’Farrill)

A man wears a QAnon Shaman costume, chanting and yelling outside Madison Square Garden. (Credit: Adrian O’Farrill)