I think there's a bit of "social engineering" going on.
The way that is done, is "the engineers" (whoever/whatever they are) define the "socially acceptable" limits the public can go, creating the appearance of freedom of choice. Over the course of some years (ten to twentyish) one of the borders is moved in the direction they desire (in the current case, more to the Left), and almost concurrently the other side loses territory associated with that side...after a few years, what was known as "normal and socially acceptable" behavior is now defined as oafish and rude (LGBT rights, as an example).
And after the dust settles on these minor (or sometimes major) movements, the public (most of whom don't actually think, they feel) again is free to choose between the new social limits.
The Republicans haven't figured this out yet, and are trying to hold onto their territory which has already been lost.
The Democrats believe they are oh so wise, when they (like the Republicans, Libertarians, and the Tea Party) are just stooges of the Social Engineers.
imho