The Civil Rights movement in the 60's took the Democrats away from their political roots, which was exploited by the Republicans starting with Nixon. The result over the following generation was almost a complete switch in the two parties.

Once this is understood, other odd things are then explained. Like why it is that lots of people who hate the North for the Civil War now vote for the party that lead the North into that war.

Cheers,
Ben