:root {
    --font: 'Inter', Arial, sans-serif;
    transition: background-color 1s ease, color 1s ease;
    --border-radius-30: 30px;
}

:root,
html[data-theme="light"] {
    --bg: 255 255 255;
    --shade-100: #f3f4f6;
    --shade-600: rgb(75 85 99 / 30%);
    --border: 229 231 235;
    --text: 15 23 42;
    --light-text: 243 244 246;
    --box-shadow: 0 0 0;
    --light-on: block;
    --light-off: none;
    --section-bg: #fdfdfd;
}

html[data-theme="dark"] {
    --bg: 15 23 42;
    --shade-100: #111827;
    --shade-600: #9ca3af;
    --border: 229 231 235;
    --text: 248 250 252;
    --light-text: 15 23 42;
    --box-shadow: 0 0 0;
    --light-on: none;
    --light-off: block;
    --section-bg: #1f2434;
}

html.theme-transition,
html.theme-transition *,
html.theme-transition *:before,
html.theme-transition *:after {
    transition: 0s !important;
    transition-delay: 0 !important;
}

::-webkit-scrollbar {
    width: 7px;
}

::-webkit-scrollbar-track {
    border-radius: 30px;
    background: var(--shade-600);
}

::-webkit-scrollbar-thumb {
    border-radius: 30px;
    background: var(--shade-100);
}

::-webkit-scrollbar-thumb:hover {
    background: var(--section-bg);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background: var(--shade-100);
    color: rgba(var(--text)/1);
    transition: background-color 500ms linear;
}

.full_empty_page {
    height: 38vh !important;
}

a {
    text-decoration: none;
}

.link-hover-underline-main:hover,
a.active {
    text-decoration: underline;
    text-underline-offset: 0.375em !important;
    transition: 1s text-decoration-color;
}

#menu nav a {
    color: rgba(var(--text)/1);
}

header {
    font: 400 1rem/1 var(--font);
}

.theme-toggle {
    cursor: pointer;
    position: relative;
}

a:hover i {
    transform: scale(1.2) !important;
    cursor: pointer;
}

.light-on {
    display: var(--light-on);
}

.light-off {
    display: var(--light-off);
}


.fade-in {
    animation: fade-in 0.5s ease-in-out;
}

@keyframes fade-in {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.border-radius-30 {
    border-radius: 30px !important;
}

.overflow-hidden {
    overflow: hidden !important;
}