(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();
}
})();
Baby makes five for Jeremy Roloff and his wife, Audrey! The former reality star took to his Instagram feed over the Fourth of July weekend to share a short and sweet clip that announced some really good news. The video was accompanied by Ben Rector's song, "Kids," which proved perfect for the occasion. It started with Jeremy tossing his daughter Ember in the air before it switched to son Bode (looked like some TikTok editing to us). Next, he caught a reel of black and white ultrasound photos before the whole gang gathered together, and Ember proudly announced that her mom is expecting. They also had a blackboard with white letters that read: "Tie-breaker coming in November."
To go with the adorable video post, Jeremy shared a funny caption. "Our family's growing! Maybe I can convince Audrey to get a minivan now?" he asked alongside a crying-face emoji. Fans have loved the sweet update, and many flocked to the comments section to wish the famous duo the best as they continue expanding their family. "Oh my goodness, CONGRATULATIONS," one fan gushed. "Such wonderful news!!!!! Awe, so happy for all of you." "Congrats Family of 4..Chrysler Pacifica is the best decision Husband made for our family," a second wrote, referencing the caption. Even Matt Roloff took time to comment on the post. "Haahaaa. Love this video. Love the news!!!" he raved.
We cannot wait until November so we can see what the official tie-breaker will be.