/* Font Imports */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap');

/* Reset & Base Styles */
body {
    font-family: 'Roboto', sans-serif;
    margin: 0;
    padding: 0;
    background-color: #ffffff;
    color: #333333;
}

/* Header Styles */
header {
    background-color: #f8f9fa;
    color: #333333;
    text-align: center;
    padding: 20px 0;
}

/* Navigation Styles */
nav {
    display: flex;
    justify-content: center;
}

nav a {
    color: #333333;
    text-decoration: none;
    padding: 10px 15px;
    margin: 0 10px;
    transition: color 0.3s, background-color 0.3s;
}

nav a:hover {
    color: #ffffff;
    background-color: #007bff;
}

/* Hero Section Styles */
.hero {
    background: url('Images/academic-lab-hero.png') no-repeat center center;
    background-size: cover;
    text-align: center;
    padding: 40px 20px;
    position: relative;
}

.hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7); /* Darker overlay for light images */
    z-index: -1;
}

.hero h1, .hero p {
    color: #ffffff; /* Light text for dark backgrounds */
    text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.8); /* Darker text shadow for better readability */
    line-height: 1.2;
    letter-spacing: 1px; /* Slight increase in letter spacing */
    margin: 0; /* Remove default margin */
}

.hero-text {
    background-color: rgba(0, 0, 0, 0.5); /* Dark, semi-transparent background */
    display: inline-block; /* Adjust width to content */
    padding: 10px; /* Padding around the text */
    text-align: center; /* Optional: for left-aligned text */
    line-height: 1.2; /* Adjust line height for better readability */
    letter-spacing: 1px; /* Slight increase in letter spacing */
}

.hero h1 {
    font-size: 3em; /* Larger font size */
    font-weight: 800; /* Bolder font */
}

.hero p {
    font-size: 1.4em; /* Slightly larger font size */
    margin-top: 20px;
}

/* Footer Styles */
footer {
    background-color: #343a40;
    color: white;
    text-align: center;
    padding: 20px 0;
    margin-top: 30px;
}

/*Index Styles */
.content {
    max-width: 85%;
    text-align: center;
    margin: auto;
    padding: 20px;
    background-color: #f9f9f9; /* Light background color */
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    margin-top: 30px;
}

.photo-reel {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 80%;
    height: auto;
    /* min-height: 50vh; */ /* Ensures a minimum height */
    margin: auto;
    overflow: hidden;
    margin-top: 10px; 
    position: relative; /* This is important for the positioning of the buttons */
    padding: 0 60px; /* Add padding to prevent overlap with the buttons */
}

.photo-reel img {
    width: 45%; /* Each image takes up half the width of the container */
    height: 50vh;
    object-fit: contain;
    flex-shrink: 0; /* Prevents the images from shrinking */
}

.rolodex-frame {
    position: relative;
    width: 90%;
    height: 100%;
    margin: auto;
    border: 3px solid #333; /* Dark border for the frame */
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.5); /* Shadow for 3D effect */
    border-radius: 10px; /* Optional: rounded corners */
    background-color: #f0f0f0; /* Light background for the frame */
    overflow: hidden; /* Ensures nothing spills out of the frame */
}

.rolodex-frame::before {
    content: '';
    position: absolute;
    top: -10px; /* Adjust as necessary */
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 20px;
    background-color: #333;
    border-radius: 5px;
}

#prevButton, #nextButton, #pauseButton {
    background-color: #007bff; /* A modern shade of blue */
    color: white;
    border: none;
    border-radius: 4px; /* Slightly rounded corners */
    padding: 8px 16px;
    cursor: pointer;
    transition: background-color 0.3s, transform 0.2s;
    font-size: 16px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); /* Soft shadow for depth */
}

#prevButton:hover, #nextButton:hover, #pauseButton:hover {
    background-color: #0056b3; /* Slightly darker blue on hover */
}


#prevButton {
    position: absolute;
    left: 10px; /* Adjust as needed for the left side */
    top: 50%;
    transform: translateY(-50%);
}

#nextButton {
    position: absolute;
    right: 10px; /* Adjust as needed for the right side */
    top: 50%;
    transform: translateY(-50%);
}

#pauseButton {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}





.recent-news h2 {
    margin-left: 7.5%;
}


.news-item {
    max-width: 85%;
    margin: auto;
    background-color: #ffffff; /* White background for each item */
    margin-bottom: 1.5em; /* Space between news items */
    padding: 1em;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
}

/* Ensure the parent container is set up for Flexbox */
.news-content {
    display: flex;
    align-items: flex-start; /* Align items to the start of the container */
    justify-content: space-between;
}

/* Ensure the text takes the remaining space */
.news-content p {
    flex: 1;
    margin-right: 1em;
}

.news-text h3 {
    margin: 0;
    font-size: 1.5em;
}

.news-text .date {
    margin: 0.5em 0; /* Add some space between the date and the content */
    color: #666; /* Slightly lighter color for the date */
}

.news-text p {
    margin-top: 0; /* Remove top margin for paragraphs inside news-text */
}

/* Size and position the image */
.news-image {
    max-width: 150px; /* Adjust the width as needed */
    height: auto; /* Maintain aspect ratio */
    border-radius: 10%; /* Rounded image */
    margin-left: 20px; /* Add space between the text and the image */
}

/* Adjustments for smaller screens */
@media (max-width: 600px) {
    .news-content {
        flex-direction: column;
        align-items: flex-start; /* Align items to the start of the container */
    }

    .news-content p {
        margin-right: 0; /* Remove right margin on small screens */
    }

    .news-image {
        width: 50%; /* Adjust width for small screens */
        margin-left: 0; /* Remove left margin on small screens */
        margin-top: 10px; /* Add some space above the image */
    }
}


.news-text {
    flex: 1; /* Allows the text to fill the remaining space */
    margin-right: 80px; /* Add right margin to increase space */
}

.news-item:hover {
    transform: translateY(-5px);
}

.clearfix {
    clear: both;
}

@media (max-width: 600px) {
    .news-content {
        flex-direction: column;
        align-items: flex-start; /* Align items to the start of the container */
    }

    .news-item img {
        width: 100%; /* Full width on small screens */
        margin-top: 10px; /* Add some space above the image */
    }
}


/*Team Styles */
.team-container, .former-members {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 20px;
    padding: 20px;
    background-color: transparent; /* Remove background color */
}

.current-team {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* Two columns */
    gap: 20px; /* Space between columns */
    padding: 20px;
    background-color: transparent; /* Remove background color */
}

.former-members {
    background-color: transparent /* #fff0f5; Light pink background for former members */
}

.pi-container {
    display: flex;
    justify-content: center;
    width: 100%;
}

.pi {
    background-color: #e6f7ff;
    padding: 15px;
    border-radius: 10px;
    margin: auto; /* Center in the flex container */
}

.pi .member-photo {
    width: 200px; /* Slightly larger image for emphasis */
    height: 200px;
    border-radius: 100px; /* Make it more oval */
    object-fit: cover;
    flex-shrink: 0; /* Prevent the image from shrinking */
}

.pi .member-info {
    flex-grow: 1; /* Allow the text to take up remaining space */
    padding: 0 15px; /* Padding around text */
}

.member, .team-member {
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
    background-color: transparent; /* Remove background color */
}

.former-member, .team-member.former {
    background-color: transparent; /* #fff0f5; Different color for former members */
}

.team-member, .member {
    background: #f0f0f0;
    padding: 10px;
    text-align: center;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
}

.team-content .current-team {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* Ensure two columns */
    gap: 20px;
    padding: 20px;
    background-color: transparent /* #f0f8ff; */
}

.team-member:hover, .member:hover {
    transform: translateY(-5px);
}

.member-photo, .team-member img {
    width: 150px;
    height: 150px;
    object-fit: cover;
    border-radius: 75px; /* Oval shape */
    margin: 10px auto;
}

.current-team .member {
    flex: 0 0 30%;
    margin: 10px;
}


/* Responsive Design */
@media (max-width: 768px) {
    .current-team .member, .team-container .team-member, .former-members .member {
        flex-direction: column;
        width: 100%;
    }

    .pi {
        flex-direction: column; /* Stack image and text */
        text-align: center; /* Center text */
    }

    .pi-container {
        flex-direction: column;
        align-items: center;
    }

    .pi .member-info {
        padding-top: 10px; /* Space between image and text */
    }

    .team-content .current-team {
        grid-template-columns: 1fr; /* Single column layout */
    }
}

/*publications Styles */
.publication {
    cursor: pointer;
    width: 80%; /* or you can use a fixed width like 800px */
    margin: auto;
    text-align: center;
    border: 1px solid #ccc; /* Light grey border */
    box-shadow: 0px 2px 5px rgba(0,0,0,0.1); /* Subtle shadow */
    background-color: #f9f9f9; /* Light grey background */
    margin-top: 10px; /* Space at the top of each publication */
    margin-bottom: 10px; /* Space at the bottom of each publication */
    padding: 15px; /* Internal spacing */
    /* Other existing styles for publication */
}

.publication:hover {
    box-shadow: 0px 4px 8px rgba(0,0,0,0.2); /* Darker or larger shadow on hover */
    /* Other styles can also change on hover if desired */
}

.abstract {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease-out;
}

/*explore-research Styles */
#overview, #our-approach {
    max-width: 85%; /* Adjust the width to 85% */
    margin: auto; /* Centers the content */
    padding: 20px; /* Adds padding around the content */
    background-color: #f9f9f9; /* Light background color */
    border: 1px solid #ddd; /* Subtle border */
    border-radius: 8px; /* Rounded corners */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Light shadow for depth */
    margin-bottom: 30px; /* Space at the bottom */
    margin-top: 30px;
}

.project {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 40px;
    padding: 0 5%; /* Add space on either side of the page */
}

.left-column {
    width: 55%; /* Adjust the width of the left column */
    display: flex;
    flex-direction: column;
    align-items: center; /* Center the child elements horizontally */
    gap: 20px;
}

.project-image1 {
    width: 50%; /* Images take full width of the left column */
    height: auto;
    margin-bottom: 20px;
}

.project-image2 {
    width: 100%; /* Images take full width of the left column */
    height: auto;
    margin-bottom: 20px;
}

.video-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(500px, 1fr)); /* 2 columns when space allows */
    gap: 20px;
    width: 100vw;        /* Use the full screen width */
    max-width: 100%;     /* Remove cap so it fills container */
    padding: 5px 0;
    flex-wrap: wrap;
    justify-content: center; /* Center the group as a whole */
}

.video-box {
    width: 95%; /* Expand the width */
    max-width: 1000px; /* Optional: limit to avoid over-stretching on large screens */
    margin: 0 auto; /* Center horizontally */
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    background-color: #fdfdfd;
}

.video-box video {
    width: auto;
    height: 300px;
    border-radius: 4px;
    transition: transform 0.3s ease;
}

.video-box video:hover {
    transform: scale(1.05); /* Only the video enlarges */
}

.video-description {
    width: 35%;
    padding-left: 20px;
    text-align: right;
}

/* Adjustments for the text container */
.project-text {
    width: 40%;
    font-size: 0.9em;
    text-align: left;
}

/* Adjust list spacing and alignment */
.project ul {
    margin: 5px 0;
    padding-left: 20px; /* Indentation for list items */
    line-height: 1.5; /* Improve readability */
}

.project ul li {
    margin-bottom: 8px; /* Space between list items */
}

.project-text {
    width: 35%; /* Adjust text container width */
    font-size: 0.9em; /* Slightly smaller text */
    order: 2; /* Ensure text is on the right */
    text-align: left; /* Align text to the left for better readability */
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .project {
        flex-direction: column;
        padding: 0 3%;
    }
    
        .left-column,
    .project-text {
        width: 100%;
        text-align: center;
    }

    .project-image {
        margin-bottom: 20px;
    }
    
        .project-image,
    .project-text {
        width: 100%;
        text-align: center;
    }
    
        .project-image,
    .video-wrapper {
        width: 100%;
    }

    #video-section {
        flex-direction: column;
        gap: 15px;
    }
    
    .video-container {
        flex-direction: column;
        align-items: center;
    }

    .video-wrapper {
        width: 100%;
        margin-right: 0;
    }

    .video-wrapper:hover {
        transform: none; /* Disable transform on smaller screens */
    }

    .video-wrapper video {
        width: 100%; /* Full width video on small screens */
    }

    .video-caption {
        position: static; /* Regular flow inside the container */
        width: 100%; /* Full width */
        left: 0; /* Reset left position */
        margin-top: 5px;
        padding: 5px;
    }
}

/*contact Styles */
.contact-info {
    max-width: 600px; /* Adjust the width as needed */
    margin: auto; /* Center the block */
    padding: 20px; /* Add some padding */
    text-align: center; /* Center the text */
}


/* Additional styles can be added as needed */
