Brands Walk Fine Line With Olympic Pitches

Under pressure from politicians and human-rights groups over China’s record on human rights, advertisers look to delicately calibrate campaigns for the Winter Games.

Posted in Uncategorized

Climate change could stunt the Christmas tree industry. Here’s how Nova Scotia growers are preparing

Christmas tree growers in Nova Scotia say they’re already experiencing the impacts of climate change on their industry, and they’re preparing for even more.

Here are 5 states that took leaps on clean energy policy in 2021

It’s understandable if people are feeling dour during this unseasonably warm December when, once again, the U.S. Congress has failed to pass major climate legislation.

A string of kindness and good deeds

An unknown caller from San Anselmo, Calif., rang the other day. I’m not sure what prompted me, but I picked up.


Joan Wienheimer was on the other end. She had heard EHN reporter Kristina Marusic on NPR talking about pollution and mental health. How, she asked, could she get a copy of our investigation on the topic, Pollution’s Mental Toll?

I started to rattle off our website, but Joan interrupted: She didn’t have a computer. Or an Internet connection. Could she get a paper copy? Or a cassette recording?

At that point Joan had my full attention. Nobody, in my 12 years as an online journalist, has ever asked me to mail a printout of one of our stories.

Joan told me she’s 77 years young. Grew up in Pittsburgh, next to a steel mill. Her entire neighborhood used coal for heating. She’s had a lifetime of ailments.

Answer to nagging questions

Joan, in our conversation, emphasized over and over how much the reporting meant to her: An answer to so many questions nagging her for years.

Some unseen force, Joan said, prompted her to turn on the radio just as Kristina’s segment started – a sentiment I often hear from my mother when life serendipitously offers a blessing.

A string of kindness

After we chatted for 45 minutes and hung up, I sat thinking about the events that brought Joan to me:

  • The librarian in San Anselmo who found my phone number for Joan.
  • The Heinz Endowments, which supported the idea of a Pittsburgh-based reporter focused on regional environmental issues with national relevance.
  • Kristina Marusic, our prize-winning reporter, who tackles her beat with grace, empathy and a bulldog’s tenacity. She co-founded the Pittsburgh Media Partnership, a collaboration of regional media, which led to the recent mental health report.
  • The Living on Earth producer who heard our work on local radio and saw a national story.
  • And you, our readers, who give us power.

I look back at the thread connecting all these and marvel. Joan (and my mom) would call this fate. I see a long string of kindness.

As snow starts to fall in Bozeman after weeks of unseasonable warmth and brown, I feel an immense sense of gratitude: All these pieces were in place to get Joan information that offered solace and answers.

Now to get these printouts in the mail.

Subscribe to our “Good News” newsletter: Our gift to you!

#_form_33_ { font-size:14px; line-height:1.6; font-family:arial, helvetica, sans-serif; margin:0; } #_form_33_ * { outline:0; } ._form_hide { display:none; visibility:hidden; } ._form_show { display:block; visibility:visible; } #_form_33_._form-top { top:0; } #_form_33_._form-bottom { bottom:0; } #_form_33_._form-left { left:0; } #_form_33_._form-right { right:0; } #_form_33_ input[type=”text”],#_form_33_ input[type=”date”],#_form_33_ textarea { padding:6px; height:auto; border:#979797 1px solid; border-radius:4px; color:#000 !important; font-size:14px; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; } #_form_33_ textarea { resize:none; } #_form_33_ ._submit { -webkit-appearance:none; cursor:pointer; font-family:arial, sans-serif; font-size:14px; text-align:center; background:#3396d2 !important; border:0 !important; -moz-border-radius:4px !important; -webkit-border-radius:4px !important; border-radius:4px !important; color:#fff !important; padding:10px !important; } #_form_33_ ._close-icon { cursor:pointer; background-image:url(‘https://d226aj4ao1t61q.cloudfront.net/esfkyjh1u_forms-close-dark.png’); background-repeat:no-repeat; background-size:14.2px 14.2px; position:absolute; display:block; top:11px; right:9px; overflow:hidden; width:16.2px; height:16.2px; } #_form_33_ ._close-icon:before { position:relative; } #_form_33_ ._form-body { margin-bottom:30px; } #_form_33_ ._form-image-left { width:150px; float:left; } #_form_33_ ._form-content-right { margin-left:164px; } #_form_33_ ._form-branding { color:#fff; font-size:10px; clear:both; text-align:left; margin-top:30px; font-weight:100; } #_form_33_ ._form-branding ._logo { display:block; width:130px; height:14px; margin-top:6px; background-image:url(‘https://d226aj4ao1t61q.cloudfront.net/hh9ujqgv5_aclogo_li.png’); background-size:130px auto; background-repeat:no-repeat; } #_form_33_ .form-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0, 0, 0, 0); border:0; } #_form_33_ ._form-label,#_form_33_ ._form_element ._form-label { font-weight:bold; margin-bottom:5px; display:block; } #_form_33_._dark ._form-branding { color:#333; } #_form_33_._dark ._form-branding ._logo { background-image:url(‘https://d226aj4ao1t61q.cloudfront.net/jftq2c8s_aclogo_dk.png’); } #_form_33_ ._form_element { position:relative; margin-bottom:10px; font-size:0; max-width:100%; } #_form_33_ ._form_element * { font-size:14px; } #_form_33_ ._form_element._clear { clear:both; width:100%; float:none; } #_form_33_ ._form_element._clear:after { clear:left; } #_form_33_ ._form_element input[type=”text”],#_form_33_ ._form_element input[type=”date”],#_form_33_ ._form_element select,#_form_33_ ._form_element textarea:not(.g-recaptcha-response) { display:block; width:100%; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; font-family:inherit; } #_form_33_ ._field-wrapper { position:relative; } #_form_33_ ._inline-style { float:left; } #_form_33_ ._inline-style input[type=”text”] { width:150px; } #_form_33_ ._inline-style:not(._clear) + ._inline-style:not(._clear) { margin-left:20px; } #_form_33_ ._form_element img._form-image { max-width:100%; } #_form_33_ ._form_element ._form-fieldset { border:0; padding:0.01em 0 0 0; margin:0; min-width:0; } #_form_33_ ._clear-element { clear:left; } #_form_33_ ._full_width { width:100%; } #_form_33_ ._form_full_field { display:block; width:100%; margin-bottom:10px; } #_form_33_ input[type=”text”]._has_error,#_form_33_ textarea._has_error { border:#f37c7b 1px solid; } #_form_33_ input[type=”checkbox”]._has_error { outline:#f37c7b 1px solid; } #_form_33_ ._error { display:block; position:absolute; font-size:14px; z-index:10000001; } #_form_33_ ._error._above { padding-bottom:4px; bottom:39px; right:0; } #_form_33_ ._error._below { padding-top:4px; top:100%; right:0; } #_form_33_ ._error._above ._error-arrow { bottom:0; right:15px; border-left:5px solid transparent; border-right:5px solid transparent; border-top:5px solid #f37c7b; } #_form_33_ ._error._below ._error-arrow { top:0; right:15px; border-left:5px solid transparent; border-right:5px solid transparent; border-bottom:5px solid #f37c7b; } #_form_33_ ._error-inner { padding:8px 12px; background-color:#f37c7b; font-size:14px; font-family:arial, sans-serif; color:#fff; text-align:center; text-decoration:none; -webkit-border-radius:4px; -moz-border-radius:4px; border-radius:4px; } #_form_33_ ._error-inner._form_error { margin-bottom:5px; text-align:left; } #_form_33_ ._button-wrapper ._error-inner._form_error { position:static; } #_form_33_ ._error-inner._no_arrow { margin-bottom:10px; } #_form_33_ ._error-arrow { position:absolute; width:0; height:0; } #_form_33_ ._error-html { margin-bottom:10px; } .pika-single { z-index:10000001 !important; } #_form_33_ input[type=”text”].datetime_date { width:69%; display:inline; } #_form_33_ select.datetime_time { width:29%; display:inline; height:32px; } @media all and (min-width:320px) and (max-width:667px) { ::-webkit-scrollbar { display:none; } #_form_33_ { margin:0; width:100%; min-width:100%; max-width:100%; box-sizing:border-box; } #_form_33_ * { -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; font-size:1em; } #_form_33_ ._form-content { margin:0; width:100%; } #_form_33_ ._form-inner { display:block; min-width:100%; } #_form_33_ ._form-title,#_form_33_ ._inline-style { margin-top:0; margin-right:0; margin-left:0; } #_form_33_ ._form-title { font-size:1.2em; } #_form_33_ ._form_element { margin:0 0 20px; padding:0; width:100%; } #_form_33_ ._form-element,#_form_33_ ._inline-style,#_form_33_ input[type=”text”],#_form_33_ label,#_form_33_ p,#_form_33_ textarea:not(.g-recaptcha-response) { float:none; display:block; width:100%; } #_form_33_ ._row._checkbox-radio label { display:inline; } #_form_33_ ._row,#_form_33_ p,#_form_33_ label { margin-bottom:0.7em; width:100%; } #_form_33_ ._row input[type=”checkbox”],#_form_33_ ._row input[type=”radio”] { margin:0 !important; vertical-align:middle !important; } #_form_33_ ._row input[type=”checkbox”] + span label { display:inline; } #_form_33_ ._row span label { margin:0 !important; width:initial !important; vertical-align:middle !important; } #_form_33_ ._form-image { max-width:100%; height:auto !important; } #_form_33_ input[type=”text”] { padding-left:10px; padding-right:10px; font-size:16px; line-height:1.3em; -webkit-appearance:none; } #_form_33_ input[type=”radio”],#_form_33_ input[type=”checkbox”] { display:inline-block; width:1.3em; height:1.3em; font-size:1em; margin:0 0.3em 0 0; vertical-align:baseline; } #_form_33_ button[type=”submit”] { padding:20px; font-size:1.5em; } #_form_33_ ._inline-style { margin:20px 0 0 !important; } } #_form_33_ { position:relative; text-align:left; margin:25px auto 0; padding:20px; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; *zoom:1; background:#fadaa0 !important; border:0px solid #b0b0b0 !important; width:500px; -moz-border-radius:20px !important; -webkit-border-radius:20px !important; border-radius:20px !important; color:#000 !important; } #_form_33_._inline-form,#_form_33_._inline-form ._form-content,#_form_33_._inline-form input,#_form_33_._inline-form ._submit { font-family:”IBM Plex Sans”, Helvetica, sans-serif, ‘IBM Plex Sans’, arial, sans-serif; } #_form_33_ ._form-title { font-size:22px; line-height:22px; font-weight:600; margin-bottom:0; } #_form_33_:before,#_form_33_:after { content:” “; display:table; } #_form_33_:after { clear:both; } #_form_33_._inline-style { width:auto; display:inline-block; } #_form_33_._inline-style input[type=”text”],#_form_33_._inline-style input[type=”date”] { padding:10px 12px; } #_form_33_._inline-style button._inline-style { position:relative; top:27px; } #_form_33_._inline-style p { margin:0; } #_form_33_._inline-style ._button-wrapper { position:relative; margin:27px 12.5px 0 20px; } #_form_33_ ._form-thank-you { position:relative; left:0; right:0; text-align:center; font-size:18px; } @media all and (min-width:320px) and (max-width:667px) { #_form_33_._inline-form._inline-style ._inline-style._button-wrapper { margin-top:20px !important; margin-left:0 !important; } }

Get our Good News newsletter in your inbox – FREE!

Solutions-oriented news and commentary about our health and environment. Delivered Tuesdays.
Better than coffee.

window.cfields = [];
window._show_thank_you = function(id, message, trackcmp_url, email) { var form = document.getElementById(‘_form_’ + id + ‘_’), thank_you = form.querySelector(‘._form-thank-you’); form.querySelector(‘._form-content’).style.display = ‘none’; thank_you.innerHTML = message; thank_you.style.display = ‘block’; const vgoAlias = typeof visitorGlobalObjectAlias === ‘undefined’ ? ‘vgo’ : visitorGlobalObjectAlias; var visitorObject = window[vgoAlias]; if (email && typeof visitorObject !== ‘undefined’) { visitorObject(‘setEmail’, email); visitorObject(‘update’); } else if (typeof(trackcmp_url) != ‘undefined’ && trackcmp_url) { // Site tracking URL to use after inline form submission. _load_script(trackcmp_url); } if (typeof window._form_callback !== ‘undefined’) window._form_callback(id);
};
window._show_error = function(id, message, html) { var form = document.getElementById(‘_form_’ + id + ‘_’), err = document.createElement(‘div’), button = form.querySelector(‘button’), old_error = form.querySelector(‘._form_error’); if (old_error) old_error.parentNode.removeChild(old_error); err.innerHTML = message; err.className = ‘_error-inner _form_error _no_arrow’; var wrapper = document.createElement(‘div’); wrapper.className = ‘_form-inner’; wrapper.appendChild(err); button.parentNode.insertBefore(wrapper, button); document.querySelector(‘[id^=”_form”][id$=”_submit”]’).disabled = false; if (html) { var div = document.createElement(‘div’); div.className = ‘_error-html’; div.innerHTML = html; err.appendChild(div); }
};
window._load_script = function(url, callback) { var head = document.querySelector(‘head’), script = document.createElement(‘script’), r = false; script.type = ‘text/javascript’; script.charset = ‘utf-8’; script.src = url; if (callback) { script.onload = script.onreadystatechange = function() { if (!r && (!this.readyState || this.readyState == ‘complete’)) { r = true; callback(); } }; } head.appendChild(script);
};
(function() { if (window.location.search.search(“excludeform”) !== -1) return false; var getCookie = function(name) { var match = document.cookie.match(new RegExp(‘(^|; )’ + name + ‘=([^;]+)’)); return match ? match[2] : null; } var setCookie = function(name, value) { var now = new Date(); var time = now.getTime(); var expireTime = time + 1000 * 60 * 60 * 24 * 365; now.setTime(expireTime); document.cookie = name + ‘=’ + value + ‘; expires=’ + now + ‘;path=/’; } var addEvent = function(element, event, func) { if (element.addEventListener) { element.addEventListener(event, func); } else { var oldFunc = element[‘on’ + event]; element[‘on’ + event] = function() { oldFunc.apply(this, arguments); func.apply(this, arguments); }; } } var _removed = false; var form_to_submit = document.getElementById(‘_form_33_’); var allInputs = form_to_submit.querySelectorAll(‘input, select, textarea’), tooltips = [], submitted = false; var getUrlParam = function(name) { var regexStr = ‘[\?&]’ + name + ‘=([^&#]*)’; var results = new RegExp(regexStr, ‘i’).exec(window.location.href); return results != undefined ? decodeURIComponent(results[1]) : false; }; for (var i = 0; i < allInputs.length; i++) { var regexStr = "field\\[(\\d+)\\]"; var results = new RegExp(regexStr).exec(allInputs[i].name); if (results != undefined) { allInputs[i].dataset.name = window.cfields[results[1]]; } else { allInputs[i].dataset.name = allInputs[i].name; } var fieldVal = getUrlParam(allInputs[i].dataset.name); if (fieldVal) { if (allInputs[i].dataset.autofill === "false") { continue; } if (allInputs[i].type == "radio" || allInputs[i].type == "checkbox") { if (allInputs[i].value == fieldVal) { allInputs[i].checked = true; } } else { allInputs[i].value = fieldVal; } } } var remove_tooltips = function() { for (var i = 0; i < tooltips.length; i++) { tooltips[i].tip.parentNode.removeChild(tooltips[i].tip); } tooltips = []; }; var remove_tooltip = function(elem) { for (var i = 0; i < tooltips.length; i++) { if (tooltips[i].elem === elem) { tooltips[i].tip.parentNode.removeChild(tooltips[i].tip); tooltips.splice(i, 1); return; } } }; var create_tooltip = function(elem, text) { var tooltip = document.createElement('div'), arrow = document.createElement('div'), inner = document.createElement('div'), new_tooltip = {}; if (elem.type != 'radio' && elem.type != 'checkbox') { tooltip.className = '_error'; arrow.className = '_error-arrow'; inner.className = '_error-inner'; inner.innerHTML = text; tooltip.appendChild(arrow); tooltip.appendChild(inner); elem.parentNode.appendChild(tooltip); } else { tooltip.className = '_error-inner _no_arrow'; tooltip.innerHTML = text; elem.parentNode.insertBefore(tooltip, elem); new_tooltip.no_arrow = true; } new_tooltip.tip = tooltip; new_tooltip.elem = elem; tooltips.push(new_tooltip); return new_tooltip; }; var resize_tooltip = function(tooltip) { var rect = tooltip.elem.getBoundingClientRect(); var doc = document.documentElement, scrollPosition = rect.top – ((window.pageYOffset || doc.scrollTop) – (doc.clientTop || 0)); if (scrollPosition < 40) { tooltip.tip.className = tooltip.tip.className.replace(/ ?(_above|_below) ?/g, '') + ' _below'; } else { tooltip.tip.className = tooltip.tip.className.replace(/ ?(_above|_below) ?/g, '') + ' _above'; } }; var resize_tooltips = function() { if (_removed) return; for (var i = 0; i < tooltips.length; i++) { if (!tooltips[i].no_arrow) resize_tooltip(tooltips[i]); } }; var validate_field = function(elem, remove) { var tooltip = null, value = elem.value, no_error = true; remove ? remove_tooltip(elem) : false; if (elem.type != 'checkbox') elem.className = elem.className.replace(/ ?_has_error ?/g, ''); if (elem.getAttribute('required') !== null) { if (elem.type == 'radio' || (elem.type == 'checkbox' && /any/.test(elem.className))) { var elems = form_to_submit.elements[elem.name]; if (!(elems instanceof NodeList || elems instanceof HTMLCollection) || elems.length <= 1) { no_error = elem.checked; } else { no_error = false; for (var i = 0; i < elems.length; i++) { if (elems[i].checked) no_error = true; } } if (!no_error) { tooltip = create_tooltip(elem, "Please select an option."); } } else if (elem.type =='checkbox') { var elems = form_to_submit.elements[elem.name], found = false, err = []; no_error = true; for (var i = 0; i < elems.length; i++) { if (elems[i].getAttribute('required') === null) continue; if (!found && elems[i] !== elem) return true; found = true; elems[i].className = elems[i].className.replace(/ ?_has_error ?/g, ''); if (!elems[i].checked) { no_error = false; elems[i].className = elems[i].className + ' _has_error'; err.push("Checking %s is required".replace("%s", elems[i].value)); } } if (!no_error) { tooltip = create_tooltip(elem, err.join('
‘)); } } else if (elem.tagName == ‘SELECT’) { var selected = true; if (elem.multiple) { selected = false; for (var i = 0; i < elem.options.length; i++) { if (elem.options[i].selected) { selected = true; break; } } } else { for (var i = 0; i < elem.options.length; i++) { if (elem.options[i].selected && !elem.options[i].value) { selected = false; } } } if (!selected) { elem.className = elem.className + ' _has_error'; no_error = false; tooltip = create_tooltip(elem, "Please select an option."); } } else if (value === undefined || value === null || value === '') { elem.className = elem.className + ' _has_error'; no_error = false; tooltip = create_tooltip(elem, "This field is required."); } } if (no_error && elem.name == 'email') { if (!value.match(/^[\+_a-z0-9-'&=]+(\.[\+_a-z0-9-']+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/i)) { elem.className = elem.className + ' _has_error'; no_error = false; tooltip = create_tooltip(elem, "Enter a valid email address."); } } if (no_error && /date_field/.test(elem.className)) { if (!value.match(/^\d\d\d\d-\d\d-\d\d$/)) { elem.className = elem.className + ' _has_error'; no_error = false; tooltip = create_tooltip(elem, "Enter a valid date."); } } tooltip ? resize_tooltip(tooltip) : false; return no_error; }; var needs_validate = function(el) { if(el.getAttribute('required') !== null){ return true } if(el.name === 'email' && el.value !== ""){ return true } return false }; var validate_form = function(e) { var err = form_to_submit.querySelector('._form_error'), no_error = true; if (!submitted) { submitted = true; for (var i = 0, len = allInputs.length; i < len; i++) { var input = allInputs[i]; if (needs_validate(input)) { if (input.type == 'text') { addEvent(input, 'blur', function() { this.value = this.value.trim(); validate_field(this, true); }); addEvent(input, 'input', function() { validate_field(this, true); }); } else if (input.type == 'radio' || input.type == 'checkbox') { (function(el) { var radios = form_to_submit.elements[el.name]; for (var i = 0; i < radios.length; i++) { addEvent(radios[i], 'click', function() { validate_field(el, true); }); } })(input); } else if (input.tagName == 'SELECT') { addEvent(input, 'change', function() { validate_field(this, true); }); } else if (input.type == 'textarea'){ addEvent(input, 'input', function() { validate_field(this, true); }); } } } } remove_tooltips(); for (var i = 0, len = allInputs.length; i < len; i++) { var elem = allInputs[i]; if (needs_validate(elem)) { if (elem.tagName.toLowerCase() !== "select") { elem.value = elem.value.trim(); } validate_field(elem) ? true : no_error = false; } } if (!no_error && e) { e.preventDefault(); } resize_tooltips(); return no_error; }; addEvent(window, 'resize', resize_tooltips); addEvent(window, 'scroll', resize_tooltips); window['recaptcha_callback'] = function() { // Get all recaptchas in the DOM (there may be more than one form on the page). var recaptchas = document.getElementsByClassName("g-recaptcha"); for (var i in recaptchas) { // Set the recaptcha element ID, so the recaptcha can be applied to each element. var recaptcha_id = "recaptcha_" + i; recaptchas[i].id = recaptcha_id; var el = document.getElementById(recaptcha_id); if (el != null) { var sitekey = el.getAttribute("data-sitekey"); var stoken = el.getAttribute("data-stoken"); grecaptcha.render(recaptcha_id, {"sitekey":sitekey,"stoken":stoken}); } }
}; _load_script("//www.google.com/recaptcha/api.js?onload=recaptcha_callback&render=explicit"); window._old_serialize = null; if (typeof serialize !== 'undefined') window._old_serialize = window.serialize; _load_script("//d3rxaij56vjege.cloudfront.net/form-serialize/0.3/serialize.min.js", function() { window._form_serialize = window.serialize; if (window._old_serialize) window.serialize = window._old_serialize; }); var form_submit = function(e) { e.preventDefault(); if (validate_form()) { // use this trick to get the submit button & disable it using plain javascript document.querySelector('#_form_33_submit').disabled = true; var serialized = _form_serialize(document.getElementById('_form_33_')).replace(/%0A/g, '\\n'); var err = form_to_submit.querySelector('._form_error'); err ? err.parentNode.removeChild(err) : false; _load_script('https://ehsciences.activehosted.com/proc.php?' + serialized + '&jsonp=true'); } return false; }; addEvent(form_to_submit, 'submit', form_submit);
})();

‘Reckless’ plan to search for oil and gas will put one of world’s healthiest reefs at risk, conservationists say

Conservationists say a plan to search for oil and gas near Rowley Shoals in north-west Australia is “reckless” and will put one of the world’s healthiest reefs at risk.

Europe’s Industrial Firms Flash Warning on Energy Costs

Steelmakers, glass manufacturers and other energy-hungry businesses in Europe are calling on governments to take action to stop record gas and electricity prices from hobbling the region’s economy.

Posted in Uncategorized

Outgoing Weather Service director talks climate change, Sharpiegate and more

Louis Uccellini, a 32-year veteran of the National Weather Service, steered the agency through budget, workforce, technology and political challenges.

Posted in Uncategorized

Vegan yule: plant-based Christmas recipes from Zacchary Bird

From beet wellington to a faux-bird, these meatless recipes from the Vegan Butcher work for meat-eaters and meat-loathers alike on the holiday table.

Posted in Uncategorized

Joe Manchin’s ‘Scaled-Back’ Framework May Be Better Than It Sounds

Prioritizing certain initiatives over others is hard, but that could be what it takes to save Build Back Better.

Posted in Uncategorized

Rental-Car Shortage Drives Up Prices and Wait Times

A shortage of rental cars that emerged earlier this year is getting worse, with Hertz, Avis and other providers struggling to meet demand and charging more.

Posted in Uncategorized