DALLAS, TEXAS: Texas has delivered one of the biggest upsets in modern US politics, ending more than three decades of Republican rule in what was long the party’s most reliable stronghold.
Democrat Gina Hinojosa defeated three-term Republican Governor Greg Abbott in Tuesday’s midterm elections. Abbott conceded to supporters in Austin on Tuesday night, saying he had called Hinojosa to congratulate her.
Hinojosa will be the first Latina governor of Texas and the first Democrat elected to the office since Ann Richards in 1990. She is expected to take office in January 2027.
In the US Senate race, Democrat James Talarico defeated Republican Attorney General Ken Paxton, who had been endorsed by President Donald Trump. Talarico becomes the first Democrat elected to the Senate from Texas since 1988, and his win is the party’s first statewide victory in the state since 1994.
Democratic supporters celebrated at watch parties in Houston, Dallas and across the state as the results came in.
From red to blue
During the campaign, Texas was seen as a state drifting from red towards purple, where Democrats might at best capture the Senate seat. Abbott’s defeat overturned those assumptions.
Analysts say Hispanic voters were central to the shift. Immigration crackdowns, inflation, rising housing costs and healthcare dominated the campaign. A pre-election Univision poll found 52% of Hispanic voters backing Hinojosa and 55% backing Talarico, with 56% saying immigration enforcement had gone too far.
Democrats highlighted the human and economic toll of Trump’s immigration policies and Abbott’s border measures. Republicans defended them as essential to border security and the rule of law.
Debates over religious freedom, statements about Muslims and proposed Sharia-related legislation also featured in the state’s politics, though their effect on voters remains unclear.
Impact in Washington
The shock in Texas was part of a wider Democratic wave. The party won control of the US Senate, and CBS News projected it would also take the House, though some races remained uncalled.
A Democratic Senate will shape Trump’s legislative agenda, his nominations and oversight of his administration for the rest of his term. The new Congress takes office in January 2027.
The result may also revive talk of impeachment. The House can impeach a president by a simple majority, but removal requires a two-thirds vote in the Senate — 67 senators if all 100 vote. Even with 52 seats, Democrats would need at least 15 Republicans to convict.
A warning for Republicans
For Republicans, Texas means more than two lost seats. It is a warning that their hold on the state can no longer be taken for granted.
Still, it is too early to call Texas a permanent blue state. The state legislature, other offices and the 2028 presidential vote will show whether Tuesday’s shift is the start of a lasting realignment.
let firebaseLoaded = false; function loadFirebaseOnce() { if (firebaseLoaded) return; firebaseLoaded = true; import("https://www.gstatic.com/firebasejs/8.10.1/firebase-app.js").then(() => { //import("https://www.gstatic.com/firebasejs/8.10.1/firebase-analytics.js"); import("https://www.gstatic.com/firebasejs/8.10.1/firebase-messaging.js").then(() => { import("https://www.geo.tv/assets/front/ui/js/subscribe_user.js?v=553222"); }); }); }
window.addEventListener("scroll", loadFirebaseOnce, { once: true }); window.addEventListener("mousemove", loadFirebaseOnce, { once: true }); window.addEventListener("click", loadFirebaseOnce, { once: true });
//setTimeout(function(){ $('.medium-insert-images').find('figure').show() }, 3000); var loadDeferredJS = function() {
var lazyloadjs = ['https://www.geo.tv/assets/front/js/lazysizes.min.js'];
var alljs = ['https://www.geo.tv/assets/front/js/ui/thirdparty.js'];
var jqueryjs = ['https://www.geo.tv/assets/front/js/ui/jquery.min_new.js']; var bootstrapjs = ['https://www.geo.tv/assets/front/js/ui/bootstarp.js']; var sliderjs = ['https://www.geo.tv/assets/front/js/ui/swiper.min.js'];
var alljscustom = ['https://www.geo.tv/assets/front/js/ui/my.js','https://www.geo.tv/assets/front/js/mycustom.js'];
setTimeout(function(){ jqueryjs.forEach(function (item,index) { var scriptElement=document.createElement('script'); scriptElement.type="text/javascript"; scriptElement.src = item; document.body.appendChild(scriptElement); }); }, 1000);
const jqueryIntervalcheck = setInterval(function () { if(typeof jQuery !== "undefined"){ clearInterval(jqueryIntervalcheck);
setTimeout(function(){ sliderjs.forEach(function (item,index) { if(item == 'https://www.geo.tv/assets/front/js/ui/swiper.min.js'){ var story_embed_gallery = $('.story-area').find('.embedgallery').length; //var story_embed_gallery = 0; if(parseInt(story_embed_gallery) > 0){ var scriptElement=document.createElement('script'); scriptElement.type="text/javascript"; scriptElement.src = item; document.body.appendChild(scriptElement); } } }); }, 100);
setTimeout(function(){ alljscustom.forEach(function (item,index) { var scriptElement=document.createElement('script'); scriptElement.type="text/javascript"; scriptElement.src = item; document.body.appendChild(scriptElement); }); }, 1300);
if($('.infogram-embed').length > 0 || $('embedinfogram').length > 0) { !function (e, t, n, s) { var i = "InfogramEmbeds", o = e.getElementsByTagName(t)[0], d = /^http:/.test(e.location) ? "http:" : "https:"; if (/^\/{2}/.test(s) && (s = d + s), window[i] && window[i].initialized)window[i].process && window[i].process(); else if (!e.getElementById(n)) { var a = e.createElement(t); a.async = 1, a.id = n, a.src = s, o.parentNode.insertBefore(a, o) } }(document, "script", "infogram-async", "https://e.infogram.com/js/dist/embed-loader-min.js"); }
if($('.flourishClass').length > 0) { var scriptElement=document.createElement('script'); scriptElement.type="text/javascript"; scriptElement.setAttribute="async"; scriptElement.src="https://public.flourish.studio/resources/embed.js"; document.body.appendChild(scriptElement); }
if($('.apester-media').length > 0) { var scriptElement=document.createElement('script'); scriptElement.type="text/javascript"; scriptElement.setAttribute="async"; scriptElement.src="https://static.apester.com/js/sdk/latest/apester-sdk.js"; document.body.appendChild(scriptElement); }
if($('.twitter-tweet').length > 0) { var tweetObj = document.getElementsByClassName('tweetPost'); var counter_tweet = 0; if (tweetObj.length == 0) { tweetObj = document.getElementsByClassName('twitter-tweet'); $.each(tweetObj, function (i, v) { $(this).attr('id', 'twitter-post-widget-' + i); }); } else { $.each(tweetObj, function (i, v) {
if($(this).find('.twitter-tweet').length > 0){ $(this).find('.twitter-tweet').attr('id', 'twitter-post-widget-' + counter_tweet); counter_tweet++; } }); } $.getScript('https://platform.twitter.com/widgets.js', function () { var k = 0; var tweet = document.getElementById('twitter-post-widget-' + k); var tweetParent, tweetID;
while (tweet) { tweetParent = tweet.parentNode; //tweetID = tweet.dataset.tweetId; tweetID = tweetParent.getAttribute("id"); if(tweetID === null){ tweetID = tweet.dataset.tweetId; } //var tweetVideoClass = tweet.getAttribute('class').split(' ')[0]; $(tweet).remove();
twttr.widgets.createTweet( tweetID, tweetParent ); k++; tweet = document.getElementById('twitter-post-widget-' + k); } }); /*==============*/ var tweetObjVid = document.getElementsByClassName('tweetVideo'); var counter_tweet = 0; if (tweetObjVid.length == 0) {
tweetObjVid = document.getElementsByClassName('twitter-video'); $.each(tweetObjVid, function (i, v) { $(this).attr('id', 'twitter-vid-widget-' + i); });
} else {
$.each(tweetObjVid, function (i, v) { if($(this).find('.twitter-video').length > 0){ $(this).find('.twitter-tweet').attr('id', 'twitter-vid-widget-' + counter_tweet); counter_tweet++; } });
} $.getScript('//platform.twitter.com/widgets.js', function () { var v = 0; var tweetVid = document.getElementById('twitter-vid-widget-' + v); var tweetParentVid, tweetIDVid; while (tweetVid) { tweetParentVid = tweetVid.parentNode; //tweetIDVid = tweetVid.dataset.tweetId; tweetIDVid = tweetParentVid.getAttribute("id"); if(tweetIDVid === null){ tweetIDVid = tweet.dataset.tweetId; } $(tweetVid).remove(); twttr.widgets.createVideo( tweetIDVid, tweetParentVid ); v++; tweetVid = document.getElementById('twitter-vid-widget-' + v); } }); }
if($('.instagram-media').length > 0){ var scriptElement=document.createElement('script'); scriptElement.type="text/javascript"; scriptElement.setAttribute="async"; scriptElement.src="https://platform.instagram.com/en_US/embeds.js"; document.body.appendChild(scriptElement); }
if($('.tiktok-embed').length > 0){ var scriptElement=document.createElement('script'); scriptElement.type="text/javascript"; scriptElement.setAttribute="async"; scriptElement.src="https://www.tiktok.com/embed.js"; document.body.appendChild(scriptElement); }
if($('.threadsPost').length > 0){ var scriptElement=document.createElement('script'); scriptElement.type="text/javascript"; scriptElement.setAttribute="async"; scriptElement.src="https://www.threads.net/embed.js"; document.body.appendChild(scriptElement); }
if($('.fb-video').length > 0 || $('.fb-post').length > 0){ var container_width = $(window).width(); if(container_width < 500){ if($('.fb-video').length > 0){ let embed_url = $('.fb-video').attr('data-href'); let htmla="
'; $('.fb-video').parent('.embed_external_url').html(htmla); } else{ let embed_url = $('.fb-post').attr('data-href'); let htmla="
'; } }
$('body').prepend('
');
var scriptElement=document.createElement('script'); scriptElement.type="text/javascript"; scriptElement.setAttribute="async"; scriptElement.src="https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.11&appId=580305968816694"; document.body.appendChild(scriptElement); } } },100); };
var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame;
var loadDeferredJSCaptcha = function() { var addJSNode = document.getElementById("captchejs"); var replacement = document.createElement("div"); replacement.innerHTML = addJSNode.textContent; document.body.appendChild(replacement); addJSNode.parentElement.removeChild(addJSNode); };
window.addEventListener('load', loadDeferredJS); //window.addEventListener('load', loadDeferredJSCaptcha);