Hillary Clinton dropped her opposition to gay marriage in 2013.

That presumes 1) Clinton is a liberal and 2) that she’s typical of liberals and, of course, neither is the case.

Your use of that word “mainstream” is a bear-trap too. For a lot of years, a chunk of people didn’t like applying the word “marriage” to recognition of homosexual relationships. It was one of those quirks like why the Affordable Care Act scores worse if the pollster calls it “Obamacare.” But even when that was the case, most of the public had supported legal recognition of homosexual relationships and this goes back significantly longer than you assume. The CBS News poll began asking respondents about this subject on a recurring basis in 2004, offering both “marriage” and “civil unions” as options. By then, a majority of the public already favored one or the other. In March ’04, 55% favored some form of legal recognition. CBS asked the same question in 15 subsequent polls and the number either remains relatively steady (sometimes it dropped a hair but never much) or goes up. Support was always high. In March ’05, it was 57%. In March ’07, it was 60%. In April ’09, it was 67%. In Aug. ’10, it was 70%, and, by then, 59% of Republicans were, for the first time, endorsing legal recognition. Overall, “legal marriage” has been favored, by respondents, over “civil unions” since May 2008. By 2012, a majority of Americans were saying they supported “marriage” and the “civil unions” language was dropped from the poll. A bare majority of Republicans still don’t support “marriage” but everyone else came around. CBS has conducted 16 polls since the “civil unions” language was dropped. In the most recent, from June 2016, 58% of the public said same-sex marriage should be legal, including large majorities of Democrats and independents and 38% of Republicans (52% of Republicans opposed it). Some form of legal recognition has been the mainstream view in the U.S. for at least 13+ years, even when some pols were slow to catch up.