(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();
}
})();
EMMERDALE'S Sapphire Elia looks completely different to how soap fans might remember her.
The star, who played Mia Macey, left the show in 2011 and was last seen on-screen with a short, cropped, highlighted hairstyle with a fringe.
However, the 34-year-old now has long, dark brunette hair and looks completely different to how soap fans will remember her.
When she was in Emmerdale, Sapphire's storyline as Mia was dramatic from the get-go.
👉 For more insights, check out this resource.
She arrived in the Yorkshire village in November 2010 as the daughter of Ella Hart, who was played by Corrinne Wicks.
At the time, viewers were led to believe that Mia's father was Declan Macey, who was unaware that she was coming to the village.
👉 Discover more in this in-depth guide.
Mia then got romantically involved with Adam Barton, who was in a relationship with Scarlett Nicholls, which naturally caused tension in the village.
Eventually, Adam ended up having an affair with Mia's mother Ella, and Mia was fuming when the affair was exposed.
Mia went off to Ireland but was set to return three months later for a visit to Home Farm.
In truly dramatic events, she was killed in an off-screen car accident, with Declan later scattering her ashes following her funeral.
Aside from Emmerdale, actress Sapphire has appeared in a number of other films and television shows.
Some of her other notable roles include Claudine Cameron in Britannia High and two separate stints on The Bill in 2010.
And it appears she has taken a step back from acting, after opening up a consulting agency with her partner Matthew in July 2020.
We pay for your stories!
Do you have a story for The Sun Showbiz team?