(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();
}
})();
Eddie Lucas got up close and personal with Raquel "Rocky" Dakota during "Below Deck" Season 3. Very up close and personal. Despite having a longtime girlfriend back on shore, bosun Lucas couldn't resist the third stew's charms. The two embarked on a secret relationship that caused some serious waves and a change in the show's filming policies. Per Bravo, Lucas and Dakota managed to keep their boatmance on the down-low from their fellow costars, thanks to discovering a camera-free zone. Even Captain Lee Rosbach didn't know about the couple's clandestine laundry room trysts.
Cast members finally learned of the heated affair after Season 3 filming ended — and they were as unimpressed by the steamy shenanigans as the show's producers were. The hoodwinked crew was even less impressed by what occurred as a consequence of the two's intimate interludes. "'We now have cameras in the laundry room," Captain Lee told Bravo's The Daily Dish. "They ruined it for everyone," Chief Stew Kate Chastain complained. "This is why we can't have nice things, [Lucas] and [Dakota]."
"[The cast is here] to share every aspect of their lives. Those are the rules. The only place you have privacy on the boat is the bathroom," Noah Samton, the senior vice president of current production, told the New York Times. "Not just because of sex," he explained. "It could be they're having a conversation — they hate so-and-so. We need to know that."