(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();
}
})();
American investment banker and businessman Scott Norby was born in Minnesota in 1966. He is currently employed by the Goldman Sachs Group as a director. Norby is well-known for being Heather Nauert’s spouse (American Journalist and Government Official). Nauert also serves as the US Department of State’s spokesperson at the moment.
Donald Trump, the President of the United States, announced on December 7 that his wife Heather would take Haley’s place as ambassador to the UN.
Scott Norby Early Life
The husband of Heather Nauert was born in Minnesota, America, in 1966. Hence, as of 2018, Scott Norby is 52 years old. The internet does not include information on his mother and father.
In addition, Norby enrolled in The University of Wisconsin-Madison after graduating from high school. He received a bachelor’s degree in economics. Eventually, Scott graduated with honors from the Booth School of Management at The University of Chicago.
👉 For more insights, check out this resource.
Personal life, a girlfriend, and kids
Scott Norby and his wife Heather Nauert got married. The relationship between the two people lasted for a while before the wedding as well. Also, they have two kids together.
On October 7, 2009, Nauert gave birth to the couple’s first child, Peter Raymond Norby. Scott and Heather later welcomed Gage William Norby as their second son in 2010. The family currently resides in New York City, USA.
👉 Discover more in this in-depth guide.