Hundreds of thousands of people have been demonstrating in Paris against the French government's plans to legalise marriage and adoption for same-sex couples.
Protesters travelled from all over the country for Sunday's demonstration, supported by leaders of the centre-right opposition, the Catholic church and France's Muslim community.
Police estimated the crowd at 340,000, making it one of the largest demonstrations in Paris since an education protest in 1984. Organisers said a million people were attending.
The "Demo for All", a reference to the government's billing of its legislation as "marriage for all", started at three points across Paris, filling boulevards throughout the city as demonstrators walked to the Eiffel Tower.
President Francois Hollande, who promised to legalise gay marriage and adoption during his election campaign last year, has a comfortable parliamentary majority to pass the law by June as planned.
But his poor handling of other promises, such as a 75 percent tax on the rich that was ruled unconstitutional or his faltering struggle against rising unemployment, has soured the public mood.
'Defence of children'
The demonstration, in near-freezing temperatures, included young and old protesters, many of them couples with children.
"The French are tolerant, but they are deeply attached to the family and the defence of children," said Daniel Liechti,
vice-president of the National Council of French Evangelicals, which urged its members to join the march.
Slogans on the posters and banners approved by the organisers included "marriagophile, not homophobe," "all born of
a father and mother" and "paternity, maternity, equality".
Harlem Desir, the Socialist Party's First Secretary, said the size of the demonstration would have no impact on the government's plans.
"The right to protest is guaranteed in our country but I'd remind everyone that we are fully committed to enshrine in law the principle that all those who love each other should have the right to marry and adopt," Desir said.
Gay marriage opponents such as Cardinal Andre Vingt-Trois, head of the Catholic Church in France, have asked why Hollande is pushing through a divisive social reform called "marriage for all" when voters seem more concerned about "jobs for all".
Vingt-Trois spearheaded the opposition with a critical sermon in August. Other faith leaders - Muslim, Jewish, Protestant and Orthodox Christian - soon spoke out, too.
Support for gay marriage in France has slipped by about 10 percentage points to under 55 percent since opponents began speaking out, according to surveys, and fewer than half of those polled recently wanted gays to win adoption rights.
Same-sex nuptials are already legal in 11 countries including Belgium, Portugal, Netherlands, Spain, Sweden, Norway and South Africa, as well as nine US states.