In 1996, he voted for the Defense of Marriage Act, which prohibits federal recognition of same-sex marriage. In 1999, he voted to prohibit gay couples in Washington from adopting. Two years ago, his son told him he was gay.

And last week, Sen. Rob Portman announced a change of heart, saying he had decided to support same-sex marriage. The stance puts him at odds with two-thirds of Republican voters and the rest of his fellow Republicans in the Senate.

"I have come to believe that if two people are prepared to make a lifetime commitment to love and care for each other in good times and in bad, the government shouldn't deny them the opportunity to get married," Portman wrote in an essay for the Columbus Dispatch.