(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();
}
})();
In case you had any doubts, Scarlett Johansson and Kate Winslet are both stunning — with or without makeup.
In the new Vanity Fair Hollywood issue, the actresses are shot by Chuck Close in "makeup-free" portraits.
"I don't do glamour shots, and they're not airbrushed or whatever. So they can be, um…they can be rough," Close told the magazine.
"So I need to talk people through it. They have to give up a great deal of vanity in order to do it.
👉 For more insights, check out this resource.
He adds, "And it takes a real act of generosity and faith on the part of the subject to go with it and give me their image without having any control over what's gonna happen."
The funny thing is, we don't see anything "rough" about these two images.
👉 Discover more in this in-depth guide.
Scarlett, 29, and Kate, 38, look pretty freakin' good if you ask us, and it's great the two beauties decided to give the world a peek at what they look like on any regular day.
But they're not the only Hollywood gals who've ditched the face paint — see the tk other actresses who went au naturel:
BEYONCE
//
JULIANNE HOUGH//
KOURTNEY KARDASHIAN//
CAMERON DIAZ//
MILEY CYRUS//
DEMI LOVATO//
ADRIANA LIMA//
HEIDI KLUM
//