The demographics alone doesn’t explain it; it is the absolute domination of media outlets along with the demographics that make it impossible for Republicans. As long as they are portrayed as white bigots to the Third World’s losers that wash up here, the Dem majority is permanent.
The immigration issue has deeply divided the Republican Party. President Bush and then Presidential nominee McCain supported amnesty bills (Hagel-Martinez in 2006 and McCain-Kennedy in 2007) against the majority of their own party. Moreover, we had the sorry spectacle of people like Karl Rove and Lindsey Graham castigating their fellow Republicans [read Conservatives] who opposed amnesty using such epithets as bigots, racists, and nativists. These criticisms just reinforce the Democrat branding of the GOP and alienate minorities who perceive that they are not welcome in the party.
Moreover, being branded as a racist political party hurts the GOP in recruiting new members, regardless of race or ethnicity. America is not a racist country and no one wants to be associated with a racist organization.
The GOP is its own worst enemy. Look at how they are crucifying Cruz. The language of Peter King and John McCain against Cruz is destructive and uncalled for. Can you imagine any Democrat using such language against one of their own colleagues?