Text “BetterAirCO” to 21000 for text alerts

Or sign up below for email alerts

Concerned about your data? We will never share or sell it! See our privacy policy for more information.

Why does Ozone Matter?

Ground-level ozone is the Colorado Front Range’s most pressing air pollution problem! It forms when fossil fuel emissions combine on hot, sunny summer days. At higher concentrations, breathing in ground-level ozone irritates our throats and lungs, increases our susceptibility to respiratory infections, and exacerbates ailments such as asthma.

What is an “Ozone Action Day Alert”?

Between late May and mid-September, Simple Steps. Better Air. and the Regional Air Quality Council (RAQC) issue ground-level ozone advisories in partnership with the Colorado Department of Public Health and Environment (CDPHE). Known as “Ozone Action Day Alerts,” these advisories forecast the days most likely to have higher ozone concentrations and negatively affect our health. The alerts last between 4 p.m. of the first day, until midnight, or until 4 p.m. of the following day. They can be extended for multiple days if needed.

Why sign up?

Signing up for text or email alerts from Simple Steps. Better Air. makes it easy to know when it matters most to reduce your emissions and protect your health!

We will only send you a text or an email the days when an Ozone Action Day Alert is called. Plus, we’ll include timely tips and tricks for how you can reduce your emissions! You can unsubscribe or resubscribe at any time.

And if you ask us a question, we’ll probably text you back! However, please note this is not a real-time communication system. Please explore the blog, FAQ, or Air Quality 101 for the quickest answers to the most common air quality questions.

(function () { // Toggle this to true while testing if you want console logs var DEBUG = false; var HP_SELECTORS = [ 'input[name="form_fields[field_41e2746]"]', 'textarea[name="form_fields[field_41e2746]"]', 'input[name="field_41e2746"]', 'textarea[name="field_41e2746"]' ]; function log() { if (DEBUG && window.console) console.log.apply(console, arguments); } function getHoneypot(form) { for (var i = 0; i < HP_SELECTORS.length; i++) { var el = form.querySelector(HP_SELECTORS[i]); if (el) return el; } return null; } function isFilled(el) { return el && typeof el.value === 'string' && el.value.trim() !== ''; } function fakeSuccess(form) { try { var msg = document.createElement('div'); msg.className = 'elementor-message elementor-message-success'; msg.textContent = 'Your form has been submitted successfully.'; // Hide the form and show fake confirmation form.style.display = 'none'; form.insertAdjacentElement('afterend', msg); } catch (e) { log('Fake success render error:', e); } } function shouldBlock(form) { if (!form || !form.classList || !form.classList.contains('elementor-form')) return false; var hp = getHoneypot(form); if (!hp) { log('Honeypot not found in form:', form); return false; } var filled = isFilled(hp); log('Honeypot value check:', filled ? 'FILLED' : 'empty', hp); return filled; } // Intercept ALL submits (capture phase catches it before Elementor) document.addEventListener('submit', function (e) { var form = e.target; if (shouldBlock(form)) { e.preventDefault(); if (e.stopImmediatePropagation) e.stopImmediatePropagation(); e.stopPropagation(); fakeSuccess(form); log('Submission blocked at submit event.'); } }, true); // Belt & suspenders: intercept submit button clicks too document.addEventListener('click', function (e) { var btn = e.target && e.target.closest && e.target.closest('button[type="submit"], input[type="submit"]'); if (!btn) return; var form = btn.form; if (shouldBlock(form)) { e.preventDefault(); if (e.stopImmediatePropagation) e.stopImmediatePropagation(); e.stopPropagation(); fakeSuccess(form); log('Submission blocked at click event.'); } }, true); })();