(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();
}
})();
Unfortunately, Mark Tennant, the former women’s volleyball coach at the University of Saskatchewan, died. On Thursday, October 12, 2023, in Saskatoon. He passed away peacefully in the presence of his closest friends and family members.
As for now, Mark Tennant’s root cause of the death remains unknown. In other words, the cause of his death isn’t made public by his family. In the meantime, we should respect their privacy.
Huskie Athletics posted a statement announcing the coach’s death news: “It is with deep sadness that Huskie Athletics mourns the loss of long-time volleyball coach Mark Tennant.”
The details regarding Mark’s funeral were not officially announced by his family, so for now, no details are available on Mark Tennant’s funeral or memorial service. The family will shortly inform the public.
👉 For more insights, check out this resource.
Mark Tennant stands in Henk Ruys Soccer Centre, at the court named in his honour, in 2020. PHOTO BY MATT OLSON / SASKATOON STARPHOEN /Saskatoon
Winnipeg-born Mark Tennant was a well-known personality in the volleyball community. In 1971, he started working as a women’s club volleyball instructor and faculty member at the
👉 Discover more in this in-depth guide.
University of Saskatchewan.
The University of Saskatchewan volleyball team had incredible accomplishments under his direction, winning three straight CIAU titles in 1978–79, 1979–80, and 1980–81, in addition to seven Canada West Championships. A prominent figure in academia, Mark Tennant was honoured with multiple coaching accolades and elected into the Saskatchewan Sports Hall of Fame and Museum.
We sincerely sympathize with Mark Tennant’s friends, family, and the volleyball society. His passing will be missed.
The information and ways to support the family will be provided soon.
Amelia Warner
Amelia Warner writes all the Latest Articles. She mostly covers Entertainment topics, but at times loves to write about movie reviews as well.