.center {
	text-align: center;
}

.section-title {
    color: #3b56a7;
    text-align: center;
    font-family: League Spartan;
    font-size: 44px;
    font-style: normal;
    font-weight: 600;
    line-height: 110%;
}

.body-text {
    color: #212123;
    font-family: League Spartan;
    font-size: 22px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

.hero-section {
    position: relative;
    min-height: 510px;
    display: flex;
    align-items: center;
    
    /* Image layout behaviors */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    
    /* Drupal edge-to-edge breakout properties */
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);
    margin-left: 0;
    margin-right: 0;
    
    overflow: hidden;
    z-index: 1;
}

/* Semi-transparent overlay layer for text readability */
.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 2;
}

/* Keeps the inner content layout grid aligned safely above backgrounds */
.hero-content {
    position: relative;
    z-index: 3;
    color: #ffffff;
    width: 100%;
}

.hero-content h1 {
    color: #fff;
    text-align: center;
    font-family: League Spartan;
    font-size: 84px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}

/* Positions the waves perfectly along the bottom lip */
.hero-waves {
    position: absolute;
    bottom: -1px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: auto;
    min-width: 1200px;
    opacity: 0.85;
    z-index: 4;
    pointer-events: none;
}


.footer-dark {
	margin-top: 100px !important;
	background-color: #122357 !important;
}

.footer_copyright {
border-top: 1px solid rgb(255 255 255 / 15%);
padding-top: 25px;
margin-top: 50px;
}

.element.upper_footer {
    background-color: #448e00;
    border-bottom: 3px solid #79c038;
    padding: 28px 0 21px;
    
    /* Break out of container to full screen width */
    position: relative;
    width: 98vw;
    left: 50%;
    transform: translateX(-50%);
}

.element.upper_footer p, .element.upper_footer p a
 {
    margin: 0;
    color: #fff;
    text-align: center;
    font-family: League Spartan;
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 36px;
    transition: .3s;
}

/* 1. Parent Wrapper: Positions the Logo on the left and Menu on the right */
.footer_logo_menu {
    display: flex;
    justify-content: space-between; /* Pushes logo left and menu right */
    align-items: center;            /* Vertically aligns them in the middle */
    flex-wrap: wrap;                /* Allows wrapping cleanly on small screens */
    gap: 20px;                      /* Prevents them from bumping into each other if wrapped */
}

/* 2. Menu Div Wrapper (Optional but keeps layout stable) */
.footer_menu {
    margin-left: auto;              /* Safety net fallback to keep pushing the menu right */
}

/* 3. The Menu List: Cleaned up and optimized */
.footer_logo_menu ul.menu-links.desktop-view {
    margin: 0;
    padding: 0;
    display: flex;
    list-style: none;
    gap: 20px 30px;
    flex-flow: row wrap;            /* Explicitly keeps links in a row layout */
    align-items: center;
}