(function () {
// 1) Basic bot filter (extend if you like)
function isBot() {
return /(bot|crawl|spider|google|bing|slurp|yandex|facebook|linkedin|pinterest|preview|whatsapp|discord|telegram|headless|puppeteer)/i
.test(navigator.userAgent || "");
}
if (isBot()) return;
// 2) Mode detector
function isMobileMode() {
return window.matchMedia("(max-width: 767px)").matches ||
/Mobi|Android|iPhone|iPad|iPod/i.test(navigator.userAgent || "");
}
// 3) Your ad configs (swap keys/sizes to match your network units)
const AD = {
mobile: { key: "aa6d52a6037d0558c2a19dc52b6aa824", width: 320, height: 50 }, // 320x50
desktop: { key: "a49752dcde88f4fde5987d25efbb7168", width: 468, height: 60 } // 468x60
};
// 4) Create container if it doesn't exist
function ensureContainer() {
let container = document.getElementById("ad-container");
if (!container) {
container = document.createElement("div");
container.id = "ad-container";
container.style.display = "none";
document.body.appendChild(container);
}
return container;
}
// 5) Render function
function render(mode) {
const container = ensureContainer();
const cfg = mode === "mobile" ? AD.mobile : AD.desktop;
// Set global atOptions for ad network
window.atOptions = {
key: cfg.key,
format: "iframe",
height: cfg.height,
width: cfg.width,
params: {}
};
// Clear previous ad/script then inject
container.innerHTML = "";
container.style.display = "block";
const s = document.createElement("script");
s.src = `//selfportraitproved.com/${cfg.key}/invoke.js`;
s.async = true;
container.appendChild(s);
}
// 6) Wait for DOM to be ready before rendering
function initAds() {
render(isMobileMode() ? "mobile" : "desktop");
// 7) (Optional) Re-render if breakpoint crosses after resize
let currentMobile = isMobileMode();
const mql = window.matchMedia("(max-width: 767px)");
if (mql.addEventListener) {
mql.addEventListener("change", (e) => {
const nowMobile = e.matches;
if (nowMobile !== currentMobile) {
currentMobile = nowMobile;
render(currentMobile ? "mobile" : "desktop");
}
});
} else if (mql.addListener) { // older browsers
mql.addListener((e) => {
const nowMobile = e.matches;
if (nowMobile !== currentMobile) {
currentMobile = nowMobile;
render(currentMobile ? "mobile" : "desktop");
}
});
}
}
// 8) Execute when DOM is ready
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", initAds);
} else {
initAds();
}
})();
The Broadway at the Adler returns this fall for the 2021-2022 season.
This season will feature the Tony Award and Pulitzer Prize winning musical Rent, the concert style theatrical event The Simon & Garfunkel Story, the newly staged production of the Tony Award winning Fiddler on the Roof, the record breaking musical spectacular Cats, and rhe Tony and Grammy Award winning Beautiful: The Carole King Musical.
Also, the rescheduled performance of Waitress from the 2019-2020 season will be June 1, 2022.
“While we’ve safely presented a limited number of reduced capacity shows this past year, we’re eager to welcome back our Broadway patrons this fall,” says Rick Palmer, executive director of the RiverCenter Adler Theatre. “We can’t wait for Quad Citizens to once again experience first-rate, theatrical performances at the historic Adler Theatre.”
👉 For more insights, check out this resource.
New and renewing subscriptions are on sale now by calling 563-326-8522 (Monday – Friday, 10 a.m. to 2 p.m.) or visiting this website. Sales of individual tickets will be announced as each performance approaches.
The 2021-2022 Broadway at the Adler Season schedule is:
👉 Discover more in this in-depth guide.
- Rent – October 3, 2021
- The Simon & Garfunkel Story – November 7, 2021
- Fiddler on the Roof – November 23, 2021
- Cats – December 1, 2021
- Beautiful: The Carole King Story – March 9, 2022