Connect with us

Maine

Watchdog searching for stores selling now banned products with PFAS in Maine

Published

on

Watchdog searching for stores selling now banned products with PFAS in Maine


The Maine nonprofit Defend Our Health is taking on the role of watchdog to make sure companies and stores are not selling products that are now banned in Maine because they contain toxic “forever chemicals.”

As of Jan. 1, Maine joined Minnesota as the first states to ban thousands of everyday products containing toxic PFAS chemicals.

The new ban includes children’s toys, cosmetics, cookware, and cleaning products. It also includes reusable water bottles, upholstery, clothing, and feminine products.

The National Institute of Health says even trace amounts of PFAS have been linked to low birth weights, compromised immune systems, cancer, and other adverse health effects.

Advertisement

Cookware in a store (WGME)

Defend Our Health says so far, most stores in Maine are complying with the law.

“We’ve seen a lot of the physical retailers complying with the ban. We have seen, for example, the PFAS-containing cookware being pulled from the shelves,” said Emily Carey Perez de Alejo, with Defend Our Health.

It is also not allowed in Maine to sell and ship banned products online to people in Maine like frying pans coated with PFAS.

Defend Our Health says a lot of online retailers have marked PFAS products not deliverable to Maine, while others have tried to comply, but missed a few products.

Advertisement

“From some retailers we have seen a wide array of PFAS-containing cookware still available for delivery to Maine,” Carey Perez de Alejo said. “So, we’ve reached out to the state to report some of these violators. We’re going to be reaching out to the companies. Hopefully, it’s just an oversight and they will be taking action to correct and come into compliance.”

Toys in a store (WGME)

The Maine Department of Environmental Protection says it will be reviewing the information received from Defend Our Health.

The Safer Chemicals Program manager says the Maine DEP will investigate to ensure no banned products are being sold in Maine, either in stores or online.



Source link

Maine

Maine lawmakers should prioritize childcare

Published

on

Maine lawmakers should prioritize childcare



To the Editor;

Access to affordable child care plays a direct role in whether Maine families can work, pursue education, and maintain stability. The Child Care Affordability Program helps keep child care costs within reach for working families.

To the Editor;

Access to affordable child care plays a direct role in whether Maine families can work, pursue education, and maintain stability. The Child Care Affordability Program helps keep child care costs within reach for working families.

Advertisement

At Penquis, we serve 270 children from 266 families across dozens of communities through our child development programs, including Head Start, Early Head Start, and child care. We see firsthand how access to child care determines whether parents can work, pursue education and build long-term stability for their families, particularly in communities facing workforce shortages and rising cost of living. 

Child care availability alone is not enough. We can have programs and facilities in place, but if care is not affordable, it remains out of reach for families who are already struggling.

Without it, the cost of child care places an unsustainable burden on Maine families, consuming as much as 29% to 39% of income for single-parent households and 10% to 13% for two-parent families. CCAP is one of the few tools that effectively addresses this challenge by ensuring child care costs are affordable, capping costs at 7% of income for those with the lowest incomes, and expanding access for many more families.

Investing in CCAP supports children’s healthy development, enables parents to participate in the workforce, and strengthens Maine’s economy. We urge state leaders to prioritize this $15 million investment in the supplemental budget and ensure that affordable child care is accessible to the families who need it most.

Kara Hay
president and chief executive officer

Advertisement

Penquis

Bangor

Thank you for reading your4 free articles this month. To continue
reading, and support local, rural journalism, please subscribe.

Advertisement



Source link

Continue Reading

Maine

Wife dead, husband in serious condition after fire at Maine home

Published

on

Wife dead, husband in serious condition after fire at Maine home


A woman is dead, and her husband is in serious condition after a fire broke out at their home in Readfield, Maine, Friday night.

The Maine State Fire Marshal’s Office tells NBC10 Boston affiliate News Center Maine that the Readfield Fire Department responded to the house on Plains Road around 9:51 p.m. and found a large fire.

Jerrold Wentworth, 74, had escaped from a second-floor window and told crews that his wife was still on the second floor of the home, officials said, but firefighters were unable to go inside to rescue 75-year-old Carolyn Wentworth due to the fiery conditions.

A photo shared by the fire marshal’s office shows the fire destroyed the home.

Advertisement

Carolyn Wentworth’s body was found in the debris around 1:45 a.m. Saturday, near where she had been sleeping, fire officials tell News Center Maine. An autopsy will be conducted to determine her cause of death.

Jerrold Wentworth was taken to Maine General Medical Center where he’s in serious condition, officials added.

Investigators from the state fire marshal’s office responded to the scene and are working to determine the cause of the deadly fire.

An investigation remains ongoing.

Advertisement



Source link

Continue Reading

Maine

Woman presumed dead in Readfield house fire; husband hospitalized

Published

on

Woman presumed dead in Readfield house fire; husband hospitalized


Firefighters were unable to enter due to heavy fire conditions

Advertisement

Maine Department of Public Safety

woman presumed dead in readfield house fire; husband hospitalized

SOURCE: Maine Department of Public Safety

Advertisement

Woman presumed dead in Readfield house fire; husband hospitalized

Advertisement

Firefighters were unable to enter due to heavy fire conditions

WMTW logo

Updated: 8:48 PM EDT Apr 4, 2026

Editorial Standards

Advertisement

A woman is believed to have died in a house fire Friday night in Readfield, officials said.Firefighters responded to a home on Plains Road at about 9:51 p.m. and found the structure heavily involved in fire. Neighbors helped 74-year-old Jerrold Wentworth escape from a second-floor window. He told crews his wife, 75-year-old Carolyn Wentworth, remained inside.Firefighters were unable to enter due to heavy fire conditions.Investigators with the state Fire Marshal’s Office later located a deceased person in the debris early Saturday in the area where Carolyn Wentworth had been sleeping. The body was taken to the state medical examiner’s office for identification and cause of death.Jerrold Wentworth was hospitalized in serious condition. The cause of the fire remains under investigation.

A woman is believed to have died in a house fire Friday night in Readfield, officials said.

Firefighters responded to a home on Plains Road at about 9:51 p.m. and found the structure heavily involved in fire. Neighbors helped 74-year-old Jerrold Wentworth escape from a second-floor window. He told crews his wife, 75-year-old Carolyn Wentworth, remained inside.

Advertisement

Firefighters were unable to enter due to heavy fire conditions.

Investigators with the state Fire Marshal’s Office later located a deceased person in the debris early Saturday in the area where Carolyn Wentworth had been sleeping. The body was taken to the state medical examiner’s office for identification and cause of death.

Jerrold Wentworth was hospitalized in serious condition. The cause of the fire remains under investigation.

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

Advertisement

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

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

Advertisement

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

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.wmtw.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘mobile-weather’, “https://www.wmtw.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);
}
}
}
}

Advertisement

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

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

Advertisement

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

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

Advertisement

for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex

`;
}

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

Advertisement

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

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

Advertisement

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

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

Advertisement

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.wmtw.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘sidelist-weather’, “https://www.wmtw.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’);
}

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

Advertisement

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

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;

Advertisement

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

Loading more articles…



Source link

Advertisement
Continue Reading

Trending