Connect with us

Vermont

Springfield Area Parent Child Center Tuesday playgroup in Ludlow – The Vermont Journal & The Shopper

Published

on

Springfield Area Parent Child Center Tuesday playgroup in Ludlow – The Vermont Journal & The Shopper


LUDLOW, Vt. – Springfield Area Parent Child Center will host a playgroup for children from birth to 6 years old on Tuesday mornings, 10:30 a.m. – 12 p.m., at the Fletcher Memorial Library in Ludlow. Playgroups provides parents and children with opportunities to socialize, learn, and have fun in a safe environment led by parent child center specialists.





Source link

Vermont

Vermont argues that Trump administration provided no factual basis for voter data request – VTDigger

Published

on

Vermont argues that Trump administration provided no factual basis for voter data request – VTDigger


Voters fill out their ballots in Middlebury in Nov. 2024. File photo by Caleb Kenna/VTDigger

RUTLAND CITY — Vermont argued in federal court Tuesday that the Trump administration’s lawsuit demanding the state’s voter roll data should be dismissed because the administration has not provided a sufficient reason for its request.

The Trump administration sued Vermont’s secretary of state, among many other states, last year after she refused the department’s demand to turn over voter data, including voters’ addresses, drivers license numbers and the last four digits of their Social Security numbers. 

Following the hearing, Federal Judge Mary Kay Lanthier will issue a ruling to dismiss or move forward with the case. 

Secretary of State Sarah Copeland Hanzas said she had grounds to deny the request because Vermont Law barred the state and local government officials from sharing personally identifying voter data with federal agencies. 

Advertisement

Copeland Hanzas said in an interview before the hearing that the Trump administration’s requests for states’ unredacted voter rolls undermines public trust in elections and points to broader concerns with privacy rights. 

“We don’t want the federal government to have that level of information about individual Vermonters,” Copeland Hanzas said. 

The state of Vermont’s lawyer Samuel Stratton, representing Copeland Hanzas, argued the case should be dismissed because the Department of Justice did not provide a factual basis and purpose for the request and therefore does not comply with the Civil Rights Act. 

“We are proud to defend Secretary Copeland Hanzas in this case, and we will continue working to protect our elections from federal interference,” the Attorney General Charity Clark wrote in a Tuesday statement.

The Department of Justice attorney Brittany Bennett argued that the federal government has broad authority under the Civil Rights Act to seek voter data in order to determine whether the state of Vermont’s elections are in compliance with federal law. 

Advertisement

The hearing comes after judges recently dismissed similar cases in California, Michigan, Oregon and Massachusetts. A federal judge in Massachusetts dismissed the case last week, asserting that the department failed to comply with Title III of the Civil Rights Act of 1960 by not sharing in detail how the department will use voter information. 

The Department of Justice has brought similar lawsuits against 30 states for withholding voter rolls, while 12 states have complied or said they would comply with the Justice Department’s request, according to a tracker run by the Brennan Center for Justice. 

“​​We certainly hope and expect that the outcome of ours will be similar to what’s happened with the states that have gone before us,” Copeland Hanzas said. “But if the motion to dismiss isn’t approved, then we will continue to fight, and we will have our day in court.”

Disclosure: VTDigger reporter Greta Solsaa worked in summer 2022 as a paid canvasser for the Vermont Public Interest Research Group, which filed several motions in the case.





Source link

Advertisement
Continue Reading

Vermont

Hour-by-hour: When to expect showers & thunderstorms Tuesday in Vermont, New York

Published

on

Hour-by-hour: 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

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 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.

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’);
});

clickedElement.classList.add(‘open’);
clickedElement.setAttribute(‘aria-selected’, ‘true’);

container.querySelectorAll(‘[data-content-id]’).forEach(function(content) {
content.style.display = ‘none’;
content.setAttribute(‘hidden’, ‘true’);
});

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);
}

updateWeatherBackground(weatherData.current.icon_name);
}
}

Advertisement

function updateWeatherBackground(iconName) {
try {
var bgPath = weatherImages.backgrounds[iconName] || weatherImages.backgrounds.unknown;
container.style.backgroundImage=”url(” + bgPath + ‘)’;
} catch (e) {
console.log(‘Error updating weather background:’, e);
}
}

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’);
});

clickedElement.classList.add(‘open’);
clickedElement.setAttribute(‘aria-selected’, ‘true’);

container.querySelectorAll(‘[data-content-id]’).forEach(function(content) {
content.style.display = ‘none’;
content.setAttribute(‘hidden’, ‘true’);
});

Advertisement

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);
}

Advertisement

updateWeatherBackground(weatherData.current.icon_name);
}
}

function updateWeatherBackground(iconName) {
try {
var bgPath = weatherImages.backgrounds[iconName] || weatherImages.backgrounds.unknown;
container.style.backgroundImage=”url(” + bgPath + ‘)’;
} catch (e) {
console.log(‘Error updating weather background:’, e);
}
}

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

Loading more articles…



Source link

Continue Reading

Vermont

Noah Kahan, Vermont consumers and venues voice support for ticket resale limits

Published

on


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.

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.



Source link

Advertisement
Continue Reading

Trending