/* General Styles */
/* Ensure the body stretches to full height */
/* Ensure the font matches throughout */
.intro-text, .bullet-text {
    font-family: 'Roboto', sans-serif;
    font-size: 20px;
    line-height: 1.6;
    font-weight: 400;
}

/* Adjust for larger screens */
@media (min-width: 992px) {
    .intro-text, .bullet-text {
        font-size: 30px;
    }
}

/* Flexbox for centering main content */
.main-content {
    min-height: 0; /* Prevents any forced height beyond its content */
    flex-grow: 1; /* Makes sure it takes up available vertical space */
    display: flex;
    align-items: center; /* Center vertically */
    justify-content: center; /* Center horizontally */
    text-align: center;
    overflow: auto;
    padding-top: 20px;
}

/* Add margin-bottom to the inner content div */
.main-content > div {
    margin-bottom: 50px; /* Adjust the value as needed */
}

.custom-navbar {
    background-color: #7BAFD4; /* Carolina Blue */
    font-family: 'Roboto', sans-serif;
}

.nav-link.active {
    font-weight: bold;
}

/* Text sizes */
p {
    font-size: 16px; /* Adjust the size as needed */
    line-height: 1.6; /* Optional: improve readability with better line spacing */
}

a {
    font-size: 16px; /* Adjust the size as needed */
    text-decoration: none; /* Optional: Remove underline from links */
}

small {
    font-size: 12px; /* Adjust the size as needed */
    text-decoration: none; /* Optional: Remove underline from links */
}

/* Larger font size for larger screens (lg and up) */
@media (min-width: 992px) {
    p {
        font-size: 20px; /* Larger font for wider screens */
    }
    a {
        font-size: 20px; /* Larger font for wider screens */
    }
}

.logo {
    max-width: 100%; /* Ensures the logo never exceeds 90% of the screen width */
    height: auto; /* Maintains aspect ratio */
    max-height: 200px; /* Optional: Set a max height if needed */
}

.button-shadow {
    background-color: #13294B; /* Navy */
    border-radius: 10px;
    z-index: 0;
}

.custom-button {
    background-color: #7BAFD4; /* Carolina Blue */
    color: black;
    padding: 10px 20px;
    border-radius: 10px;
    position: relative;
    text-decoration: none;
    font-weight: bold;
    z-index: 1; /* Ensure button is above shadow */
    animation: moveButton 3s infinite;
}

@keyframes moveButton {
    0%, 80% {
        top: 0;
        left: 0;
    }
    90% {
        top: 5px; /* Move down */
        left: 5px; /* Move right */
    }
    100% {
        top: 0;
        left: 0;
    }
}

/* Footer */
.footer {
    background-color: #13294B; /* Navy */
    padding: 15px;
    color: #7BAFD4; /* Carolina Blue */
}

/* Group spacing adjustments */
.bullet-points-group {
    padding-top: 30px; /* Space above bullet points group */
    padding-bottom: 30px; /* Space below bullet points group */
}

/* Bullet point item spacing */
.bullet-point {
    text-align: center;
    margin-bottom: 20px; /* Add spacing between bullet points */
}

.bullet-point svg {
    flex-shrink: 0;
}

/* Button alignment */
.button-wrapper {
    text-align: center;
}

.bullet-points-group {
    text-align: left;
    max-width: 350px;
    margin: 0 auto;
}

.publications-page .bullet-points-group {
    text-align: left;
    max-width: 1000px;
    margin: 0 auto;
}

.bullet-point-wrapper {
    margin-bottom: 16px;
}

.bullet-point {
    width: 100%;
    cursor: pointer;
}

.dropdown-icon {
    transition: transform 0.2s ease-in-out;
}

/* Rotate the V-shape icon when expanded */
.dropdown-icon.expanded {
    transform: rotate(90deg);
}

/* Bullet content styling */
.bullet-content {
    padding-left: 40px;
    margin-top: 8px;
    transition: height 0.3s ease-in-out;
    overflow: hidden;
    height: 0;
}

.bullet-content:not(.collapse) {
    height: auto;
}

.journal-icon {
    transition: transform 0.3s ease;
}

.journal-icon:hover {
    transform: scale(1.1); /* Slight zoom on hover */
}

.pdf-link {
    color: #FFD300; /* Sunburst Yellow */
    font-weight: bold;
    margin-left: 10px;
    text-decoration: none;
    transition: color 0.3s ease;
}

.pdf-link:hover {
    color: #FFEE00; /* Slightly brighter on hover */
    text-decoration: underline;
}

/* General Styles */
/* Use box-sizing to include padding and border in element's total width and height */
* {
    box-sizing: border-box;
}

/* Publications Styling */
.paper-year {
    font-weight: bold;
    color: black;
    font-size: 2rem;
    margin-top: 40px;
}

.paper-title {
    font-weight: bold;
    color: #7BAFD4; /* Carolina Blue */
    font-size: 1.5rem;
    margin-top: 20px;
}

.paper-authors {
    font-size: 1rem;
    line-height: 1.6;
    margin-top: 10px;
    margin-bottom: 5px;
}

.paper-abstract {
    font-size: 1rem;
    line-height: 1.6;
    margin-top: 5px;
    margin-bottom: 0;
}

.download-link {
    color: #7BAFD4; /* Carolina Blue */
    text-decoration: none;
    font-weight: bold;
}

.download-link:hover {
    text-decoration: underline;
}

.paper-entry {
    margin-bottom: 30px;
}

.year-section {
    margin-bottom: 50px;
}

/* Remove max-width and centering to allow full width */
.publications-list {
    text-align: left;
}

/* Adjust main content alignment */
.main-content {
    min-height: 0;
    flex-grow: 1;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    overflow: auto;
    padding-top: 20px;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .paper-year {
        font-size: 1.5rem;
    }

    .paper-title {
        font-size: 1.25rem;
    }

    .paper-authors,
    .paper-abstract {
        font-size: 0.9rem;
    }
}

/* Ensure images are responsive */
img {
    max-width: 100%;
    height: auto;
}

/* Word wrapping to prevent overflow */
.paper-title,
.paper-authors,
.paper-abstract {
    word-wrap: break-word;
}

/* Styles for the Principal Investigator Section */
.square-box {
    width: 400px;
    height: 400px;
    background-color: #7BAFD4; /* Carolina Blue */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 15px;
    box-sizing: border-box;
}

.square-box img {
    max-width: 100%;
    max-height: 65%;
    object-fit: contain;
}

.square-box p {
    color: #000; /* Adjust text color if needed */
    font-weight: bold;
    margin-top: 15px;
    text-align: center;
    font-size: 1em; /* Added this line to make the text smaller */**
}

@media (max-width: 767px) {
    /* Responsive adjustments for smaller screens */
    .square-box {
        width: 100%;
        height: auto;
    }
}
