body {
    font-family: 'Poppins', sans-serif;
    color: #333;
    line-height: 1.6;
    background-color: #fcfcfc;
}

h1, h2, h3, h4, h5, h6 {
    color: #004C3F;
    font-weight: 600;
}

a {
    color: #004C3F;
    text-decoration: none;
}

.section {
    padding: 80px 0;
}

.green-funds-text {
    color: #004C3F !important;
}

.green-funds-dark-bg {
    background-color: #004C3F !important;
}

.green-funds-dark-bg-lighten {
    background-color: #003B31 !important;
}

.green-funds-light-bg {
    background-color: #E0F2F1 !important;
}

.green-funds-green-btn {
    background-color: #004C3F !important;
    color: white !important;
    text-transform: none;
    border-radius: 8px;
    box-shadow: none;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.green-funds-green-btn:hover {
    background-color: #006652 !important;
    box-shadow: 0 4px 10px rgba(0, 76, 63, 0.3);
}

.green-funds-gold-btn {
    background-color: #FFC107 !important;
    color: #004C3F !important;
    text-transform: none;
    border-radius: 8px;
    box-shadow: none;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.green-funds-gold-btn:hover {
    background-color: #FFD54F !important;
    box-shadow: 0 4px 10px rgba(255, 193, 7, 0.3);
}

.material-symbols-outlined {
    vertical-align: middle;
}

input[type=text]:focus:not([readonly]),
input[type=email]:focus:not([readonly]),
input[type=tel]:focus:not([readonly]),
textarea.materialize-textarea:focus:not([readonly]) {
    border-bottom: 1px solid #004C3F;
    box-shadow: 0 1px 0 0 #004C3F;
}

label.active {
    color: #004C3F !important;
}

.helper-text[data-error]::after, .helper-text[data-success]::after {
    color: #F44336; 
}

nav {
    height: 80px;
    line-height: 80px;
}

nav .brand-logo {
    display: flex;
    align-items: center;
    height: 100%;
    line-height: 1.2;
}

nav .brand-logo img {
    height: 50px;
    margin-right: 10px;
}

nav .brand-logo span {
    color: #004C3F;
    font-weight: 700;
    font-size: 1.5rem;
}

nav .nav-wrapper ul li a {
    color: #004C3F;
    font-weight: 500;
    padding: 0 15px;
}

.sidenav {
    background-color: white;
}

.sidenav li a {
    color: #004C3F;
    font-weight: 500;
}

.hero-section {
    background: linear-gradient(to bottom, #F3F8F5, #D1E7DD);
    min-height: 80vh;
    display: flex;
    align-items: center;
    padding: 100px 0;
}

.hero-headline {
    font-size: 3.5rem;
    line-height: 1.2;
    color: #004C3F;
    margin-bottom: 20px;
}

.hero-subheadline {
    font-size: 1.3rem;
    color: #444;
    margin-bottom: 30px;
}

.hero-section img {
    max-width: 100%;
    height: auto;
    border-radius: 15px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}

.how-it-works-section {
    background-color: #f9f9f9;
}

.how-it-works-card {
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.how-it-works-card .material-symbols-outlined {
    font-size: 4.5rem;
    color: #004C3F;
    margin-bottom: 15px;
}

.how-it-works-card h5 {
    font-weight: 600;
    margin-bottom: 10px;
    font-size: 1.6rem;
}

.how-it-works-card p {
    font-size: 1.1rem;
    color: #555;
}

.why-join-section {
    background-color: #E0F2F1;
}

.carousel-slider {
    min-height: 380px;
}

.carousel-item {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.testimonial-card {
    width: 90%;
    max-width: 550px;
    margin: auto;
    border-radius: 15px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.1);
    background-color: white;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 250px;
}

.testimonial-card .card-content p {
    font-style: italic;
    font-size: 1.2rem;
    color: #444;
    margin-bottom: 15px;
}

.testimonial-card .card-content .author {
    font-weight: 600;
    margin-top: 10px;
    color: #004C3F;
    font-size: 1.1rem;
}

.why-join-section img {
    max-width: 100%;
    height: auto;
    border-radius: 15px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.1);
}

.funding-impact-section {
    background-color: #004C3F;
    color: white;
    padding: 100px 0;
}

.funding-impact-section h2, .funding-impact-section p {
    color: white;
}

.counter-wrapper {
    margin-top: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.counter-wrapper .material-symbols-outlined {
    font-size: 5rem;
    color: #FFC107;
    margin-right: 20px;
}

#qualified-counter {
    font-size: 5rem;
    font-weight: 700;
    color: white;
    line-height: 1;
}

.counter-wrapper span:last-child {
    font-size: 2.5rem;
    font-weight: 300;
    margin-left: 15px;
    line-height: 1;
}

@media (max-width: 600px) {
    .counter-wrapper {
        flex-direction: column;
        text-align: center;
    }
    .counter-wrapper .material-symbols-outlined {
        margin-right: 0;
        margin-bottom: 15px;
    }
    .counter-wrapper span:last-child {
        margin-left: 0;
        margin-top: 10px;
    }
}

.eligibility-form-section {
    background-color: #f9f9f9;
}

.eligibility-card {
    border-radius: 15px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    padding: 20px;
}

.eligibility-card h4 {
    color: #004C3F;
    margin-bottom: 15px;
}

.eligibility-card .flow-text {
    margin-bottom: 30px;
    color: #555;
}

.eligibility-card .form-note {
    font-size: 0.9rem;
    color: #777;
    margin-top: 25px;
}

.eligibility-card input[type="checkbox"] + span:not(.lever) {
    color: #004C3F;
}

.eligibility-card input[type="checkbox"]:checked + span:not(.lever):before {
    border-right: 2px solid #004C3F;
    border-bottom: 2px solid #004C3F;
}

.about-section {
    background-color: #E0F2F1;
}

.about-section p {
    font-size: 1.2rem;
    text-align: center;
    max-width: 900px;
    margin: 20px auto;
    color: #444;
}

.faq-section {
    background-color: #f9f9f9;
}

.collapsible-header {
    background-color: white;
    border-bottom: 1px solid #eee;
    color: #004C3F;
    font-weight: 600;
    font-size: 1.2rem;
    padding: 20px;
}

.collapsible-body {
    background-color: #fefefe;
    padding: 20px;
    border-bottom: 1px solid #eee;
    color: #555;
    font-size: 1.1rem;
}

.contact-section {
    background-color: #E0F2F1;
}

.contact-section h4 {
    color: #004C3F;
    margin-bottom: 25px;
}

.contact-info-item {
    display: flex;
    align-items: center;
    margin-bottom: 25px;
}

.contact-info-item .material-symbols-outlined {
    font-size: 2.8rem;
    color: #004C3F;
    margin-right: 20px;
    min-width: 40px;
}

.contact-info-item p {
    margin: 0;
    font-size: 1.1rem;
    color: #444;
}

.contact-info-item a {
    color: #004C3F;
    text-decoration: underline;
}

.page-footer {
    background-color: #004C3F;
    color: white;
    padding: 60px 0 20px;
}

.page-footer .footer-logo img {
    filter: brightness(0) invert(1);
    height: 50px;
    margin-right: 10px;
}

.page-footer .footer-logo span {
    color: white;
    font-weight: 700;
    font-size: 1.4rem;
}
    .page-footer a {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
        text-align: center;
    }


.page-footer a {
    color: white;
    text-decoration: none;
    transition: color 0.3s ease;
}

.page-footer a:hover {
    color: #FFC107;
}

.page-footer ul li a {
    padding: 5px 0;
    display: block;
    font-size: 1.1rem;
}

.footer-disclaimer {
    font-size: 0.85rem;
    opacity: 0.7;
    margin-top: 30px;
    text-align: center;
    color: rgba(255, 255, 255, 0.7);
}

.copyright {
    font-size: 0.9rem;
    opacity: 0.8;
    text-align: center;
    margin-top: 15px;
    color: rgba(255, 255, 255, 0.8);
}

.cookie-banner {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 1000;
    max-width: 350px;
    border-radius: 10px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.2);
    background-color: white;
    display: none; 
}

.cookie-banner .card-content p {
    font-size: 0.95rem;
    color: #444;
}

.cookie-banner .card-action {
    padding: 10px 24px 20px;
    display: flex;
    justify-content: flex-end;
}

.cookie-banner .card-action button {
    margin-left: 10px;
}

.cookie-settings-modal {
    max-width: 550px !important;
    border-radius: 10px;
}

.cookie-settings-modal h4 {
    margin-bottom: 20px;
}

.cookie-category {
    margin-bottom: 20px;
    padding: 10px;
    border: 1px solid #eee;
    border-radius: 8px;
}

.cookie-category label {
    display: flex;
    align-items: center;
    font-size: 1.1rem;
    font-weight: 500;
    color: #004C3F;
}

.cookie-category input[type="checkbox"] {
    margin-right: 15px;
}

.cookie-category p {
    margin-top: 5px;
    margin-left: 40px;
    font-size: 0.9rem;
    color: #666;
}

.modal-footer {
    padding: 15px 20px;
    text-align: right;
}

.modal-footer button {
    margin-left: 10px;
}

@media (max-width: 992px) {
    .hero-headline {
        font-size: 2.8rem;
    }
    .hero-subheadline {
        font-size: 1.1rem;
    }
    .section {
        padding: 60px 0;
    }
    nav .brand-logo span {
        font-size: 1.5rem;
    }
    .how-it-works-card .material-symbols-outlined {
        font-size: 3.5rem;
    }
    .how-it-works-card h5 {
        font-size: 1.4rem;
    }
    .counter-wrapper .material-symbols-outlined {
        font-size: 4rem;
    }
    #qualified-counter {
        font-size: 4rem;
    }
    .counter-wrapper span:last-child {
        font-size: 2rem;
    }
}

@media (max-width: 600px) {
    .hero-section {
        text-align: center;
        padding: 80px 0;
    }
    .hero-headline {
        font-size: 2.2rem;
    }
    .hero-subheadline {
        font-size: 1rem;
    }
    .btn-large {
        width: 100%;
    }
    nav .brand-logo {
        font-size: 1.3rem;
    }
    nav .brand-logo img {
        height: 40px;
    }
    .section {
        padding: 40px 0;
    }
    .counter-wrapper .material-symbols-outlined {
        font-size: 3rem;
    }
    #qualified-counter {
        font-size: 3rem;
    }
    .counter-wrapper span:last-child {
        font-size: 1.5rem;
    }
    .cookie-banner {
        bottom: 10px;
        right: 10px;
        max-width: calc(100% - 20px);
    }
    .cookie-banner .card-action {
        flex-direction: column;
        align-items: stretch;
    }
    .cookie-banner .card-action button {
        margin-left: 0;
        margin-top: 10px;
    }
    .cookie-category p {
        margin-left: 0;
    }
}/*
 * Base styles for the terms container.
 * Provides padding at the top and on the sides to separate content from edges.
 */
.termsCaveBox {
    padding-top: 30px;
    padding-left: 20px;
    padding-right: 20px;
}

/*
 * Heading styles for h1 within the terms container.
 * Font size is moderate, not overly large, with standard margins for separation.
 */
.termsCaveBox h1 {
    font-size: 28px; /* Moderate size for main heading */
    margin-top: 30px; /* Space above the heading */
    margin-bottom: 15px; /* Space below the heading */
    font-weight: 700; /* Bold font weight */
    line-height: 1.2; /* Tighter line height for headings */
}

/*
 * Heading styles for h2 within the terms container.
 * Slightly smaller than h1, maintaining clear hierarchy.
 */
.termsCaveBox h2 {
    font-size: 24px;
    margin-top: 25px;
    margin-bottom: 12px;
    font-weight: 700;
    line-height: 1.3;
}

/*
 * Heading styles for h3 within the terms container.
 * Further reduction in size for sub-sections.
 */
.termsCaveBox h3 {
    font-size: 20px;
    margin-top: 20px;
    margin-bottom: 10px;
    font-weight: 700;
    line-height: 1.4;
}

/*
 * Heading styles for h4 within the terms container.
 * Approaching body text size but still distinct.
 */
.termsCaveBox h4 {
    font-size: 18px;
    margin-top: 18px;
    margin-bottom: 8px;
    font-weight: 700;
    line-height: 1.5;
}

/*
 * Heading styles for h5 within the terms container.
 * Close to body text size, primarily distinguished by boldness and margin.
 */
.termsCaveBox h5 {
    font-size: 16px; /* Similar to body text, but bold */
    margin-top: 16px;
    margin-bottom: 6px;
    font-weight: 700;
    line-height: 1.5;
}

/*
 * Paragraph styles within the terms container.
 * Sets a comfortable base font size, line height for readability, and spacing between paragraphs.
 */
.termsCaveBox p {
    font-size: 16px; /* Base font size for body text */
    line-height: 1.6; /* Optimal line height for readability */
    margin-bottom: 1em; /* Space between paragraphs */
}

/*
 * Unordered list styles within the terms container.
 * Adds default disc bullet points, appropriate top/bottom margins, and left padding for indentation.
 */
.termsCaveBox ul {
    list-style-type: disc; /* Standard bullet points */
    margin-top: 1em; /* Space above the list */
    margin-bottom: 1em; /* Space below the list */
    padding-left: 25px; /* Indentation for bullet points */
}

/*
 * List item styles within the terms container.
 * Ensures consistent font size, line height, and provides spacing between individual list items.
 */
.termsCaveBox li {
    font-size: 16px; /* Consistent font size for list items */
    line-height: 1.6; /* Consistent line height for readability */
    margin-bottom: 0.5em; /* Space between list items */
}
main {
    overflow: hidden;
}
@media screen and (width < 576px) {
    h2 {
        font-size: 2.5rem !important;
    }
}
    .carousel-item {
        padding: 0;
    }
@media screen and (width < 992px) {

    .card .card-content {
        padding: 0;
    }
    .carousel .indicators {
        display: none;
    }

}
    .carousel .indicators {
        bottom: -30px;
    }
@media only screen and (max-width: 992px) {
    nav .brand-logo {
        left: unset !important;
        -webkit-transform: unset !important;
        transform: unset !important;
    }
}
footer h5 {
    text-align: center;
}
nav a {
    color: #0f0808 !important;
}
nav .sidenav-trigger {
    float: right !important;
}
@media screen and (width < 400px) {
    .brand-logo {
        max-width: 260px;
    }
}
@media screen and (992px < width < 1200px ) {
    .nav-wrapper {
        display: flex;
        justify-content: space-between;
    }
    nav .brand-logo {
        position: relative;
    }
    .nav-wrapper a.green-funds-gold-btn {
        display: none;
    }
}