(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();
}
})();
You’ve got this, girls! Orange Is the New Black costars Dascha Polanco and Natasha Lyonne team up for a hilarious game in a sneak peek of the Thursday, July 20, episode of Hollywood Game Night.
After host Jane Lynch explains the rules of “Ready, Set, Draw,” which is essentially the NBC game show’s take on the classic board game Pictionary, she announces that Polanco and Olympic gymnast Gabby Douglas are up first. The two square off with the help of their respective teammates, Lyonne and actress Cheryl Hines.
As Polanco and Douglas begin drawing baseball bats, Lyonne and Hines attempt to guess words that fit the round’s category, A League of Their Own. The Curb Your Enthusiasm alum quickly gets the correct answer as she and Polanco pass their oversize notepads to actor Taye Diggs and American Ninja Warrior host Matt Iseman.
“Come on, we got this!” Polanco shouts in an attempt to encourage her teammates.
👉 For more insights, check out this resource.
The fifth season of Hollywood Game Night premiered earlier this summer and features new and improved games. The series follows two contestants competing alongside six celebrities. The winning contestant takes home up to $25,000 in cash prizes.
For her role on the show, Lynch won two Emmy Awards for Outstanding Host for a Reality or Reality-Competition Program in 2014 and 2015, respectively.
Watch the full clip above! Hollywood Game Night airs on NBC Thursdays at 8 p.m. ET.