function toggleDarkMode() {

const DARK_CLASS = 'dark';

var body = document.querySelector("body");
if (body.classList.contains(DARK_CLASS)) {
    setCookie('theme', 'light');
    body.classList.remove(DARK_CLASS);
} else {
    setCookie('theme', 'dark');
    body.classList.add(DARK_CLASS);
}

}

function getCookie(name) {

var v = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');
return v ? v[2] : null;

} function setCookie(name, value, days) {

var d = new Date;
d.setTime(d.getTime() + 24*60*60*1000*days);
document.cookie = name + "=" + value + ";path=/;SameSite=strict;expires=" + d.toGMTString();

}

function deleteCookie(name) { setCookie(name, '', -1); }

const userPrefersDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches; var theme = getCookie('theme'); if ( (theme === null && userPrefersDark) || theme === 'dark') {

var checkDarkDone = false;
function checkDark() {
    if (!checkDarkDone) {
        toggleDarkMode();
    }
    checkDarkDone = true;
};

function toggleSwitch() {
    document.querySelectorAll('#dark-mode-toggle').forEach(ti => ti.checked = true);
};

// Attempt both requestAnimationFrame and DOMContentLoaded, whichever comes first.
if (window.requestAnimationFrame) window.requestAnimationFrame(checkDark);
window.addEventListener('DOMContentLoaded', checkDark);

window.addEventListener('DOMContentLoaded', toggleSwitch);

}