function updateTime() {
const londonElement = document.querySelectorAll(".london--time");
const hongKongElement = document.querySelectorAll(".hong_kong--time");
const chicagoElement = document.querySelectorAll(".chicago--time");
const now = new Date();
const londonTime = now.toLocaleString("en-GB", {
timeZone: "Europe/London",
hour: "2-digit",
minute: "2-digit",
hour12: true,
});
const hongKongTime = now.toLocaleString("en-HK", {
timeZone: "Asia/Hong_Kong",
hour: "2-digit",
minute: "2-digit",
hour12: true,
});
const chicagoTime = now.toLocaleString("en-US", {
timeZone: "America/Chicago",
hour: "2-digit",
minute: "2-digit",
hour12: true,
});
const newlondonTime = londonTime.replace(":", ':');
const newhongKongTime = hongKongTime.replace(
":",
':',
);
const newchicagoTime = chicagoTime.replace(
":",
':',
);
londonElement.forEach((el) => {
el.innerHTML = `${newlondonTime}`;
});
hongKongElement.forEach((el) => {
el.innerHTML = `${newhongKongTime}`;
});
chicagoElement.forEach((el) => {
el.innerHTML = `${newchicagoTime}`;
});
}
updateTime();
setInterval(updateTime, 60000);
const vimeoVideos = document.querySelectorAll("video[data-await-src]");
const videoshandleIntersection = (entries, observer) => {
entries.forEach((entry) => {
if (entry.isIntersecting) {
entry.target.src = entry.target.getAttribute("data-await-src");
entry.target.muted = true;
entry.target.playsInline = true;
entry.target.autoplay = false;
entry.target
.play()
.then(() => {
entry.target.style.visibility = "visible";
})
.catch((err) => {
entry.target.style.visibility = "hidden";
});
observer.unobserve(entry.target);
}
});
};
const lazyVideos = document.querySelectorAll("video");
const observeVideos = new IntersectionObserver((entries) => {
entries.forEach((entry) => {
const observedVideo = entry.target;
const posterUrl = observedVideo.getAttribute("poster");
if (posterUrl) {
const posterImg = document.createElement("img");
posterImg.src = posterUrl;
posterImg.classList.add("video-poster-overlay");
observedVideo.parentElement.insertBefore(posterImg, observedVideo);
}
if (entry.isIntersecting) {
const videoUrl = observedVideo.getAttribute("data-await-src");
if (videoUrl) {
observedVideo.src = videoUrl;
observedVideo.removeAttribute("data-await-src");
}
observedVideo.muted = true;
observedVideo.playsInline = true;
observedVideo.autoplay = false;
observedVideo
.play()
.then(() => {
observedVideo.style.visibility = "visible";
})
.catch(() => {
observedVideo.style.visibility = "hidden";
});
observeVideos.unobserve(observedVideo);
}
});
});
lazyVideos.forEach((video) => observeVideos.observe(video));
const cmailWraps = document.querySelectorAll(".cmail_wrap");
cmailWraps.forEach((wrap) => {
const emailLink = wrap.querySelector(".cmail_link");
const copiedMessage = wrap.querySelector(".cmail_copied");
let copyTimeout;
if (emailLink && copiedMessage) {
emailLink.addEventListener("click", (event) => {
event.preventDefault();
const email = emailLink.textContent.trim();
navigator.clipboard
.writeText(email)
.then(() => {
clearTimeout(copyTimeout);
copiedMessage.classList.add("visible");
copyTimeout = setTimeout(() => {
copiedMessage.classList.remove("visible");
}, 1500);
})
.catch((err) => {
alert("Failed to copy email:", err);
});
});
}
});
const careersLink = document.querySelector(".nav_link.careers");
if (careersLink) {
const careersDropdown = document.querySelector(".careers_dropdown");
const cdTextWrapsDesktop = document.querySelectorAll(
".careers_dropdown>.cd_block .cd_t--wrap",
);
const cdTextWrapsMobile = document.querySelectorAll(
".career_links--mobile>.cd_block .cd_t--wrap",
);
cdTextWrapsDesktop.forEach((w, i) => {
w.style.transitionDelay = `${i * 0.035}s`;
});
cdTextWrapsMobile.forEach((w, i) => {
w.style.transitionDelay = `${i * 0.05}s`;
});
careersLink.addEventListener("pointerenter", () => {
careersLink.classList.add("opened");
careersDropdown.classList.add("opened");
});
careersLink.addEventListener("pointerleave", () => {
careersLink.classList.remove("opened");
careersDropdown.classList.remove("opened");
});
}
const careersLinkMobile = document.querySelector(".careers_mobile--link");
if (careersLinkMobile) {
const careersBackLink = document.querySelector(".cd_back--button");
const careersDdMobile = document.querySelector(".career_links--mobile");
const mobileMenuButtonDd = document.querySelector(".menu");
careersLinkMobile.addEventListener("click", () =>
careersDdMobile.classList.add("opened"),
);
careersBackLink.addEventListener("click", () =>
careersDdMobile.classList.remove("opened"),
);
mobileMenuButtonDd.addEventListener("click", () =>
careersDdMobile.classList.remove("opened"),
);
}