html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

:root {
    --bg: #ffffff;
    --text: #212529;
    --muted: #6c757d;
    --card: #ffffff;
    --border: #dee2e6;
    --link: #0d6efd;
}

html[data-theme="dark"] {
    --bg: #121212;
    --text: #e0e0e0;
    --muted: #a0a0a0;
    --card: #1e1e1e;
    --border: #2a2a2a;
    --link: #66aaff;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 60px;
    background-color: var(--bg);
    color: var(--text);
}

footer.footer {
    background-color: var(--card);
    border-top: 1px solid var(--border);
    color: var(--muted);
}

footer.footer a { color: var(--link); }

/* Make nav links inherit theme text color by default */
.navbar .nav-link { color: var(--text); }
.navbar .nav-link:hover { color: var(--link); }