/* Text preferences */
body {
    font-family: 'Newsreader', serif;
    font-size: 18px;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Libre Franklin', sans-serif;
    font-weight: 700;
}

h3 {
    font-size: 1.1rem;
}

h4 {
    font-size: 0.9rem;
}

/* Header bar */
#header {
    background-color: #9E1B34;
}

#header nav, #header .navbar {
    font-family: 'Libre Franklin', sans-serif;
}

/* Main navigation links */
#header > section a {
    color: #FFFFFF !important;
}

#header > section a:hover, 
#header > section a:visited, 
#header > section a:active {
    background-color: transparent !important;
    color: #FFFFFF !important;
}

/* Dropdown menu links - more specific selector */
#header nav.dropmenu a {
    color: #333 !important;
    background-color: #FFFFFF !important;
}

#header nav.dropmenu a:hover {
    color: #9E1B34 !important;
    background-color: #f5f5f5 !important;
}

/* Two-column setup */
.twocolumn-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
}

@media (max-width: 768px) {
    .twocolumn-container {
        grid-template-columns: 1fr;
        gap: 0.25rem;
    }
    .twocolumn-container h3 {
        margin-top: 0.25rem;
    }
}

/* Three-column setup */
.threecolumn-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

@media (max-width: 768px) {
    .threecolumn-container {
        grid-template-columns: 1fr;
        gap: 0.25rem;
    }
    .threecolumn-container h3 {
        margin-top: 0.25rem;
    }
}


/* Footer */
#footer {
    font-family: 'Libre Franklin', sans-serif;
    font-size: 0.6rem;
}