body {
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    line-height: 1.5;
}

/* Default link style */
a {
    color: #ffffff; /* Change this to your desired color */
    text-decoration: none; /* Remove underline */
}

/* Visited link style */
a:visited {
    color: #ffffff; /* Change this to your desired color */
}

/* Hover link style */
a:hover {
    color: #ffffff; /* Change this to your desired color */
    text-decoration: underline; /* Optionally add underline on hover */
}

/* Active link style */
a:active {
    color: #ffffff; /* Change this to your desired color */
}

@media (min-width: 576px) {
    .container, .container-sm {
        max-width: 800px;
    }
}
@media (min-width: 768px) {
    .container, .container-md, .container-sm {
        max-width: 1000px;
    }
}
@media (min-width: 992px) {
    .container, .container-lg, .container-md, .container-sm {
        max-width: 1200px;
    }
}
@media (min-width: 1200px) {
    .container, .container-xl, .container-lg, .container-md, .container-sm {
        max-width: 1400px;
    }
}
@media (min-width: 1400px) {
    .container, .container-xxl, .container-xl, .container-lg, .container-md, .container-sm {
        max-width: 1600px;
    }
}

.navbar {
    border-bottom: 2px solid #ddd; /* Add this line for the bottom border */
}

.navbar-brand img {
    height: 50px; /* Ensure the logo has a specific height */
}

/* Custom styles for the navbar text */
.navbar-dark .navbar-brand {
    font-family: 'Montserrat', sans-serif; /* Change the font family */
    font-size: 24px; /* Change the font size */
    font-weight: bold; /* Make the text bold */
    color: #ffcc00 !important; /* Change the text color */
}

.navbar-dark .navbar-nav .nav-link {
    font-family: 'Montserrat', sans-serif; /* Change the font family */
    font-size: 24px; /* Change the font size */
    font-weight: bold; /* Make the text bold */
    color: #ffffff !important; /* Change the text color */
    padding-left: 15px; /* Add some padding */
    padding-right: 15px; /* Add some padding */
    text-decoration: none; /* Ensure no underline */
}

.navbar-dark .navbar-nav .nav-link:hover {
    color: #ffcc00 !important; /* Change the text color on hover */
    background-color: rgba(255, 204, 0, 0.2); /* Add a background color on hover */
    border-radius: 5px; /* Add some rounding to the corners */
    text-decoration: none; /* Ensure no underline on hover */
}
section {
    padding: 60px 0; /* Consistent padding for sections */
}

.bg-dark {
    background-color: #000 !important; /* Set to black */
}

.bg-secondary {
    background-color: #ffffff !important; /* Set to white */
}

.card {
    margin: 20px 0;
}

.text-white {
    color: #fff !important;
}

.text-black {
    color: #000 !important; /* Explicitly set text to black */
}

.vh-100 {
    height: 100vh;
}

img, video {
    max-width: 100%;
    height: auto;
}

#home {
    background: url('../images/cover.webp') no-repeat center center;
    background-size: cover;
    color: #fff;
}

/* Home section specific styles */
.home-title {
    font-size: clamp(1.5rem, 8vw, 4.5rem); /* Adjust the font size as needed */
    font-weight: bold; /* Adjust the font weight */
}

.home-text {
    font-size: clamp(0.5rem, 4vw, 2.0rem); /* Adjust the font size as needed */
}

h1, h2 {
    font-weight: bold;
}

#mission {
    display: flex;
    align-items: center;
    padding: 0; /* Remove any padding */
}

#mission img {
    width: 100%;
    height: auto;
}

#mission .col-md-6:last-child {
    display: flex;
    justify-content: flex-end; /* Align the image to the right */
    padding-left: 15px; /* Add padding between the text and the image */
}

.mission-text-wrapper {
    max-width: 1000px; /* Adjust the width as needed */
    margin: 0 auto; /* Center the wrapper */
}

@media (max-width: 767px) {
    .mission-text-wrapper {
        max-width: 90%; /* Make it responsive for smaller screens */
    }
}

#research p {
    margin-bottom: 20px; /* Adjust the value as needed */
}

.text-wrapper {
    max-width: 2000px; /* Adjust the width as needed */
    margin: 0 auto; /* Center the wrapper */
}

@media (max-width: 767px) {
    .text-wrapper {
        max-width: 90%; /* Make it responsive for smaller screens */
    }
}

.carousel-item img {
    height: 700px;
    object-fit: cover;
}

/* Shorter carousel on tablets/phones so slides aren't overly tall */
@media (max-width: 991.98px) {
    .carousel-item img {
        height: 420px;
    }
}

@media (max-width: 575.98px) {
    .carousel-item img {
        height: 260px;
    }
}

.btn-black {
    background-color: #000;
    color: #fff;
}

.btn-black:hover {
    background-color: #333;
    color: #fff;
}

.bg-secondary .text-white {
    color: #000 !important; /* Ensure text on white background is black */
}

#team .card-title, #team .card-text {
    color: #fff !important; /* Ensure the text is white */
}


/* Initial hidden state */
.text-animation {
    opacity: 0;
    transform: translateY(20px);
}

/* Animation for text appearing */
.text-animation.show {
    animation: fadeInUp 1s forwards;
}

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Arrow styles */
.arrow {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
}

.arrow img {
    width: 50px;
    height: 50px;
    animation: bounce 2s infinite;
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-10px);
    }
    60% {
        transform: translateY(-5px);
    }
}


html {
    scroll-behavior: smooth;
}

/* Small-screen (phone) refinements — desktop styling is unchanged */
@media (max-width: 575.98px) {
    body {
        font-size: 17px;
    }

    section {
        padding: 40px 0;
    }

    .navbar-dark .navbar-nav .nav-link {
        font-size: 20px;
    }

    #mission .col-md-6:last-child {
        padding-left: 0;
    }
}
