@charset "utf-8";
/* CSS Document */
body, html {
    margin: 0;
    padding: 0;
    height: 100%; /* Ensure full viewport height */
    overflow-x: hidden; /* Prevent horizontal scroll issues */
}

main {
    margin: 0;
    padding: 0;
}

/* *****************************************<Nav Section>************************************** */
.navbar {
    position: absolute; /* Overlay the navbar on top of the hero */
    top: 0;
    left: 0;
    width: 100%;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    z-index: 20; /* Ensure it's above the hero content */
    background-color: rgba(0, 0, 0, 0.6); /* Semi-transparent background for visibility */
    transition: background-color 0.3s ease; /* Smooth transition for the background */
}

.navbar.scrolled {
    background-color: #01254C !important; /* Solid navy color */
    transition: background-color 0.3s ease;
}

.navbar .nav-link {
    color: #fff !important; /* Set navbar links to white */
    font-weight: 500; /* Optional: Make the text bold */
}

.navbar .nav-link:hover {
    color: #FFD700 !important; /* Add a highlight color on hover */
}

.navbar .navbar-brand {
    color: #fff !important; /* Ensure the brand text is also white */
}

.navbar .navbar-brand:hover {
    color: #FFD700 !important; /* Optional: Highlight brand on hover */
}
.navbar:hover {
    background-color: #fff; /* Set background to white */
    transition: background-color 0.3s ease; /* Smooth transition effect */
}

.navbar:hover .nav-link {
    color: #01254C !important;/* Change the link color to navy blue or your preferred color */
    transition: color 0.3s ease; /* Smooth transition effect for link color */
}

.navbar:hover .navbar-brand {
    color: #01254C !important;/* Change the brand color to navy blue */
    transition: color 0.3s ease;
}
.navbar .nav-link:hover {
    background-color: #53AA1B; /* Green background */
    color: #fff !important; /* White text */
    border-radius: 5px;
    /*font-size: 1.1rem;*/ /* Slightly enlarge text */
    transition: background-color 0.3s ease, color 0.3s ease, font-size 0.3s ease;
}

/* *****************************************</Nav Section>************************************** */

/* *****************************************<Hero Section>************************************** */
.hero-section {
    position: relative;
    width: 100%;
    height: 100vh; /* Full viewport height */
    margin: 0;
    padding: 0;
    overflow: hidden; /* Prevent overflowing content */
}

.hero-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.35); /* Adjust the opacity for desired darkness */
    z-index: 5; /* Ensure the overlay is above the slider images */
    pointer-events: none; /* Allow clicks to pass through */
}

.hero-section2 {
    position: relative;
    width: 100%;
    height: 65vh; /* Adjust for secondary pages */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: #fff;
    text-align: left;
}
.hero-section2::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 65vh; /* Adjust for secondary pages */
    background: rgba(0, 0, 0, 0.4); /* Adjust the opacity for desired darkness */
    z-index: 5; /* Ensure the overlay is above the slider images */
    pointer-events: none; /* Allow clicks to pass through */
}

/* Detect scaled resolution */
@media (min-width: 1536px) and (max-width: 1600px) and (min-resolution: 120dpi) {
    /* Styles for 1920x1080 screen scaled to 125% */
    .hero-section2 {
        height: 85vh; /* Adjust for secondary pages */
    }
    .hero-section2::before {
        height: 85vh; /* Adjust for secondary pages */
        }
}
#camera_wrap_1 {
    position: relative;
    width: 100%;
    height: 100vh; /* Full viewport height */
    max-height: 100vh; /* Prevent oversized height */
}

.camera_wrap {
    position: relative;
    height: 100%; /* Ensure slider stays within bounds */
}


/* Camera Slider Pagination - Move Inside at Bottom Center */
.camera_wrap .camera_pag {
    position: absolute; /* Position relative to the slider container */
    bottom: 20px; /* Keep 20px above the bottom */
    right: 20px; /* Move it 20px away from the right edge */
    transform: none; /* Remove centering transformation */
    z-index: 10; /* Ensure it appears above the images */
    display: flex; /* Optional: Keep the pagination layout clean */
    flex-direction: column; /* Stack indicators vertically */
}
.camera_pag_ul {
    bottom: 20px; /* Position pagination dots */
}

.camera_wrap .camera_pag .camera_pag_ul li {
    background: #01254C!important;
    border-radius: 0!important;
    width: 20px;
    height: 20px;
}

.camera_wrap .camera_pag .camera_pag_ul li > span {
    border-radius: 0!important;
    
}
.camera_wrap .camera_pag .camera_pag_ul li.cameracurrent > span {
    background: #53AA1B!important;
    transform: scale(1.2); /* Slightly enlarge active dot */
    transition: transform 0.3s ease; /* Smooth transition */
}
.camera_overlayer {
			opacity: .6;
		}




/* Default state for all images */
.camera_wrap .cameraSlide img {
    transform: scale(1); /* Default scale */
    transition: none; /* Disable transitions for inactive slides */
}

/* Active slide (apply the zoom effect) */
.camera_wrap .cameraSlide.cameracurrent img {
    animation: zoomIn 7s ease-in-out forwards; /* Smooth zoom effect */
}

/* Keyframes for zoom-in animation */
@keyframes zoomIn {
    from {
        transform: scale(1); /* Start at normal size */
    }
    to {
        transform: scale(1.1); /* End with slight zoom-in */
    }
}










@media (max-width: 768px) {
    .camera_wrap .camera_pag .camera_pag_ul li {
        width: 15px; /* Smaller dots for mobile */
        height: 15px;
    }

    .camera_wrap .camera_pag .camera_pag_ul li.cameracurrent > span {
        transform: scale(1.1); /* Slightly smaller scaling */
    }
}

/* Hero Content Styling */
.hero-content {
    position: absolute;
    top: 50%;
    left: 5%;
    transform: translateY(-50%);
    z-index: 10; /* Above the slider */
    color: #fff;
    text-align: left;
    width: auto;
    max-width: 650px;
    padding: 0 1rem; /* Add some padding for smaller screens */
}

/* Subheading Style */
.hero-content .subheading {
    font-size: 1.5rem;
    font-weight: 300;
    margin-bottom: 0.5rem;
}

/* Main Heading */
.hero-content .hero-heading {
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

/* Paragraph Style */
.hero-content .hero-paragraph {
    font-size: 1.5rem;
    font-weight: 400;
    margin-bottom: 1.5rem;
    line-height: 1.5;
}

/* CTA Buttons */
.cta-buttons .btn {
    margin: 0.5rem;
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    border-radius: 5px;
}

.cta-buttons .btn-primary {
    background-color: #53AA1B; /* Green */
    border: none;
    color: #fff;
}

.cta-buttons .btn-secondary {
    background-color: #01254C; /* Navy */
    border: none;
    color: #fff;
}

.cta-buttons .btn:hover {
    opacity: 0.9;
}

@media (max-width: 768px) {
    .hero-content .hero-heading {
        font-size: 2.5rem;
    }

    .cta-buttons {
        display: flex; /* Enable flexbox for alignment */
        justify-content: center; /* Center buttons horizontally */
        gap: 0.5rem; /* Space between buttons */
        flex-wrap: wrap; /* Allow wrapping if needed */
    }

    .cta-buttons .btn {
        flex: 0 1 auto; /* Allow buttons to shrink or grow */
        padding: 0.5rem 1rem; /* Adjust padding */
        font-size: 1.1rem; /* Slightly larger font size for bigger btns */
        white-space: nowrap; /* Prevent text wrapping */
    }
}
.hero-service-links {
    position: absolute; /* Position relative to the hero section */
    bottom: 5%; /* Anchor to the bottom */
    left: 5%;
    width: auto; /* Full width of the hero section */
    /*background-color: rgba(0, 0, 0, 0.6);*/ /* Semi-transparent background */
    padding: 1rem 0; /* Spacing around links */
    z-index: 11; /* Ensure it appears above the background overlay */
}

.hero-service-links ul {
    display: flex;
    justify-content: flex-start; /* Align links to the left */
    gap: 1rem; /* Add space between links */
    list-style: none; /* Remove bullets */
    padding: 0;
    margin: 0;
}

.hero-service-links ul li a {
    color: #fff; /* White text color */
    text-decoration: none; /* Remove underline */
    font-size: 1.1rem;
    font-weight: bold;
    padding: 0.5rem 1rem;
    /*border: 2px solid #53AA1B;*/ /* Green border */
    border-radius: 5px; /* Rounded corners */
    transition: all 0.3s ease; /* Smooth hover effect */
}

.hero-service-links ul li a:hover {
    background-color: #53AA1B; /* Green background on hover */
    color: #fff; /* White text on hover */
}

@media (max-width: 768px) {
    .hero-service-links {
        display: none; /* Hide the service links on smaller screens */
    }
}


/* *****************************************</Hero Section>************************************** */

/* *****************************************<Benefits Bar Section>************************************** */
.benefits-bar {
    background-color: #01254C; /* Navy background */
    color: #fff; /* White text */
    padding: 1rem 0;
    text-align: center;
    overflow: hidden; /* Hide overflowing content */
}

.benefits-slider {
    display: flex; /* Use flexbox for alignment */
    gap: 1rem; /* Space between items */
    white-space: nowrap; /* Prevent wrapping */
    justify-content: space-around; /* Evenly distribute items across the full width */
    align-items: center; /* Center items vertically */
}

.benefit-item {
    flex: 0 0 auto; /* Ensure items don’t shrink or grow */
    padding: 0.5rem 1rem;
    border-radius: 5px;
    font-size: 1rem;
    text-align: center;
    white-space: nowrap;
    animation: pulse 3s infinite; /* Pulse animation for desktop */
}

/* Keyframes for Pulse Animation */
@keyframes pulse {
    0%, 100% {
        box-shadow: 0 0 5px rgba(255, 255, 255, 0.3);
    }
    50% {
        box-shadow: 0 0 15px rgba(255, 255, 255, 0.5);
    }
}

/* Keyframes for Sliding Animation */
@keyframes slide {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-100%);
    }
}

/* Mobile-Specific Sliding Animation */
@media (max-width: 768px) {
    .benefits-slider {
        justify-content: flex-start; /* Adjust alignment for sliding animation on mobile */
        animation: slide 10s linear infinite; /* Enable sliding only on mobile */
    }
    
    /* Disable pulse on mobile for smoother sliding */
    .benefit-item {
        animation: none;
    }
}


/* *****************************************</Benefits Bar Section>************************************** */

/* *****************************************<One-Liner Section>************************************** */
.one-liner-section {
    padding: 5rem 1rem; /* Vertical padding */
    background-color: #f9f9f9; /* Light background for contrast */
    color: #333; /* Dark text for readability */
}

.one-liner-section .subheading,
.owner-section .subheading {
    font-size: 1.25rem;
    font-weight: 300;
    margin-bottom: 0.5rem;
    display: inline-block;
    color: #01254C; /* Brand color for emphasis */
}

.one-liner-section .heading,
.owner-section .heading {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
}

.one-liner-section .description,
.owner-section .description {
    font-size: 1rem;
    font-weight: 400;
    margin-bottom: 2rem;
}
.one-liner-section .cta-buttons {
    display: flex;
    justify-content: flex-start; /* Align buttons to the left */
    gap: 1rem; /* Space between buttons */
    flex-wrap: wrap; /* Allow wrapping if needed */
}

.one-liner-section .cta-buttons .btn {
    flex: 0 1 auto; /* Let buttons shrink and grow naturally */
    padding: 0.5rem 1rem; /* Adjust padding for better sizing */
    min-width: 140px; /* Ensure buttons don't get too small */
    max-width: none; /* Remove any width restrictions */
}

.img-fluid {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.owner-section .img-fluid {
    border-radius: 0;
    box-shadow: none;
}
.owner-section .owner-name {
    font-size: 1.25rem;
    font-weight: 600;
    color: #01254C; /* Match the brand color or your preferred color */
    margin-top: 0.5rem; /* Add spacing above the name */
}

/* Animations */
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes slideIn {
    from {
        transform: translateY(30px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.animate-fade-in {
    animation: fadeIn 1.5s ease-in-out forwards;
    opacity: 0;
}

.animate-slide-in {
    animation: slideIn 1.5s ease-in-out forwards;
    opacity: 0;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .one-liner-section .col-lg-6 {
        text-align: center; /* Center-align content on smaller screens */
    }
    .one-liner-section .cta-buttons {
        margin-bottom: 1rem; /* Add space below buttons */
        display: flex; /* Ensure flexbox layout */
        justify-content: center; /* Center buttons horizontally */
        gap: 0.5rem; /* Space between buttons */
        flex-wrap: wrap; /* Allow buttons to wrap if needed */
    }

    .one-liner-section .cta-buttons .btn {
        flex: 0 1 45%; /* Buttons take up 45% of the row width */
        max-width: 150px; /* Limit button width for better fit */
        padding: 0.5rem 1rem; /* Adjust button padding */
        font-size: 0.9rem; /* Adjust button font size */
        white-space: nowrap; /* Prevent text wrapping */
    }

    .one-liner-section .col-lg-6:nth-child(2) {
        margin-top: 2rem; /* Add space above the image */
    }
}
@media (max-width: 480px) {
    .one-liner-section .cta-buttons {
        justify-content: center; /* Center buttons if space is too tight */
    }

    .one-liner-section .cta-buttons .btn {
        flex: 1 1 45%; /* Maintain side-by-side layout if possible */
    }

    .one-liner-section .col-lg-6:nth-child(2) {
        margin-top: 1.5rem; /* Add a bit of space above the image */
    }
}
/* *****************************************</One-Liner Section>************************************** */

/* *****************************************<Promo Bar Section>************************************** */
.promo-bar {
    background-color: #53AA1B; /* Vibrant green for attention */
    color: #fff; /* White text for contrast */
    padding: 3rem 1rem; /* Vertical padding */
    position: relative;
    overflow: visible; /* Allow the image to extend beyond the bar */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.promo-bar .container {
    display: flex;
    align-items: center;
    justify-content: flex-start; /* Align items horizontally */
    position: relative;
}

.promo-image-container {
    position: absolute;
    left: -4rem; /* Extend image further to the left */
    top: -10rem; /* Push the image up */
    z-index: 10; /* Behind the content */
}

.promo-excavator-img {
    width: 600px; /* Larger size for more dramatic overlap */
    pointer-events: none; /* Prevent interaction with the image */
}

.promo-content {
    flex: 0 0 66.67%; /* Confine content to 2/3 of the promo bar width */
    position: relative;
    z-index: 2; /* Above the image */
    padding-left: 3.5rem;
    margin-left: auto; /* Align content to the right */
    text-align: left; /* Align text to the left */
    padding-right: 1rem; /* Add some padding to the right */
}

.promo-bar .subheading {
    font-size: 1.25rem;
    font-weight: 300;
    margin-bottom: 0.5rem;
}

.promo-bar .heading {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.promo-bar .description {
    font-size: 1rem;
    font-weight: 400;
    margin-bottom: 1.5rem;
}

.promo-bar .cta-buttons {
    display: flex;
    justify-content: flex-start; /* Align buttons to the left */
    gap: 1rem; /* Add space between buttons */
    flex-wrap: wrap; /* Allow buttons to wrap on smaller screens */
}

.promo-bar .cta-buttons .btn {
    flex: 0 1 auto; /* Ensure buttons don't stretch unnecessarily */
    padding: 0.75rem 1.5rem; /* Larger padding for prominence */
    min-width: 140px; /* Maintain minimum button size */
    font-size: 1rem; /* Slightly larger text for buttons */
    border-radius: 5px; /* Rounded corners for buttons */
    transition: background-color 0.3s ease;
}

.promo-bar .btn-primary {
    background-color: #01254C; /* Navy blue for contrast */
    color: #fff;
}

.promo-bar .btn-primary:hover {
    background-color: #011A3B; /* Darker navy on hover */
}

.promo-bar .btn-secondary {
    background-color: #fff;
    color: #53AA1B; /* Green text for secondary button */
    border: 2px solid #fff; /* Border for contrast */
}

.promo-bar .btn-secondary:hover {
    background-color: #f4f4f4; /* Light gray on hover */
    color: #53AA1B;
}

@media (max-width: 768px) {
    .promo-bar .container {
        flex-direction: column; /* Stack image and text content */
        text-align: center;
    }

    .promo-image-container {
        position: static; /* Reset position for mobile */
        margin-bottom: 1rem;
    }

    .promo-excavator-img {
        width: 250px; /* Smaller size for mobile */
        transform: none; /* Remove vertical centering */
    }

    .promo-content {
        flex: 1 1 auto; /* Allow content to stretch */
        margin-left: 0; /* Reset margin for centered text on mobile */
        padding-left: 0;
        text-align: center; /* Center align text on mobile */
    }

    .promo-bar .cta-buttons {
        justify-content: center; /* Center buttons on smaller screens */
    }
}
/* *****************************************</Promo Bar Section>************************************** */

/* *****************************************<Services Section>************************************** */
.services-section {
    position: relative;
    background-image: url('https://dkialpha.com/alpha_img/excavate/1920/ex-007.webp'); /* Add background */
    background-size: cover;
    background-position: center;
    padding: 7.5rem 1rem;
    color: #000; /* Default black text */
    text-align: center;
}

.services-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.8); /* Subtle white overlay */
    z-index: 1;
}

.services-section .container {
    position: relative;
    z-index: 2;
}

.section-header .heading {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: #01254C; /* Navy blue */
}

.section-header .description {
    font-size: 1rem;
    font-weight: 400;
    margin-bottom: 3rem;
    color: #444; /* Slightly lighter black */
}

.service-card {
    display: block; /* Make the card a block-level link */
    text-decoration: none; /* Remove underline */
    background: rgba(255, 255, 255, 0); /* Transparent background */
    padding: 2rem 1rem;
    border-radius: 10px;
    text-align: center;
    transition: all 0.3s ease-in-out;
    box-shadow: none;
    border: 2px solid transparent; /* No border initially */
    color: inherit; /* Inherit text color */
}

.service-card:hover {
    background: #fff; /* Turn white on hover */
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.2); /* Add shadow */
    border: 2px solid rgba(0, 0, 0, 0.1); /* Add border */
    transform: translateY(-5px); /* Lift slightly */
}

.service-card .icon {
    font-size: 3rem;
    margin-bottom: 1rem;
    color: #53AA1B; /* Green accent color */
}

.service-card .service-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: #01254C; /* Navy blue */
}

.service-card .service-description {
    font-size: 1rem;
    color: #444; /* Slightly lighter black */
}

.section-ctas .btn {
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
    border-radius: 5px;
    margin: 0.5rem;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.section-ctas .btn-primary {
    background-color: #01254C; /* Navy blue */
    color: #fff;
}

.section-ctas .btn-primary:hover {
    background-color: #011A3B;
}

.section-ctas .btn-secondary {
    background-color: #fff;
    color: #53AA1B; /* Green */
    border: 2px solid #53AA1B;
}

.section-ctas .btn-secondary:hover {
    background-color: #f4f4f4;
    color: #53AA1B;
}

.serve-list ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap; /* Allow items to wrap to the next line */
    gap: 1rem; /* Space between items */
    justify-content: flex-start; /* Align items to the left */
}

.serve-list li {
    display: flex; /* Use flexbox for layout */
    align-items: flex-start; /* Align the text to the top of the icon */
    gap: 0.5rem; /* Add space between the icon and text */
    flex: 0 1 calc(33.333% - 1rem); /* Adjust width for responsive wrapping */
    text-align: left; /* Ensure text is left-aligned */
    word-wrap: break-word; /* Ensure text wraps properly */
    font-size: 1.5rem;
}

.serve-list li i {
    font-size: 1.7rem;
    color: #53AA1B; /* Green icon color */
}

.serve-list li span {
    font-weight: 600;
    line-height: 1.7;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .serve-list li {
        flex: 0 1 calc(50% - 1rem); /* Adjust to 50% width for smaller screens */
        max-width: calc(50% - 1rem);
    }
    .serve-list li i {
        font-size: 1.25rem; /* Adjust icon size */
    }
    .serve-list li span {
        font-size: 1rem;
    }
}

@media (max-width: 480px) {
    .serve-list li {
        flex: 0 1 calc(100% - 1rem); /* Adjust to full width for very small screens */
        max-width: calc(100% - 1rem);
    }
    .serve-list li i {
        font-size: 1rem; /* Adjust icon size */
    }
    .serve-list li span {
        font-size: 0.9rem;
    }
}


/* *****************************************</Services Section>************************************** */

/* *****************************************<Process Section>************************************** */

.process-section {
    background-color: #f8f9fa; /* Light background */
    padding: 4rem 1rem;
    color: #333;
}

.process-section .heading {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 2rem;
    color: #01254C;
}

.process-section .timeline {
    display: flex;
    flex-wrap: wrap; /* Allow items to wrap */
    justify-content: flex-start; /* Align items to the left */
    gap: 2rem; /* Space between cards */
}

.timeline-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    flex: 1 1 calc(25% - 2rem); /* Four items per row */
    max-width: calc(25% - 2rem); /* Prevent overflow */
    padding: 1rem;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.timeline-step .circle {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #53AA1B; /* Green */
    color: #fff;
    font-size: 1.25rem;
    font-weight: bold;
    border-radius: 50%;
    margin-bottom: 1rem;
}

.timeline-step .step-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: #01254C;
}

.timeline-step .step-description {
    font-size: 1rem;
    font-weight: 400;
    color: #555;
}

.process-note {
    font-size: 0.9rem;
    font-weight: 400;
    margin-top: 2rem;
    color: #666;
}

/* Responsive Adjustments */
@media (max-width: 1200px) {
    .timeline-step {
        flex: 1 1 calc(33.333% - 2rem); /* Three items per row */
        max-width: calc(33.333% - 2rem);
    }
}

@media (max-width: 768px) {
    .process-section .timeline {
        flex-direction: column; /* Stack steps vertically */
        gap: 1.5rem;
        border-left: none; /* Remove the green line on mobile */
        border-right: none; /* In case there is a right border */
    }

    .timeline-step {
        flex: 1 1 100%; /* Full width for mobile */
        max-width: 100%; /* Prevent overflow */
        text-align: left; /* Align text to the left */
    }

    .timeline-step .circle {
        margin: 0 auto 1rem auto; /* Center the circle on mobile */
    }

    .timeline-step:not(:last-child) {
        margin-bottom: 1rem; /* Add spacing between steps */
    }
}

/* *****************************************</Process Section>************************************** */


/* *****************************************<Why Choose Us Section>************************************** */
.why-choose-us {
    background-color: #f8f9fa; /* Light gray background */
    padding: 5rem 1rem;
}

.why-choose-us .section-header .heading {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: #01254C; /* Navy blue */
    text-align: left;
}

.why-choose-us .section-header .description {
    font-size: 1rem;
    font-weight: 400;
    margin-bottom: 3rem;
    color: #444;
    max-width: 700px;
}

/* Benefits List Styles */
.why-choose-us .benefits-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 0;
    margin: 0;
}

.why-choose-us .benefit-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 1rem;
    color: #01254C; /* Navy */
}

.why-choose-us .benefit-item i {
    font-size: 1.5rem;
    color: #53AA1B; /* Green */
    padding-right: .5rem;
}

/* Ensure container doesn't overflow */
.why-choose-us .container {
    overflow-x: hidden;
}

/* Desktop Adjustments */
@media (min-width: 768px) {
    .why-choose-us .benefits-list {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .why-choose-us .benefit-item {
        flex: 0 1 calc(50% - 1rem); /* Two items per row on tablets */
    }
}

@media (min-width: 1200px) {
    .why-choose-us .benefit-item {
        flex: 0 1 calc(33.333% - 1rem); /* Three items per row on desktops */
        align-items: center; /* Vertically align icon and bold text */
        gap: 0.5rem; /* Add space between icon and text */
    }

    .why-choose-us .benefit-item strong {
        display: inline-flex; /* Ensure icon and bold text are on the same line */
        align-items: center; /* Vertically align icon and bold text */
        font-size: 1rem; /* Adjust font size */
    }

    .why-choose-us .benefit-item span {
        display: block; /* Place sentence on its own line */
        text-align: left; /* Align sentence to the left */
        margin-top: 0.25rem; /* Add spacing above the sentence */
    }
}

/* Mobile Wrapping Fix */
@media (max-width: 767px) {
    .why-choose-us .benefit-item {
        display: flex;
        flex-direction: column; /* Stack content vertically */
        align-items: flex-start; /* Align everything to the left */
        gap: 0.25rem; /* Add small spacing between rows */
        flex: 0 1 100%; /* Full width on mobile */
    }

    .why-choose-us .benefit-item strong {
        display: inline-flex; /* Keep icon and bold text on the same line */
        align-items: center; /* Vertically align icon and bold text */
        gap: 0.5rem; /* Add spacing between icon and bold text */
        font-size: 1rem; /* Adjust font size */
    }

    .why-choose-us .benefit-item i {
        font-size: 1.5rem; /* Adjust icon size */
        color: #53AA1B; /* Green icon */
        padding-right: 0.5rem; /* Ensure spacing with the text */
        align-self: center; /* Center the icon vertically with the text */
    }

    .why-choose-us .benefit-item span {
        display: block; /* Ensure the sentence is on its own line */
        text-align: left; /* Left-align the sentence */
        margin-top: 0.25rem; /* Add small spacing above the sentence */
        font-size: 1rem; /* Adjust text size */
    }
}


/* Very Small Screens */
@media (max-width: 480px) {
    .why-choose-us .benefit-item {
        margin-bottom: 0.5rem; /* Reduce spacing for small screens */
    }
}

/* Image and Alignment */
.why-choose-us img {
    max-width: 100%;
    border-radius: 10px;
}

.why-choose-us .text-content {
    text-align: left;
}

/* Buttons */
.why-choose-us .btn {
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
    border-radius: 5px;
    margin: 0.5rem;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.why-choose-us .btn-primary {
    background-color: #01254C; /* Navy blue */
    color: #fff;
}

.why-choose-us .btn-primary:hover {
    background-color: #011A3B;
}

.why-choose-us .btn-secondary {
    background-color: #fff;
    color: #53AA1B; /* Green */
    border: 2px solid #53AA1B;
}

.why-choose-us .btn-secondary:hover {
    background-color: #f4f4f4;
    color: #53AA1B;
}
/* *****************************************</Why Choose Us Section>************************************** */



/* *****************************************<Reviews Section>************************************** */
.reviews-section {
    background-color: #fff; /* Light gray background */
    padding: 5rem 1rem;
}

.reviews-section .section-header .heading {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: #01254C; /* Navy blue */
}

.reviews-section .section-header .description {
    font-size: 1rem;
    font-weight: 400;
    margin-bottom: 3rem;
    color: #444;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

.review-card {
    background: #fff;
    padding: 2rem;
    border-radius: 10px;
    text-align: center;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.review-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.2);
}

.review-card .stars {
    font-size: 1.5rem;
    color: #FFD700; /* Gold for stars */
    margin-bottom: 1rem;
}

.review-card .review-text {
    font-size: 1rem;
    font-style: italic;
    color: #444;
    margin-bottom: 1rem;
}

.review-card .reviewer {
    font-size: 0.9rem;
    font-weight: 600;
    color: #01254C; /* Navy blue */
}

.reviews-section .btn {
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
    border-radius: 5px;
    margin: 0.5rem;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.reviews-section .btn-primary {
    background-color: #01254C; /* Navy blue */
    color: #fff;
}

.reviews-section .btn-primary:hover {
    background-color: #011A3B;
}

/* Adjustments for smaller screens */
@media (max-width: 768px) {
    .reviews-section .row {
        gap: 1.5rem; /* Add more space between rows on smaller screens */
    }
}

@media (max-width: 480px) {
    .review-card {
        padding: 1.5rem;
    }
}
/* *****************************************</Reviews Section>************************************** */

/* *****************************************<Booking Steps Section>************************************** */
.booking-steps {
    background-color: #f8f9fa; /* Light gray background */
    padding: 5rem 1rem;
}

.booking-steps .section-header .heading {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: #01254C; /* Navy blue */
}

.booking-steps .section-header .description {
    font-size: 1rem;
    font-weight: 400;
    margin-bottom: 3rem;
    color: #444;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

/* Timeline Styles */
.timeline {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    position: relative;
    padding: 2rem 0;
    border-left: 2px solid #53AA1B; /* Vertical line */
}

.timeline-item {
    display: flex;
    gap: 1.5rem;
    align-items: flex-start;
    position: relative;
    opacity: 0; /* Hidden by default */
    animation: fadeInUp 1s ease-in-out forwards;
}

.timeline-item:nth-child(2) {
    animation-delay: 0.2s;
}
.timeline-item:nth-child(3) {
    animation-delay: 0.4s;
}

.timeline-icon {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #53AA1B;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 1.5rem;
    position: absolute;
    left: -27px; /* Center over the timeline line */
}

.timeline-content {
    padding-left: 3rem;
}

.timeline-content h3 {
    font-size: 1.25rem;
    color: #01254C; /* Navy blue */
    margin-bottom: 0.5rem;
}

.timeline-content p {
    font-size: 1rem;
    color: #444;
    margin-bottom: 1rem;
}

/* Buttons */
.text-center .btn {
    margin: 0.5rem;
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
    border-radius: 5px;
}

.text-center .btn-primary {
    background-color: #01254C; /* Navy blue */
    color: #fff;
}

.text-center .btn-primary:hover {
    background-color: #011A3B;
}

.text-center .btn-secondary {
    background-color: #fff;
    color: #53AA1B; /* Green */
    border: 2px solid #53AA1B;
}

.text-center .btn-secondary:hover {
    background-color: #f4f4f4;
    color: #53AA1B;
}

/* Horizontal Timeline on Large Screens */
@media (min-width: 992px) {
    .timeline {
        flex-direction: row;
        justify-content: space-between;
        border-left: none; /* Remove vertical line */
        border-top: 2px solid #53AA1B; /* Add horizontal line */
    }

    .timeline-item {
        flex: 1;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .timeline-icon {
        left: 50%; /* Center on the horizontal line */
        transform: translateX(-50%);
        top: -25px; /* Position above the content */
    }

    .timeline-content {
        padding-left: 0;
        margin-top: 3rem;
    }
}

/* Animations */
@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}
/* *****************************************</Booking Steps Section>************************************** */


/* *****************************************<Locations Section>************************************** */
.locations {
    background-color: #fff; /* Light gray background */
    padding: 5rem 1rem;
}

.locations .section-header .heading {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: #01254C; /* Navy blue */
}

.locations .section-header .description {
    font-size: 1rem;
    font-weight: 400;
    margin-bottom: 2rem;
    color: #444;
}

.locations .locations-list {
    list-style-type: none;
    padding: 0;
    margin: 0 0 2rem;
    display: grid; /* Use grid for layout */
    grid-template-columns: 1fr; /* Single column by default */
    gap: 0.5rem; /* Spacing between items */
}

.locations .locations-list li {
    font-size: 1rem;
    color: #01254C; /* Navy blue */
}

@media (min-width: 768px) {
    .locations .locations-list {
        grid-template-columns: 1fr 1fr; /* Two columns on larger screens */
    }
}

.map-container {
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Optional map shadow */
    border-radius: 8px; /* Rounded corners for the map */
    overflow: hidden;
}

.locations .cta {
    font-size: 1rem;
    font-weight: 500;
    color: #444;
    margin-bottom: 1.5rem;
}

/* CTA Buttons Section */
.locations .cta-buttons {
    text-align: left; /* Align text to the left */
    justify-content: left;
}

.locations .cta-buttons p.cta {
    margin-bottom: 1rem; /* Add some space below the text */
}

.locations .btn-container {
    display: flex;
    justify-content: flex-start; /* Align buttons to the left */
    gap: 1rem; /* Add space between buttons */
}

.locations .btn {
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
    border-radius: 5px;
    transition: background-color 0.3s ease;
}



.locations .btn-primary {
    background-color: #01254C; /* Navy blue */
    color: #fff;
}

.locations .btn-primary:hover {
    background-color: #011A3B;
}

.locations .btn-secondary {
    background-color: #fff;
    color: #01254C; /* Navy blue */
    border: 2px solid #01254C;
}

.locations .btn-secondary:hover {
    background-color: #f4f4f4;
    color: #01254C;
}

/* *****************************************</Locations Section>************************************** */

/* *****************************************<Promo Bar2 Section>************************************** */
.promo-bar2 {
    position: relative;
    background-color: #01254C; /* Navy background */
    color: #fff; /* White text */
    padding: 2rem 1rem;
    overflow: visible; /* Allow image to extend beyond the promo bar */
}

.promo-bar2 .promo-content {
    flex: 0 0 66.67%; /* Confine content to 2/3 of the promo bar width */
    position: relative;
    z-index: 2; /* Ensure content is above the image */
    padding-right: 3.5rem; /* Add space for the image */
    text-align: left; /* Align text inside the content area to the left */
    padding-left: 1rem; /* Add padding for spacing */
    margin-left: 0; /* Align the content to the left edge */
}



.promo-bar2 .promo-content .heading {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.promo-bar2 .promo-content .description {
    font-size: 1rem;
    font-weight: 400;
    margin-bottom: 1.5rem;
}

.promo-bar2 .cta-buttons {
    display: flex; /* Use flexbox for buttons */
    justify-content: flex-start; /* Align buttons to the left */
    gap: 1rem; /* Add space between buttons */
    margin-top: 1rem; /* Add spacing above the buttons */
    flex-wrap: wrap; /* Allow wrapping on smaller screens */
}


.promo-bar2 .btn {
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
    border-radius: 5px;
    transition: background-color 0.3s ease;
}

.promo-bar2 .btn-primary {
    background-color: #53AA1B; /* Green */
    color: #fff;
}

.promo-bar2 .btn-primary:hover {
    background-color: #3d8d14;
}

.promo-bar2 .btn-secondary {
    background-color: #fff;
    color: #01254C; /* Navy blue */
    border: 2px solid #53AA1B;
}

.promo-bar2 .btn-secondary:hover {
    background-color: #f4f4f4;
}

/* Overlapping Image */
.promo-bar2 .promo-image {
    position: absolute;
    top: -20%; /* Move the image upward */
    bottom: -20%; /* Move the image downward */
    right: calc((100% - 1140px) / 4); /* Align the image to the container's right */
    z-index: 1; /* Keep the image behind the content */
    pointer-events: none; /* Prevent interaction with the image */
}

.promo-bar2 .promo-image img {
    max-height: 150%; /* Extend image height */
    transform: translateY(-10%); /* Vertically center the image */
    pointer-events: none;
}


/* Responsive Adjustments for Promo Bar 2 */
@media (max-width: 768px) {
    .promo-bar2 {
        padding: 2rem 0; /* Adjust padding for mobile */
        text-align: center; /* Center-align everything */
    }

    .promo-bar2 .promo-content {
        flex: 0 0 100%; /* Content takes full width */
        padding: 0 1rem; /* Add padding on both sides */
        margin: 0 auto; /* Center content */
    }

    .promo-bar2 .promo-image {
        position: relative; /* Remove absolute positioning */
        display: block; /* Make sure it’s visible */
        margin: 1.5rem auto 0; /* Center the image horizontally */
        width: 100%; /* Allow image to take full container width */
        max-width: 90%; /* Prevent image from being too wide */
        height: auto; /* Maintain aspect ratio */
        left: auto; /* Reset any unwanted left offsets */
        right: auto; /* Reset any unwanted right offsets */
    }

    .promo-bar2 .promo-image img {
        display: block; /* Ensure proper layout */
        margin: 0 auto; /* Center the image horizontally */
        width: 100%; /* Ensure it scales within the container */
        height: auto; /* Maintain aspect ratio */
    }

    .promo-bar2 .cta-buttons {
        justify-content: center; /* Center-align buttons */
        margin-top: 1rem;
    }
}
/* Detect scaled resolution */
@media (min-width: 1536px) and (max-width: 1600px) and (min-resolution: 120dpi) {
    /* Styles for 1920x1080 screen scaled to 125% */
    /* Overlapping Image */
    .promo-bar2 .promo-image {
       
        top: -20%; /* Move the image upward */
        bottom: -20%; /* Move the image downward */
        right: 5%; /* Align the image to the container's right */
    }
    
    .promo-bar2 .promo-image img {
        max-height: 125%; /* Extend image height */
        transform: translateY(-10%); /* Vertically center the image */
    }
}

/* *****************************************</Promo Bar2 Section>************************************** */

/* *****************************************<FAQ Section>************************************** */
.faq-section {
    background-color: #fff; /* Light gray background */
    padding: 8.5rem 1rem!important;
}

.section-title {
    font-size: 2rem;
    font-weight: 700;
    color: #01254C; /* Navy blue */
}

.section-description {
    font-size: 1rem;
    font-weight: 400;
    color: #666; /* Subtle gray for description */
}

.accordion-item {
    border: none; /* Remove default border */
    margin-bottom: 1rem;
    border-radius: 5px; /* Slightly rounded corners */
    overflow: hidden; /* Ensure clean edges */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
}

.accordion-header {
    background-color: #01254C; /* Navy blue for header */
    color: #fff;
}

.accordion-button {
    font-weight: 600;
    background-color: #01254C; /* Navy */
    color: #fff;
}

.accordion-button:not(.collapsed) {
    background-color: #53AA1B; /* Green when active */
    color: #fff;
}
.accordion-button::after {
    content: ""; /* Keep the arrow icon */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 1rem 1rem;
    transform: rotate(0deg); /* Default rotation */
    transition: transform 0.3s ease, background-color 0.3s ease;
    margin-left: auto; /* Align the arrow to the right */
}

.accordion-button:not(.collapsed)::after {
    transform: rotate(180deg); /* Rotate the arrow when expanded */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%2301254C' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
}

.accordion-body {
    background-color: #fff; /* White background for content */
    color: #333; /* Dark gray for text */
    font-size: 0.95rem;
}
/* *****************************************</FAQ Section>************************************** */

/* *****************************************<Contact Section>************************************** */
.contact-section {
    background-color: #f8f9fa; /* Light gray background */
}

.section-title {
    font-size: 2rem;
    font-weight: 700;
    color: #01254C; /* Navy blue */
}

.section-description {
    font-size: 1rem;
    font-weight: 400;
    color: #666;
}

.list-unstyled a {
    color: #53AA1B; /* Green for links */
    text-decoration: none;
    font-weight: 600;
}

.list-unstyled a:hover {
    text-decoration: underline;
}

form .btn-primary {
    background-color: #53AA1B;
    border: none;
}

form .btn-primary:hover {
    background-color: #419018;
}

#alert {
    color: #53AA1B; /* Green color for success messages */
    font-weight: 600;
}
.cta-banner {
    background-color: #f8f9fa; /* Light gray background */
    border: 2px solid #01254C; /* Navy blue border */
    border-radius: 10px;
    padding: 2rem;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
}

.cta-banner h3 {
    font-size: 1.8rem;
    color: #01254C; /* Navy blue */
    margin-bottom: 0.5rem;
}

.cta-banner p {
    font-size: 1rem;
    color: #666;
    margin-bottom: 1.5rem;
}

.cta-banner .btn-primary {
    background-color: #53AA1B; /* Green */
    border: none;
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
}

.cta-banner .btn-primary:hover {
    background-color: #419018; /* Darker green */
}

.cta-banner .btn-secondary {
    background-color: #01254C; /* Navy */
    color: #fff;
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
}

.cta-banner .btn-secondary:hover {
    background-color: #011A3A; /* Darker navy */
}

/* *****************************************</Contact Section>************************************** */

.grecaptcha-badge { visibility: hidden; }