<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">/* =========== PROCAM SUSTAINABILITY BODY SPECIFIC STYLES (REVISITED) =========== */
@import url('https://fonts.googleapis.com/css2?family=Pacifico&amp;display=swap'); /* For #RootedWithProcam */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&amp;family=Oswald:wght@400;500;700&amp;display=swap'); /* Existing fonts */

:root {
    /* Theme Colors */
    --primary-color: #f37021; /* Orange - Procam primary */
    --secondary-color: #c82333; /* Red for search button */
    --fern-green-color: #556B2F; /* DarkOliveGreen for #RootedWithProcam */
    --card-title-color: #333;
    --card-text-color: #555;
    --card-bg-color: #ffffff;
    --card-border-color: #e0e0e0;
    --card-shadow-color: rgba(0,0,0,0.08);
    --input-text-color: #444;

    /* Fonts */
    --font-pacifico: 'Pacifico', cursive;
    --font-oswald: 'Oswald', "Helvetica Neue", Arial, sans-serif;
    --font-roboto: 'Roboto', "Helvetica Neue", Arial, sans-serif;

    /* Procam variable for consistency */
    --procam-body-bg: #F1F2F7;
}

/* Main wrapper for the sustainability content */
/* This styles the &lt;main&gt; tag within the #main &gt; .content structure */
/* Container within the main content area */
.main-content-area.sustainability-theme-revisited &gt; .container {
    display: flex;
    flex-direction: column;
    align-items: center;
    /*gap: 40px;  Increased gap between sections */
    /* Bootstrap .container handles width/padding */
	position: relative; /* MODIFIED: Ensure this is part of stacking context */
    z-index: 1;
	margin-top: -60px; /* Counteract the 60px padding-top from .content */
    padding-top: 60px;
}

/* #RootedWithProcam Heading */
.sustainability-main-title-revisited {
    font-family: var(--font-pacifico);
    font-style: italic;
    color: var(--fern-green-color);
    font-size: 3.5rem; /* Adjusted size */
    text-align: center;
    margin-bottom: 10px; /* Reduced margin */
    margin-top: 15px; /* Added top margin */
    font-weight: 400;
    line-height: 1.2;
}

/* --- Login Placeholder Card --- */
.login-placeholder-card {
    text-align: center;
    padding: 35px 25px;
    margin: 20px auto 30px auto;
    max-width: 600px;
    background-color: var(--card-bg-color);
    border-radius: 12px;
    border: 1px solid var(--card-border-color);
    box-shadow: 0 4px 15px var(--card-shadow-color);
}
.login-placeholder-card p {
    margin-bottom: 25px;
    font-size: 1.2rem;
    color: var(--card-text-color);
    line-height: 1.6;
}
.firebase-login-button.main-action { /* Style for the main "Sign In / Sign Up" button */
    background-color: var(--primary-color);
    color: white;
    padding: 14px 28px;
    font-size: 1.15rem;
    min-width: 250px;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    text-decoration: none;
    font-family: var(--font-roboto);
}
.firebase-login-button.main-action:hover {
    background-color: var(--primary-darker);
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
    transform: translateY(-1px);
}
.firebase-login-button.main-action i.fa {
    margin-right: 10px;
    font-size: 1.1em;
}

/* --- Login Modal Styles (for FirebaseUI) --- */
.login-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease-out, visibility 0s linear 0.25s;
}
.login-modal-overlay.active {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.25s ease-out, visibility 0s linear 0s;
}
.login-modal-content {
    background-color: #fff;
    padding: 25px 30px;
    border-radius: 8px;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.25);
    width: 90%;
    max-width: 420px;
    text-align: left;
    position: relative;
    max-height: 90vh;
    overflow-y: auto;
    transform: scale(0.95);
    transition: transform 0.25s ease-out;
}
.login-modal-overlay.active .login-modal-content {
    transform: scale(1);
}
.login-modal-content h2 {
    font-family: var(--font-oswald);
    font-size: 1.8rem;
    color: var(--card-title-color);
    margin-top: 5px;
    margin-bottom: 20px; /* More space below title */
    text-align: center;
}
.modal-close-button {
    position: absolute;
    top: 12px;
    right: 12px;
    background: none;
    border: none;
    font-size: 1.8rem;
    font-weight: bold;
    color: #999;
    cursor: pointer;
    line-height: 1;
    padding: 5px;
}
.modal-close-button:hover { color: #555; }
#firebaseui-auth-container {
    margin-top: 10px; /* Space above FirebaseUI widget */
    min-height: 250px; /* Ensure space for widget to render */
}
#firebaseui-loader {
    text-align:center;
    margin-top:20px;
    padding-bottom: 20px; /* Ensure loader text is visible */
    color: var(--card-text-color);
}

/* User Info &amp; Logout Button (after login) */
.user-info-display {
    text-align: center;
    padding: 15px;
    margin-bottom: 20px;
    font-size: 1.1rem;
    color: var(--card-text-color);
}
#user-display-name {
    font-weight: bold;
    margin-right: 15px;
}
.firebase-logout-button {
    background-color: #f0f0f0;
    color: #555;
    font-size: 0.9rem;
    padding: 8px 15px;
    min-width: auto;
    border: 1px solid #ddd;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color 0.2s ease;
    font-family: var(--font-roboto);
}
.firebase-logout-button:hover {
    background-color: #e0e0e0;
}

/* Search Card Styling */
.search-card-revisited {
    background-color: var(--card-bg-color);
    padding: 25px 30px 30px 30px;
    border-radius: 10px;
    box-shadow: 0 4px 12px var(--card-shadow-color);
    border: 1px solid var(--card-border-color);
    width: 100%;
    max-width: 650px;
    text-align: center;
    position: relative; /* Ensure content stays above potential background */
    z-index: 2;
	margin-left: auto;
    margin-right: auto;

}

.search-card-title-revisited {
    font-family: var(--font-oswald);
    font-size: 1.7rem; /* Adjusted size */
    color: var(--card-title-color);
    margin-top: 0;
    margin-bottom: 20px;
    font-weight: 500;
}

.user-search-container-revisited {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.search-input-group-revisited {
    display: flex;
    width: 100%;
}

#name-search-input {
    flex-grow: 1;
    padding: 13px 16px; /* Slightly adjusted padding */
    border: 1px solid var(--card-border-color);
    border-radius: 5px 0 0 5px; /* Slightly less radius */
    font-size: 1.05rem; /* Adjusted font size */
    font-family: var(--font-roboto);
	font-size:1.2rem;
    border-right: none;
    color: var(--input-text-color);
}
#name-search-input:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 0 2px rgba(243, 112, 33, 0.2);
}

#name-search-button {
    padding: 13px 22px; /* Match input padding */
    background-color: var(--secondary-color);
    color: #ffffff;
    border: none;
    border-radius: 0 5px 5px 0;
    cursor: pointer;
    font-family: var(--font-oswald);
    font-weight: 500;
    font-size: 1.25rem; /* Match input font size */
    transition: background-color 0.3s ease;
    white-space: nowrap;
}
#name-search-button i.fa-search {
    margin-right: 8px;
}
#name-search-button:hover {
    background-color: #a21b27; /* Darker red */
}

.search-result-area-revisited {
    width: 100%;
    text-align: center;
	
    padding: 12px 15px;
    background-color: #f9f9f9;
    border-radius: 4px;
    border: 1px solid var(--card-border-color);
    font-family: var(--font-roboto);
    margin-top: 10px;
}
.search-result-area-revisited a {
    font-family: var(--font-roboto); /* Ensure font consistency */
    font-weight: 500;
    color: var(--primary-color);
    /* display: block; */ /* REMOVE or change to inline-block for centering via text-align */
    display: inline-block; /* MODIFIED: Allows text-align:center on parent to work */
    width: auto; /* Allow it to size based on content, but will be centered */
    padding: 10px 15px; /* MODIFIED: Increased padding for a larger clickable area */
    font-size: 1.5rem; /* MODIFIED: Increased font size */
    text-decoration: none;
    border-radius: 4px; /* Optional: give each link a slight button-like feel */
    margin: 5px; /* Optional: add some margin if multiple links stack and you want space */
    transition: background-color 0.2s ease, color 0.2s ease; /* Smooth hover */
}
.search-result-area-revisited a:hover {
    text-decoration: underline;
    color: var(--primary-darker); /* Updated variable name */
}

/* Initiative Carousel Styles START */
.initiative-carousel-container {
    width: 100%;
    max-width: 1100px;
    margin: 30px auto 20px auto; /* Adjusted margins */
    position: relative;
    padding: 0 45px; /* Increased padding for buttons */
    box-sizing: border-box;
}

.carousel-viewport {
    width: 100%;
    overflow: hidden;
}

.carousel-track {
    display: flex;
    transition: transform 0.5s ease-in-out;
    /* JS sets width */
}

.carousel-slide {
    /* Shows 4 slides: 100% / 4 = 25% */
    flex: 0 0 25%;
    box-sizing: border-box;
    padding: 0 10px; /* Controls padding BETWEEN cards */

    /* Remove direct styling from slide - apply to link inside */
    background-color: transparent; /* Slide itself is just a container */
    border: none;
    box-shadow: none;
    min-height: 350px; /* Keep overall height control */

    display: flex; /* Make link fill the slide */
    position: relative;
    z-index: 2;
}

/* Style the link (&lt;a&gt;) which now acts as the visual card */
.initiative-link-card-content-overlay {
    display: flex;
    flex-direction: column; /* Align content vertically */
    justify-content: flex-end; /* Push text content to the bottom */
    flex-grow: 1; /* Make link fill the slide area */
    width: 100%;
    position: relative; /* For positioning pseudo-elements (gradient) and text */
    overflow: hidden; /* Ensure rounded corners contain background */
    border-radius: 10px; /* Rounded corners for the card look */
    text-decoration: none;
    color: white; /* Default text color on overlay */
    box-shadow: 0 4px 10px var(--card-shadow-color, rgba(0,0,0,0.1));
    transition: transform 0.3s ease, box-shadow 0.3s ease;

    /* === BACKGROUND IMAGE === */
    /* Set a default placeholder or style each card individually below */
    background-image: url('../img/logo.png'); /* Default Background */
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}
.initiative-link-card-content-overlay:hover {
     transform: scale(1.03); /* Slight zoom effect */
     box-shadow: 0 6px 15px rgba(0,0,0,0.15);
}


/* Add Gradient Overlay for Readability */
.initiative-link-card-content-overlay::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 65%; /* Height of the gradient overlay */
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%); /* Dark fade from bottom */
    z-index: 1; /* Place gradient above background image, below text */
    pointer-events: none; /* Allow clicks to go through to the link */
}

/* Style the title (text) to sit on top */
h3.initiative-card-title-overlay {
    font-size: 1.7rem; /* Increased text size */
    font-weight: 700; /* Bolder text */
    font-family: var(--font-oswald);
    color: #FFFFFF; /* White text */
    line-height: 1.3; /* Adjust line height */
    margin: 0;
    padding: 20px 15px; /* Padding around text */
    width: 100%;
    box-sizing: border-box;
    z-index: 2; /* Place text above gradient overlay */
    position: relative; /* Needed for z-index to work */
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5); /* Subtle shadow for readability */
}

/* --- Individual Card Backgrounds (Optional but likely needed) --- */
/* You'll need to replace the placeholder URLs with actual image paths */
.carousel-slide.slide-our-contributions .initiative-link-card-content-overlay {
    background-image: url('/picture_library/img1.jpg') !important; /* Using root-relative path for example */
}
.carousel-slide.slide-trees-planted .initiative-link-card-content-overlay {
    background-image: url('/picture_library/c1.jpg') !important; /* Adjust path as needed */
}
.carousel-slide.slide-find-your-tree .initiative-link-card-content-overlay {
    background-image: url('/picture_library/img2.jpg') !important; /* Adjust path as needed */
}
.carousel-slide.slide-history .initiative-link-card-content-overlay {
    background-image: url('/picture_library/img3.jpg') !important; /* Adjust path as needed */
}
.carousel-slide.slide-plantation .initiative-link-card-content-overlay {
    background-image: url('/picture_library/img9.jpg') !important; /* Adjust path as needed */
}
/* Add rules for cloned slides if necessary, although JS cloning means these should apply to clones too */


/* Carousel Navigation Buttons */
.carousel-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.35);
    color: white;
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    font-size: 18px;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s ease;
}
.carousel-button:hover {
    background-color: rgba(0, 0, 0, 0.6);
}
.carousel-button.prev { left: 0px; }
.carousel-button.next { right: 0px; }
/* Initiative Carousel Styles END */

/* Social Share Container */
.social-share-container {
    display: flex;
    align-items: center;
    gap: 10px;
    position: fixed;
    bottom: 25px;
    left: 25px;
    z-index: 500;
    padding: 8px 12px;
    background-color: var(--card-bg-color, #ffffff);
    border-radius: 5px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    border: 1px solid var(--card-border-color, #e0e0e0);
}
.share-text { font-family: var(--font-roboto); font-size: 0.8rem; color: var(--card-text-color, #555); font-weight: 500; }
.social-icons { display: flex; gap: 10px; }
.social-icons a { color: var(--card-text-color, #555); font-size: 18px; transition: color 0.3s ease, transform 0.3s ease; }
.social-icons a:hover { color: var(--primary-color); transform: scale(1.1); }


/* ======= RESPONSIVE ADJUSTMENTS (REVISITED) ======= */
@media (max-width: 1100px) { /* Adjust breakpoint based on max-width */
     .initiative-carousel-container {
         padding: 0 40px;
    }
     .carousel-slide {
        /* Show 3 slides when container starts shrinking */
        flex: 0 0 calc(100% / 3);
        padding: 0 8px;
    }
}

@media (max-width: 767px) {
    .sustainability-main-title-revisited { font-size: 2.8rem; }
    .search-card-revisited { padding: 20px; }
    .search-card-title-revisited { font-size: 1.5rem; }
    #name-search-input, #name-search-button { font-size: 1rem; }

    .initiative-carousel-container { padding: 0 35px; }
    .carousel-slide {
        /* Show 2 slides */
        flex: 0 0 50%;
        min-height: 280px; /* Adjust height */
    }
    img.card-img-placeholder { height: 120px; }
    h3.initiative-card-title-revised { font-size: 1.1rem; }
    .carousel-button { width: 35px; height: 35px; font-size: 16px; }
}

@media (max-width: 520px) {
	.firebase-login-button.main-action {
        font-size: 1rem;
        padding: 12px 24px;
        min-width: 200px;
    }
    .login-placeholder-card { padding: 25px 15px; }
    .login-placeholder-card p { font-size: 1.1rem; }
    .login-modal-content { padding: 20px; max-width: 95%; }
    .login-modal-content h2 { font-size: 1.5rem; }
     .user-info-display { flex-direction: column; gap: 10px; }
    #user-display-name { margin-right: 0; }
    .sustainability-main-title-revisited { font-size: 2.3rem; }
    .search-card-title-revisited { font-size: 1.3rem; }
    .search-input-group-revisited { flex-direction: column; gap: 10px; }
    #name-search-input, #name-search-button { border-radius: 5px; font-size: 0.95rem; }
    #name-search-input { border-right: 1px solid var(--card-border-color); }

    .initiative-carousel-container { padding: 0 30px; }
    .carousel-slide {
        /* Show mostly 1 slide */
        flex: 0 0 85%;
        min-height: 290px; /* Adjust height */
    }
    h3.initiative-card-title-revised { font-size: 1.15rem; } /* Slightly larger on mobile */
    .social-share-container { display: none; } /* Hide social share on small mobile */
     .carousel-button { width: 30px; height: 30px; font-size: 14px; }
}

.auth-container-style {
    text-align: center;
    padding: 20px;
    margin-bottom: 30px; /* Space below auth area */
    /* background-color: #f9f9f9; */ /* Optional background */
    /* border-radius: 8px; */
    /* border: 1px solid var(--card-border-color); */
    /* max-width: 650px; */ /* Optional width constraint */
    /* margin-left: auto; */
    /* margin-right: auto; */
}

.procam-auth-button {
    display: inline-flex; /* Use flex to align icon and text */
    align-items: center;
    justify-content: center;
    padding: 12px 25px;
    font-size: 1.1rem;
    font-weight: 600;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s ease, box-shadow 0.2s ease;
    font-family: var(--font-roboto); /* Consistent font */
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    text-decoration: none; /* If using &lt;a&gt; tags */
}
.procam-auth-button:hover {
     box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}
.procam-auth-button i.fa {
    margin-right: 10px; /* Space between icon and text */
    font-size: 1.2em; /* Slightly larger icon */
}

/* Google Button Specific */
.procam-auth-button.google {
    background-color: #4285F4; /* Google Blue */
    color: white;
}
.procam-auth-button.google:hover {
    background-color: #357ae8;
}

/* Logout Button Specific */
#user-auth-info {
    padding: 15px;
}
#user-auth-info p {
    margin-bottom: 15px;
    font-size: 1.6rem;
    color: var(--card-text-color);
}
#user-display-name {
    font-weight: bold;
}
.procam-auth-button.logout {
    background-color: #e7e7e7; /* Light grey */
    color: #444;
    font-size: 0.95rem;
    padding: 8px 18px;
}
.procam-auth-button.logout:hover {
    background-color: #dcdcdc;
}

/* --- Responsive Auth Buttons --- */
@media (max-width: 480px) {
    .procam-auth-button {
        font-size: 1rem;
        padding: 10px 20px;
    }
     .procam-auth-button.logout {
        font-size: 0.9rem;
        padding: 7px 15px;
    }
}

.phone-input-style, .otp-input-style {
    padding: 10px;
    margin-bottom: 10px;
    border: 1px solid var(--card-border-color, #ccc);
    border-radius: 4px;
    width: 80%;
    max-width: 280px;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.firebase-login-button.phone-action {
    background-color: var(--primary-color); /* Example: Procam Orange */
    color: white;
    margin-top: 5px;
}

.login-prompt-card {
    text-align: center;
    padding: 30px 20px;
    margin: 30px auto 40px auto;
    max-width: 600px;
    background-color: var(--card-bg-color, #ffffff); /* Use card background */
    border-radius: 10px;
    border: 1px solid var(--card-border-color, #e0e0e0);
    box-shadow: 0 3px 10px var(--card-shadow-color, rgba(0,0,0,0.08));
}
.login-prompt-card p {
    margin-bottom: 25px;
    font-size: 1.2em;
    color: var(--card-text-color, #555);
    line-height: 1.5;
}
.firebase-login-button.main-login { /* Style for the main login trigger button */
    background-color: var(--primary-color); /* Procam Orange */
    color: white;
    padding: 15px 30px;
    font-size: 1.2rem;
}
.firebase-login-button.main-login:hover {
    background-color: var(--primary-darker, #d8580f); /* Darker Procam Orange */
}


/* --- Login Modal Styles --- */
.login-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6); /* Semi-transparent black overlay */
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000; /* Ensure it's on top */
    opacity: 0; /* Hidden by default, JS will fade in */
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}
.login-modal-overlay.active {
    opacity: 1;
    visibility: visible;
}

.login-modal-content {
    background-color: #fff;
    padding: 30px 35px;
    border-radius: 10px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
    width: 90%;
    max-width: 480px; /* Max width of the modal */
    text-align: center;
    position: relative; /* For close button */
    max-height: 90vh; /* Prevent modal from being too tall */
    overflow-y: auto; /* Add scroll if content overflows */
}
.login-modal-content h2 {
    font-family: var(--font-oswald, sans-serif);
    font-size: 2rem;
    color: var(--card-title-color, #333);
    margin-top: 0;
    margin-bottom: 10px;
}
.login-modal-content p {
    margin-bottom: 25px;
    color: var(--card-text-color, #555);
    font-size: 1rem;
}

.modal-close-button {
    position: absolute;
    top: 10px;
    right: 15px;
    background: none;
    border: none;
    font-size: 2rem;
    color: #aaa;
    cursor: pointer;
    line-height: 1;
}
.modal-close-button:hover {
    color: #777;
}

.firebase-login-button.full-width {
    width: 100%;
    margin-bottom: 12px; /* Space between stacked buttons */
}
.firebase-login-button.full-width:last-of-type {
    margin-bottom: 0;
}

hr.modal-divider {
    border: 0;
    height: 1px;
    background-color: #e0e0e0;
    margin: 25px 0;
}

#phone-login-container-modal p {
    font-size: 0.95rem;
    margin-bottom: 15px;
}
.modal-input { /* Style for inputs inside modal */
    width: 100%;
    box-sizing: border-box; /* Include padding and border in the element's total width and height */
}
.recaptcha-wrapper-modal { /* Wrapper for reCAPTCHA in modal */
    margin: 15px auto;
    display: flex; /* Helps in centering reCAPTCHA if it's inline-block */
    justify-content: center;
}
.phone-auth-status-style {
    font-size: 0.9em;
    margin-top: 10px;
    min-height: 1.2em; /* Reserve space for messages */
}

.user-info-top-right { /* This is the class on your div */
    position: absolute;
    top: 15px;      /* Adjust distance from top of #main */
    right: 15px;     /* Adjust distance from right of #main */
    
    background-color: #ffffff; /* White card background */
    padding: 8px 12px;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    z-index: 50; /* To be on top of other content in #main */
    
    display: none;      /* Initially hidden - JS will set to 'flex' or 'block' */
    align-items: center;/* For items inside if display:flex is used by JS */
    gap: 10px;          /* For items inside if display:flex is used by JS */
}

/* Styles for the text and button inside the card */
#user-display-name-top {
    font-weight: 500;
    font-size: 0.9rem; /* Adjusted for a slightly larger look than "small" */
    color: var(--card-text-color, #555);
    white-space: nowrap;
}

/* Assuming you changed button class to 'medium' in HTML */
.firebase-logout-button.medium { 
    background-color: #ececec; /* Slightly different shade for medium */
    color: #444;
    font-size: 0.85rem;
    padding: 5px 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.2s ease;
    font-family: var(--font-roboto);
    line-height: 1.3; /* Adjusted line height */
}
.firebase-logout-button.medium:hover {
    background-color: #d8d8d8;
}

/* Responsive adjustments for the top-right card */
@media (max-width: 767px) {
    .user-info-top-right {
        top: 10px;
        right: 10px;
        padding: 6px 10px;
    }
    #user-display-name-top {
        font-size: 0.85rem;
    }
    .firebase-logout-button.medium { /* Adjust 'medium' button for smaller screens */
        font-size: 0.8rem;
        padding: 4px 8px;
    }
}

/* --- CSS FOR THE PLEDGE BUTTON --- */

.pledge-view-button {
    /* Sizing &amp; Spacing */
    padding: 14px 28px;         /* Increased padding for a larger, more clickable area */
    font-size: 1.1em;           /* Slightly larger font size (adjust as needed) */
    font-weight: 600;           /* Make the text a bit bolder */
    letter-spacing: 0.5px;      /* Slight letter spacing for readability */

    /* Color &amp; Appearance - Let's go with a pleasant green */
    background-color: #4FAF50;  /* A nice, inviting green */
    /* Other color ideas:
       - A warm orange: #f0ad4e
       - A modern teal: #20c997
       - A friendly purple: #6f42c1
	
    */
	border: 2px solid white;
    color: white;               /* Text color */
                   /* Remove default border */
    border-radius: 8px;        /* Rounded corners for a softer look (try 25px for a pill shape) */
    cursor: pointer;
    text-decoration: none;      /* In case it's an &lt;a&gt; tag styled as a button */
    display: inline-block;      /* Ensures padding and margins work as expected */

    /* Depth &amp; Polish */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15); /* Subtle shadow for a bit of lift */
    transition: all 0.3s ease-in-out; /* Smooth transition for hover/active states */
}

.pledge-view-button:hover {
    background-color: #45a049;  /* Slightly darker green on hover */
    /* If you chose orange: #ec9c3d */
    /* If you chose teal: #1baA80 */
    /* If you chose purple: #5f37a5 */
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2); /* Enhance shadow on hover */
    transform: translateY(-2px); /* Slight lift effect on hover */
}

.pledge-view-button:active {
    background-color: #3e8e41;  /* Even darker when pressed */
    /* If you chose orange: #d88c2c */
    /* If you chose teal: #178e6d */
    /* If you chose purple: #502d8b */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* Reduce shadow when pressed */
    transform: translateY(0px);  /* Remove lift or slightly press down */
}

/* Optional: Focus style for accessibility - good practice! */
.pledge-view-button:focus {
    outline: none; /* Remove default browser outline if you're providing a custom one */
    /* You can add a custom focus ring, e.g., using box-shadow: */
    box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.4); /* A soft glow matching the button color */
    /* Adjust the rgba color to match your chosen button color's translucent version */
}
/* Adjust other firebase-login-button styles if needed for modal context */

/* === HERO VIDEO SECTION STYLES === */
.hero-video-section {
    position: relative;
    width: 100%;
    height: 80vh; 
    overflow: hidden;
    background-color: #F1F2F7; /* MODIFIED: Plain white background for the video section */
    /* Add some bottom margin to create space before the next section if padding-top on next section isn't enough */
    margin-bottom: 100px; /* ADDED: Space below video section */
}

.hero-video-background { /* The &lt;video&gt; tag itself */
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
   /* height: 100%;*/
    object-fit: contain;
    transform: translate(-50%, -50%);
    z-index: 1;
}

.hero-video-overlay { /* Optional overlay on video */
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background-color: rgba(0, 0, 0, 0.15); /* Adjusted: Lighter overlay if video section bg is white */
    z-index: 2;
	pointer-events: none;
	
}

.hero-video-content { /* Content on top of video (title, scroll indicator) */
    position: relative;
    z-index: 3;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px;
    box-sizing: border-box;
	pointer-events: auto;
	display: none !important;
}

.hero-video-title { /* #RootedWithProcam title over video */
    font-family: var(--font-pacifico, 'Pacifico', cursive);
    font-style: italic;
    color: var(--fern-green-color, #556B2F);
    font-size: 4.5rem;
    font-weight: 400;
    line-height: 1.2;
    margin-bottom: 40px;
    text-shadow: 1px 1px 3px rgba(255, 255, 255, 0.5); /* Lighter shadow if video bg is now white indirectly */
    													/* Or remove shadow if contrast is good */
	
	/* --- Add Card Styling --- */
    background-color: #fff;       /* White background for the card */
    padding: 20px 30px;           /* Padding inside the card (top/bottom, left/right) */
    border-radius: 8px;           /* Optional: rounded corners for the card */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Optional: a subtle shadow for the card */
    display: inline-block; 
	margin-top: 30px;             /* Space above the card */
    margin-bottom: 40px; 
}

.scroll-down-indicator {
    /* ... existing styles ... */
    color: var(--fern-green-color); /* Change color if white bg makes white indicator invisible */
    /* Or use a darker color for the indicator if needed */
    /* color: #555; */
}
/* ... (Keyframes for bounceIndicator remain the same) ... */
/* === END HERO VIDEO SECTION STYLES === */
@media (max-width: 767px) { /* Or your preferred mobile breakpoint */
    .hero-video-background {
        object-fit: contain; /* Entire video visible, may have letter/pillar boxing */
    }
}

/* === CONTENT BELOW VIDEO SECTION === */
#main-sustainability-content-below-video {
    width: 100%;
    position: relative; /* CRITICAL: For the ::before pseudo-element to be positioned relative to this div */
    z-index: 1;         /* Establishes a stacking context, adjust if needed relative to video */
    padding-top: 20px;  /* Example padding, adjust as needed */
    padding-bottom: 20px;/* Example padding */
}

/* Apply the forest background image using a ::before pseudo-element on this div */
#main-sustainability-content-below-video::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1; /* Places the pseudo-element BEHIND the content of #main-sustainability-content-below-video */
    
    background-image: linear-gradient(rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.2)),
                      url('/img/IMG_8084.PNG'); /* Ensure this path is correct relative to your CSS file or site root */
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: scroll; /* 'scroll' is usually best for content backgrounds */
	 /* Negative half of viewport width */
     
}

/* Apply forest background image to the &lt;main&gt; tag INSIDE #main-sustainability-content-below-video */
#main-sustainability-content-below-video .main-content-area.sustainability-theme-revisited {
    position: relative; /* For ::before pseudo-element */
    z-index: 0;        /* Base for stacking */
    padding: 40px 0;   /* Keep existing padding for this section's content */
    /* Remove direct background-image if it was here before */
}



/* The .container within this lower section still centers its content */
#main-sustainability-content-below-video .main-content-area.sustainability-theme-revisited &gt; .container {
    position: relative; /* Ensure content is stacked above the ::before */
    z-index: 1;
    /* Existing styles: */
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
}

/* Search Card and Carousel Container - Ensure they have opaque backgrounds for readability */
/* These styles should already exist and make them opaque against the forest image */
#main-sustainability-content-below-video .search-card-revisited {
    background-color: rgba(255, 255, 255, 0.9); /* Semi-transparent white */
    /* ... other existing search card styles like padding, margin-left/right: auto for centering ... */
    position: relative; /* Keep it above the pseudo-element background */
    z-index: 2;
}

#main-sustainability-content-below-video .initiative-carousel-container {
    /* Carousel container doesn't need a background itself, the slides do */
    /* ... existing carousel container styles like margin-left/right: auto for centering ... */
    position: relative;
    z-index: 2;
}

#main-sustainability-content-below-video .carousel-slide &gt; .initiative-link-card-content-overlay {
    /* This element has its own specific image background and text overlay. */
    /* No changes needed here unless you want to adjust its opacity against the new forest background. */
    background-color: #fff; /* Fallback if its own image fails */
}

/*Pledge Changes*/

.pledge-modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place even if scrolling */
    z-index: 1000;   /* Sit on top of other content */
    left: 0;
    top: 0;
    width: 100%;     /* Full width */
    height: 100%;    /* Full height */
    overflow: auto;  /* Enable scroll if needed */
    background-color: rgba(0, 0, 0, 0.6); /* Black with some opacity for the overlay */
    /* Add transitions for a smoother appearance if you like */
    /* opacity: 0; */
    /* visibility: hidden; */
    /* transition: opacity 0.3s ease, visibility 0.3s ease; */
}

/* Modal Content (the actual box) */
.pledge-modal-content {
    background-color: #fefefe; /* White background for the content box */
    margin: 10% auto; /* 10% from the top and centered horizontally */
    padding: 20px;
    border: 1px solid #888;
    width: 80%;      /* Could be a fixed width too, e.g., 500px */
    max-width: 600px; /* Maximum width */
    border-radius: 8px;
    position: relative; /* For positioning the close button inside it */
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
    /* Animation (optional) */
    /* -webkit-animation-name: animatetop;
    -webkit-animation-duration: 0.4s;
    animation-name: animatetop;
    animation-duration: 0.4s */
}

/* Add Animation (optional) */
/* @-webkit-keyframes animatetop {
    from {top:-300px; opacity:0}
    to {top:0; opacity:1}
}

@keyframes animatetop {
    from {top:-300px; opacity:0}
    to {top:0; opacity:1}
} */

/* The Close Button (Ã—) */
.pledge-modal-close {
    color: #aaa;
    float: right; /* Position to the right */
    font-size: 28px;
    font-weight: bold;
    position: absolute; /* Position relative to pledge-modal-content */
    top: 10px;
    right: 20px;
}

.pledge-modal-close:hover,
.pledge-modal-close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

/* Style for the image inside the modal */
#pledgeModalImage {
    width: 100%; /* Make image responsive within the modal content */
    height: auto;
    display: block; /* Remove extra space below image */
    margin-top: 15px; /* Some space above the image if there's text before it */
}
@media (max-width: 991px) { /* Larger tablets */
    .hero-video-section {
        height: 75vh; 
    }
    .hero-video-title {
        font-size: 3.8rem; /* Slightly smaller for tablets */
        margin-bottom: 25px;
    }
    .scroll-down-indicator {
        font-size: 2.2rem;
        bottom: 25px;
	}}

@media (max-width: 480px) { /* Smaller mobile phones */
    .hero-video-section {
        height: 60vh; /* Further reduced height */
    }
    .hero-video-title {
        font-size: 2.5rem; /* Further reduced title size */
        margin-bottom: 15px;
    }
    .scroll-down-indicator {
        font-size: 1.8rem;
        bottom: 15px;
	}}
@media (max-width: 767px) { /* Smaller tablets and large phones */
    .hero-video-section {
        height: 70vh; /* Reduced height on mobile */
    }
    .hero-video-title {
        font-size: 3rem; /* Reduced title size */
        margin-bottom: 20px;
    }
    .scroll-down-indicator {
        font-size: 2rem;
        bottom: 20px;
	}}
</pre></body></html>