* {
    margin: 0; /* Removes default margin for all elements */
    padding: 0; /* Removes default padding for all elements */
    box-sizing: border-box; /* Includes padding and border in the element's total width and height */
}
  
body {
    display: grid; /* Uses CSS grid layout for the body */
    height: 100vh; /* Sets the body height to the full viewport height */
    grid-template-areas: /* Defines areas for header, sidebar, main content, and footer */
      "header header header header header"
      "main main main main main"
      "footer footer footer footer footer";
    grid-template-rows: auto 1fr auto; /* Row heights: automatic for header/footer, flexible for main */
    grid-template-columns: 1fr 4fr; /* Sidebar takes 1 part width, main content takes 4 parts */
    font-family: Arial, sans-serif; /* Sets the font family for the entire page */
}
  
.header {
    grid-area: header; /* Assigns this class to the 'header' grid area */
    background-color: #00796b; /* Teal background for the header */
    padding: 1rem; /* Adds padding inside the header */
}
  
.nav {
    display: flex; /* Uses flexbox to align nav items */
    justify-content: space-between; /* Spaces out the items between left and right */
    align-items: center; /* Vertically aligns items in the center */
}
  
.left-nav,
.right-nav {
    display: flex; /* Makes both nav sections flex containers */
    list-style-type: none; /* Removes bullet points from list items */
}
  
.left-nav {
    justify-content: flex-start; /* Aligns left nav items to the left */
}
  
.left-nav li a {
    color: white; /* Sets the text color of links to white */
    text-decoration: none; /* Removes underline from links */
    margin-right: 1.5rem; /* Adds space between each link */
    font-weight: bold; /* Makes the text bold */
}
  
.right-nav {
    justify-content: flex-end; /* Aligns right nav items to the right */
}
  
.right-nav li {
    position: relative; /* Allows the dropdown menu to be positioned relative to this item */
}
  
.right-nav li a {
    color: white; /* Sets text color to white */
    text-decoration: none; /* Removes underline */
    margin-left: 1.5rem; /* Adds space between links */
    font-weight: bold; /* Makes text bold */
}
  
.right-nav li a:hover {
    text-decoration: underline; /* Adds underline when hovered */
}
  
/* Dropdown styling */
.dropdown-content {
    display: none; /* Hides dropdown menu initially */
    position: absolute; /* Positions the dropdown relative to its parent */
    background-color: #00796b; /* Teal background for the dropdown */
    min-width: 160px; /* Minimum width for the dropdown */
    box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.2); /* Adds a subtle shadow around the dropdown */
    z-index: 1; /* Ensures the dropdown is above other content */
    right: 0; /* Aligns dropdown to the right edge of the parent */
}
  
.dropdown-content a {
    color: white; /* White text for dropdown links */
    padding: 12px 16px; /* Adds padding inside each dropdown link */
    text-decoration: none; /* Removes underline */
    display: block; /* Makes links take up the full width of the dropdown */
}
  
.dropdown-content a:hover {
    background-color: #004d40; /* Changes background color on hover */
}
  
.dropdown:hover .dropdown-content {
    display: block; /* Shows the dropdown menu when hovering over the parent */
}
  
/* Ensures dropdown is fully visible within the viewport */
.dropdown-content {
    overflow: hidden; /* Prevents content from overflowing */
    white-space: nowrap; /* Prevents text from wrapping to the next line */
}
  
.sidebar {
    grid-area: sidebar; /* Assigns this class to the 'sidebar' grid area */
    background-color: #e0e0e0; /* Light gray background for the sidebar */
    padding: 1rem; /* Adds padding inside the sidebar */
}
  
.sidebar ul {
    list-style-type: none; /* Removes bullet points from sidebar list */
}
  
.sidebar ul li {
    margin-bottom: 1rem; /* Adds space between sidebar list items */
}
  
.sidebar ul li a {
    text-decoration: none; /* Removes underline from sidebar links */
    color: #5f6368; /* Sets the link color to a dark gray */
    display: flex; /* Uses flexbox to align any icons/text inside the link */
    align-items: center; /* Vertically aligns items inside the link */
}
  
.sidebar ul li a:hover {
    color: #00796b; /* Changes link color to teal on hover */
}
  
.main {
    grid-area: main;
    padding: 2rem;
    background-color: #f9f9f9;
    font-family: 'Arial', sans-serif;
    line-height: 1.6;
}

.intro {
    text-align: center;
    margin-bottom: 3rem;
}

.intro h1 {
    font-size: 2.5rem;
    color: #00796b;
}

.intro p {
    margin-top: 1rem;
    font-size: 1.2rem;
    color: #424242;
}

.slideshow {
    position: relative;
    max-width: 100%;
    margin: 1rem auto 0;
    overflow: hidden;
    border-radius: 10px;
}

.slide {
    display: none;
    width: 100%;
    transition: opacity 1s ease-in-out;
}

.slide.active {
    display: block;
}

.mission, .community-impact, .get-involved {
    margin-top: 3rem;
    padding: 1.5rem;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.mission h2, .community-impact h2, .get-involved h2 {
    font-size: 2rem;
    color: #00796b;
}

.impact-list {
    margin-top: 1rem;
    padding-left: 1.5rem;
    list-style-type: disc;
    color: #424242;
}

.cta-button {
    display: inline-block;
    margin-top: 1rem;
    padding: 0.8rem 1.5rem;
    background: #00796b;
    color: #fff;
    font-size: 1rem;
    font-weight: bold;
    text-decoration: none;
    border-radius: 5px;
    transition: background 0.3s ease-in-out;
}

.cta-button:hover {
    background: #004d40;
}

  
.intro h1 {
    font-size: 2.5rem; /* Sets the font size of the main heading */
    color: #00796b; /* Teal color for the main heading */
}
  
.intro p {
    margin-top: 1rem; /* Adds space above the paragraph */
    font-size: 1.2rem; /* Sets a larger font size for the paragraph */
    color: #424242; /* Dark gray color for the text */
}
  
.features h2 {
    margin-top: 2rem; /* Adds space above the subheading */
    font-size: 2rem; /* Sets the font size of the subheading */
    color: #00796b; /* Teal color for the subheading */
}
  
.features ul {
    margin-top: 1rem; /* Adds space above the list */
    list-style-type: square; /* Uses square bullets for the list items */
    color: #424242; /* Dark gray color for the list text */
    padding-left: 1.5rem; /* Adds padding to the left of the list */
}
  
.footer {
    grid-area: footer; /* Assigns this class to the 'footer' grid area */
    background-color: #00796b; /* Teal background for the footer */
    padding: 1rem; /* Adds padding inside the footer */
    text-align: center; /* Centers the text inside the footer */
}
  
.footer p {
    color: white; /* White text color for footer paragraphs */
    font-size: 0.9rem; /* Sets a smaller font size for footer text */
}
  
.footer a {
    color: white; /* White text color for footer links */
    text-decoration: none; /* Removes underline from links */
    margin-left: 1rem; /* Adds space between links */
}
  
.footer a:hover {
    text-decoration: underline; /* Adds underline when links are hovered over */
}

.footer-container {
    display: flex; /* Uses flexbox layout for the footer container */
    flex-wrap: wrap; /* Ensures child elements wrap onto multiple lines if needed */
    justify-content: space-between; /* Spaces out child elements evenly across the width */
}

.footer div {
    flex: 1; /* Ensures all child divs inside the footer take equal space */
    margin: 1rem; /* Adds 1rem of margin around the child divs */
}

.footer-about, .footer-quick-links, .footer-contact, .footer-newsletter {
    margin-bottom: 1.5rem; /* Adds space below each section in the footer */
}

.footer h3 {
    color: #fff; /* Sets the heading color to white */
    margin-bottom: 0.75rem; /* Adds space below the heading */
}

.footer p, .footer li {
    font-size: 0.9rem; /* Sets the font size for paragraphs and list items to 0.9rem */
    color: #ffffff; /* Sets the text color to white */
}

.footer a {
    color: #ffffff; /* Makes all footer links white */
    text-decoration: none; /* Removes the underline from links */
}

.footer a:hover {
    text-decoration: underline; /* Adds underline when the link is hovered */
}

.footer-quick-links ul {
    list-style-type: none; /* Removes bullet points from the list */
    padding: 0; /* Removes padding from the list */
}

.footer-quick-links li {
    margin: 0.5rem 0; /* Adds vertical spacing between each list item */
}

.footer-social-icons a {
    font-size: 1.5rem; /* Increases the size of the social media icons */
    margin-right: 1rem; /* Adds space between each icon */
    color: rgb(255, 255, 255); /* Sets the icon color to white */
}

.footer-newsletter form {
    display: flex; /* Applies flexbox layout to the newsletter form */
    flex-direction: column; /* Stacks the input and button vertically */
}

.footer-newsletter input {
    padding: 0.5rem; /* Adds padding inside the input field */
    border: none; /* Removes the default border */
    margin-top: 0.5rem;
    margin-bottom: 0.5rem; /* Adds space below the input */
    border-radius: 4px; /* Rounds the corners of the input field */
}

.footer-newsletter button {
    padding: 0.5rem 1rem; /* Adds padding inside the button (top/bottom 0.5rem, left/right 1rem) */
    background-color: #004d40; /* Sets a dark green background for the button */
    color: white; /* Makes the button text white */
    border: none; /* Removes any border */
    cursor: pointer; /* Changes the mouse cursor to a pointer when hovering over the button */
    border-radius: 4px; /* Rounds the corners of the button */
}

.footer-newsletter button:hover {
    background-color: #002f2b; /* Changes the button's background to a darker green when hovered */
}

.footer-legal {
    text-align: center; /* Centers the legal section text */
    margin-top: 1rem; /* Adds space above the legal section */
}

.footer-legal p {
    font-size: 0.8rem; /* Sets a smaller font size for the legal text */
}
  
@media (max-width: 768px) {
    body {
      grid-template-columns: 1fr; /* Changes the layout to a single column on small screens */
      grid-template-areas:
        "header"
        "main"
        "sidebar"
        "footer"; /* Reorganizes grid areas for smaller screens to a vertical layout */
    }
}



/* For user.html page; Basic reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Body styling */
body.user-page {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    min-height: 100vh;
    background-color: #f4f7fb;
    font-family: Arial, sans-serif;
    padding: 20px;
    overflow-y: auto;
}

/* Container styling */
.container {
    background-color: #ffffff;
    padding: 2rem;
    max-width: 500px;
    width: 100%;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    text-align: center;
    margin-top: 20px;
    margin-bottom: 20px;
}

/* Main header styling */
h1 {
    font-size: 2rem;
    color: #333;
    margin-bottom: 1rem;
}

/* Toggle buttons for Login and Registration */
.toggle-buttons {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.toggle-buttons button {
    padding: 0.5rem 1.5rem;
    background-color: #007bff;
    color: #ffffff;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 1rem;
}

.toggle-buttons button:hover {
    background-color: #0056b3;
}

/* Form section styling */
.form-section {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid #e0e0e0;
    border-radius: 5px;
    background-color: #f9fafb;
}

.form-section h2 {
    font-size: 1.5rem;
    color: #007bff;
    margin-bottom: 1rem;
}

input, select, button {
    width: 100%;
    padding: 0.75rem;
    margin-bottom: 1rem;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 1rem;
}

button {
    background-color: #007bff;
    color: #ffffff;
    border: none;
    cursor: pointer;
}

button:hover {
    background-color: #0056b3;
}

/* Link styling */
a {
    color: #007bff;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}
.profile-picture {
    width: 80px;            
    height: 80px;         
    border-radius: 50%;    
    object-fit: cover;     
    border: 2px solid #ddd; 
}