/* Navbar */
.navbar {
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1000; /* Ensure navbar stays on top */
}

/* Align navbar links and other text consistently */
.navbar .container, #home .container {
    max-width: 1200px; /* Set the same container width */
    margin: 0 auto;    /* Center align container */
    padding-left: 20px; /* Consistent padding */
    padding-right: 20px;
}

.nav-link {
    color: var(--bs-secondary);
}

.nav-link.active {
    color: #bbaa94 !important;
}

.nav-link:hover {
    color: #bbaa94;
    
}



/* SECTION */

p{
    margin-top: 0;
    margin-bottom: 0;
}

section {
    height: 100vh; /* Ensure sections fill at least the viewport height */
    padding-top: 70px; /* Keep space for the navbar */
    scroll-behavior: smooth; 
}
/* Special case for content that exceeds 100vh */
.section-auto {
    height: auto; /* Allow height to adjust dynamically to the content */
    min-height: 100vh; /* Ensure it fills at least the viewport height */
}


.hidden {
    opacity: 0;
    visibility: hidden;
    transform: translateY(50px);
}

.revealed {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* HOME */
.button-start-project {
    background-color: ; /* Yellow background */
    font-size: 1.25rem; /* Responsive font size */
    font-weight: bold; /* Bold text */
    padding: 15px 30px; /* Padding */
    border: none; /* No border */
    border-radius: 12px; /* Rounded corners */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Subtle shadow */
}

.button-start-project:hover {
    background-color: ; /* Same as default */
    color: #000; /* Keeps the text color unchanged */
    cursor: pointer; /* Optional: Ensures the pointer style remains */
}

.full-width-image {
    position: relative;
    width: 100%;
    height: auto; /* Adjust height as needed */
}

.full-width-image img {
    width: 100%;
    height: auto;
    display: block;
    position: relative;
    z-index: 0; /* Ensure image stays at the bottom */
}

.radial-gradient-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    background: radial-gradient(circle, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 60%);
    z-index: 1; /* Ensure the gradient appears above the image */
    pointer-events: none; /* Make sure it doesn't interfere with user interactions */
}


/* Adjust text alignment in columns */
#home .col-md-6 {
    padding-left: 20px; /* Ensure alignment matches navbar */
    padding-right: 20px;
}

#our-service {
    padding: 0;
}

#map {
    width: 78%;
    height: auto; /* Default for larger screens */
}

/* Default: Hide mobile footer and show desktop footer */
#mobile-footer {
    display: none;
}

#desktop-footer {
    display: block;
}

#meet-our-team{
    margin-bottom: 25px;
}

.masonry {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3-column layout */
    gap: 15px; /* Consistent spacing */
    align-items: start; /* Align items to the top of the grid */
}

.masonry-item {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease-in-out, z-index 0.3s ease-in-out; /* Smooth scaling */
    grid-column: span 1; /* Default span */
    grid-row: span 1; /* Default span */
    position: relative;
}

.masonry-item img {
    width: 100%;
    height: auto;
    display: block;
}

.masonry-item:hover {
    transform: scale(1.1); /* Slightly enlarge on hover */
}

.masonry-item.enlarged {
    grid-column: span 2; /* Expand to 2 columns */
    grid-row: span 2; /* Expand to 2 rows */
    z-index: 10; /* Bring to the front */
    transform: scale(1); /* Maintain natural size during transition */
}

@media (max-width: 768px) {
    .masonry-item.enlarged {
        grid-column: span 3; /* Expand to 2 columns */
        grid-row: span 3; /* Expand to 2 rows */
        z-index: 10; /* Bring to the front */
        transform: scale(1); /* Maintain natural size during transition */
    }
}


.team-card img {
    width: 100%; /* Makes the image responsive within the container */
    max-width: 250px; /* Ensures the image does not exceed 450px in width */
    height: 350px; /* Sets a consistent height */
    object-fit: cover; /* Ensures the image fills the area while maintaining aspect ratio */
    border-radius: 10px; /* Optional for a modern look */
    margin: 0 auto; /* Centers the image */
    display: block; /* Ensures proper centering */
}

.team-card {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
    text-align: center;
    transition: transform 0.3s ease-in-out;
    max-width: 300px; /* Matches the maximum image width for consistency */
    margin: 0 auto; /* Centers the card */
}

.team-card:hover {
    transform: translateY(-5px);
}


/* Contact Section */
.contact-box {
    background-color: #0d2144;
    padding: 20px;
    margin: 10px;
    border-radius: 5px;
}

 /* Ensure <a> is a block-level flex container */
 .brand-link {
    display: flex;
    justify-content: center;  /* Horizontally center */
    align-items: center;      /* Vertically center */
    text-decoration: none;
    height: 200px; /* Adjust height to ensure centering */
    width: 100%;
}

/* Ensure logo-container is centered inside <a> */
.logo-container {
    width: 150px;
    height: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 8px;
    overflow: hidden;
    margin: auto; /* Centers the box within the flex container */
}

/* Ensure image fits well inside the logo-container */
.logo-container img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.back-link {
    text-decoration: none;
    position: absolute;
    top: 98px;
    left: 4px;
    font-family: 'Outfit';
    color: #0d2144;
    font-size: 16px; /* Default size */
    display: flex;
    align-items: center;
}

.back-icon {
    width: 20px;
    height: 20px;
    margin-right: 8px;
}
/* Locations Section */
#locations h3 {
    color: #fff;
    text-transform: uppercase;
}

.underline {
    width: 100px;
    height: 3px;
    background-color: ;
    margin: 5px auto;
}

#locations p {
    color: #ddd;
}

/* Map Section */
.map-container {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    border-radius: 10px;
    overflow: hidden;
}

/* Email Subscription Box */
.email-box {
    display: flex;
    justify-content: center;
    gap: 10px;
    max-width: 500px;
    margin: 0 auto;
}

.email-box input {
    flex: 1;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.email-box button {
    background-color: ;
    color: #000;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
}

/* Footer Styling */
footer {
    font-size: 16px;
    padding: 7em 0;
    position: relative;
    }

footer h5 {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 15px;
}

footer ul {
    padding: 0;
    list-style: none;
}

footer ul li {
    margin-bottom: 8px;
}

footer ul li a {
    color: white;
    text-decoration: none;
    transition: color 0.3s;
}

footer ul li a:hover {
    color: ;
}

footer p {
    margin-bottom: 0;
}

footer img {
    vertical-align: middle;
}



@media (min-width: 768px) {
    #mobile-footer {
        display: none;
    }

    #desktop-footer {
        display: block;
    }
}

@media (max-width: 768px) {
    #play-video-btn {
        padding: 15px !important; /* Adjust padding for mobile */
    }

    #play-video-btn img {
        width: 25px !important; /* Adjust icon width for mobile */
        height: 25px !important; /* Adjust icon height for mobile */
    }
    #map {
        width: 100%;
        max-width: 100%;
    }
    #mobile-footer {
        display: block;
    }

    #desktop-footer {
        display: none;
    }
    #download-section {
        margin-top: 30%;
    }

    #map-section{
        margin-top: 10%;
    }

    #our-service{
        margin-top: 15px;
        text-align: center;
    }

    #our-service .row {
        flex-direction: column;
        align-items: center;
    }

    #our-service .hover-effect img {
        width: 60%;
        max-width: 120px;
    }

    #our-service p {
        font-size: 0.85rem;
        margin-top: 8px;
    }

    #our-service h2 {
        font-size: 1rem;
    }

    #our-service .col-lg-4 {
        padding: 15px;
        text-align: center;
    }

    #our-service img.slide-in-right-delay-1s {
        display: none;
    }
    .contact-box {
        margin-bottom: 10px;
        padding: 15px;
    }

    .email-box {
        flex-direction: column;
        align-items: stretch; 
    }

    .email-box button {
        width: 100%;
    }
    .back-link {
        font-size: 8px;
        top: 120px;
    }

    .back-icon {
        width: 8px;
        height: 8px;
        margin-right: 5px;
    }
}
