@font-face {
    font-family: 'Space Grotesk';
    src: url('../fonts/SpaceGrotesk/SpaceGrotesk-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Space Grotesk';
    src: url('../fonts/SpaceGrotesk/SpaceGrotesk-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Space Grotesk';
    src: url('../fonts/SpaceGrotesk/SpaceGrotesk-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Space Grotesk';
    src: url('../fonts/SpaceGrotesk/SpaceGrotesk-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

body {
    font-family: 'Space Grotesk', sans-serif;
}


.grid-bg {
    background-image: radial-gradient(#2a3142 1px, transparent 1px);
    background-size: 32px 32px;
}

.nav-link {
    position: relative;
    color: rgb(203 213 225);
    /* slate-300 */
    transition: color 150ms ease;
}

.nav-link:hover {
    color: #ffffff;
}

.nav-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.25rem;
    width: 0;
    height: 1px;
    background: #4c8dff;
    /* primary */
    transition: width 200ms ease;
}

.nav-link:hover::after {
    width: 100%;
}

.nav-link-active {
    color: #4c8dff;
    /* primary */
    font-weight: 500;
}

.mobile-link {
    color: rgb(203 213 225);
    /* slate-300 */
    transition: color 150ms ease;
}

.mobile-link:hover {
    color: #ffffff;
}

.mobile-link-active {
    color: #4c8dff;
    /* primary */
}

@keyframes scroll {
    0% {
        opacity: 0;
        transform: translateY(0);
    }

    30% {
        opacity: 1;
    }

    60% {
        opacity: 1;
        transform: translateY(10px);
    }

    100% {
        opacity: 0;
        transform: translateY(14px);
    }
}

.animate-scroll {
    animation: scroll 1.8s infinite;
}
