body {
    font-family: "Space Grotesk", sans-serif;
    line-height: 1.6;
}

:root {
    --checkbox-tick-svg: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
}

h1,
h2,
h3,
h4,
h5,
h6,
.font-display,
.font-headline,
.font-body,
.font-label {
    font-family: "Space Grotesk", sans-serif;
}

.material-symbols-outlined {
    font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}

.hover-underline:hover {
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
}

.duotone-overlay {
    position: relative;
}

.duotone-overlay::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #0456ae;
    mix-blend-mode: color;
    pointer-events: none;
}

.timeline-line::before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 100%;
    background-color: #cbd5e1;
    z-index: 0;
}

.academic-card {
    border: 1px solid #d1d8e0;
    border-radius: 2px;
    background-color: #ffffff;
    box-shadow: none !important;
}

.drawer-open {
    transform: translateX(0);
}

.drawer-closed {
    transform: translateX(100%);
}

.overlay-open {
    opacity: 1;
    pointer-events: auto;
}

.overlay-closed {
    opacity: 0;
    pointer-events: none;
}

@media (max-width: 768px) {
    .timeline-line::before {
        left: 24px;
    }
}
