The outcome of a contested race for speaker of the Vermont House of Representatives will remain shrouded in mystery until lawmakers kick off the 2025 legislative session early next month.
Democratic lawmakers Saturday declined to hold a vote that would have measured support for incumbent candidate Jill Krowinski, a Democrat from Burlington who’s served in the speaker’s post for four years.
Krowinski faces an unusual challenge for the position from Rep. Laura Sibilia, a five-term Independent from Dover who says she’ll deliver the tripartisan collaboration needed to solve Vermont’s toughest challenges.
“We’ve become the party that raised property taxes by 14%. We’ve become the party that’s synonymous with unaffordability. We need new leadership at the top.”
Tunbridge Rep. John O’Brien
Advertisement
The official election for speaker won’t come until Jan. 8, when all 150 members of the House cast secret-ballot votes on the chamber floor. But Democrats could have ended the suspense at their annual pre-session caucus Saturday in the Statehouse, where both Krowinski and Sibilia were nominated by supporters.
Democrats will have 88 seats in the chamber next year. Had at least 76 of them cast ballots for Sibilia, the outcome of the Jan. 8 vote would have likely been sealed. Instead, 60 Democrats voted to reject Sibilia’s nomination, effectively forestalling a nonbinding vote that would have shed light on the status of the contest.
The fact that she was nominated for speaker by Democrats — and that 18 of them voted not to reject her nomination — speaks to the growing support she has in their caucus, according to Sibilia.
“I do think that that vote… demonstrates that there is not a single kind of monolith of thoughts within the caucus, that there are divergent opinions on how to proceed,” she said.
Advertisement
Tunbridge Rep. John O’Brien was one of two House Democrats to speak in favor of Sibilia on Saturday. He noted that 19 incumbent Democrats lost their elections last month.
Peter Hirschfeld
/
Vermont Public
Advertisement
Tunbridge Rep. John O’Brien said Democrats’ brutal election losses last month should occasion a change in party leadership.
“Why?” O’Brien said. “Because, as one losing Democrat told me, ‘We had nothing to run on.’”
O’Brien said the historic losses suffered by the party mean “this is not the time for, ‘back to the old drawing board.’”
“We’ve become the party that raised property taxes by 14%. We’ve become the party that’s synonymous with unaffordability,” he said. “We need new leadership at the top.”
Krowinski has served in House leadership positions for the last eight years. Waterbury Rep. Theresa Wood, the Democratic chair of the House Committee on Human Services, said Krowinski has a track record of rebuilding support after tough election losses.
“Laura Sibilia is not a Democrat. She’s not one of us. She’s not a member of our team.”
Randolph Rep. Larry Satcowitz
Advertisement
She said Krowinski has also melded her Democratic values with the deft pragmatism needed to pass landmark policy, such as the 2023 child care bill that received tripartisan support — even after Republican Gov. Phil Scott vetoed the legislation.
“Jill’s not flamboyant. She doesn’t scream and shout and throw her hands around,” Wood said. “But what I do know is that if we stand today, and on Jan. 8, with a thoughtful, deliberate, calm and compassionate leadership we have in Rep. Jill Krowinski, Vermont will be a better place when we all adjourn in May.”
The question of whether Krowinski has enough votes within her own party to remain speaker, however, was put off Saturday when Democrats objected to even considering Sibilia as their party’s nominee.
“Laura Sibilia is not a Democrat. She’s not one of us. She’s not a member of our team,” said Randolph Rep. Larry Satcowitz. “It seems crazy to think that we could nominate — even consider for nomination — someone who is not a member of our team.”
Advertisement
Zoe McDonald
/
Vermont Public
Rep. Laura Sibilia speaks before the House override vote on the Renewable Energy Standard bill during the veto session in June.
Putney Rep. Mike Mrowicki agreed, and said the Democratic Party needs to adopt the same strategic approach of a labor union.
Advertisement
“What happens in a union happens because of the strength of the union,” he said. “And what happens in the Democratic Party happens because of the strength of our union, our solidarity.”
Montpelier Rep. Conor Casey said he has every intention of voting for Krowinski in January.
“I think it’d be preposterous to have somebody who’s not a Democrat be speaker of the House,” he said.
But Casey said a straw vote on the two candidates Saturday would have provided needed clarity on the direction the race is headed in.
“We can settle this right now, and know what votes are on the table here and give the candidates an opportunity between now and Jan. 8 to speak to people that they need to. So we can determine this right now. I don’t see the value in waiting for it,” he said.
Advertisement
Peter Hirschfeld
/
Vermont Public
House Democrats listen to their colleagues Saturday making cases for and against reelecting Burlington Rep. Jill Krowinski as speaker of the House.
Essex Junction Rep. Karen Dolan, who was voted in as the new House whip Saturday, said she hasn’t counted votes yet to see whether Krowinski will have enough support to remain in her post.
Advertisement
“This will be something that we’ll be looking into. It’ll be about talking to each of the members and seeing,” Dolan said. “We believe in the Democratic candidate, so we’re going to talk to everybody and make sure the votes are there.”
Sibilia declined to say how many Democrats have committed to voting for her on Jan. 8. She said she has enough Democratic support, however, to require Krowinski to win at least some votes from outside her caucus in order to stay on as speaker.
“We have enough that the path to winning in January for either candidate is going to be through multiparty coalitions,” she said.
Have questions, comments, or tips? Send us a message.
The most widespread storm coverage will occur between 2-8 PM Tuesday, April 14
Advertisement
Timeline: When to expect showers & thunderstorms Tuesday in Vermont, New York
The most widespread storm coverage will occur between 2-8 PM Tuesday, April 14
Advertisement
NBC5 First Warning Meteorologist
Advertisement
NBC5 meteorologists expect strong to locally severe thunderstorms Tuesday afternoon into the evening for Vermont and northern New York.Watch the video to see when showers, downpours, and storms are most likely near your town.
BURLINGTON, Vt. —
NBC5 meteorologists expect strong to locally severe thunderstorms Tuesday afternoon into the evening for Vermont and northern New York.
Advertisement
Watch the video to see when showers, downpours, and storms are most likely near your town.
Advertisement
`;
}
function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}
Advertisement
function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;
function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});
var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}
Advertisement
function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}
var location = { zip: window.DEFAULT_ZIPCODE };
try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}
var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;
if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}
Advertisement
function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;
var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);
if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.mynbc5.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘mobile-weather’, “https://www.mynbc5.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}
function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;
var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}
Advertisement
var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}
var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}
var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}
var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}
function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;
if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);
for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex
`;
}
Advertisement
function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}
function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;
function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});
var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}
function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}
var location = { zip: window.DEFAULT_ZIPCODE };
try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}
var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;
Advertisement
if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}
function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;
var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);
if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.mynbc5.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘sidelist-weather’, “https://www.mynbc5.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}
function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;
Advertisement
var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}
var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}
var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}
var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}
var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}
function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;
if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);
for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex
A movement to limit the resale price of concert and event tickets is growing in Vermont.Last Thursday, renowned Vermont singer Noah Kahan submitted a video to a state Senate committee voicing his support of H.512. The bill passed the House last month. “This bill is a critical step in eliminating predatory resale behaviors and offering promoters a great solution for exchanging and reselling tickets in a safe marketplace,” the Strafford native said to lawmakers.The bill would limit the resale of tickets to 110% of the value they were originally purchased at. Other Vermonter’s testified that day and said they found themselves purchasing tickets online, not from the event’s venue or artist. They said the price was way above the original rate. “Now I was not just mad at myself, but I was mad at this person who did it to me,” Marina Cole of Wheelock told lawmakers. In 2024, the National Association of Ticket Brokers told NBC 5 that they were against price caps, which this bill is currently pursuing.”We have really good businesspeople who are doing the right thing,” Executive Director Gary Adler said at the time. The bill, as passed by the House, would charge the Vermont Attorney General’s Office with enforcing the resale cap. The office would have the authority to conduct audits, issue penalties and revoke a reseller’s license. Resale licenses would be a new requirement under the current bill. “I suspect the enforcement won’t be easy,” executive director of the Champlain Valley Exposition Tim Shea said Monday. “But it’s something we’re looking to follow and advocate for the right ticket buyer.”Shea said the Expo has been approached by consumers who have faced high resale prices and even some cases of ticket fraud through online reselling. He believes the legislation would help avoid those issues and keep revenues for Vermont venues and artists within the state. “When tickets are marked up to the level, they are that money’s going out of Vermont. It’s not staying here. It’s not going to the promoter. It’s not going to the concessioners on the ground,” Shea said. The bill is currently being reviewed by the Senate Committee on Economic Development, Housing, and General Affairs.
MONTPELIER, Vt. —
A movement to limit the resale price of concert and event tickets is growing in Vermont.
Last Thursday, renowned Vermont singer Noah Kahan submitted a video to a state Senate committee voicing his support of H.512. The bill passed the House last month.
Advertisement
“This bill is a critical step in eliminating predatory resale behaviors and offering promoters a great solution for exchanging and reselling tickets in a safe marketplace,” the Strafford native said to lawmakers.
The bill would limit the resale of tickets to 110% of the value they were originally purchased at. Other Vermonter’s testified that day and said they found themselves purchasing tickets online, not from the event’s venue or artist. They said the price was way above the original rate.
“Now I was not just mad at myself, but I was mad at this person who did it to me,” Marina Cole of Wheelock told lawmakers.
Advertisement
In 2024, the National Association of Ticket Brokers told NBC 5 that they were against price caps, which this bill is currently pursuing.
“We have really good businesspeople who are doing the right thing,” Executive Director Gary Adler said at the time.
The bill, as passed by the House, would charge the Vermont Attorney General’s Office with enforcing the resale cap.
The office would have the authority to conduct audits, issue penalties and revoke a reseller’s license. Resale licenses would be a new requirement under the current bill.
“I suspect the enforcement won’t be easy,” executive director of the Champlain Valley Exposition Tim Shea said Monday. “But it’s something we’re looking to follow and advocate for the right ticket buyer.”
Advertisement
Shea said the Expo has been approached by consumers who have faced high resale prices and even some cases of ticket fraud through online reselling. He believes the legislation would help avoid those issues and keep revenues for Vermont venues and artists within the state.
“When tickets are marked up to the level, they are that money’s going out of Vermont. It’s not staying here. It’s not going to the promoter. It’s not going to the concessioners on the ground,” Shea said.
The bill is currently being reviewed by the Senate Committee on Economic Development, Housing, and General Affairs.
BURLINGTON, Vt. (InvestigateTV) — For 28 years, Hilda White has shown up at the University of Vermont’s Pringle Herbarium to do a job most people have never heard of: mounting plants.
Now 95 years old, White has carefully preserved more than 50,000 plant specimens — pressing and affixing them to archival paper so they can be studied and referenced for generations to come.
“If I mount the plants, the plants will be around for hundreds of years, barring any unforeseen accidents or anything,” White said.
Birthday gift unlike any other
For her 95th birthday, the herbarium gave her a gift unlike any other: a newly discovered fern, found in Colombia in 2023, was officially named for her.
Advertisement
The plant — a Christmas fern — was discovered by Wes Testo, now the director of the Pringle Herbarium collection, during a research trip to South America.
“I was walking through the forest there, and I saw this just spectacular fern,” Testo said. “I knew immediately it was something I hadn’t seen before.”
After further research confirmed it was a species new to science, Testo and his colleagues decided to name it for White: Polystichum hildae.
“Oh, I was absolutely blown away,” White said when she learned of the honor.
“You can’t imagine, I cried all afternoon.”
Advertisement
‘Library for plants’
White’s work at the herbarium is kind of a library for plants.
“I can’t draw, but this is my artistic outlet,” she said.
Testo said White’s contributions have been essential to the research conducted in the collection, which now houses 400,000 plant specimens in a single room.
“Hilda mounted a huge amount of the specimens you see here,” Testo said. “Her contributions are absolutely essential to the research we do here.”
The collection’s survival is not something White or Testo take for granted. In 2017, a fire broke out at Torrey Hall, where the collection was housed at the time. Testo was in South America doing research when he received word.
Advertisement
“All I could see from an email in Colombia — the roof on fire. I thought my whole Ph.D. was going up in flames along with the whole collection here,” Testo said.
White was on her way into work when the fire broke out. Staff and volunteers, including White, worked to restore and remount the damaged plants. The collection has since been relocated to the Jeffords Building.
No plans to stop
White says she has no plans to stop.
“Oh no! I’ll be here as long as I can,” she said.
And when asked what she planned to give Testo for his birthday in return for the honor of having a plant named after her, White kept it simple.
Advertisement
“He just got good wishes!”
Read the full story.
Copyright 2026 Gray Media Group, Inc. All Rights Reserved.