/* Local Font Definitions */

/* Public Sans - Variable Font */
@font-face {
    font-family: 'Public Sans';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('../fonts/public-sans/PublicSans-VariableFont.woff2') format('woff2');
}

/* Noto Sans */
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/noto-sans/NotoSans-Regular.woff2') format('woff2');
}

@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('../fonts/noto-sans/NotoSans-Medium.woff2') format('woff2');
}

@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../fonts/noto-sans/NotoSans-Bold.woff2') format('woff2');
}

/* Material Symbols Outlined */
@font-face {
    font-family: 'Material Symbols Outlined';
    font-style: normal;
    font-weight: 100 700;
    font-display: block;
    src: url('../fonts/material-symbols/MaterialSymbolsOutlined-full.woff2') format('woff2');
}

.material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}



.bg-map-pattern {
    background-image: radial-gradient(#0b50da 1px, transparent 1px);
    background-size: 24px 24px;
}

/* Header Scroll Effect */
.header-scrolled {
    background-color: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(12px);
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);
    border-bottom: 1px solid #e5e7eb;
}

.header-scrolled .header-text {
    color: #111318 !important;
}

.header-scrolled .header-nav {
    color: #111318 !important;
}

.header-scrolled .header-nav:hover {
    color: #0b50da !important;
}

.header-scrolled .header-nav-active {
    color: #0b50da !important;
}

.header-scrolled .header-icon-bg {
    background-color: rgba(11, 80, 218, 0.1) !important;
    color: #0b50da !important;
}

/* Marquee Animation */
@keyframes scroll {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

.animate-scroll {
    animation: scroll 30s linear infinite;
}

.animate-scroll:hover {
    animation-play-state: paused;
}