Russian police have detained at least 25 LGBT rights activists during a protest in St Petersburg to promote the rights of sexual minorities.

About 60 activists gathered at the main square in the city centre, despite a ban being placed on the rally.

They held up placards and rainbow-coloured flags, and called for LGBT rights to be protected.

In 2013, Russia passed legislation banning the spreading of what it described as gay propaganda.

Organisers of Saturday's rally said that each demonstrator had protested alone, to avoid the rally being classified as a gathering.

There were no clashes between Russian police and the activists, but those holding up protest materials were pulled into a police van against their will.

The demonstration's co-organiser Aleksei Nazarov told the AFP news agency that police had targeted demonstrators who had the "most colourful flags and clothes".

Demonstrators at the rally told the Reuters they were there to show solidarity with the community.

"This topic is silenced in the mass media. These [gay] people exist, the authorities should work with them somehow and we should search for dialogue," one protester, Mikhail, said.