Marriage is both a legal contract and a religious sacrament. The dual nature of marriage makes it a more complicated question than, say, voting rights.
Nobody should be denied access to the benefits of the marriage contract based on race, nationality, religion or sexual orientation. Gay married couples should have the same rights as any other couples in regard to pensions, insurance, credit, hospital visitation or anything else.
Neither should anybody be required to support or participate in a religious ritual they don’t believe in, for the same reason that nobody should be required to recite the Lord’s Prayer in a public ceremony if they don’t believe in it.
For example, an independent photographer who believes on religious grounds that marriage is only between a man and a woman should not be required to take photographs as a gay wedding.
I think that religious institutions should be free to set their own internal rules of moral conduct, including sexual conduct.
On the other hand, I do not believe that owners of a business corporation have the right to impose their private moral beliefs on employees, or to use religion as an excuse for depriving employees of their legal rights, as was done by the Hobby Lobby corporation.